我正在学习密码学,我需要开发 Java 或 C 代码来破解 DES(数据加密标准)。我知道 DES 中使用的算法,但我不知道我应该如何使用 Java 或 C 进行编码。我听说过 Java 密码体系结构,但我不确定如何使用它?有人可以为我提供一个简短的教程吗?
谢谢
取决于您如何尝试“破解” DES...我假设您正在尝试解密给定的密文(仅密文攻击)。
除了能够支持 DES 加密/解密的库之外,您还应该寻找一个支持密码分析的库,以了解如何实现这一点。蛮力不需要这样的库,它就像迭代 56 位密钥的可能值并尝试解密您的密文一样简单。您几乎可以使用任何编程语言,只要它支持 DES。
如果你想要更复杂的东西,例如线性或差分密码分析,一个很好的介绍是现代密码分析。那本书中的代码示例使用 Python。您也可以考虑使用 Python 或 Ruby 等高级语言,因为与在 C 中实现相比,它可以加快您的开发过程,而且您不必处理由于内存管理、指针而导致的严重错误等等。Python 和Ruby 都支持DES 加密和解密。缺点是您的代码在较低级别的语言中可能会更高效(前提是您做得对)-因此,如果速度至关重要,则将 C 与 OpenSSL(或任何其他支持 DES 的加密库)结合使用)会是一个不错的选择。
密码分析库示例
归档时间: |
|
查看次数: |
6090 次 |
最近记录: |