2 个版本
| 0.7.1 | 2022 年 9 月 14 日 |
|---|---|
| 0.7.0 | 2022 年 9 月 11 日 |
#2014 在 算法 中
在 3 个库中使用
77KB
1.5K SLoC
这是 scicrypt 的一部分。有关更多信息,请访问 scicrypt 库的主页。
此库实现了一个 BigInteger,其中大多数算术操作在指定大小的情况下都消耗恒定的时间。此库只不过是对 GMP 的低级常数时间函数的方便包装。
如果库未按预期工作,请考虑使用 --debug 运行,以触发 debug_assert!(),以检查某些低级函数的先决条件是否满足。
几乎所有函数都应在常数时间内运行,并且仅泄露关于输入长度的信息。这也适用于重载运算符(例如,等式是常数时间的)。某些函数 不是 常数时间的
- 使用
from_string从字符串初始化 partial_cmp_leakylcm_leakymod_u_leakyset_bit_leaky和clear_bit_leakyis_probably_prime_leaky
为了使代码更容易阅读,可以在 UnsignedInteger 上调用 leak() 来获取一个支持重载运算符的 LeakyUnsignedInteger。
我们对随机数生成不确定。此外,请注意,除法可能会泄露一些有关结果值大小的信息。
依赖关系
~21MB
~491K SLoC