#加密密钥 #椭圆曲线 #x25519 #公钥 #nacl #libsodium #xsalsa20poly1305

无 std crypto_box

NaCl 的 crypto_box 公钥认证加密原语的纯 Rust 实现,它结合了 X25519 椭圆曲线 Diffie-Hellman 函数和 XSalsa20Poly1305 认证加密密文

16 个版本 (8 个破坏性更新)

0.9.1 2023 年 8 月 17 日
0.9.0 2023 年 7 月 22 日
0.9.0-rc.12023 年 6 月 29 日
0.8.2 2022 年 10 月 29 日
0.1.0 2020 年 2 月 25 日

密码学 中排名第 2137

Download history 18934/week @ 2024-04-21 13818/week @ 2024-04-28 14511/week @ 2024-05-05 17586/week @ 2024-05-12 15813/week @ 2024-05-19 13329/week @ 2024-05-26 17332/week @ 2024-06-02 15458/week @ 2024-06-09 17790/week @ 2024-06-16 15182/week @ 2024-06-23 17408/week @ 2024-06-30 19963/week @ 2024-07-07 18527/week @ 2024-07-14 21158/week @ 2024-07-21 20956/week @ 2024-07-28 23785/week @ 2024-08-04

每月下载量 86,451
用于 101 程序包(直接使用 36 个)

Apache-2.0 OR MIT

49KB
573

RustCrypto: crypto_box

crate Docs Apache2/MIT licensed Rust Version Project Chat Build Status

NaCl 的 NaClcrypto_box 原语的纯 Rust 实现,提供公钥认证加密,结合了 X25519 Diffie-Hellman 函数和 XSalsa20Poly1305 认证加密密文,形成一个椭圆曲线集成加密方案 (ECIES)。

文档

关于

想象一下,Alice 想让一些贵重物品送到她那里。因为这是贵重的,她想要确保它安全到达(即没有被打开或篡改)并且它不是伪造的(即它确实是她期望的发送者的,没有人玩老把戏)。

她可以这样做的一种方式是给发送者(我们叫他 Bob)提供一个她选择的高安全性的盒子。她提供了这个盒子,还提供了另一个东西:一把锁,但一把没有钥匙的锁。Alice 把那把钥匙全部留给了自己。Bob 可以把物品放在盒子里,然后把锁锁上,但一旦锁被锁上,除非有人有 Alice 的私钥,否则没有人能打开这个盒子。

但这里有个转折,Bob 也给盒子上了一把锁。这把锁使用 Bob 向世界公布的一把钥匙,如果你有一把 Bob 的钥匙,你就知道这个盒子是 Bob 发来的,因为 Bob 的钥匙可以打开 Bob 的锁(我们想象一个即使你知道钥匙也不能伪造锁的世界)。

为了让爱丽丝能够打开盒子,她需要两把钥匙:她自己的私钥,用于打开自己的挂锁,以及鲍勃的已知钥匙。如果鲍勃的钥匙无法打开第二个挂锁,那么爱丽丝就知道这不是她从鲍勃那里期望得到的盒子,它是一个伪造品。

安全注意事项

该容器已通过Cure53进行了一次安全审计(版本0.7.1),没有发现重大问题。我们感谢Threema为审计提供资金。

许可证

许可方式为以下之一

任选其一。

贡献

除非您明确声明,否则根据Apache-2.0许可证定义的,您有意提交用于包含在作品中的任何贡献,将双重许可如上所述,不附加任何额外的条款或条件。

依赖关系

~1.7–2.8MB
~58K SLoC