Encryption 逆向工程简单加密算法

Encryption 逆向工程简单加密算法,encryption,Encryption,对于一家使用传统系统的公司,我正在尝试对他们使用的旧加密方法进行反向工程。这个软件的源代码不见了,或者我听说了。(或者他们不想让我看到整个系统的工作原理) 无论如何,系统使用唯一标识符和一些其他信息来创建密钥。 此密钥用于加密某些数据 我需要对这个算法进行反向工程。(我可能在这里,但我要试试) 我掌握了用于创建密钥的信息,以及加密和未加密的数据。 所以我最好的办法是使用“知道明文攻击”。但我正在寻找一些关于如何继续的提示或网站 我知道这可能是一项不可能完成的任务,但嘿,尝试一下很好,对吧?我不得

对于一家使用传统系统的公司,我正在尝试对他们使用的旧加密方法进行反向工程。这个软件的源代码不见了,或者我听说了。(或者他们不想让我看到整个系统的工作原理)

无论如何,系统使用唯一标识符和一些其他信息来创建密钥。 此密钥用于加密某些数据

我需要对这个算法进行反向工程。(我可能在这里,但我要试试)

我掌握了用于创建密钥的信息,以及加密和未加密的数据。 所以我最好的办法是使用“知道明文攻击”。但我正在寻找一些关于如何继续的提示或网站


我知道这可能是一项不可能完成的任务,但嘿,尝试一下很好,对吧?

我不得不在这里质疑动机,这不是一个crackers网站。即使他们没有源代码,如果不是标准的加密格式,他们也应该有规范。不管是哪种方式,我都不敢相信他们设计了一个系统来存储加密数据,而没有办法检索数据,因此可以使用解密程序,在这种情况下,解密数据,实施一种新的有文档记录的加密技术,并使用该技术重新加密数据。这比破解一个未知的加密程序要容易得多。

我不得不在这里质疑动机,这不是一个破解网站。即使他们没有源代码,如果不是标准的加密格式,他们也应该有规范。不管是哪种方式,我都不敢相信他们设计了一个系统来存储加密数据,而没有办法检索数据,因此可以使用解密程序,在这种情况下,解密数据,实施一种新的有文档记录的加密技术,并使用该技术重新加密数据。这比破解未知的加密程序要容易得多。

你的任务不是不可能的,只是不可能

如果您拥有密钥和明文,那么我建议您尽可能多地使用标准算法来运行它们。很可能,无论是谁实现了系统,都使用了标准算法的通用实现


您可能会做不到,因为任何足够现代的密码都不应该受到已知的明文攻击:

您的任务不是不可能的,只是不可能

如果您拥有密钥和明文,那么我建议您尽可能多地使用标准算法来运行它们。很可能,无论是谁实现了系统,都使用了标准算法的通用实现


您可能会失败,因为任何足够现代的密码都不应受到已知明文攻击的影响:

您可以尝试这样做:

  • 加密不同长度的简单重复消息(“aaaa”、“bbb”),并开始分析不同度量的输入到输出的统计相关性(与输出长度相关的输入长度、与输出中任何字符的出现相关的输入中字符的出现数等)
  • 如果你发现了一些统计相关性,试着做一个假设,然后开始做一些其他的实验,为你的加密函数提供更复杂的输入

  • 您可以尝试这样做:

  • 加密不同长度的简单重复消息(“aaaa”、“bbb”),并开始分析不同度量的输入到输出的统计相关性(与输出长度相关的输入长度、与输出中任何字符的出现相关的输入中字符的出现数等)
  • 如果你发现了一些统计相关性,试着做一个假设,然后开始做一些其他的实验,为你的加密函数提供更复杂的输入

  • 您有权访问目标代码吗?是否有一个实现在某处运行?如果它是“一些旧的”加密方法,很可能是一个众所周知的算法,例如DES或TEA。只有傻瓜和天才才会编写自己的加密算法。因此,你可能首先要做的一件事就是用谷歌搜索那些算法。它们都使用一些众所周知的s-box常量等。如果您使用十六进制编辑器搜索可执行文件,并找到所述常量,您就知道它是什么算法。这比基于已知明文的密码分析要简单和快速10亿倍。例如,如果您在程序中找到0x9e3779b9,很可能它是TEA。您有权访问目标代码吗?是否有一个实现在某处运行?如果它是“一些旧的”加密方法,很可能是一个众所周知的算法,例如DES或TEA。只有傻瓜和天才才会编写自己的加密算法。因此,你可能首先要做的一件事就是用谷歌搜索那些算法。它们都使用一些众所周知的s-box常量等。如果您使用十六进制编辑器搜索可执行文件,并找到所述常量,您就知道它是什么算法。这比基于已知明文的密码分析要简单和快速10亿倍。例如,如果您在程序中找到0x9e3779b9,很可能是TEA。您是对的,有一个解密程序可用。然而,目前他们希望继续使用旧的加密数据。无需使用新算法重新加密,即可实现“向后兼容”。你说得对,有一个解密程序可用。然而,目前他们希望继续使用旧的加密数据。不需要使用新算法重新加密,就可以“向后兼容”。是的,这可能是一个很长的路要走。我只是想从一些对这件事有更多了解的人那里得到一个意见。我不认为通过众所周知的算法运行数据会有多大帮助,因为有这么多。是的,这可能是一个长期的目标。我只是想从一些对这件事有更多了解的人那里得到一个意见。我不认为通过众所周知的算法来运行数据会有多大帮助,因为只有这么多