60 个版本 (30 个稳定版)
3.6.0 | 2023年10月13日 |
---|---|
3.3.0 | 2023年9月26日 |
3.1.0 | 2023年2月21日 |
2.5.2 | 2023年2月7日 |
0.1.24 | 2020年7月30日 |
#372 在 密码学 分类中
每月 296 次下载
46KB
582 行
rust-clacc
这是一个 Rust 实现的 CL 通用累加器,该累加器在《Efficient oblivious transfer with membership verification》中有所描述。
累加器是一个固定大小的摘要,可以与元素添加的见证一起使用来证明元素是集合的成员。这种解决方案的缺点是,任何对累加器的状态更改都会使集合中其他元素的见证无效,需要计算资源来更新它们。
CL 累加器的优点是支持高效的不可信见证更新。可以将资源密集型的见证更新任务外包给不可信方,而不会牺牲累加器的完整性。
此项目专注于一个用例,其中中心权威机构既受内存限制,也受处理限制。权威机构控制私钥,并且能够在不受信任的工人能够重新计算见证的情况下添加和删除元素,前提是他们能够访问以前的见证、累加器的当前状态及其公钥。
后端
此crate使用模块化整数字面量后端构建。整数字面量必须实现 BigInt
特性。
可选特性
bigint
(默认):启用此特性以支持::num_bigint::BigInt
作为整数字面量。::num_bigint
是一个纯 Rust 大整数库。gmp
:启用此特性以支持::gmp::mpz::Mpz
作为整数字面量。::gmp
不是一个纯 Rust 库,但它目前比::num_bigint
更高效。
依赖项
约1.5MB
约13K SLoC