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

11

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

5个回答

14

是的。这里有一些不同之处:

  • 从长度可以猜测出它是否为分块密码。
  • 块长
  • 输出熵的大小(所有字符都是等量存在的吗?/可以找到模式吗?)
  • 循环(CBC 或其他...)

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

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


7

用于查看它的工具:

  • 带有Krypto Analyzer(KANAL)插件的PEiD
  • 带有Findcrypt插件的IDA Pro
  • 带有SnD Crypto Scanner的OllyDbg
  • x3chun的Crypto Searcher
  • Keygener Assistant
  • 哈希与加密检测器(HCD)
  • Draft Crypto Analyzer(DRACA)

但所有这些针对可执行文件。

此处可以找到:http://fwhacking.blogspot.com.br/2011/03/bfcrypt-crypto-scanner.html


5
通常情况下,这些信息很容易得到 - 在一个好的加密方案中,只需要保密密钥,而不是使用的算法。
有一些分析可以进行,以测试特定的加密方式,请查阅cryptanalysis教材了解详情!

3

2
这取决于您是在谈论“原始加密数据”(在这种情况下,您可以使用“gs”在其他回答中列出的方法),还是某种标准格式的加密文件(最常见的是CMS/PKCS#7和OpenPGP);对于后者,加密算法明确地指示在文件中包含的元数据中。
对于CMS,您需要使用ASN.1解码器,如命令行dumpasn1程序或我自己的基于Web的Javascript解码器,而对于OpenPGP,您可以使用pgpdump

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接