密文特征分析

2023/06/05 渗透 共 1414 字,约 5 分钟

密文特征分析

MD5、sha1、HMAC算法、NTLM等相似加密类型

1、MD5

示例——63A9F0EA7BB98050796B649E85481845

MD5 实质是一种消息摘要算法,一个数据的 MD5 值是唯一的,同一个数据不可能计算出多个不同的 MD5 值,但是,不同数据计算出来的 MD5 值是有可能一样的,知道一个 MD5 值,理论上是无法还原出它的原始数据的,MD5 主要特征如下:

  • 密文一般为 16 位或者 32 位,其中 16 位是取的 32 位第 9~25 位的值;
  • 组成方式为字母(a-f)和数字(0-9)混合,字母可以全部是大写或者小写。

除了通过密文特征来判断以外,我们还可以搜索源代码,标准 MD5 的源码里是包含了一些特定的值的,没有这些特定值,就无法实现 MD5:

  • 0123456789ABCDEF、0123456789abcdef
  • 1732584193、-271733879、-1732584194、271733878

PS:某些特殊情况下,密文的长度可能不止 16 位或者 32 位,通常是在 16 位的基础上,左右填充了一些随机字符串。

明文32位[大写]63A9F0EA7BB98050796B649E85481845
root32位[小写]63a9f0ea7bb98050796b649e85481845
 16位[大写]7BB98050796B649E
 16位[小写]7bb98050796b649e

md5的三个特征:

  1. 确定性:一个原始数据的MD5值是唯一的,同一个原始数据不可能会计算出多个不同的MD5值。
  2. 碰撞性:原始数据与其MD5值并不是一一对应的,有可能多个原始数据计算出来的MD5值是一样的,这就是碰撞。
  3. 不可逆:给出一个MD5值,无法通过它还原出它的原始数据的。由它的算法所决定,一个给定的MD5值是可能对应多个原始数据的,并且理论上讲是可以对应无限多个原始数据,所有无法确定到底是由哪个原始数据产生的。

2、sha1

示例——dc76e9f0c0006e8f919e0c515c66dbba3982f785

这种加密的密文特征与 MD5 类似,位数是40。

SHA 是比 MD5 更安全一点的摘要算法,SHA 通常指 SHA 家族算法,分别是 SHA-1、SHA-2、SHA-3,其中 SHA-2 是 SHA-224、SHA-256、SHA-384、SHA-512 的并称,SHA-3 是 SHA3-224、SHA3-256、SHA3-384、SHA3-512、SHAKE128、SHAKE256 的并称,其名字的后缀的数字就代表了结果的大小(bit)。

SHAKE 算法结果的大小并不是固定的,其他算法特征如下:

  • SHA-1:字母(a-f)和数字(0-9)混合,固定位数 40 位;
  • SHA-224/SHA3-224:字母(a-f)和数字(0-9)混合,固定位数 56 位;
  • SHA-256/SHA3-256:字母(a-f)和数字(0-9)混合,固定位数 64 位;
  • SHA-384/SHA3-384:字母(a-f)和数字(0-9)混合,固定位数 96 位;
  • SHA-512/SHA3-512:字母(a-f)和数字(0-9)混合,固定位数 128 位。

3、HMAC算法

示例——5b696ae7da9442ead7adc24d03cedb65

HMAC (Hash-based Message Authentication Code) 常用于接口签名验证,这种算法就是在前两种加密的基础上引入了秘钥,而秘钥又只有传输双方才知道,所以基本无法破解。

文档信息

Search

    Table of Contents