62个版本 (37个重大更新)
新 0.42.0-alpha.9 | 2024年8月19日 |
---|---|
0.42.0-alpha.6 | 2024年7月23日 |
0.38.0 | 2024年2月28日 |
0.36.0 | 2023年12月22日 |
0.7.2 | 2022年11月23日 |
#114 in 加密学
每月 828 次下载
在 5 个 crate 中使用 (4 个直接使用)
730KB
15K SLoC
二十一世紀
使用Rust编写的加密原语集合。
本库内容
本库主要包含以下加密原语
- Tip5哈希函数
- 格密码学
- 商环 $\mathbb{F}_ p[X] / \langle X^{64} + 1 \rangle$ 的算术
- 该商环上的模算术
- 一个 IND-CCA2-安全的密钥封装机制
- Miden VM中的基于格的密码学
BFieldElement
,XFieldElement
- 素域类型 $\mathbb{F}_p$,其中 $p = 2^{64} - 2^{32} + 1$
- 扩展域 $\mathbb{F}_p[x]/(x^3 - x + 1)$
- 用于将结构体编码和解码为
Vec
的编码器特质BFieldElement
- 用于数论变换的高效素数
- NTT
- 数论变换(离散快速傅里叶变换)
- STARK的结构分析,第6部分:加速处理
- 一元和多变量多项式
- Merkle树
- Merkle山脉范围
发布协议
当twenty-first的版本是 0.x.y
时,发布新版本
- 如果发布是向后兼容的,则新版本是
0.x+1.0
。否则新版本是0.x+1.1
。 - 检查Mjolnir的最后一个提交,并运行
make bench-publish
。保存基准测试的结果并验证性能没有下降。 - 在twenty-first/Cargo.toml中创建一个提交,增加
version = "0.x.y"
。提交信息应该简要总结每个版本的变化。在底部包含基准测试结果。 - 在此提交上创建一个
v0.x.y
git标签。(git tag v0.x.y [sha]
,git push upstream --tags
) - 在此提交上执行
cargo publish
,发布到 crates.io 和 GitHub tags。
如果您没有创建git标签或运行 cargo publish
的权限,请提交PR,合并者将负责这些。
构建
有关详细的构建说明,请参阅 HACKING.md
中的描述。
依赖项
~10MB
~184K SLoC