12个版本 (破坏性)
0.10.1 | 2024年7月1日 |
---|---|
0.9.0 | 2024年4月3日 |
0.8.0 | 2024年2月5日 |
0.7.0 | 2023年12月12日 |
0.1.0 | 2022年12月1日 |
#186 in 密码学
6,167 每月下载量
用于 5 crates
1MB
29K SLoC
decaf377
许多零知识协议需要一种可以在算术电路内部使用的加密群。这是通过定义一个“嵌入式”椭圆曲线来实现的,其基域是用于证明系统的证明曲线的标量域。
定义了BLS12-377的Zexe论文也定义了(但未命名)一个定义在BLS12-377标量域上的系数-4埃德华曲线,正好用于此目的。然而,非素数阶群是一个有漏洞的抽象,迫使所有下游构造都应注意正确处理系数。虽然通常可以安全地做到这一点,但它需要额外的注意,并且如以下讨论所示,处理系数的最佳技术在电路内外是不同的。
相反,将Decaf构造应用于此曲线给出decaf377,这是一个干净抽象,它提供了一个素数阶群,包括哈希到群功能,并且在电路内外都以相同的方式工作。
更多详情请访问Penumbra网站。
特性
std
: 默认,用于std
环境,alloc
: 默认,用于alloc
环境,arkworks
: 默认,使用Arkworks crates进行椭圆曲线操作,u32_backend
: 使用32位有限域算术(默认为64位),r1cs
: 启用秩-1约束系统小工具,parallel
: 启用并行使用。
基准测试
使用criterion
基准测试运行
cargo bench
这将生成一个报告,位于target/criterion/report/index.html
。
依赖关系
~0.1–1.7MB
~32K SLoC