2个不稳定版本
0.4.0-alpha | 2022年11月29日 |
---|---|
0.3.0 | 2021年6月7日 |
在#sponge中排名11
206次每月下载
用于mmr-crypto-primitives
115KB
2.5K SLoC
密码学sponge
ark-sponge
是一个Rust库,提供实现密码学sponge的基础设施。此库在MIT许可证和Apache v2许可证下发布(见许可证)。
警告:这是一个学术原型,特别是尚未经过仔细的代码审查。此实现尚未准备好用于生产。
概述
密码学sponge是一种密码学原语,具有两个基本操作,吸收和挤压。sponge通过“吸收”操作接受字节或域元素输入。在任何时候,用户都可以在sponge上调用“挤压”操作以获得字节或域元素输出。sponge是状态的,因此挤压输出依赖于先前输入和先前输出。
该库提供了构建密码学sponge及其与不同类型输入一起使用的基础设施。
构建指南
该库在Rust编译器的稳定
工具链上编译。要安装Rust的最新版本,首先按照此处的说明安装rustup
,或通过您的平台软件包管理器。安装完成后,通过调用安装Rust工具链
rustup install stable
之后,使用cargo
(标准Rust构建工具)构建库
git clone https://github.com/arkworks-rs/sponge.git
cd sponge
cargo build --release
此库附带一些单元和集成测试。使用以下命令运行这些测试
cargo test
许可证
此库根据以下任一许可证进行许可,由您自行决定。
除非您明确声明,否则您提交到此库的任何贡献都应根据上述许可证双重许可(如Apache v2许可证中定义),不附加任何额外条款或条件。
参考文献
Fractal:来自全息术的后量子透明递归证明
Alessandro Chiesa,Dev Ojha,Nicholas Spooner
POSEIDON: 零知识证明系统的新哈希函数 Lorenzo Grassi, Dmitry Khovratovich, Christian Rechberger, Arnab Roy, Markus Schofnegger
依赖项
约6MB
约119K SLoC