正在阅读:实现基于IDEA算法的加密工具(3)实现基于IDEA算法的加密工具(3)

2004-02-14 09:34 出处:PConline 作者:吴真 责任编辑:zwg
3.2加密明文 64-位数据分组被分成4个16-位子分组:D0,D1,D2,D3。这4个子分组成为算法的第一轮的输入,总共有8轮。 在第i轮中,假定输入的为: 明文(4组):D0,D1,D2,D3 密钥(6组) K1, K2, K3, K4, K5,K6 执行的顺序如下: D0和第一个子密钥(K1) 模216+1乘。 D1和第二个子密钥(K2) 模216加。 D2和第三个子密钥(K3) 模216加。 D4和第四个子密钥(K4) 模216+1乘。 第(1)步和第(3)步的结果相异或。 将第(2)步和第(4)步的结果相异或。 将第(5)步的结果与第五个子密钥(K5) 模216+1乘。 将第(6)步和第(7)步的结果模216加。 将第(8)步的结果与第六个子密钥(K6) 模216+1乘。 将第(7)步和第(9)步的结果模216加。 将第(1)步和第(9)步的结果相异或。 将第(3)步和第(9)步的结果相异或。 将第(2)步和第(10)步的结果相异或。 将第(4)步和第(10)步的结果相异或。   将第(11)、(12)、(13)和(14) 步的结果形成的4个子分组D0,D1,D2,D3作为输出,然后将中间两个分组(D1,D2)交换(最后一轮除外)后,作为为下一轮的输入。   经过8轮运算之后,有一个最终的输出D0,D1,D2,D3,对这4个输出子分组进行如下操作:   (1) D0和第一个额外子密钥模216+1乘。   (2) D1和第二个额外子密钥模216加。   (3) D2和第三个额外子密钥模216加。   (4) D3和第四个额外子密钥模216+1乘。   最后,这4个子分组重新连接到一起产生密文。
键盘也能翻页,试试“← →”键

相关文章

关注我们

最新资讯离线随时看 聊天吐槽赢奖品