摘要:本文介紹了數據加密技術的基本概念,分析了現有的兩種密碼體制:對稱密鑰加密體制和公開密鑰加密體制,介紹了兩種加密體制下常用的幾種數據加密算法,并對不同的數據加密算法進行比較。
關鍵詞:數據加密 傳統密鑰體制 公開密鑰體制 RSA算法 橢圓曲線 背包加密算法
中圖分類號:TP311.13 文獻標識碼:A 文章編號:1674-098X(2011)12(c)-0000-00
1 引言
數據加密的基本過程就是對原來為明文的文件或數據按某種算法進行處理,使其成為不可讀的一段代碼,通常稱為“密文”。其只能在輸入相應的密鑰之后才能顯示出來內容,通過這樣的途徑來達到保護數據不被非法人竊取、閱讀的目的。
2 兩種加密體制的概述
2.1 對稱密鑰加密體制
對稱式加密體制是指加密和解密密鑰相同或等價,而且通信雙方必須都要獲得這把密鑰,并保持其機密性。當給對方發信息時,用自己的加密密鑰進行加密,而在接受方收到數據后,用對發給的密鑰進行解密,故它也稱為私鑰密碼體制。因為加解密密鑰相同,需要通信的雙方必須選擇和保存和他們共同的密鑰,各方必須相信對方不會將密鑰泄露出去,這樣可以實現數據的機密性和完整性。
2.2公開密鑰加密體制
所謂的公開密鑰密碼體制就是使用不同的加密密鑰和解密密鑰,是一種“由已知加密密鑰推導出解密密鑰在計算上是不可行的”密碼體制。1976年美國斯坦福大學的兩名學者迪菲和赫爾曼提出了公開密鑰密碼體制的概念。
在公開密鑰密碼體制中,加密密鑰(及公開密鑰)PK是公開信息,而解密密鑰SK是需要保密的。加密算法E和解密算法D也都是公開的。雖然秘密密鑰SK是由公開密鑰PK決定的,但卻不能根據PK計算SK。與傳統的加密方法不同,該技術采用兩個不同的密鑰來對信息加密和解密。它也稱為“非對稱式加密算法”。
3 對稱密鑰加密體制下的幾種加密算法
3.1 DES數據加密算法
DES采用傳統的換位和置換的方法進行加密,在56位密鑰的控制下,將64位明文變換為64位密文塊,加密過程包括16輪的加密迭代,每輪都采用一種乘積密碼方式(代替和位移)。首先是處理原密鑰,產生16個48位子密鑰Ki,i=1,2,3,……16,接著處理64位數據塊。算法可用如下公式表示:
Ek(m)=N(IP)*T16*T15*T14…….T1*IP(m)
上式中:IP為初始置換,N(X)是X的逆,Ti,i=1,2……16是一系列的變換。Ek(m)表示明文m在密鑰k的作用下產生的密文。解密算法如下:
N(Ek)=N(IP)*T1*T2……T16*IP[Ek(m)]
3.2 AES數據加密算法
AES即高級數據加密標準,是一個迭代的、對稱密鑰分組的密碼,是基于排列和置換運算的,現在已經成長為新一代的數據加密標準。AES加密的分組長度和密鑰的長度都是可變的,其密鑰可以使用128位、192位和256位密鑰,一般較常使用的是128位,并且可以根據自己的需要選擇分組的長度和加密的輪數來保證數據的安全。AES加密與DES相比有較強的保密強度,安全級別較高,且能經受住時間的檢驗,在密鑰的長度以及速度都高于DES,并且資源的消耗較少,但是其同時也為對稱密鑰,密鑰必須通過安全的途徑傳送,屬密鑰管理困難級加密標準。
4 公開密鑰加密體制下的幾種加密算法
4.1 RSA數據加密算法
1976年,Diffie和Hellman提出了一種全新的加密思想———公開密鑰算法RSA算法。公開密鑰算法的思路與對稱式加密算法不同,加密密鑰和解密密鑰不同,加密算法E和解密算法D必須滿足以下三個條件:D(E(P))=P;從E導出D非常困難;使用“選擇明文”攻擊不能攻破。研究者們努力尋找符合以上條件的算法,較好的策略是RSA算法:選擇兩個大素數(素數又稱為質數)p 和q;計算n=p*q 和z=(p-1)*(q-1);選擇一個與z 互質的數,令其為d;找到一個e,使滿足e*d=1(mod z)。而對于明文M,首先滿足M
應該指出的是,RSA算法雖然安全方便,但運行速度很慢,因此其通常只用來進行用戶認證、數字簽名或發送一次性的秘密密鑰,而數據加密仍使用秘密密鑰算法。
4.2 基于橢圓曲線的加密算法
橢圓曲線加密法ECC(Elliptic Curve Cryptography)是一種公鑰加密技術,以橢圓曲線理論為基礎,利用有限域上橢圓曲線的點構成的Abel群離散對數難解性,實現加密、解密和數字簽名。
ECC總的速度比RSA要快得多,同時ECC系統的密鑰生成速度比RSA快百倍以上。所以在相同條件下,ECC有更高的加密性能。在相同安全強度下,ECC密碼比RSA密碼的密鑰尺寸及系統參數小得多,即ECC密碼所需的存儲空間要小得多,傳輸所需的帶寬要求更低,功耗更小,硬件實現更加容易。
4.3 基于背包問題的加密算法
背包問題的加密算法是第一個公鑰密碼系統,有較好的理論價值。它表示了如何將NP完全問題用于公開密鑰算法。然而該加密系統的缺點也很明顯,首先,在實踐過程中,大多數的背包方案都已被破解,或者證明存在缺陷。再者,背包加密算法的不安全性很大,目前已有一個攻擊基本的Merkle-Hellman體制的多項式時間的算法。
5 結語
盡管非對稱密碼體制比對稱密碼體制更為可靠,但由于計算過于復雜,對稱密碼體制在進行大信息量通信時,加密速率僅為對稱體制的1/100,甚至是1/1000。正是由于不同體制的加密算法各有所長,所以在今后相當長的一段時期內,各類加密體制將會共同發展。
參考文獻
[1] 高傳善,等.數據通信與計算機網絡(第二版)[M].北京:高等教育出版社,2000.
[2] 林安.數據加密技術淺析[J].科技情報開發與經濟,2009(9).
[3] 張玉秀.淺談數據加密技術的發展[J].電腦學習,2008 (4).