當前位置:首頁 > 技術資訊

IDEA加密算法

來源:超時代軟件     更新時間:2014年12月30日 19:04:27

在IDEA 加密和解密過程中,明文和密文是分成 64 比特的塊來處理的,但密鑰寬度是 128 比特,加解密是依賴于下面的三種代數群的運算,每個代數群都是 16 比特數的運算,其中包括:

 

  • 兩個16 比特子塊的按位異或 (XOR) 運算.
  • 模加運算,兩個整數相加后,對 216 取模,即忽略*高位進位的加法.
  • 模乘運算,兩個數求積后,對費馬數 p=216 +1取模.

由于上面三種運算的任意兩個運算間不滿足分配律和結合律,使輸入之間實現了較復雜的組合運算,圖 3.1 給出了IDEA 算法的加密過程,在 8 輪變換之后,緊接著是一個輸出變換.它們級聯起來完成一次完整的加密,算法的解密過程和加密過程相同,只是參與運算的子密鑰塊小同,這個特性也被稱為加密和解密的相似性,從圖 3.1 可看出 IDEA算法包括 34 次16 位模乘和模加, 48 次異或運算。

 

IDEA加解密過程

 

如圖3.1 所示, 64位的明文被分為 4 個16 比特的子塊,四個明文的子模塊被 52 個16 比特的密鑰轉換為 4 個16 比特的密文子塊,每輪變換使用 6 個密鑰子塊,第 r( r=1,…,8)輪使用的密鑰為 Z1 (R), … ,Z 6(R) ,若將輸出置換作為*后一輪,它用四個密鑰,標記為 Z1 (9), … ,Z 4(9) 用于加密和解密的 52個子密鑰是由用戶提供的 128 位密鑰產生的,加密的各輪密鑰是由原始密鑰向左依次作 25 比特的循環移位后抽取得到的,解密密鑰是由對應的加密密鑰經模逆運算后產生的,假設 Ki(r) 表示解時第 r輪的第i個密鑰,解密密鑰和加密密鑰具體關系如下:

由于解密密鑰產生的復雜性, IDEA 的加密速度快于解密。

在每一輪的核心中,包含有兩個模乘模塊和兩個模加模塊,這種結構被稱為乘加(MA) 結構,即圖3.1 中虛線標注的部分,它是 IDEA 實現中的關鍵非線性構件,研究表明8輪迭代后能達到雪崩性的擴散和混淆,因而它能抵抗差分分析。

 

超時代手機視頻加密轉載 www.xflath.com.cn

大乐透周一走势图 今天的3d开奖号是 炒股app 宝博棋牌官网下载苹果 北京麻将馆小游戏 3d试机号后一语定 威海股票配资公司 甘肃快3软件哪里找 25选五开奖结果 网盛棋牌 广东南粤风彩36选7 蓝球即时指数捷报网 不同类型基金的资产配置比例