如何识别密文中使用的加密算法?

时间:2009-09-02 09:41:20

标签: encryption

有没有办法尝试猜测用于加密密文的加密算法?

5 个答案:

答案 0 :(得分:14)

是。存在一些差异:

  • 是否可以从长度上猜到分组密码。
  • 区块长度
  • 输出的熵(所有字符是否同等存在?/可以找到模式吗?)
  • 重复(CBC或不...)

字符串的熵可能是最好的提示。确定它的一种简单方法可能是尝试压缩它。可以在这里找到一些方法:http://www.random.org/statistics/他们使用它们来确保它们的数字尽可能随机。

我不知道是否真的可以使用这些方法确定加密。

答案 1 :(得分:7)

查看工具:

  • 使用Krypto Analyzer(KANAL)插件的PEiD
  • 使用Findcrypt插件的IDA Pro
  • 使用SnD加密扫描仪的OllyDbg
  • x3chun的加密搜索者
  • Keygener Assistant
  • Hash&加密检测器(HCD)
  • 草案加密分析仪(DRACA)

但是所有可执行文件。 在这里找到:http://fwhacking.blogspot.com.br/2011/03/bfcrypt-crypto-scanner.html

答案 2 :(得分:4)

这些信息很容易获得 - 在一个好的加密方案中,只有密钥需要保密,而不是使用的算法。

您可以执行分析以测试特定加密,有关详细信息,请参阅cryptanalysis上的教科书!

答案 3 :(得分:3)

您可以尝试使用fbcrypt来扫描已知的哈希值&加密签名:http://fwhacking.blogspot.com/2011/03/bfcrypt-crypto-scanner.html

目前它支持MD5,CRC32,Blowfish,DES和SHA256,但很快就会添加更多。无论如何,当源可用时,您也可以添加自己的源。

答案 4 :(得分:2)

这取决于您是在谈论“原始加密数据”(在这种情况下,您可以使用其他答案中“gs”列出的方法)或某种标准格式的加密文件(最常见的是{ {3}} / PKCS#7和CMS);在后一种情况下,加密算法在文件中包含的元数据中明确指出。

对于CMS,您需要ASN.1解码器,例如命令行OpenPGP程序或dumpasn1,而对于OpenPGP,您可以使用my own web-based Javascript decoder