#encryption-key #elliptic-curve #encryption #ecc

no-std ibe

BLS12-381配对友好椭圆曲线上的基于身份加密方案

12个版本

0.3.0 2023年3月16日
0.2.3 2022年11月24日
0.2.2 2022年6月28日
0.2.0-beta.02022年3月2日
0.1.2 2019年11月26日

#1474 in 密码学

25 每月下载量
用于 3 crates

MIT 许可证

115KB
2.5K SLoC

IBE

在Rust中收集了BLS12-381配对友好椭圆曲线上的基于身份加密(IBE)方案。这个crate包含了基于身份加密方案(IBEs,见src/pke)和基于身份密钥封装机制(IBKEMs,见src/kem)。参考文献出现在相应的源文件中。

此crate包含以下方案(按发表时间顺序)

  • Waters (IND-ID-CPA IBE),
  • Boyen-Waters (IND-sID-CPA IBE),
  • Waters-Naccache (IND-ID-CPA IBE),
  • Kiltz-Vahlis IBE1 (IND-CCA2 IBKEM),
  • Chen-Gay-Wee (IND-ID-CPA IBE, IND-ID-CCA2 IBKEM)。

技术说明

  • 此实现尚未(尚未)经过审查或审计。自行承担风险。
  • 使用Keccak进行哈希到身份,哈希到秘密,并作为Fujisaki-Okamoto转换的对称原语。
  • 在Rust Stable上编译成功。
  • 不使用Rust标准库(no-std)。
  • 此库中各种数据结构的字节序列化结构在库的版本之间不保证保持一致。
  • 此库中所有操作都实现为以恒定时间运行。
  • 此库的性能主要取决于底层曲线操作BLS12-381的算术。对原始库的任何新的优化都可能显著提高此crate中方案的性能。因此,应考虑将这些优化合并到此crate中(通过pg-curve crate)。

依赖关系

~1–1.6MB
~29K SLoC