SHA1仍然可以安全地用作PBKDF2中的哈希函数吗?

由于在SHA1的加密分析方面取得了重大进展,因此应该逐步取消SHA2(维基百科)。 然而,为了在PBKDF2中用作底层散列函数,它基本上用作PRNG。因此,使用SHA1作为PBKDF2的哈希值仍然是安全的,对吧?     
已邀请:
当在HMAC中使用时,目前已知的SHA-1缺点对其安全性没有任何影响,在PBKDF2中使用时更为重要。就此而言,MD5也可以(但不是MD4)。 但是,SHA-1对公共关系不利:如果在2011年使用SHA-1,那么你必须做好准备以证明自己的选择是正确的。另一方面,SHA-256是一个很好的“默认功能”,没有人会质疑它。 PBKDF2中没有性能问题(PBKDF2包含一个“迭代计数”意味着它完全与所需的一样慢)所以在这里没有理由比SHA-256更喜欢SHA-1。但是,如果您有一个使用PB​​KDF2-with-SHA-1的现有已部署系统,则不需要立即“修复”它。     
当然。如果要生成更多密钥材料,SHA-256或更大版本可能更有效。 但是PBKDF2-HMAC-SHA1很好。标准的HMAC使用也没有受到损害,但是在这种情况下,更长的哈希原则上更安全。     
对SHA1的攻击引起了很多公共混乱,因此可以构造一条消息,该消息具有与不同消息相同的散列。对于每个散列函数,这当然总是可能(原则上),因为散列函数具有比输入位少的输出位。然而,它通常不可能偶然发生,并且故意这样做应该在计算上不可行。 从“确保消息完整性”的角度来看,这可以看作是一场灾难。 另一方面,为了产生随机数,这绝对没有影响。     

要回复问题请先登录注册