來源:超時(shí)代軟件 更新時(shí)間:2014年12月30日 19:04:27
在IDEA 加密和解密過程中,明文和密文是分成 64 比特的塊來處理的,但密鑰寬度是 128 比特,加解密是依賴于下面的三種代數(shù)群的運(yùn)算,每個(gè)代數(shù)群都是 16 比特?cái)?shù)的運(yùn)算,其中包括:
由于上面三種運(yùn)算的任意兩個(gè)運(yùn)算間不滿足分配律和結(jié)合律,使輸入之間實(shí)現(xiàn)了較復(fù)雜的組合運(yùn)算,圖 3.1 給出了IDEA 算法的加密過程,在 8 輪變換之后,緊接著是一個(gè)輸出變換.它們級(jí)聯(lián)起來完成一次完整的加密,算法的解密過程和加密過程相同,只是參與運(yùn)算的子密鑰塊小同,這個(gè)特性也被稱為加密和解密的相似性,從圖 3.1 可看出 IDEA算法包括 34 次16 位模乘和模加, 48 次異或運(yùn)算。

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

由于解密密鑰產(chǎn)生的復(fù)雜性, IDEA 的加密速度快于解密。
在每一輪的核心中,包含有兩個(gè)模乘模塊和兩個(gè)模加模塊,這種結(jié)構(gòu)被稱為乘加(MA) 結(jié)構(gòu),即圖3.1 中虛線標(biāo)注的部分,它是 IDEA 實(shí)現(xiàn)中的關(guān)鍵非線性構(gòu)件,研究表明8輪迭代后能達(dá)到雪崩性的擴(kuò)散和混淆,因而它能抵抗差分分析。
超時(shí)代手機(jī)視頻加密轉(zhuǎn)載 www.shuine.com.cn