Keccak/SHA-3是用于密码散列函数的新的NIST标准.然而,在软件实现方面,它比BLAKE2慢得多。Keccak有补偿优势吗?
发布于 2016-09-26 21:39:19
(披露:我是BLAKE2的作者之一,但不是布莱克。)
以下是我在“2013年应用密码学和网络安全”上给出的关于这个问题的演示文稿幻灯片。(注意:这些幻灯片中的性能数字已经过时-- BLAKE2现在比以前更快了。)
幻灯片包括NIST关于SHA-3竞赛的第三轮报告的引文,在NIST看来,这份报告显示了BLAKE (而不是BLAKE2)与Keccak相比的一些优点和缺点。
这是我为幻灯片写的一个博客帖子。
NIST给出的主要原因是BLAKE比Keccak更接近SHA-2。在设计SHA-3比赛时,它的全部目的是提供一个新的哈希函数,以备SHA-2被破坏时使用,因此要求获胜者与SHA-2不同是有意义的。然而现在,随着近十年的研究和SHA-2看起来并没有变弱,类似于SHA-2的散列函数看起来并不坏,甚至可能是好的。
NIST给出的幻灯片遗漏了另一个原因,那就是Keccak在ASIC实现方面效率更高。
如果你是一个大型组织,比如美国军方或美国政府,他们将为你的项目建造特殊的硬件,那么这个原因可能更重要,但更灵活/通用的性能对我来说更重要。(参见亚当·兰利关于这个主题的博客帖子。)
此外,所有的东西在硬件上都是快速的!见这个安全哈希函数的硬件实现目录。与Keccak相比,BLAKE的ASIC实现可以处理12.5GB/S,而Keccak处理44 GB/s,BLAKE2的ASIC实现可能比类似的BLAKE的实现快约40%,大约为17.5GB/a。
但是,即使是12.5 GB/s似乎也足以满足大多数安全哈希函数的使用。
发布于 2016-01-04 09:37:09
布莱克-2不是SHA-3比赛的一部分,布雷克,它的前身是.Blake-2在软件上比Blake快1.3到1.7倍,对512位的消化效果最好。
两个SHA-3入围者之间的软件性能比较表明,在现代CPU上,Blake比Keccak快约3倍,对于512位哈希,比Keccak快1.26倍,对于256位哈希,只快1.26倍。按字节周期列出的性能。
Algorithm 512-bit 256-bit
---------------------------------------
Blake 5.18 cpb 6.79 cpb
Keccak 15.99 cpb 8.56 cpb然而,硬件设计显示出了凯克卡克的重大胜利。在功率相同的ASIC上,以千兆位/秒为单位列出性能,但频率和晶体管计数不同。
Algorithm 256-bit
---------------------------
Blake 2.06 Gbps
Keccak 10.28 Gbps在这里,在相同的功率预算下,Keccak的速度是5倍。在FPGA平台上,Keccak提供了至少4倍的性能优势,仅比Blake高出10%的功率预算,以及相同的电路计数或更少的电路。
作为标准化过程的一部分,讨论了在未来的商品处理器(如ARM、Intel和AMD )中实现Keccak核心置换。这将使用多达25个128位寄存器来保存状态和所有循环常量,单独处理循环,或者使用13个128位寄存器来仅保存状态,并处理一组循环常量,这些循环常量都是动态生成的。也可以有一个专门的1600位寄存器,仅为凯克卡克州。
这将给Keccak一个类似的性能优势,AES给了适当的CPU指令,可以使它比Blake-2更快,几乎可以肯定,对于256位哈希,那里的性能已经相当接近。
Keccak有一个足够高的整数,足以给它一个巨大的安全保证金,它使用的海绵结构给出了非常好的安全证明,这只是随着时间的推移而被证明更好。
Blake还拥有较高的安全保证金,这使得Blake-2具有较低的循环计数,并且仍然保留了给定大小的哈希函数的预期安全性。Blake使用的结构也被修改为Blake-2,以简化软件平台中的填充和内存访问,但也将其锁定为字节处理。Blake和Keccak可以处理比特流。
Keccak的圆常数可能是它的最弱点,原因是hamming重量低,结构相似。布莱克-2的常数也比布莱克小。这可能使某些攻击具有较低的复杂性,但攻击复杂性已经高于预期的哈希函数安全性。这两种哈希函数都没有受到任何攻击,甚至接近于破坏它们。对Keccak的唯一实际攻击是在小于10轮的简化轮变体上工作,对不到7轮的Blake进行攻击。
Blake-2b是基于密码的密钥派生函数的最佳选择,因为攻击者在高预算方面的优势很低,这在Keccak中要大得多。
作为标准化过程的一部分,Keccak灵活的海绵结构导致了抖动XOFs,它可以为各种应用生成任意长度的比特流。也有关于基于Keccak置换的认证加密的讨论,基亚克是基于SHA-3中使用的Keccak置换的第二轮凯撒候选。
Blake和衍生品几乎没有那么灵活,NORX和任何东西一样接近Blake,但它们仍然不像包一样,核心功能也是不同的。
https://crypto.stackexchange.com/questions/31674
复制相似问题