1.1.4 |
|
---|---|
1.0.0 |
|
#80 在 #操作系统
1.5MB
29K SLoC
snarkos-polycommit
snarkos-polycommit
是一个Rust库,实现了(单变量)多项式承诺方案。该库最初是作为Marlin论文的一部分开发的。
概述
(单变量)多项式承诺方案是一种密码学原语,它允许一方将一个单变量多项式进行承诺,然后在以后,可以公开多项式在特定点的值,并附带证明其正确性的加密证明。
该库提供了多项式承诺方案的各种构造。这些构造支持同时承诺多个具有不同度数界限的多项式,将多个相同评估点的评估证明批量合并为一个,并对证明进行批量验证。
多项式承诺方案满足的关键属性包括 简洁性、可提取性 和 隐藏性。有关这些属性的详细定义,请参阅Marlin论文。
性能分析
该库配备了性能分析基础设施,可以打印执行时间的详细跟踪。要启用此功能,请使用以下命令编译:cargo build --features print-trace
。
参考论文
多项式承诺
Aniket Kate, Gregory M. Zaverucha, Ian Goldberg
ASIACRYPT 2010
Sonic: Zero-Knowledge SNARKs from Linear-Size Universal and Updateable Structured Reference Strings
Mary Maller, Sean Bowe, Markulf Kohlweiss, Sarah Meiklejohn
CCS 2019
aurora-light:在类似Sonic的系统中的改进证明效率和SRS大小
Ariel Gabizon
ePrint,2019
Marlin:使用通用和可更新SRS预处理zkSNARKs
Alessandro Chiesa,Yuncong Hu,Mary Maller,Pratyush Mishra,Noah Vesely,Nicholas Ward
EUROCRYPT 2020
从累积方案中提取带证明的数据
Benedikt Bünz,Alessandro Chiesa,Pratyush Mishra,Nicholas Spooner
ePrint,2020
依赖关系
~5.5MB
~111K SLoC