#toy #lib #timing #production #random #attacks

no-std libkrypton

玩具加密库

3个版本

0.1.2 2021年9月6日
0.1.1 2021年8月13日
0.1.0 2021年8月8日

#982 in 加密学

MIT OR Apache-2.0 OR CC-BY-4.0

88KB
2.5K SLoC

libkrypton

这是一个玩具加密库。

安全性

理论上,它应该被正确实现并能够抵御时间攻击。然而,没有适当的审计,你不能确保它的安全性。因此,你永远不应该在生产环境中使用它。

算法

该库实现了各种算法

  • ChaCha20,一个256位安全级别的流密码和伪随机熵源
  • Poly1305,一个大约100位安全级别的MAC/验证器
  • X25519,在Curve25519椭圆曲线上的128位安全级别Diffie-Hellman密钥交换
  • Ed25519,在Edwards25519椭圆曲线上的128位安全级别数字签名
  • SHA-2,一系列针对多个安全级别的哈希函数

支持no_std

如果禁用了std默认功能,则该库具有#![no_std]支持。

随机值

如果你最终决定使用这个库

  1. 重新考虑你的生活选择。
  2. 请考虑使用getrandomrandcrates来生成随机值,因为libkrypton没有提供生成用于私钥的随机值的安全方法。

无运行时依赖

特性