IBM的MARS加密算法实现(下)

知道亦是不知道

知道亦是不知道

2016-01-29 12:12

IBM的MARS加密算法实现(下),IBM的MARS加密算法实现(下)

IBM的MARS加密算法实现(下)
作者:西安 吴真

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/cyuyanjiaocheng/)

IBM的MARS加密算法实现(上)

2.3 密文解密

用于密文解密的40个子密钥的生成和明文加密时的40个子密钥的生成方法相同.

2.3.1 第一步前向混合
输入的128位密文分成四块D[0],D[1],D[2],D[3],选取生成的40个密钥的最后四个分别与上述四块数据进行加操作,
D[0] += K[36];
D[1] += K[37];
D[2] += K[38];
D[3] += K[39];
结果作为第一轮操作的输入数据.
第一轮:

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/cyuyanjiaocheng/) D[0] D[1] D[2] D[3]b0 b1 b2 b3 FirstTarget SecondTarget ThirdTarget
把D[0],D[1],D[2],D[3]合并成128位的数据,循环左移32位后分成四块D[0],D[1],D[2],D[3]其中D[0]作为源数据(Source),剩下的3个作为目标数据,把D[0]循环右移24位后的结果返回给D[0]
把32位的源数据D[0]分成8位的四块b0,b1,b2,b3
  b0 b1 b2 b3 FirstTarget SecondTarget ThirdTarget移动前 D[0] D[1] D[2] D[3]移动后 D[1] D[2] D[3] D[0]
b0和b2作为数组下标从S1中寻找s-box替换数:S1[b0],S1[b2]
b1和b3作为数组下标从S0中寻找s-box替换数:S0[b1],S0[b3]
对FirstTarget的操作:
FirstTarget按位异或S1[b0]的结果返回给FirstTarget
对SecondTarget的操作:
SecondTarget加上S0[b3]的结果返回给SecondTarget
对ThirdTarget的操作:
ThirdTarget按位异或S0[b1]后加上S1[b2]的结果返回给ThirdTarget.
本步骤共进行8轮,在第一轮和第五轮中操作结尾处添加将Source加上FirstTarget的结果返回给Source的操作.在第二轮和第六轮中操作结尾处添加将Source加上ThirdTarget的结果返回给Source的操作

2.3.2第二步密码核
把输入的128位数据循环左移32位后分成四块D[0],D[1],D[2],D[3],其中D[0]作为源数据(Source),剩下的3个作为目标数据, 把Source循环右移13位的结果返回给Source,
D[0] D[1] D[2] D[3]Source FirstTarget SecondTarget ThirdTarget
把Source和对应两个子密钥(从第34个子密钥开始递减,本轮的输入子密钥K[34],K[35]下一轮的子密钥就是K[32],K[33])作为E-Fun(同加密)操作的输入参数,返回三个操作输出L,M,R,然后把这三个输出结果和三个目标数进行减法或异或操作,然后,合并D[0],D[1],D[2],D[3]形成128位数据作为下一轮的输入.
本步骤共进行16轮,假定E-Fun的第一个输出数为L,第二个输出数为M,第三个输出数为R

前8轮中:
FirstTarget 和 R按位异或的结果返回给Fir

展开更多 50%)
分享

猜你喜欢

IBM的MARS加密算法实现(下)

C语言教程 C语言函数
IBM的MARS加密算法实现(下)

IBM的MARS加密算法实现(上)

C语言教程 C语言函数
IBM的MARS加密算法实现(上)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

利用JAVA实现DES加密算法

编程语言 网络编程
利用JAVA实现DES加密算法

常用加密算法

电脑网络
常用加密算法

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

JAVA上加密算法的实现用例(1)

编程语言 网络编程
JAVA上加密算法的实现用例(1)

JAVA上加密算法的实现用例(2)

编程语言 网络编程
JAVA上加密算法的实现用例(2)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

JSP动态输出Excel及中文乱码的解决

JSP动态输出Excel及中文乱码的解决

Servlets和JSP Pages最佳实践

Servlets和JSP Pages最佳实践
下拉加载更多内容 ↓