0.1.0 |
|
---|
#15 in #falcon
16KB
120 代码行
secret_sealing
一个简单的工具包,提供现代密码算法的包装和重新导出。
此软件包试图提供通过方便的函数包装的现代加密算法和散列算法。然而,其中一些算法处于前沿(如SIKEP751),因此,底层库可能存在安全漏洞。此外,此软件包以及其中的一些组成部分尚未经过正确性和安全性审计。特别是,私钥没有特别存储在安全内存中,如果威胁模型包括有人读取您机器上的任意内存(例如,通过冷启动攻击),这可能会带来安全风险。因此,此软件包更像是个人实验的基础,而不是任何可用于生产的软件。 使用此软件包风险自担。
算法
以下模块使用前沿算法,旨在抵御量子计算机的攻击。因此,理论上它们更具抗破解性,但算法或实现可能包含错误。
key_exchange
- 提供在不受信任的连接上交换共享密钥的方法。通过oqs
软件包使用 SikeP751。signing
- 提供创建数字签名的方法。通过 Falcon1024 通过oqs
软件包。
另一方面,以下模块和函数使用更知名且更可靠的算法
non_password
- 提供通用的加密散列。通过blake3
软件包使用 BLAKE3。password
- 提供密码散列。通过argon2
软件包使用 Argon2。crate::encrypt
和crate::decrypt
- 提供数据的一般加密。这些通过chacha20poly1305
软件包使用 ChaCha20Poly1305。
依赖项
~26MB
~574K SLoC