魏革
摘要:隨著社會不斷的進步和發(fā)展,網(wǎng)絡的應用越來越廣泛,如何解決網(wǎng)絡安全問題顯得日益重要。解決網(wǎng)絡安全問題的關鍵就是信息和數(shù)據(jù)傳輸?shù)陌踩?,而IDEA加密解密算法在保證信息傳輸安全性方面起著重要的作用,因此,文章將簡單介紹密碼學的基礎知識,并對IDEA加密解密算法進行概述,主要研究了IDEA加密解密算法設計一些改進的建議和計算方法,使得該算法可以更加有效地運用在生活中,提高數(shù)據(jù)傳輸?shù)陌踩?,取得該算法的?jīng)濟效益和社會效益。
關鍵詞:IDEA;加密解密;改進
國際數(shù)據(jù)加密算法IDEA(International DataEncryption Algorithm)密鑰長度128位,密鑰空間是2128,屬于對稱加密算法的一種,該算法具有保密性強、加密速度快的特點。1990年,曾被瑞士聯(lián)邦技術學院的來學嘉X.J.Lai和Massey建議稱為PES,1992年Lai和Massey提高了該算法的抗差分分析能力,并改成位IDEA。IDEA逐漸代替了DES,并被譽為“好的分組密碼”,應用在許多行業(yè)和產(chǎn)品中。
1 密碼基礎知識
1.1 密碼學的基本概念
密碼學的基本概念主要包括5個部分:明文(沒有加密數(shù)據(jù),也就是算法的輸入)、密文(加密后的數(shù)據(jù),即算法的輸出)、加密算法(從明文到密文的轉換)、解密算法(從密文到明文的轉換)、密鑰(加密解密算法的輸入,獨立于明文密文及算法)。
一個完整的密碼體制通常包括5個部分:明文空間(所有明文的集合)、密文空間(所有密文的集合)、密鑰空間(所有密鑰的集合)、加密算法(加密密鑰控制的加密運算)、解密算法(解密密鑰控制的解密運算)。
1.2 密碼體制
1.2.1 古典密碼學
在古典密碼學中,主要分為單表密碼體制和多表密碼體制2個部分,加密解密算法一般運用加密表一一對應的關系來進行,根據(jù)使用的表的個數(shù)區(qū)分。因此這種加密解密的算法具有比較簡便、容易理解、安全性較低的特點,它的規(guī)律性和線性較強,容易破譯,該算法為現(xiàn)代密碼學奠定了基礎,是現(xiàn)代密碼學的雛形。
1.2.2 公鑰密碼
公鑰密碼(非對稱密碼)的主要內容就是加密密鑰是公開的,安全性主要是數(shù)學上的難題。該加密解密算法主要是根據(jù)單項函數(shù)和單向限門函數(shù)的設計,在該算法中運算是不可以逆轉的,并且包括2個密鑰,即公鑰(可以向大家公開的)和私鑰(只有擁有者可以知道)。該體制具有加密密鑰可以公開的優(yōu)點,但是也存在運算速度較慢的問題,因此,只有一些安全級別較高的信息才可以用公鑰密碼體制加密。
1.2.3 分組密碼
分組密碼(對稱密碼或秘密鑰密碼),目前廣泛地應用在各個方面的密碼體制,典型的分組密碼有DES、IDEA、NESSIE、韓國標準ARIA,本文將主要探討IDEA加密解密算法。該體制的基本原理就是:先將加密明文分成長度相同的分組,不足的比特用“0”或“1”補,不同的算法有不同的補足方法,然后對長度相同的分組的加密數(shù)據(jù)進行結合就可以得到密文。這種體制具有安全性高、運算速度較快、易于硬件實現(xiàn)的特點。
1.2.4 序列密碼
序列密碼(流密碼)常用于特殊場合,比如軍事安全和國際外交等安全級別較高的領域,它屬于分組密碼的一類,但與分組密碼又有一些不同。該體制的基本原理是:用一個隨機的密鑰序列和明文序列疊加起來產(chǎn)生密文,并用同一個隨機序列和密文序列疊加起來恢復密文,所有的密鑰都是隨機序列。該體制被譽為“一次一密”,因此攻擊者破譯起來較難。序列密碼轉換速度快,傳播粗無低,易于硬件實現(xiàn),但也存在一些缺陷,比如擴散都低、插入的不敏感性、密鑰管理困難等問題。
2 IDEA加密解密算法的概述
2.1 IDEA加密算法的特性與密碼強度的關系
第一,分組長度。首先,如果分組的長度夠強,對于阻止統(tǒng)計分析越有利,阻止破壞者利用一些分組比其他分組出現(xiàn)機率頻繁的現(xiàn)象。其次,加密函數(shù)的分組的增大則該函數(shù)的復雜性指數(shù)也會隨之增大,一般情況下,分組大小為64位就足夠了。最后,如果想加強算法的強度可以使用密碼反饋操作辦法,可以進一步加強密碼的強度。第二,密鑰長度。為了防止被窮舉式密鑰搜索到,密鑰的長度應該夠長,并運用128位的密鑰長度,保證IDEA在長時間內的安全性。第三,擾亂。密文對密鑰的依賴關系越復雜,密文和明文統(tǒng)計特性之間的依賴關系越復雜,這樣密碼的強度就越強。第四,擴散。每個明文比特和每個密鑰比特之間應該相互影響,單個的明文比特擴散到密文比特就會掩蓋明文比特的統(tǒng)計性,增加密碼的強度。通過循環(huán)8次后,有效地提高了擴散性。
2.2 IDEA加密
IDEA加密方案與其他方案的加密一樣,加密函數(shù)包括64位長度的待加密明文和128位的密鑰2個輸入。
IDEA總共進行8次循環(huán)和1次變換函數(shù)。該過程有6個子密鑰和額外的4個子密鑰輸出變換,共52個子密鑰從128比特密鑰中擴散出。輸入64bit的明文數(shù)據(jù),并分成X1,X2,X3,X4這4個16bit的子塊,將這4個子塊進行第l輪的循環(huán)輸入,一共循環(huán)輸入8次。每一次循環(huán)時,這4個子塊相加相乘、相互異或,最后輸出密文Y。
2.3 IDEA解密
解密過程和加密結構基本上是一樣的,不過是使用不同的子密鑰,并將解密密鑰擴展,運用加法逆或者乘法逆的方法運算。加密時用的密鑰EK,解密時變成DK,同樣是輸入64bit的數(shù)據(jù)塊,并分成Y1,Y2,Y3,Y4這4個16bit的子塊進行循環(huán)輸入,一共進行8次循環(huán)輸入。
2.4 IDEA加密解密算法
IDEA加密和解密的算法是相同的,處理的過程中,就是將63bit輸入分成16bit的4個子塊A,B,C,D,然后進行8次循環(huán),得到最后的輸出效果。
2.5 IDEA密鑰生成的算法
在密鑰生成的算法中,有223個密鑰是一個線性因子,有235個是概率為1的環(huán)形階,還有251個可以解非線性布爾等式的密鑰是否屬于這一部分,如果使用的密鑰是這一部分的,就可以找到辦法破譯程序。這種辦法可以針對IDEA的密鑰進行線性分析,極大地影響密碼的安全性。
2.6 IDEA的實現(xiàn)
IDEA的實現(xiàn)主要包括方便硬件實現(xiàn)和方便軟件實現(xiàn)2個部分。在軟件實現(xiàn)方面應該遵循2個原則:第一,使用子分組。子分組有8,16,32bit,為了使密碼操作方便軟件操作,IDEA應該采用16bit的子分組;第二,操作簡單方便。加密和解密的程序類似,便于在同一設備上既可以加密又可以解密;密碼要求是有規(guī)則的模塊化結構,以便實現(xiàn)VLSI。
3 IDEA加密解密算法的改進
雖然IDEA的安全性強,計算速度快,但IDEA加密解密算法也有其缺陷,比如存在大量的弱密鑰,所以要對IEDA的加密解密算法進行改進。
3.1 IDEA加密算法的改進
可以對加密過程的第2個過程和第3個過程進行改進,改進后的算法和原本的算法差別不大,但是在第3個步驟有所改變。
3.2 IDEA解密算法的改進
IDEA解密算法的改進和加密算法基本上是一樣的,主要是改變第3個步驟的算法。當然,與加密算法一樣,解密算法改進后所使用的子密鑰也會跟著改變,或者使用轉換過的加密密鑰。而且可以使用求乘法逆元和求加法逆元的方法來導出密鑰,對于每一個加密子密鑰,該加法逆元也是唯一的。
3.3 改進IDEA密鑰生成算法
IDEA加密解密算法的改進主要是針對第2個步驟和第3個步驟的運算,雖然已經(jīng)具有了較強的攻擊性,但是如果密鑰生成算法過于簡單,就會導致IDEA出現(xiàn)大量的弱密鑰。通過置換、循環(huán)左移的辦法來改進密鑰的生成,本文將通過采用置換的方法舉例說明,達到混淆的目的,計算出一個不可逆轉的種子密鑰。
具體的算法根據(jù)以下步驟:(1)把128bit的數(shù)據(jù)分成8個子塊。(2)將8個子分組分別進入置換P1,置換出12bit的密鑰。(3)把第2步置換的12bit的密鑰跟下一個12bit的密鑰合成進入置換P2,計算出16bit的子密鑰。(4)將第3步循環(huán)執(zhí)行7次,可以計算出7個16bit的子密鑰。(5)把8個子分組合成的128bit的密鑰K,循環(huán)左移25位,執(zhí)行第2步和第3步,又可以輸出8個子密鑰。(6)將第5步循環(huán)4次,又可以輸出32個子密鑰。(7)執(zhí)行第5步輸出8個子密鑰,將4個子密鑰保持,剩下4個丟棄,最后就可以得到需要的52個子密鑰了。
該密鑰的生成算法改變了原有算法形成密鑰之間的線性關系,大大加強了密鑰的安全性。
4 結語
在科學技術突飛猛進的同時,人們對計算機技術和數(shù)據(jù)安全的要求也越來越高,要求對所傳輸?shù)臄?shù)據(jù)和信息進行加密及解密。因此,本文通過對IDEA解密加密的詳細闡述,提出相應的改進措施,提高了密碼的安全性,保證了數(shù)據(jù)傳輸過程中的安全,從而建立一個安全、可靠、快捷、方便的網(wǎng)絡系統(tǒng),為網(wǎng)絡生活乃至其他方方面面提供便利??梢钥闯?,在網(wǎng)絡不斷發(fā)展的今天,信息傳輸變得不可或缺,在人們日常的網(wǎng)絡生活中不僅僅要設置比較復雜的密碼,同時更要抵擋密碼竊取者的破譯,這就更需要不斷地研究IDEA加密解密的方法,在原有的基礎上改進和創(chuàng)新,使其更有助于網(wǎng)絡安全乃至整個社會的和諧發(fā)展。