#random #numbers #hash

cryptocol

一个包含大数算术运算、哈希算法、对称密钥加密/解密算法、非对称密钥(公钥)加密/解密算法、伪随机数生成器等的加密库。哈希算法包括 MD4、MD5、SHA224、SHA256、SHA384、SHA512、SHA3 等。对称密钥加密算法包括 DES、AES 等。公钥加密算法包括 RSA、ECC 等。

15 个版本 (4 个重大变更)

新版本 0.8.3 2024 年 8 月 18 日
0.8.1 2024 年 5 月 11 日
0.8.0 2024 年 4 月 24 日
0.7.3 2024 年 3 月 25 日
0.0.0 2022 年 6 月 4 日

199算法

Download history 182/week @ 2024-05-10 9/week @ 2024-05-17 1/week @ 2024-05-24 2/week @ 2024-05-31 2/week @ 2024-06-07 2/week @ 2024-06-14 1/week @ 2024-07-19 7/week @ 2024-07-26 122/week @ 2024-08-16

每月 129 次下载

MIT/Apache

5MB
13K SLoC

cryptocol crate 提供了密码学库

字节序

该 crate 优化用于小端字节序的 CPU,因为小端字节序的 CPU 比大端字节序的 CPU 更受欢迎。有关字节序(包括小端和大端)的信息 了解更多

大端问题

该 crate 仅针对大端字节序进行实验。因此,不鼓励您将此 crate 用于大端字节序的 CPU 的严肃目的。仅在使用者完全责任下使用此 crate 于大端字节序的 CPU。

1.0 版本路线图

Cryptocol crate 计划提供以下功能。已勾选的项目已经实现,包括至少 95% 的文档。未勾选的项目已实现,包括文档,但实现和文档少于 95%,或者尚未开始实施。

小数:具有自身意义,同时也是大数以及其他模块的基础

大数:具有自身意义,同时也是非对称密钥算法的基础

  • 固定大小的无符号大整数运算 --- BigUInt

哈希算法

  • 基于128位的MD4哈希算法 --- 包括MD4及其扩展版本。 MD4_Generic
  • 基于128位的MD5哈希算法 --- 包括MD5及其扩展版本。 MD5_Generic
  • 基于160位的SHA-1哈希算法 --- 包括SHA-1, SHA-0及其扩展版本。 SHA1_Generic
  • 基于256位的SHA-2哈希算法 --- 包括SHA-256, SHA-224及其扩展版本。 SHA2_256_Generic
  • 基于512位的SHA-2哈希算法 --- 包括SHA-512, SHA-384, SHA-512/256及其扩展版本。 SHA2_512_Generic
  • 基于512/t位的SHA-2哈希算法 --- 包括512/256, SHA-512/224及其扩展版本。 SHA2_512_t_Generic
  • SHA-3 (SHA3-224)
  • SHA-3 (SHA3-256)
  • SHA-3 (SHA3-384)
  • SHA-3 (SHA3-512)
  • SHA-3 (SHAKE 128)
  • SHA-3 (SHAKE 256)

用于数字数据加密/解密的对称密钥算法

  • DES对称密钥加密/解密算法 --- 包括DES及其扩展版本。 DES_Generic
  • NDES对称密钥加密/解密算法 --- 包括2DES, 3DES, 4DES等及其扩展版本。 NDES_Generic
  • AES对称密钥加密/解密算法 --- 包括AES及其扩展版本。 AES_Generic
  • NAES对称密钥加密/解密算法 --- 包括2DES, 3DES, 4AES等及其扩展版本。 NAES_Generic

伪随机数生成器算法

用于数字数据加密/解密的非对称密钥算法

  • RSA (Ron Rivest, Adi Shamir, Leonard Adleman)
  • ECC (椭圆曲线密码系统)

完成上述所有功能的实现后,将给出版本号1.0.0.0。之后,每当向此crate添加另一个功能时,版本号将高于1.0.0.0。在版本号1.0.0.0之前,最大版本号将是0.25.x.x,因为列出了上述所有25个功能。因此,例如,即使版本号是0.5.0.0,这也并不意味着实现了所有功能的50%。

破坏性变更

请参阅此crate中的文件BreakingChanges.md

无运行时依赖