基于格的 ZK/SNARKs 缺乏严格的原型堆栈。 lattirust 旨在填补这一空白。 它是一个模块化的 Rust 框架,用于基于 SIS 和 MLWE 的论证系统基准测试。 想象一下 arkworks 针对格的实现,没有捷径。 让我们来详细解析一下。
lattirust 是一个用于原型设计和基准测试基于格的 ZK/SNARK 方案的 Rust 库。它占据了类似于 arkworks 的小众市场,但目标是格原语。可以把它看作是 lattigo,但更侧重于论证系统。
该库是模块化的,涵盖: - lattirust-arithmetic:多项式环,线性代数,挑战空间 - lattice-estimator:具体安全性估计 - relations:论证关系的抽象 - labrador,lova:最近方案的实现
安全估计目前基于格估计器和PQ-Crystals。未来计划包括一个针对SIS假设优化的编译时Rust原生估计器,以解决针对特定论证的难度工具的缺口。
labrador 实施了 LaBRADOR 方案,专注于适合格子的论证。 lova 添加了基于折叠的技术,灵感来自 Lova ZK 协议,表明在格子假设下对简洁性和效率的持续探索。
未来的工作包括参数化多项式算术(支持非NTT或部分NTT域)和模提升,适用于 q ≡ 5 mod 8。路线图暗示在算术密集的加密上下文中进行更深层次的优化。
与nimue的集成以及与arkworks的部分兼容性,表明了更广泛生态系统互操作性的意图。值得注意的是,Nethermind的latticefold是基于lattirust的早期分支构建的。
团队正在积极研究用于 MLWE 和 RLWE 加密方案(KLSS23,Libert24)的 ZK 证明,以及在 Jasmin 中的常量时间 FHE 操作,目标是通过 hacspec、Jasmin、EasyCrypt 和 Lean 进行形式验证,以满足高保障的使用案例。
总体而言,lattirust 正在将自己定位为高保障、基于格的 ZK 系统的综合基础层。该工具和架构适用于实验设计和基于格的证明系统的具体实例化。
仓库:
5.2K