我在互联网上找到了一个hashcat基准测试结果:桥猫结果:
为什么SHA-512花费更少的时间?沙-512更长,因此我认为它需要更多的时间和计算资源来计算哈希?
发布于 2019-11-07 08:27:34
计算中唯一的不同是初始值和输出大小。来自NIST FIPS 180-4
当将Inc._哈希_sha384.cl和Inc._哈希_sha512.cl两种源代码进行比较时,人们可以看到,SHA-384实际上比SHA-512所做的工作要少。它不是编码的,只是用不同的初始值截断SHA-512。对于微小的速度差异,一个解释可以是矢量化,帮助SHA-512在最后的计算。
在密码保护的情况下,微小的差别并没有多大的区别。在密码散列方面,我们采用了专门设计的密码机制,如PBKDF2和Argon2,这是密码哈希竞赛的赢家。
在安全方面,SHA384对长度扩展攻击具有抵抗力,但SHA512没有。SHA384对长度扩展攻击具有128位的抵抗力,因为攻击者需要猜测128位才能执行攻击。这是由于截断。
不同的初始值提供域分离。对于域分离,\operatorname{SHA384}(m) \neq \operatorname{SHA512}(m)|_{384},其中|_{384}是截断。
在预图像、二次预图像和一般攻击中的碰撞抗性方面,我们都有;
由于通用的\mathcal{O}(\sqrt{2^{n}}) = \mathcal{O}(2^{n/2}) ,其抗碰撞性能为生日袭击。
因此,SHA-512在预成像、二次预成像和抗碰撞方面更好.沙-512‘S唯一的弱点是它容易出现长度扩展攻击。
发布于 2019-11-08 18:41:43
为什么SHA-512花费更少的时间?
不是因为密码相关的原因。只有对代码(源,也许是对象)的检查才能看出。本质上,SHA-384是具有不同起始常量的SHA-512,然后删除结果的128位。一种可能是将SHA-512的代码作为子程序使用在单独的代码中。这也可能是一个代码对齐问题,一个分支采取了与没有采取.不管是什么原因,这在crypto.SE上都是个离题的话题。
沙512更长,因此我认为它需要更多的时间和计算资源来计算散列。
是的,SHA-512更长;但是不,它不需要更多的时间,因为它在内部运行一个512位的结果,最终会被截断。不计算128位几乎没有什么可节省的:大约80位中的1/4 (即0.32%),以及两个64位的加载项( 0.4%)。
https://crypto.stackexchange.com/questions/75575
复制相似问题