c - 寻找良好的小型 DES 实现

标签 c cryptography embedded des

我正在寻找一个良好的许可(BSD/MIT 或 PD)C DES 实现,具有最小的运行时内存使用量(即最小量的读写内存,并且最好也小的代码/表大小)。速度不是问题;事实上,在某些方面,越慢越好,因为它提供了一些针对暴力登录尝试的自然防御。

我见过的所有传统实现都会对大表进行延迟/运行时初始化,这是我试图避免的。我很高兴将表放在 static const 中二进制文件中的数据,事实上,这就是我现在已经部分实现的,但我想知道是否有任何现有的实现可以更好地最小化表的大小以牺牲性能为代价,使二进制文件不会太大(大约 50kb 的表)。

注意:是的,DES 很糟糕。预期的用例是为了实现 crypt处理传统密码登录的函数。

最佳答案

MIT license 为例以及 libtomcrypt 的版本对于所有目的都是完全免费的。

第一个版本似乎也对表进行了延迟初始化,而它们是 libtomcrypt 中的静态常量。但是 libtomcrypt 似乎为您提供了速度与大小的编译标志,在较大的表前面有一个 #ifndef LTC_SMALL_CODE ,也许这可以解决您的问题?

关于c - 寻找良好的小型 DES 实现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10770745/

相关文章:

c - PIC16F883 定时器不工作

c - 为什么 fputs 和 fprintf 反转流顺序

c - IPC vs 域 sock vs 命名管道

c - printf格式错误

c# - Silverlight C# 中的 MD5 或其他加密

embedded - 如何修复此代码以允许我的 AVR 通过串行端口进行通信?

c - WebGL 着色器中十六进制到 RGB 值

python - 这个简单的密码算法是否足够强大?

Android - Tomcat - MySQL 困惑,这样的应用设计是否可行?

IAR C/C++ 编译器与 GCC 的兼容性