#大整数 #整数 #大数 #精度 #const-generics #任意

no-std crypto-bigint

纯 Rust 实现的大整数库,专为加密应用设计。提供使用 const generics 的现代公式的常时,no_std 友好的实现。

46 个版本

0.6.0-rc.3 2024 年 8 月 21 日
0.6.0-rc.22024 年 7 月 26 日
0.6.0-rc.02024 年 6 月 23 日
0.6.0-pre.122024 年 1 月 17 日
0.2.2 2021 年 6 月 27 日

#721 in 加密学

Download history 581308/week @ 2024-05-01 601925/week @ 2024-05-08 656238/week @ 2024-05-15 642268/week @ 2024-05-22 701579/week @ 2024-05-29 695567/week @ 2024-06-05 726342/week @ 2024-06-12 686549/week @ 2024-06-19 689503/week @ 2024-06-26 619191/week @ 2024-07-03 670148/week @ 2024-07-10 672444/week @ 2024-07-17 714197/week @ 2024-07-24 711189/week @ 2024-07-31 725248/week @ 2024-08-07 713509/week @ 2024-08-14

3,005,450 每月下载量
用于 3,251 个crate (51 个直接使用)

Apache-2.0 OR MIT

705KB
17K SLoC

RustCrypto: 加密大整数

crate Docs Build Status Apache2/MIT licensed Rust Version Project Chat

纯 Rust 实现的大整数库,专为加密应用设计。

提供使用 const generics 的现代公式的常时,no_std 友好的实现。

文档

目标

  • 支持 no_std 友好的 const generic 栈分配大整数。
  • 默认为常时。变量时函数明确标记为变量时。
  • 利用稳定版 Rust 中的 const generics 的可能性。
  • 尽可能支持 const fn,包括从字节/十六进制解码大整数以及对其进行算术运算,目标是能够在编译时计算值。

安全注意事项

此crate已由 NCC Group 审计,未发现重大问题。我们感谢 Entropy 为审计提供资金。

除非明确指定(通过*_vartime后缀),否则crate中包含的所有函数都设计为常时执行。

此库不适合在具有可变时间乘法操作的处理器上使用(例如,零乘法/一乘法短路,如某些32位PowerPC CPU和一些非ARM微控制器)。

最低支持的Rust版本

此crate至少需要Rust 1.73

我们可能会在将来更改MSRV,但将伴随着小版本号的增加。

许可证

根据您的要求,许可协议为以下之一

任选。

贡献

除非您明确声明,否则您提交的任何有意包含在作品中的贡献,根据Apache-2.0许可证的定义,将按上述方式双重许可,不附加任何额外的条款或条件。

依赖项

~125–640KB
~12K SLoC