網(wǎng)絡(luò)加密技術(shù)淺析—加密方法

數(shù)據(jù)加密算法有很多種,密碼算法標(biāo)準(zhǔn)化是信息化社會發(fā)展得必然趨勢,是世界各國保密通信領(lǐng)域得一個重要課題。按照發(fā)展進(jìn)程來分,經(jīng)歷了古典密碼、對稱密鑰密碼和公開密鑰密碼階段,古典密碼算法有替代加密、置換加密;對稱加密算法包括DES和AES;非對稱加密算法包括RSA 、背包密碼、McEliece密碼、Rabin、橢圓曲線、EIGamal D_H等。目前在數(shù)據(jù)通信中使用最普遍的算法有DES算法、RSA算法和PGP算法、數(shù)字簽名等。

一、 DES加密算法(數(shù)據(jù)加密標(biāo)準(zhǔn))

DES是一種對二元數(shù)據(jù)進(jìn)行加密的算法,數(shù)據(jù)分組長度為64位,密文分組長度也是64位,使用的密鑰為64位,有效密鑰長度為56位,有8位用于奇偶校驗,解密時的過程和加密時相似,但密鑰的順序正好相反。

DES算法的弱點是不能提供足夠的安全性,因為其密鑰容量只有56位。由于這個原因,后來又提出了三重DES或3DES系統(tǒng),使用3個不同的密鑰對數(shù)據(jù)塊進(jìn)行(兩次或)三次加密,該方法比進(jìn)行普通加密的三次塊。其強度大約和112比特的密鑰強度相當(dāng)。其加密過程如圖所示。

DES加密算法

二、 RSA加密算法

RSA算法既能用于數(shù)據(jù)加密,也能用于數(shù)字簽名,RSA的理論依據(jù)為:尋找兩個大素數(shù)比較簡單,而將它們的乘積分解開則異常困難。在RSA算法中,包含兩個密鑰,加密密鑰PK,和解密密鑰SK,加密密鑰是公開的,其加密與解密方程為:

其中n=p×q,P∈[0,n-1],p和q均為大于10100的素數(shù),這兩個素數(shù)是保密的。

RSA算法的優(yōu)點是密鑰空間大,缺點是加密速度慢,如果RSA和DES結(jié)合使用,則正好彌補RSA的缺點。即DES用于明文加密,RSA用于DES密鑰的加密。由于DES加密速度快,適合加密較長的報文;而RSA可解決DES密鑰分配的問題。

三、 數(shù)字簽名

書信或者文件是根據(jù)親筆簽名或蓋章來證明其真實性。在計算機網(wǎng)絡(luò)中傳送的文件以及電子郵件通過數(shù)字簽名來模擬現(xiàn)實中的簽名的效果。數(shù)字簽名必須保證以下三點:

(1) 接收者能夠核實發(fā)送者對報文的簽名;

(2) 發(fā)送者事后不能抵賴對報文的簽名;

(3) 接收者不能偽造對報文的簽名。

現(xiàn)在已有多種實現(xiàn)各種數(shù)字簽名的方法。但采用公開密鑰算法要比采用常規(guī)密鑰算法更容易實現(xiàn)。實現(xiàn)的方式如圖所示

其中數(shù)字簽名和數(shù)據(jù)加密的區(qū)別如下:

數(shù)據(jù)加密:

保證數(shù)據(jù)信息傳輸?shù)陌踩?/p>

接受者的公鑰(運算數(shù)據(jù))。

數(shù)字簽名:

證實某信息由某人發(fā)出,且沒有被修改,不關(guān)心其他人是否看到該信息。

發(fā)送者的私鑰(運算數(shù)據(jù))。

小知識之?dāng)?shù)字簽名簡介:

數(shù)字簽名(又稱公鑰數(shù)字簽名、電子簽章)是一種類似寫在紙上的普通的物理簽名,但是使用了公鑰加密領(lǐng)域的技術(shù)實現(xiàn),用于鑒別數(shù)字信息的方法。一套數(shù)字簽名通常定義兩種互補的運算,一個用于簽名,另一個用于驗證。