摘要:信息加密技術是網絡安全中最常用的技術之一,信息加密可以在信息存儲、傳送等過程中起到較好的安全作用。文章列舉了一般數據加密模型,分析了對稱加密技術和非對稱加密技術的應用情況,并提出了基于DES和RSA的混合加密機制。
關鍵詞:信息加密;對稱加密;非對稱加密;DES;RSA
0 引言
加密技術是保證網絡、信息安全的核心技術,是一種主動的信息安全防范措施。其原理是利用一定的加密算法,將明文轉換成不可理解的密文,阻止非法用戶獲取和理解原始數據,從而確保數據的保密性。明文變成密文的過程稱為加密,由密文還原成明文的過程稱為解密,加解密使用的可變參數叫做密鑰。一般的數據加密模型如圖1所示。
基于密鑰的算法不同,信息加密技術通常分為兩類:對稱加密技術和非對稱加密技術。
1 對稱加密技術
對稱加密技術又稱私鑰加密技術,加密密鑰能夠從解密密鑰中推算出來,反過來也成立。大多數對稱算法加解密的密鑰是相同的,這些算法也稱為秘密密鑰算法或單密鑰算法。用這種加密技術通信時,信息發送方用加密算法E把明文M加密,得到密文c,然后把密文通過通信網絡發給另一方;而信息接收方收到密文c后,可用解密算法D解密,重新得到原明文M。
目前廣泛采用的對稱加密方法之一是數據加密標準DES(Data Encryption Standard),是由美國IBM公司提出、美國國家標準局于1977年公布的一種分組密碼算法,
1.1 DES密碼算法要求
DES密碼算法安全有以下四個特點:
(1)提供了高質量的數據保護,防止數據未經授權的泄露和未被察覺的修改。
(2)具有相當高的復雜性,使得破譯的開銷超過可能獲得的利益,同時又便于理解和掌握。
(3)DES密碼體制的安全性僅以加密密鑰的保密為基礎。
(4)實現經濟,運行有效,并且適用于多種完全不同的應用。
1.2 DES密碼算法工作原理
DES算法的入口參數有三個:Key、Data、Mode。其中Key占8個字節共64位,是DES算法的工作密鑰;Data也占8個字節64位,是要被加密或被解密的數據;Mode為DES的工作模式,有兩種:加密或解密。
DES算法是這樣工作的:如Mode為加密,則用Key去把數據Data加密,生成Data的密碼形式(64位)作為DES的輸出結果;如Mode為解密,則用Key去把密碼形式的數據Data解密,還原為Data的明碼形式(64位)作為DES的輸出結果。在通信網絡的兩端,雙方約定一致的Key,在通信的源點用Key對核心數據進行DES加密,然后以密碼形式在公共通信網(如電話網)中傳輸到通信網絡的終點。數據到達目的地后,用同樣的Key對密碼數據進行解密,便再現了明碼形式的核心數據。如果通過定期在通信網絡的源端和目的端同時改用新的Key,便能更進一步提高數據的保密性。
1.3 DES密碼算法過程
DES算法把64位的明文輸入塊變為64位的密文輸出塊,它所使用的密鑰也是64位。其功能是把輸入的64位數據塊按位重新組合,并把輸出分為LO、RO兩部分,每部分各長32位,其置換規則如下:
58,50,12,34,26,18,10,2,60,52,44,36,28,20,12,4,
62,54,46,38,30,22,14,6,64,56,48,40,32,24,16,8,
57,49,41,33,25,17,9,1,59,51,43,35,27,19,11,3,
61,,53,45,37,29,21,13,5,63,55,47,39,31,23,15,7
即:將輸入的第58位換到第1位,第50位換到第2位,……,依此類推,第7位換到第64位。LO、RO則是換位輸出后的兩部分,LO是輸出的左32位,RO是右32位。例:設置換前的輸入值為AIA2A3……A64,則經過初始置換后的結果為LO=A58A50……A8;RO=A57A49……A7。

