找到包含原始邮件和加密邮件的加密类型

时间:2013-08-30 19:30:38

标签: encryption methods

当我们有原始邮件和加密邮件时,它是否可以找到加密方法?

示例:加密消息:ZHVoYW1lbA         :原始信息:duhamel

example2:加密消息:ZmV5          :原始信息:fey

1 个答案:

答案 0 :(得分:0)

没有

关于你所能做的就是使用消息的长度来确定它是块还是流密码(如果它是块密码,它们将是某个固定大小的倍数)。即使这需要一些小心,因为你需要猜测是否使用了IV和HMAC或类似的(例如,在CTR模式下,(所谓的)IV是半个块)。

如果您的示例是真实的,那么这不是分组密码,因为加密的消息太短。我真的不明白编码是什么 - 通常加密的消息是二进制的,而不是字符,所以写成十六进制字符串或类似的。但是你的例子似乎是字符串。

因此,您的示例要么构成要么不同寻常 - 更可能是“自制”代码,而不是软件库中使用的标准算法。

[编辑:] 我在处理https://stackoverflow.com/questions/18560948/encrypted-string-by-unknown-method#comment27312634_18560948

后更新了这个答案

以上是关于加密的讨论。然而,有时候,人们实际要问的是编码。这就是(可能是加密的,但可能不是)消息中的字节被转换成通过互联网显示或发送的东西,或者其他什么。这可能是十六进制或基数64,或者像PEM那样更复杂的东西。通常你可以猜测这个,因为不同的编码往往看起来不同。例如,基数64通常以“=”结尾。有时,这可以为您提供有关所用加密的线索。例如,PEM具有独特的标题行,这使得它易于识别,并且OpenSSL中PEM的默认密码是三重DES,因此如果文件是PEM编码的,则很可能是三重DES加密。

所以考虑到这一点,我应该在我的原始答案中包含编码也可以帮助有时猜测密码类型的注释。在您的示例中,两个加密字符串都以“Z”开头,这很奇怪。但我不知道这样做的编码。

[另见https://stackoverflow.com/a/20217208/181772]

的相关评论