SHA—1真的不能用了吗?
2017-06-05张志军
软件和集成电路 2017年5期
张志军
2017年2月24日,谷歌与阿姆斯特丹CWI研究所的研究人员宣布,他们成功实现了c散列算法的碰撞。这标志着用SHA-1(简称安全哈希算法)来做电子文本签名已不再可靠,因为面对一个电子文本和它的SHA-1签名,科学家们可以生成一个完全不同的文本并确保它有完全相同的SHA-1签名。
安全哈希算法是对信息做一种不可逆的转换,它有下列属性:不论输入信息量的大小,特定的哈希算法的输出总是固定的长度;输入信息的微小变化会带来哈希值的很大变化;哈希值的计算必须包括输入信息的每一个比特,否则上面一条将无法满足。
安全哈希算法的强度在于从哈希值反推原来的输入信息有多大的难度。如果黑客能在几天内用现有的计算和存储能力做到,该算法显然不能用。安全哈希算法被普遍应用到用户的口令保护,一般被称为单向加密。其优越性在于攻击者不能根据口令的哈希值而反推出口令本身。攻擊者可以不断地试不同口令的哈希值直到与要破译的口令的哈希值相同。这种攻击需要耗费的时间太多。于是黑客们发明了彩虹列表攻击法。应对这种攻击的方法有增加口令的长度、给哈希值加“盐”,即在哈希值生成过程中加入一个随机生成的数值作为哈希算法的另一个输入。这样,同一个口令因“盐”值的不同,哈希值也不同,攻击者就无法用一个彩虹列表来根据哈希值去反查原来的口令是什么。
安全哈希算法也是文本数字签名或者电子签名技术的一个重要组成部分。……
登录APP查看全文