經過16次迭代運算后,得到L16、R16,將此作為輸入,進行逆置換,即得到密文輸出。逆置換正好是初始置的逆運算,例:第1位經過初始置換后,處于第40位,而通過逆置換,又將第40位換回到第1位。其逆置換規則如下:
40,8,48,16,56,24,64,32,39,7,47,15,55,23,63,31,
38,6,46,14,54,22,62,30,37,5,45,1 3,53,21。61,29,
36,4,44,12,52,20,60,28,35,3,43,11,51,19,59,27,
34,2,42,10,50,18,58 26,33,1,41,9,49,17,57,25
DES算法具有極高的安全性,到目前為止,除了用窮舉搜索法對DES算法進行攻擊外,還沒有發現更有效的辦法。而56位長的密鑰的窮舉空間為256,這意味著如果一臺計算機的速度是每一秒鐘檢測一百萬個密鑰,則它搜索完全部密鑰就需要將近2285年的時間。隨著科學技術的發展,當出現超高速計算機后,可將DES密鑰的長度再增長來達到更高的保密程度。2非對稱加密技術
非對稱加密技術又稱公鑰密碼加密技術,它要求密鑰成對出現,一個為加密密鑰(Ke),一個為解密密鑰(Kd)。由已知的Ke推導出秘密保存的Kd在計算上是不可能的。
由于公鑰加密算法加密機理固有的系統健壯性和良好的公開性,其一經產生就獲得了廣泛應用。目前比較流行的是RSA算法,它是以三位發明者(Rivest、Shamir、Adleman)姓名的第一個字母組合而成的。RSA的基本數學原理是將一個大數分解成兩個質數的乘積,加密和解密使用的兩個不同的密鑰實際上是兩個很大的質數,用其中一個質數與明文相乘,可以加密得到密文,用另一個質數與密文相乘可以解密得到還原的明文。要用一個質數來求出另一個質數,則是十分困難的。
2.1密鑰產生
(1)隨機選擇兩個大素數p,q;
(2)計算n=pq;
(3)計算歐拉函數φ(n)=(p-1)(q-1);
(4)選擇整數e為公開密鑰,使其小于φ(n)且與φ(n)互素;
(5)求出秘密密鑰d,e.d=1modφ(n),即d=e(φ(φ(n))-1)modφ(n);
(6)求得:公開密鑰KU={e,n},私有密鑰KR=(d,n)。
2.2加密步驟
(1)在滿足下面條件的基礎上對明文進行分組:
M 若分組大小為K比特,則2K (2)利用下面的算法計算出密文: c=Me(rood n) 2.3解密步驟 設密文C,則按下面算法推出明文: M=Cd(mod n) 2.4應用舉例 設明文M為19,則加密/解密的過程如圖2所示。 (1)選擇兩個素數p=7,q=17 (2)計算n=pq=119 (3)計算φ(n)=(p-1)(q-1)=96 (4)選擇—個e,使其小于φ(n)且與φ(n)互素,這里取e=5 (5)求出d=77 (6)則KU={5,119},KR=(77,119) 3 基于DES和RSA的混合加密機制 3.1DES和RSA兩種算法分析 (1)在加密、解密的處理效率方面,DES算法優于RSA算法。因為DES密鑰的長度只有56比特,可以利用軟件和硬件實現高速處理。軟件實現的時候,加密速率每秒鐘可以達到幾兆個字節,適合于大量信息的加密。RSA算法由于進行的都是大數計算,最快的情況下速度也比DES慢得多,一般來說只用于少量數據加密。 (2)在密鑰的管理方面,RSA算法比DES算法更加優越。因為RSA算法可公開分配加密密鑰,對加密密鑰的更新也很容易,并且對不同的通信對象,只需對自己的解密密鑰保密就行;DES算法要求通信前對密鑰進行秘密分配,密鑰的更換困難,對不同的通信對象,DES需產生和保管不同的密鑰。在簽名和認證方面,DES算法從原理上不可能實現數字簽證和身份認證,但RSA算法能夠容易地進行數字簽證和身份認證。 3.2 DES和RSA混合算法 對于DES加密算法來說,隨機數選取的好壞與加密系統的安全有著密切的關系,所以要達到更高的保密程度,必須保證選取的64位隨機數具有隨機性。 在本文中,擬采用線性模數法,即選取足夠大的正整數M和任意自然數n0a,b,由遞推公式:ni+1(a*ni+b)mod M(i=0.1,…,M-1)生成數值序列。 DES和RSA混合算法的具體步驟如下: (1)通過素數的生成算法,得到兩個大的素數p和q,利用RSA中密鑰生成算法,生成一把公開鑰匙和一把私有密鑰,其中將RSA公鑰通過某種方式公布出去,而把RSA私鑰保存。 (2)通過線性模數法產生一個64位的隨機數作為DES的會話密鑰,對明文進行DES加密和解密。 (3)利用RSA的公鑰對會話密鑰進行RSA加密,并將會話密鑰進行加密保存,并與DES加密后的密文合并。接收方對傳送過來的密文用RSA生成的私鑰進行解密。 在DES和RSA的混合加密算法中,用DES對大量的數據進行加密不會影響整個系統的效率。用RSA算法對DES的密鑰加密后就可將其公開,而RSA的加密密鑰也可以公開,因此,整個系統需保密的只有少量的RsA的解密密鑰。這種加密系統既能發揮DIES算法加密速度快、安全性好的優點,又能發揮RSA算法密鑰管理方便的優點。 4 結束語 信息加密技術在當今的信息化社會用途非常廣泛。它在應用過程中采取的具體技術各異,其安全保障的層次和范圍也不盡相同。信息加密技術對像電子商務、電子政務等新型社會業態快速發展提供了堅實的安全技術保障。 參考文獻: [1]鄭加鋒.淺談互聯網安全與信息加密技術,情報探索[J].12005.1:68~69. [2]湯發俊.電子商務的信息安全技術研究[D].南京理工大學,2006. [3]劉玉珍.密碼編碼學與網絡安會[M].電子工業出版社,2004. [4]李聯.信息安全中的DES加密算法[J].現代電子技術,2005.9:118~120. [5]湯發俊等.開放編譯器OpenC++工作原理及對其局限的改進[J].滁州職業技術學院學報,2010.4:57-59.