簡(jiǎn)述IDEA加密算法

在之前的文章中,我們聊了很多常見(jiàn)的加密算法,今天我們來(lái)聊一個(gè)名叫“國(guó)際數(shù)據(jù)加密算法”的加密方法——IDEA。

IDEA加密算法
圖片來(lái)源于網(wǎng)絡(luò)

IDEA加密算法全稱(chēng)為“International Data Encryption Algorithm”,中文名就是國(guó)際數(shù)據(jù)加密算法。它是由瑞士籍華人來(lái)學(xué)嘉與瑞士學(xué)者James Massey在1990年聯(lián)合提出的。這種算法是在DES算法的基礎(chǔ)上發(fā)展出來(lái)的,類(lèi)似于三重DES,發(fā)展IDEA也是因?yàn)楦械紻ES具有密鑰太短等缺點(diǎn)。

IDEA加密

IDEA是塊加密,與DES一樣,IDEA也處理64位明文塊。但是,其密鑰更長(zhǎng),共128位。和DES一樣,IDEA是可逆的,即可以用相同的算法加密和解密。IDEA也用擴(kuò)展與混淆進(jìn)行加密。下圖顯示了IDEA的工作方法:

IDEA加密
圖片來(lái)源于網(wǎng)絡(luò)

64位輸入明文塊分成4個(gè)部分(各16塊)P1~ P4。P1~ P4是算法的第一輪輸入,共8輪。密鑰為128位,每一輪從原先的密鑰產(chǎn)生6個(gè)子密鑰,各位16位。這個(gè)6個(gè)子密鑰作用于4個(gè)輸入塊P1~ P4。第一輪,有6個(gè)密鑰K1~ K6;第二輪,有6個(gè)密鑰K7~ K12;最后,第8輪,有6個(gè)密鑰K43~ K48。最后一步是輸出變換,只用4個(gè)子密鑰(K49~ K52)。產(chǎn)生的最后輸出是輸出變換的輸出,為4個(gè)密文塊C1~ C4(各為16位),從而構(gòu)成64位密文塊。

IDEA解密

解密過(guò)程與加密過(guò)程完全相同,只是子密鑰的生成與模式有所不同。解密子密鑰實(shí)際上是加密子密鑰的逆。

IDEA的強(qiáng)度

IDEA使用128位密鑰,是DES密鑰長(zhǎng)度的兩倍,因此破譯IDEA,即要進(jìn)行2的128次方次加密運(yùn)算,取得正確的密鑰只要平均搜索一半的密鑰空間,每微秒執(zhí)行一次IDEA加密的計(jì)算機(jī)也要5 400 000 000 000 000 000 000 000年才能破解IDEA。

IDEA的應(yīng)用

目前IDEA在工程中已有大量應(yīng)用實(shí)例:

PGP(Pretty Good Privacy)就使用IDEA作為其分組加密算法;

安全套接字層SSL(Secure Socket Layer)也將IDEA包含在其加密算法庫(kù)SSLRef中;

SSL
圖片來(lái)源于網(wǎng)絡(luò)

IDEA算法專(zhuān)利的所有者Ascom公司也推出了一系列基于IDEA算法的安全產(chǎn)品,包括:基于IDEA的Exchange安全插件、IDEA加密芯片、IDEA加密軟件包等。

IDEA算法相對(duì)來(lái)說(shuō)是一個(gè)比較新的算法,其安全性研究也在不斷進(jìn)行之中,IDEA算法的應(yīng)用和研究正在不斷的走向成熟。

免責(zé)聲明:素材源于網(wǎng)絡(luò),如有侵權(quán),請(qǐng)聯(lián)系刪稿。