韩国哈希散列算法DHA-256

韩国哈希散列算法DHA-256

DHA-256是在2005年11月由NIST举行的Hash研讨会(Cryptographic Hash Workshop)上提出的。DHA-256压缩函数将长度为512比特的分组,压缩成长度为256比特的串,总共迭代64步,扩展的消息字在步函数中使用了两次。

DHA-256的结构类似于SHA-256,但是,消息扩充函数不相同。并且,DHA-256的状态更新函数使用两个消息字来参与改变寄存器的值,而在SHA-256中才使用一个消息字来参与改变SHA-256的寄存器的值。由于DHA-256的状态更新函数中有两个消息字,所以才被称为双哈希算法。DHA-256的状态更新函数如图。DHA-256的初始值、输入块的长度、填充规则和常量与SHA-256的是一样的。

算法简单描述如下:

(1)消息填充算法

首先将消息填充,在最低有效位填充一个1和若干个0,使得消息块的长度模512后为448比特,然后填充64比特消息长度的二进制表示。整个迭代过程采用MerkleDamgard迭代结构。每一次迭代调用一个能处理256比特链接变量和512比特消息块的压缩函数。初始的链接变量是一组固定的常量,也称为IV,IV=(A0,B0,C0,D0,E0,F0,G0,H0),定义为:

(2)消息扩展算法

512的消息块分成16个消息字,M0||M1||...||M15,每个消息字是32比特。DHA-256的消息扩展算法是:

其中:

(3)消息压缩算法

DHA-256的步操作如图所示,用方程表达是:

轮常数Ki同SHA-256算法。

其中:

DHA-256压缩函数的输出是:(A0+A64,B0+B64,C0+C64,D0+D64,E0+E64,F0+F64,G0+G64,H0+H64)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

黄金龙PLUS

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值