#aes #encryption-decryption #crypto

aesfrast

一个易于使用的AES加密和解密库,纯Rust语言编写

7次发布

0.2.2 2023年8月20日
0.2.1 2022年11月3日
0.1.5 2019年6月16日
0.1.4 2019年1月8日
0.1.2 2018年4月23日

#569 in 加密学

22 每月下载量
用于 4 个crate(直接使用2个)

Apache-2.0

130KB
1.5K SLoC

aes_frast

不适用于正式用途
aes_frast 是一个易于使用的AES加密和解密库,纯Rust语言编写。AES算法通过查找表实现。
在名称 aes_frast 中,“frast”是“rust”和“fast”的混合。这个库被设计为尽可能快地运行在纯Rust语言代码上,不使用ASM。

兼容性

这个库中的函数与OpenSSL兼容,如果它们可以在OpenSSL中找到,尽管可能名称不同。

安全性

对这个库的任何加密审计都从未进行过。因此,在寻找高安全性的情况下,请格外小心。
作者试图使其更安全,但绝不保证安全性。
此外,一些研究表明,查找表实现中可能存在计时问题。然而,这个库假设运行库的计算机是安全的,并且使用这个库的用户已经采取了措施来避免计时问题。例如文件加密可能适合。 也许,这个库适合那些只想了解AES结构的人。

特性

  • 支持128位、192位、256位密钥大小和固定的128位块大小。
  • ECB、CBC、CFB、OFB操作模式(带有实验性的PCBC模式和CFB8模式)。
  • ANSIX923、PKCS #7、零填充和去填充。
  • 单块处理。
  • 工作密钥调度。

示例

请参阅文档。

下一个版本?[寻求帮助]

未来,这个库将是什么样子?
我不知道。
以下可能被考虑,也可能不会被考虑

  1. CTR和GCM操作模式。
  2. 散列函数和HMAC。
  3. PBKDF2和其他密钥派生函数。
  4. FFI。
  5. 尽量加快速度!
  6. 如果可能,提供更多安全和审计。

欢迎pull请求。 感谢大家。

无运行时依赖