NIST在10月2日确定SHA-3是新的标准哈希算法,这是否意味着我们不应该使用SHA-2,因为它不安全?

SHA-3到底是什么?

#1 楼

SHA-3哈希竞赛是一个开放的过程,NIST借此定义了一个新的标准哈希函数(美国联邦使用的标准,但事情可能会成为世界范围的事实上的标准)。该过程始于2007年。当时,发现了SHA-2功能(SHA-256,SHA-512 ...)的前身(即MD5和SHA-1)的许多弱点和攻击。人们担心SHA-256很快会被“破坏”或至少被削弱。由于选择和指定加密原语需要花费时间,因此NIST开始进行SHA-3流程,其目的是寻找SHA-2的替代品,但这种说法不言而喻,但人们已经清楚地了解到。超出预期。我们真的不知道为什么;有一些不成熟的论点(消息扩展是非线性的,该函数积累的基本操作是SHA-1的两倍...),但也有人怀疑SHA-256不会受到损害,因为所有研究人员都在忙正在研究SHA-3候选人。无论如何,SHA-2的失败显然被无限期地推迟了,NIST改变了​​目标,他们没有选择替代方案,而是定义了一个备份计划:可以保存在玻璃柜中的功能,用于紧急情况。相应地,性能丧失了大部分相关性。

这凸显了Keccak的选择:在决赛入围者中,与SHA-2和AES最为不同的是功能。因此,它降低了同时破坏所有标准密码算法以及隐喻性地陷入NIST的风险。

让我们不要草率:不仅SHA-2仍然很好(无论是正式的还是科学的),SHA-3都刚刚宣布:要获得规范还需要几个月的时间(尽管我们可以根据具体情况准备实现已提交比赛)。现在必须要做的(实际上应该已经在十年前完成)是为算法敏捷性准备协议和应用程序,即能够在需要时切换功能(就像SSL / TLS具有“密码套件”的方式“)。

评论


值得一提的是,尽管NIST认为SHA-3将来比SHA-2崩溃的可能性较小,但不能保证它们是正确的。很有可能(如果不太可能)某人会发布攻击,使其明天不会比CRC哈希安全。到那时,NIST(脸上有鸡蛋)将恢复对SHA-2的偏好。

–丹在火光中摆弄
2012年10月4日19:44



@DanNeely:恩,NIST实际上说的是SHA-2和SHA-3不太可能同时被破坏。我不认为他们会说SHA-2会被打破。他们正式不喜欢另一种(均为“已批准的算法”)。

–托马斯·波宁(Thomas Pornin)
2012年10月4日19:57

@ThomasPornin,关于“ SHA-2的结果比预期的要强大”;期望是什么?要持续3年?关于“我们不要草率”;到现在已经快五年了,您认为Keccak比SHA2稳定吗?

–起搏器
16-4-15在9:54



RIPEMD160及其加长版本不是合适的“备份”吗? NIST为什么没有真正考虑该标准化方法?纯粹是因为它是一个较短的哈希,并且他们想要256位作为基础吗?据我所知,它还经受了时间的考验,以对抗诸如SHA2之类的理论攻击。

–胸腺
17-2-23在1:03



NIST的新闻稿还确认,他们将其视为备份,以防SHA-2受到损害。 nist.gov/news-events/news/2015/08/…

–理查德·康纳马切(Richard Connamacher)
17-2-23在16:22



#2 楼

至少有一种用法使SHA-2看上去比SHA-3更好,这是关键的扩展。

SHA-3的设计在硬件上非常高效,但在软件方面却相对较慢。与在软件中运行的SHA-2和在硬件中运行的SHA1 / 4相比,SHA-3所花费的时间大约是其两倍。

由于SHA-3在软件上运行所需的时间是原来的两倍,因此,如果要在服务器上使用相同的密码处理时间,则需要进行一半的迭代。但是攻击者可以使用硬件实施方式来破解密码。因此,攻击者破解SHA-3散列密码的速度比SHA-2散列密码快8倍-快2倍,因为我们需要将哈希迭代次数减半,而快4倍,因为SHA-3硬件比SHA-2快硬件。

评论


与SHA-2一样,SHA-3也不能用作密码哈希函数。

–泰利
2012年10月5日17:21

SHA-1和SHA-2通常用作pbkdf2的PRF,它是密码哈希函数。由于人们可能开始将SHA-3用作pbkdf2的PRF,因此需要注意的是,与SHA-2相比,它不适合用于此用途。

– David Wachtfogel
2012年10月6日19:15

我想,当服务器中有硬件实现时,就可以使用它。

–PaŭloEbermann
2012年11月4日上午10:56

#3 楼

2012年10月2日,NIST决定要使用哪种算法执行哈希。这就是Keccak算法。

Keccak算法基于密封海绵策略。这是新的标准算法。我们使用标准使它们具有更好的兼容性。

Keccak由Guido Bertoni,Joan Daemen(AES的创建者之一),MichaëlPeeters和Gilles Van Assche设计。他们基于Radiogatùn算法构建了它。

这是否意味着SHA-2不安全?尚没有SHA-2被认为是安全的,我们只知道将来它不再安全了,我们需要确保会有其他选择。我们也不想从一天过渡到另一天,因此他们已经标准化了一种新的哈希算法,因此人们可以有时间进行更改,因此我们知道我们在需要时有一个安全的算法。 >

评论


重要的是要注意,当前没有理由相信SHA-3(Keccak)比SHA-2更安全。就我们所知,SHA-2可能比SHA-3更安全。因此,正如我们“知道[我要说的是]将来[SHA-2]不再安全”一样,SHA-3的情况也是如此,而且不知道两者中的哪一个将首先受到损害。

– David Wachtfogel
2012年10月4日17:07

#4 楼

我看到SHA-3优于SHA-1和SHA-2的一个好处是它对扩展攻击不敏感。这意味着基于它的协议(例如MAC)本质上更加健壮。

评论


RFC 2014定义的HMAC(基于哈希的MAC)已受到扩展攻击的保护。 SHA-3的优点在于,计算简单的SHA-3(key | data)足以满足MAC的需求。

–斯蒂芬·托瑟(Stephen Touset)
2012年10月6日,0:56