arkworks-rs/crypto-primitives
GitHub: arkworks-rs/crypto-primitives
该项目为 arkworks 零知识证明生态系统提供密码学原语的 Rust 实现及对应的 R1CS 约束,用于在 zkSNARK 电路中高效集成哈希、承诺、签名等加密操作。
Stars: 257 | Forks: 122
ark-crypto-primitives
arkworks 生态系统包含用于设计和使用__零知识简洁非交互式论证__的 Rust 库。本仓库包含各种密码学原语的高效实现,例如抗碰撞哈希函数、隐藏承诺、伪随机函数、签名,以及(可选的)用于这些原语的 R1CS 约束。 本库基于 MIT License 和 Apache v2 License 发布(详见[许可证](#license))。 **警告:** 这是一个学术性的概念验证原型,尤其是尚未经过仔细的代码审查。此实现**不**适用于生产环境。 ## 构建指南 本库可以在 Rust 编译器的 `stable` 工具链上编译。要安装最新版本的 Rust,请先按照[此处](https://rustup.rs/)的说明安装 `rustup`,或者通过您平台的包管理器进行安装。安装 `rustup` 后,通过调用以下命令来安装 Rust 工具链: ``` rustup install stable ``` 之后,使用标准的 Rust 构建工具 `cargo` 来构建本库: ``` git clone https://github.com/arkworks-rs/crypto-primitives.git cargo build --release ``` 本库为每个提供的 crate 附带了单元测试。运行测试的命令如下: ``` cargo test ``` ## 许可证 本库可根据您的选择,在以下任一许可证下授权。 * Apache License Version 2.0([LICENSE-APACHE](LICENSE-APACHE) 或 [apache.org 许可证链接](http://www.apache.org/licenses/LICENSE-2.0)) * MIT 许可证([LICENSE-MIT](LICENSE-MIT) 或 [opensource.org 许可证链接](http://opensource.org/licenses/MIT)) 除非您明确声明,否则由您提交以包含在本库中的任何贡献均应按上述方式进行双重许可(如 Apache v2 License 中所定义),无需任何附加的条款或条件。 ## 致谢 这项工作得到了以下机构/组织的支持: Google 教师奖; 美国国家科学基金会; UC Berkeley 长期网络安全中心; 以及来自 Ethereum Foundation、Interchain Foundation 和 Qtum 的捐赠。 本库的早期版本是作为论文*《[ZEXE: Enabling Decentralized Private Computation][zexe]》*的一部分开发的。标签:R1CS电路, Rust库, zkSNARKs, 区块链基础设施, 可视化界面, 密码学原语, 通知系统, 零知识证明