#post-quantum #falcon #password-hashing #sike #quantum-safe

已撤回 secret_sealing

一个简单的工具包,提供现代密码算法的包装和重新导出。

0.1.0 2021年9月25日

#15 in #falcon

0BSD OR Apache-2.0

16KB
120 代码行

secret_sealing

secret_sealing on crates.io Latest documentation on docs.rs License information for secret_sealing

一个简单的工具包,提供现代密码算法的包装和重新导出。

此软件包试图提供通过方便的函数包装的现代加密算法和散列算法。然而,其中一些算法处于前沿(如SIKEP751),因此,底层库可能存在安全漏洞。此外,此软件包以及其中的一些组成部分尚未经过正确性和安全性审计。特别是,私钥没有特别存储在安全内存中,如果威胁模型包括有人读取您机器上的任意内存(例如,通过冷启动攻击),这可能会带来安全风险。因此,此软件包更像是个人实验的基础,而不是任何可用于生产的软件。 使用此软件包风险自担。

算法

以下模块使用前沿算法,旨在抵御量子计算机的攻击。因此,理论上它们更具抗破解性,但算法或实现可能包含错误。

  • key_exchange - 提供在不受信任的连接上交换共享密钥的方法。通过 oqs 软件包使用 SikeP751
  • signing - 提供创建数字签名的方法。通过 Falcon1024 通过 oqs 软件包。

另一方面,以下模块和函数使用更知名且更可靠的算法

  • non_password - 提供通用的加密散列。通过 blake3 软件包使用 BLAKE3
  • password - 提供密码散列。通过 argon2 软件包使用 Argon2
  • crate::encryptcrate::decrypt - 提供数据的一般加密。这些通过 chacha20poly1305 软件包使用 ChaCha20Poly1305

依赖项

~26MB
~574K SLoC