【发布时间】:2012-02-21 21:05:06
【问题描述】:
对于使用遗留系统的公司,我正在尝试对他们使用的旧加密方法进行逆向工程。该软件的源代码丢失了,或者有人告诉我。 (或者他们可能不想让我看到系统的完整运作)。
无论如何,系统使用唯一标识符和其他一些信息来创建密钥。 此密钥用于加密某些数据。
我需要对这个算法进行逆向工程。 (我可能在我的头上,但我会尝试)。
我拥有用于创建密钥的信息以及加密和未加密的数据。 所以我最好的选择是使用“知道明文攻击”。但我正在寻找一些提示或网站,其中包含有关如何进行的更多信息。
我知道这可能是一项不可能完成的任务,但是尝试一下很不错,对吧?
【问题讨论】:
-
您可以访问目标代码吗?某个实现是否在某处运行?
-
如果它是“一些旧的”加密方法,很可能是众所周知的算法,例如 DES 或 TEA。只有傻瓜和天才会编写自己的加密算法。因此,您可能首先想做的一件事是谷歌搜索这些算法。它们都使用一些众所周知的常量用于 s-box 等。如果您使用十六进制编辑器搜索可执行文件,并找到所述常量,您就会知道它是什么算法。这比基于已知明文的密码分析要容易和快十亿倍。例如,如果您在程序中发现 0x9e3779b9,则很有可能是 TEA。
标签: encryption