欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 建筑 > 密码学基础:搞懂Hash函数SHA1、SHA-2、SHA3(2)

密码学基础:搞懂Hash函数SHA1、SHA-2、SHA3(2)

2024/10/24 15:17:49 来源:https://blog.csdn.net/djkeyzx/article/details/140929432  浏览:    关键词:密码学基础:搞懂Hash函数SHA1、SHA-2、SHA3(2)

目录

1.引入

2. SHA512-224\256

3.SHA-3

4.MD5

5.SM3


1.引入

上篇密码学基础:搞懂Hash函数SHA1、SHA-2、SHA3(1)-CSDN博客,我们先就将基础的SHA1\2讲解了,接下来我们继续聊SHA-3、SHA2变体SHA512_224\256等

2. SHA512-224\256

SHA512生成512位消息摘要,初始IV为:

    (0x6A09E667F3BCC908), (0xBB67AE8584CAA73B),

    (0x3C6EF372FE94F82B), (0xA54FF53A5F1D36F1),

    (0x510E527FADE682D1), (0x9B05688C2B3E6C1F),

    (0x1F83D9ABFB41BD6B), (0x5BE0CD19137E2179)

SHA512_224生成224位消息摘要,初始IV为:

(8C3D37C819544DA2),(73E1996689DCD4D6),

(1DFAB7AE32FF9C82),(679DD514582F9FCF),

(0F6D2B697BD44DA8),(77E36F7304C48942),

(3F9D85A86A1D36C8),(1112E6AD91D692A1)

SHA512_256生成256bit消息摘要,初始IV为:

(22312194FC2BF72C),(9F555FA3C84C64C2),

(2393B86B6F53B151),(963877195940EABD),

(96283EE2A88EFFE3),(BE5E1E2553863992),

(2B0199FC2C85B8AA),(0EB72DDC81C52CA2)

以明文0x112233为例,SHA512、SHA512_224、SHA512_256的hash值分别为:

图 2 基于SHA512 消息摘要

图 3  基于SHA512_224 消息摘要

图 4  基于SHA512_256 消息摘要

从上图可以看到,即使相同的数据,虽然同样是基于SHA512,但由于IV的不同,从而影响到了消息摘的生成。

3.SHA-3

SHA-3是NIST在2015年新发布的Hash函数标准,目标是为了从设计原理上与SHA2进行区分,从而提升安全性。

该算法是有Keccak团队提出,具备与MD、SHA-1/2等迭代结构不一样的海绵结构,抵抗传统的碰撞攻击和第二原像攻击,如下:

图 5 碰撞攻击和第二原象攻击

根据NIST.FIPS.202中描述,海绵结构如下所示:

图 6 SHA-3海绵结构

同样的,SHA3也是一系列hash函数的统称,支持的算法包括:SHA3-224\256\384\512。

​​​​​​​4.MD5

MD5全称MD5 Message-Digest算法,发布于1992年,作用是将任意长度的消息作为输入,并产生输入的128位“指纹”或“消息摘要”作为输出。

与SHA-1类似,它也已经被碰撞攻击攻破,现目前基本已经弃用。

​​​​​​​5.SM3

SM3全称ShangMi 3,是我们国家关于Hash函数的标准,可以将任意有限长度的数据,输出为消息摘要长度为256位的比特串,广泛用于数字签名、MAC生成等等。

其初始向量为:

(7380166f),(4914b2b9),(1724422d7),(da8a0600),

(a96f30bc),(163138aa),(e38dee4d),(b0fb0e4e)

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com