一、SHA-3
SHA-3竞赛是由美国国家标准技术研究所(NIST)于2007年启动的一项密码哈希函数竞赛。SHA代表“安全哈希算法”,哈希函数是一种将任意长度的数据转换为固定长度哈希值的算法,常用于数字签名、消息验证等领域。在启动SHA-3竞赛之前,SHA-2是最广泛使用的哈希函数标准。然而,由于一些安全性问题的发现,NIST决定启动SHA-3竞赛,以找到一种新的安全哈希算法来替代SHA-2。SHA-3竞赛的目标是选择一种新的密码哈希函数标准,该标准具有更好的安全性、更高的效率和更广泛的适用性。竞赛共分为三个阶段,第一阶段从2007年开始,第二阶段在2010年开始,最终的获胜者KECCAK算法在2015年被正式发布为SHA-3标准。
SHA-3(Secure Hash Algorithm-3)算法的函数系列均基于KECCAK,补充了FIPS 180-4规定的SHA-1和SHA-2哈希函数系列;SHA-3算法包括四个加密哈希函数和两个可扩展输出函数(XOF)。这六个函数共享所海绵结构(sponge construction),具有这种结构的函数称为海绵函数。四个SHA-3哈希函数分别命名为SHA3-224,SHA3-256,SHA3-384和SHA3-512,后缀数字表示输出哈希摘要的长度。可扩展输出函数(XOF)可以指定任意输出长度,两个SHA-3 XOF分别命名为SHAKE128和SHAKE256,后缀数字“128”和“256”表示支持的安全强度,与哈希函数的数字后缀表示摘要长度的含义不同。SHAKE128和SHAKE256是NIST标准化的第一个XOF。
KECCAK算法
不同于SHA-2 采用Merkle-Da
本文详细介绍了SHA-3哈希算法,包括其基于KECCAK算法的 sponge 结构,以及KECCAK算法的置换函数工作原理。SHA-3包括四个哈希函数和两个可扩展输出函数,提供了不同长度的输出选项。此外,文章还讨论了SHA3-256和SHAKE256的实现,并提到了sphincsplus库的源码分析。
订阅专栏 解锁全文
&spm=1001.2101.3001.5002&articleId=132088953&d=1&t=3&u=a8285eaea5034974bb7353ecf19056b9)
1962

被折叠的 条评论
为什么被折叠?



