10个版本

0.1.0-alpha.92023年6月23日
0.1.0-alpha.82023年6月20日
0.1.0-alpha.72023年5月16日
0.1.0-alpha.32023年2月28日

#919 in 密码学

Download history 4/week @ 2024-03-08 1/week @ 2024-03-15 36/week @ 2024-03-29 12/week @ 2024-04-05

112 每月下载量

MPL-2.0 许可证

1MB
20K SLoC

Rust的高级加密库

这个库是将DEDIS kyber库部分迁移到纯Rust的库。

这个库为Rust提供了高级加密原语的工具箱,这些原语需要比简单的签名和加密更多。请参阅Rust包文档以了解库的目的和API功能。

以下表格显示了与DEDIS库相比已实现的功能。

功能 基本完成 完成
Blake3 XOF ✔️
实用程序包 🔶
DH ✔️
KYBER点 ✔️
KYBER标量 ✔️
KYBER群 🔶
VSS ✔️
DKG ✔️
加密 ✔️
EdDsa ✔️
Schnorr签名 ✔️
DSS ✔️
洗牌包
PVSS
更多签名方案
配对包
证明包
Keccak XOF
Blake2 XOF

这个第一个版本的任务是提供一个旨在与Ed25519签名方案一起使用的纯Rust实现的DKG API。测试和基准测试也已全部实现。

使用模块

您可以通过将其添加到项目中Cargo.toml文件中来包含这个库。

[dependencies]
kyber_rs = "0.1.0-alpha"

为了了解如何使用此库,src/examples下提供了示例。

贡献

如果您想为此库添加更多功能或提出修复建议,我们欢迎您这样做!要直接向仓库贡献,只需叉项目,将您的更改推送到您的分支并创建一个pull request。

联系方式

如果您想与我们联系,请随时通过[email protected]联系我们

关于派生共享密钥的说明

传统上,ECDH(椭圆曲线Diffie-Hellman)仅从x点推导共享密钥。在这个框架中,您可以手动检索值或使用MarshalBinary方法将组合的(x,y)值作为共享密钥。我们建议后者过程,因为对于使用此框架的新软件/协议来说,它更干净且可以泛化到不同类型的群(例如,整数和椭圆曲线),尽管它可能与ECDH的其他实现不兼容。请参阅ECDH的维基百科页面

报告安全漏洞

此库按现状提供,不提供保证。在将其用于安全关键型应用之前,需要对其进行独立的安全审查。如果您将Kyber集成到您的应用程序中,安排审计是您的责任。

依赖项

~13–25MB
~372K SLoC