为什么SHA2有384位版本?

问题描述 投票:0回答:3

我知道有256和512版本,因为它们都是2的幂。但是384从哪里来?

我知道384的二进制表示是110000000,但我无法理解其中的逻辑。

它不是在256和512之间。它甚至不是对数中间。

为什么是384?

algorithm hash sha
3个回答
2
投票

快速浏览一下维基百科就会发现:

SHA-256 和 SHA-512 是用 32 位计算的新型哈希函数 分别为 64 位字。他们使用不同的班次数量和 加性常数,但它们的结构实际上是 相同,仅轮数不同。 SHA-224 和 SHA-384 只是前两个的截断版本,计算为 不同的初始值。

查看所有变体之间的比较,SHA-384 似乎比 SHA-512(其更长版本)更能抵抗长度扩展攻击

您可以在 Cryptography Stack Exchange 上找到更详细的答案:这里


1
投票
256 + 128 = 384

只不过是上面提到的 2 的幂的两个值相加!!


0
投票

他们选择在 256 位和 512 位之间的中间点创建一个哈希函数。它对于 Base64 编码也非常有用,因为它末尾没有填充字符

=

abc

SHA-256: ungWv48Bz+pBQUDeXa4iI7ADYaOWF3qctBD/YfIAFa0=

SHA-384: ywB1P0WjXou1oD1pmsZQBycsMqsO3tFjGotgWkP/W+2AhgcroefMI1i67KE0yCWn

SHA-384 也比 SHA-512 更安全,因为输出被截断。我们看不到最后两个寄存器,这是对用户隐藏的 128 位数据。这对于防止长度扩展攻击总是一件好事。

© www.soinside.com 2019 - 2024. All rights reserved.