SHA-3 哈希算法(附源码分析)
一、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
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
