密码分析技术详解
1. 哈希函数密码分析
哈希函数有两个主要目标。一是生成一个难以从其摘要获取源信息的结果,确保哈希函数的单向性;二是当攻击者知道源文本及其对应哈希值时,难以生成另一个产生相同哈希值的文本,尤其是与原始源文本相似的文本。
哈希函数密码分析的主要目标是获取原始源文本的信息或生成重复的哈希值。具有相同哈希值的一对消息被称为碰撞。获取碰撞的攻击类型有三种,按难度递增排序如下:
1. 标准碰撞攻击 :找到两个产生相同哈希值的消息,与其他特定项无必然联系。这是相对“简单”的目标,因为对输出摘要没有约束。
2. 预图像攻击 :找到另一个生成目标哈希值的消息,目标哈希值可能属于某个重要项。
3. 预图像攻击扩展 :找到另一个生成目标哈希值的消息,且原始项是某个目标原始项的合理替代。例如,将一个包含特定指令的Word文档替换为具有不同指令但哈希值相同的文档,这是最难产生的碰撞。
对于第一种标准碰撞攻击,最简单的方法是不断选择随机数据、计算哈希值并存储。根据生日悖论,对于哈希大小为n的情况,只需存储约 $\sqrt{2^n}$ 个条目就可能找到碰撞,因此任何更好的方法运行时间或存储空间应小于此。而对于其他两种攻击,没有生日悖论的帮助,标准暴力破解需要运行时间或存储空间为 $2^n$,所以运行时间或存储空间小于 $2^n$ 的技术都是改进。
目前,校验和与循环冗余校验(CRC)不太适合用于数字签名和其他安全目的,常用更复杂的哈希算法,如MD5和SHA - 1。这些算法的复杂处理使得很难从消息摘要推断原始消息。对于MD5和SHA -
超级会员免费看
订阅专栏 解锁全文
10万+

被折叠的 条评论
为什么被折叠?



