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

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

實現基于IDEA算法的加密工具(3)

2019-11-17 04:38:56
字體:
來源:轉載
供稿:網友

3.IDEA算法的具體描述

3.1密鑰生成

用戶輸入128位長密鑰

Key = k1k2k3…k127k128

IDEA總共進行8輪迭代操作,每輪需要6個子密鑰,另外還需要4個額外子密鑰,所以總共需要52個子密鑰,這個52個子密鑰都是從用戶輸入的128位密鑰中擴展出來的.

首先把輸入的Key分成8個16位的子密鑰, 1~6號子密鑰供第一輪加密使用,7~8號子密鑰供第二輪使用,然后把這個128位密鑰循環左移25位,這樣Key = k26k27k28…k24k25

把新生成的Key在分成8個16位的子密鑰,1~4號子密鑰供第二輪加密使用(前面已經提供了兩個)5~8號子密鑰供第三輪加密使用 ,到此我們已經得到了16個子密鑰,如此繼續,當循環左移了5次之后已經生成了48個子密鑰,還有四個額外的子密鑰需要生成,再次把Key循環左移25位,選取劃分出來的8個16位子密鑰的前4個作為那4個額外的加密密鑰.供加密使用的52個子密鑰生成完畢.

K[0]
K[1]
K[2]
K[3]
K[4]
K[5]

K[48]
K[49]
K[50]
K[51]

第一輪

額外密鑰  

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個子分組重新連接到一起產生密文。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 本溪| 绍兴县| 望奎县| 祁阳县| 和政县| 陆川县| 青阳县| 五台县| 绥江县| 磐石市| 松滋市| 砀山县| 阿拉善右旗| 华容县| 巴马| 东宁县| 建阳市| 开封县| 都昌县| 阿荣旗| 瑞丽市| 绩溪县| 邛崃市| 绥芬河市| 康马县| 海兴县| 永春县| 天水市| 西平县| 新龙县| 和政县| 白玉县| 壤塘县| 朝阳市| 德化县| 玛曲县| 科技| 汨罗市| 页游| 乐都县| 新巴尔虎左旗|