9 个版本

使用旧的 Rust 2015

0.4.0 2024 年 5 月 18 日
0.3.1 2022 年 5 月 30 日
0.3.0 2022 年 3 月 21 日
0.2.7 2022 年 3 月 19 日
0.2.3 2020 年 8 月 27 日

加密学 中排名 270

MIT 许可证

225KB
4.5K SLoC

Crates.io Docs.rs License

Rabe

rabe 是一个 Rust 库,使用修改过的 zcash (type-3 pairing / Baretto Naering 曲线) 的 bn 库实现了几种基于属性的加密 (ABE) 方案。对 bn 的修改引入了 serdeborsh 而不是已弃用的 rustc_serialize。标准序列化库是 serde。如果您想使用 borsh,则需要将其指定为功能。

有关在分布式应用中的集成,请联系 我们

实现了密文策略方案 (CP-ABE)

BDABE CP-ABE

Georg Bramm, Mark Gall, Julian Schütte, "基于区块链的分布式属性基于加密"。在 2018 年第 15 届国际电子商务和电信联合会议 (ICETE 2018) - 第 2 卷:SECRYPT 上的论文,第 99-110 页。可在 https://doi.org/10.5220/0006852602650276 获取

AC17 CP-ABE

Shashank Agrawal, Melissa Chase, "FAME: 快速属性基于消息加密",(第 3 部分)。在 2017 年 ACM SIGSAC 计算机和通信安全会议上的论文。可在 https://eprint.iacr.org/2017/807.pdf 获取

AW11 CP-ABE

Lewko, Allison, 和 Brent Waters, "去中心化属性基于加密",(附录 D)。在 Eurocrypt 2011。可在 http://eprint.iacr.org/2010/351.pdf 获取

BSW CP-ABE

John Bethencourt, Amit Sahai, Brent Waters, "密文策略属性基于加密"。在 2007 年 IEEE 安全和隐私会议。可在 https://doi.org/10.1109/SP.2007.11 获取

MKE08 CP-ABE

S Müller, S Katzenbeisser, C Eckert, "分布式属性基于加密"。在国际信息安全与密码学会议上发表,海德堡,2008。可在 http://www2.seceng.informatik.tu-darmstadt.de/assets/mueller/icisc08.pdf 获取

实现了密钥策略方案 (KP-ABE)

AC17 KP-ABE

Shashank Agrawal, Melissa Chase, "FAME: 快速属性基于消息加密"。在 2017 年 ACM SIGSAC 计算机和通信安全会议上的论文。可在 https://eprint.iacr.org/2017/807.pdf 获取

LSW KP-ABE

Allison Lewko, Amit Sahai 和 Brent Waters, "具有非常小的私钥的撤销系统"。在 2010 年 IEEE 安全和隐私会议上。SP'10。可在 http://eprint.iacr.org/2008/309.pdf 获取

YCT14 KP-ABE

姚璇霞,陈志,田冶,"物联网轻量级属性加密方案". 发表于《未来一代计算机系统》. 可从http://www.sciencedirect.com/science/article/pii/S0167739X14002039获取。

警告!

YCT14方案在[1]中被破解,一个“修复版”在[2]中再次被破解。如何在实践中实施攻击的演示请见https://www.blackhat.com/eu-21/briefings/schedule/index.html#practical-attacks-against-attribute-based-encryption-25058。[1] https://ieeexplore.ieee.org/document/8651482 [2] https://ieeexplore.ieee.org/document/9291064

构建rabe库

为了编译和测试

  • 安装rust nightly
  • git克隆库
  • 安装build-essential
  • 然后运行cargo build --release && RUST_BACKTRACE=1 cargo test -- --nocapture
  • rabe也支持borsh序列化。只需在构建命令中添加--no-default-features --features borsh

构建rabe控制台应用程序

README.md

依赖项

~5.5MB
~92K SLoC