目录
美国第3代哈希散列算法之SHA3(Keccak)
(1)Keccak算法简介
Keccak算法是美国国家标准与技术研究院(NIST)发起的SHA3竞赛的获胜算法,采用的是新型的海绵结构。根据摘要值长度的不同可以分为Keccak224、Keccak256、Keccak384、Keccak512共4个版本。
海绵结构的状态被分为两部分:第一部分长度为r比特,称为比特率(bitrate):第二部分长度为c比特,称为填充数(capacity),因此海绵结构的状态大小为b=r+c。
(2)消息填充规则
Keccak实例通常记为Keccak[r,c,l],其中c代表填充数(capacity),r代表比特率(bitrate),l代表哈希值输出长度。正式版本的Keccak实例中,可在以下范围内取值:{128,224,256,384,512},l的取值可以确定r和c的值:c=2×l,r=1600-c。不同的Keccak实例的填充规则是一致的。Keccak实例中,用“10……1”的比特串对消息进行填充