#sponge #zk-snarks #zero-knowledge #snark #latest-version

不使用 std ark-sponge

zkSNARK的密码学sponge函数实现

2个不稳定版本

0.4.0-alpha2022年11月29日
0.3.0 2021年6月7日

#sponge中排名11

Download history 52/week @ 2024-03-11 57/week @ 2024-03-18 106/week @ 2024-03-25 82/week @ 2024-04-01 171/week @ 2024-04-08 98/week @ 2024-04-15 62/week @ 2024-04-22 91/week @ 2024-04-29 63/week @ 2024-05-06 53/week @ 2024-05-13 71/week @ 2024-05-20 53/week @ 2024-05-27 56/week @ 2024-06-03 37/week @ 2024-06-10 54/week @ 2024-06-17 51/week @ 2024-06-24

206次每月下载
用于mmr-crypto-primitives

MIT/Apache

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