关键词:
SHA-1存在严重的安全问题
这一次破解的只是SHA-1
的抗碰撞性。类似HMAC-SHA-1
(使用HMAC伪随机函数和SHA-1共同作为哈希函数)或PBKDF2-HMAC-SHA1
(使用HMAC-SHA-1作为伪随机函数的PBKDF2密码哈希)这样的哈希函数仍然是安全的。
BLAKE2是安全的
BLAKE2的定位是目前安全系数最高的哈希函数。BLAKE2是基于BLAKE实现的,BLAKE是2008年被提交至SHA-3竞赛的一种哈希函数。
BLAKE2不仅仅只是一个简单的哈希函数而已!首先,BLAKE2有两大主要版本:BLAKE2b和BLAKE2s。BLAKE2b是BLAKE的64位版本,它可以生成最高512位的任意长度哈希。BLAKE2s是BLAKE的32位版本,它可以生成最高256位的任意长度哈希。
BLAKE2x是对BLAKE2的简单扩展,它可以生成任意长度的哈希值(长度不受限制)。
BLAKE2的速度比SHA-1更快
一个先进而且易用的加密库
为什么不用SHA-2或SHA-3代替SHA-1呢?
SHA-2其实是一个哈希函数家族,其中包括SHA-256、SHA-384和SHA-512,而且还提供了SHA-224和SHA-384这两个变种版本。SHA-2哈希函数可以看作是安全系数更高的SHA-1,而SHA-2目前还没有被破解。但是跟BLAKE2相比,SHA-2哈希函数在性能和速度方面明显要处于劣势。除此之外,它不支持额外的功能,而且也无法抵御哈希长度扩展攻击。
SHA-3同样是一个哈希函数家族,2015年发布的美国联邦标准FIPS 202还对其进行了标准化规范。SHA-3是基于Keccak(SHA-3竞赛中的胜者)实现的,SHA-3哈希函数跟BLAKE2一样的安全,但是同样在速度方面处于下风。很多人选择使用SHA-3而不选择BLAKE2的理由可能是BLAKE2并不是一种规范标准(虽然BLAKE也有自己的标准化文档RFC),而且BLAKE2也没有得到FIPS的许可认证。
参考:
【密码学分析】为什么要用BLAKE2替换SHA-1?http://www.freebuf.com/articles/database/129260.html