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

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

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

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

2.2.2第二步密碼核

把輸入的128位數據分成四塊D[0],D[1],D[2],D[3] ,其中D[0]作為源數據(Source),剩下的3個作為目標數據

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


該步驟中有一個稱為E-Fun(見下一節)的操作,把Source和對應兩個子密鑰(從第5個子密鑰開始遞增,本輪的輸入子密鑰K[4],K[5]下一輪的子密鑰就是K[6],K[7])作為參數輸入,返回三個操作輸出L,M,R,然后把這三個輸出結果和三個目標數進行加法或異或操作,然后把Source循環左移13位,合并D[0],D[1],D[2],D[3]形成128位數據,循環左移32位后作為下一輪的輸入.

本步驟共進行16輪,假定E-Fun的第一個輸出數為L,第二個輸出數為M,第三個輸出數為R
前8輪中,
FirstTarget 和 L相加的結果返回給FirstTarget
SecondTarge和M相加的結果返回給SecondTarget
ThirdTarget和R按位異或的結果返回給ThirdTarget
后8輪中:
FirstTarget 和 R按位異或的結果返回給FirstTarget
SecondTarge和M相加的結果返回給SecondTarget
ThirdTarget和L相加的結果返回給ThirdTarget
2.2.3 E-Fun操作

該操作利用輸入的"種子"數據-D,和兩個加密子密鑰K1和K2生成3個輸出數據.
定義三個臨時變量L,M,R
◆ 把D(輸入的種子數據)循環右移13位后的結果賦給R
◆ 把D和K1加操作的結果賦給M
◆ 取M的低9位作為s-box的索引找到替代數賦給L
◆ 把R和K2乘操作的結果作循環左移5位后的值返回給R
◆ 把L和R按位異或的結果返回給L
◆ 取R的低五位的值,把M循環左移這個值后的結果返回給M
◆ 把R循環左移5位后的結果返回給R
◆ 把L和R按位異或的結果返回給L
◆ 取R的低五位的值,把L循環左移這個值后的結果返回給L
把L,M,R作為E-Fun操作的第一,第二,第三輸出數返回.


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 晋江市| 乳源| 霍林郭勒市| 滦南县| 周宁县| 阜南县| 望奎县| 峡江县| 新巴尔虎左旗| 延庆县| 绥阳县| 康马县| 长阳| 江安县| 油尖旺区| 满城县| 义乌市| 登封市| 安阳县| 涞水县| 银川市| 桦川县| 威宁| 额敏县| 古蔺县| 五指山市| 宜宾县| 井研县| 肃北| 大英县| 道孚县| 盐山县| 江津市| 榆林市| 新乐市| 交口县| 永清县| 腾冲县| 延长县| 永嘉县| 文昌市|