
LatticeFold+
Experimental Implementation of LatticeFold+ written in Rust.
About
LatticeFold+ is the new folding protocol that improves LatticeFold in every respect: 1) Makes proving faster 2) Makes the verification circuit simpler 3) Makes folding proofs shorter Link to the LatticeFold+ paper: https://eprint.iacr.org/2025/247.pdf Link to the LatticeFold paper: https://eprint.iacr.org/2024/257.pdf This repository provides an **experimental reference implementation of Latticefold+** ([LatticeFold+: Faster, Simpler, Shorter Lattice-Based Folding for Succinct Proof Systems](https://eprint.iacr.org/2025/247.pdf)), a novel, quantum-secure SNARK-folding scheme over small (64-bit) fields. It brings the theoretical Latticefold+ protocol into working code—leveraging lattice-based Aitaj commitments, NTT-packed cyclotomic rings, and an integrated range-proof step to fold incremental proofs with minimal overhead.
How it's made
We built this in **Rust** (1.80+) using the `arkworks` crates for finite‐field and NTT operations, plus `rayon` for parallelism. We borrowed Nethermind’s [latticefold](https://github.com/NethermindEth/latticefold) setup and Aitaj commitments, then re-implemented the Latticefold+ range-proof step with compile-time chunking macros and SIMD-accelerated NTT via Rust’s `packed_simd`.