国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

IBM的MARS加密算法實現(4)

2019-11-17 04:39:20
字體:
來源:轉載
供稿:網友
作者:吳真

2.2明文加密
2.2.1 第一步前向混合

  輸入的128位明文分成四塊D[0],D[1],D[2],D[3],選取生成的40個密鑰的前四個分別與上述四塊數據進行加操作

D[0] += K[0];
D[1] += K[1];
D[2] += K[2];
D[3] += K[3];

結果作為第一輪操作的輸入數據.
第一輪:

IBM的MARS加密算法實現(4)


  輸入的四塊數據D[0],D[1],D[2],D[3],其中D[0]作為源數據(Source),剩下的3個作為目標數據,把32位的源數據D[0]分成8位的四塊b0,b1,b2,b3
b0和b2作為數組下標從S0中尋找s-box替換數:S0[b0],S0[b2]
b1和b3作為數組下標從S1中尋找s-box替換數:S1[b1],S1[b3]

對FirstTarget的操作:
FirstTarget按位異或S0[b0]后的加上S1[b1]的結果返回給FirstTarget

對SecondTarget的操作:
SecondTarget加上S0[b2]的結果返回給SecondTarget

對ThirdTarget的操作:
ThirdTarget按位異或S1[b3]的結果返回給ThirdTarget.

對Source的操作:
Source循環右移24位后的結果返回給Source.
把D[0],D[1],D[2],D[3]合并成128位的數據,循環左移32位后作為下一輪的輸入.

下圖顯示了移位前后的對比.

IBM的MARS加密算法實現(4)

這樣本輪的Source變成了下一輪的ThirdTarget
本輪的FirstTarget成了下一輪的Source
本輪的SecondTarget成了下一輪的FirstTarget
本輪的ThirdTarget成了下一輪的SecondTarget
本步驟共進行8輪,在第一輪和第五輪中對Source作循環右移24位操作前先作Source加上ThirdTarget的結果然后返回給Source的操作.在第二輪和第六輪中對Source作循環右移24位操作前先作Source加上FirstTarget的結果然后返回給Source的操作.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 阳高县| 内丘县| 彰化市| 嫩江县| 石景山区| 策勒县| 饶阳县| 瓦房店市| 武城县| 龙州县| 曲靖市| 芦溪县| 福海县| 宁化县| 蛟河市| 当阳市| 娱乐| 巴南区| 临夏市| 鄂托克前旗| 老河口市| 朝阳县| 莱阳市| 乳山市| 咸宁市| 昭觉县| 沾益县| 合江县| 曲阜市| 建瓯市| 黄浦区| 偏关县| 新干县| 秀山| 增城市| 讷河市| 文昌市| 涞水县| 石台县| 高要市| 柘城县|