#public-key #libsodium #blake2 #communication-channel #shared-secret #nacl #private-key

不依赖 std crypto_kx

使用 BLAKE2 实现的 libsodium 的 crypto_kx 的纯 Rust 实现

6 个版本

0.2.1 2023年7月22日
0.2.0 2023年7月22日
0.2.0-pre.02023年5月30日
0.1.0 2022年8月14日
0.0.1 2021年9月13日

#2626 in 密码学

Download history 1232/week @ 2024-04-23 1025/week @ 2024-04-30 810/week @ 2024-05-07 461/week @ 2024-05-14 410/week @ 2024-05-21 304/week @ 2024-05-28 320/week @ 2024-06-04 233/week @ 2024-06-11 99/week @ 2024-06-18 200/week @ 2024-06-25 155/week @ 2024-07-02 142/week @ 2024-07-09 226/week @ 2024-07-16 145/week @ 2024-07-23 192/week @ 2024-07-30 65/week @ 2024-08-06

671 每月下载量
2 crates 中使用

Apache-2.0 OR MIT

16KB
234 代码行

RustCrypto: crypto_kx

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

libsodium 的 crypto_kx 原语的纯 Rust 实现。

文档

关于

想象一下,Alice 想要和 Betty 开辟一个安全通信通道,可以使用类似于 crypto_secretstream 的方法。他们首先需要同意一个共享密钥。

要获取这个共享密钥,可以使用 Diffie-Hellman,其工作原理如下:假设 Alice 和 Betty 都知道对方的公钥。然后他们使用自己的私钥和对方的公钥生成一个密钥。这个密钥对 Alice 和 Betty 都是相同的,正如 Diffie-Hellman 算法所描述的。任何窃听者都无法知道这个密钥,因为他们只知道公钥,而不知道私钥。

使用相同的密钥发送和接收可能会引起加密问题或降低整体吞吐量。因此,在计算共享密钥时,实际上你得到两个密钥,一个用于每个方向。

许可证

许可方式任选其一

由您决定。

贡献

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

依赖项

~1.6–2.5MB
~54K SLoC