首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有256位集的SHA512是否与SHA256相似或相同?

具有256位集的SHA512是否与SHA256相似或相同?
EN

Cryptography用户
提问于 2023-02-02 08:38:35
回答 2查看 237关注 0票数 3

我是密码学方面的新手,如果我要使用SHA512,但只有256位,它是等于还是类似于SHA256?

我正在努力理解是否有一种方法可以使用SHA512作为SHA256

EN

回答 2

Cryptography用户

发布于 2023-02-02 09:16:00

不,SHA-512和SHA-256是不同的散列函数,它们都属于SHA-2散列族.有一些名为“截断SHA-2”的SHA-2变体,来自Wikpedia 页面

SHA-224和SHA-384分别是用不同的初始值计算的SHA-256和SHA-512的截断版本.SHA-512/224和SHA-512/256也是SHA-512的截断版本,但初始值是使用联邦信息处理标准(FIPS)发布180-4中描述的方法生成的。

我从来不喜欢截断的想法,因为不清楚这如何影响哈希函数的目标空间分布。我的建议是坚持完整的SHA-512或完整的SHA-256,但我不知道是否有更强的数学基础来证明这一点。

票数 3
EN

Cryptography用户

发布于 2023-02-11 22:24:42

我理解您的问题的意思是: SHA-256和SHA-512截断到256位具有相同的安全属性吗?

简短的回答是肯定的。我们没有理由相信SHA-512-截断-256位比SHA-256更安全,除非SHA-512截断-256位实际上在一个方面更安全,我将在下面解释。

沙-256和SHA-512有非常相似的设计。一次非暴力的攻击不太可能在其中一次而不是另一次上起作用。在可预见的未来(即使是量子计算机),蛮力也是遥不可及的。

如果您有一个使用SHA-256的协议,那么如果您在整个过程中使用SHA-512-截断到-256位而不是SHA-512位,该协议将是同样安全的。但是,您应该使用SHA-512/256位,而不是SHA-512-截断-256位(定义和引用请参见维基百科 )。SHA-512/256是SHA-512的一个略为修改的变体,具有不同的常数。使用不同常量的优点是,如果协议的不同部分也使用SHA-512,则可以避免意外标识。例如,假设协议使用SHA-512(x)作为密钥,SHA-256(x)作为IV (其中x是一些秘密密钥);如果使用SHA-512-truncated-to-256-bits(k)作为IV,则需要公开一半的密钥。这类问题的实际例子往往很难发现,因此建议不要仅仅截断哈希。

有一个方面,截断的SHA-512 (无论是SHA-512-截断-256位还是SHA-512/256)实际上比SHA-256更安全。在这种情况下,哈希函数用于比散列函数更强的属性,例如构造MAC伪随机值。SHA-512和SHA-256容易受到长度扩展攻击的攻击:如果您知道SHA-256(x)length(x),而不知道x本身,那么就会有一个后缀y,您可以将其附加到x中,这样就可以知道SHA-256(x||y)。如果哈希被截断,则此攻击不适用。

请注意,与SHA-256相比,SHA-512的唯一优点是它在64位处理器上没有加速就更快了(除了较长的大小,但您并不关心这一点)。如果协议中涉及的计算机中没有32位处理器或64位处理器具有SHA-256加速,但没有SHA-512加速,这才是一个优势。

票数 1
EN
页面原文内容由Cryptography提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://crypto.stackexchange.com/questions/104026

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档