PGP基于電子郵件加密的方法及步驟

隨著互聯(lián)網(wǎng)應(yīng)用的普及和發(fā)展,電子郵件已成為主要的信息交流方式之一。一般來說,網(wǎng)絡(luò)安全問題的類型可分成以四種:信息保密、身份鑒別、數(shù)字簽名、完整性確認。PGP(端到端的安全郵件協(xié)議)集網(wǎng)絡(luò)鑒別安全問題的防護,有效阻止信息被非法查看、篡改和偽造。 PGP支持三種RSA密鑰長度:384bit(偶爾使用)、512bit(商用)和1024bit(軍用)。

一、PGP使用的基本加密算法

(一)IDEA算法(Internation Date Encryption Algorithm)。IDEA 叫對稱加密算法算法,其機理是用一個128bit的密鑰加密明文,解密時再使用相同的密鑰解密密文,此處的密鑰在PGP中叫會話密鑰。IDEA算法優(yōu)點是加密速度較快,缺點是收發(fā)雙方不能確保有一個安全渠道來傳送會話密鑰。在PGP中,IDEA算法被用來加密郵件正文。

(二)RSA算法(Rivest-Shamir-Adleman)。RSA叫非對稱加密算法,其原理是找兩個很大的質(zhì)數(shù),其中一個對外界公開,稱為公匙,另一個稱為私匙,用公匙加加密的密文可以用私匙,反之亦然。發(fā)信人需用收信人的公匙將傳輸信息加密,通過網(wǎng)絡(luò)傳給收信人。收信人再用自己的私匙才能解密,此時只有收信人的私匙才能解密,由此可確認能讀懂信的人必是正確的收信人,從而實現(xiàn)身份的鑒別。另一方面,如果發(fā)信人用自己的私匙將傳輸信息加密,就相當于在此消息上作了簽名。收信人只有用發(fā)信人的公匙才能將其解開。這樣可以證明信件確實是由原發(fā)件人發(fā)出,別人無法假冒他的名義,便實現(xiàn)了數(shù)字簽名功能。RSA算法的不足之處是其計算量很大,加密正文信息效率低,加密正文信息效率低,速度慢。

(三)SHA算法(Secure Hash Algorithm)。SHA叫單向散列算法,在PGP中,信息摘要是一串能表達內(nèi)容的160bit或128bit的二進制特征數(shù)。信息內(nèi)容和信息摘要是一一對應(yīng)的,不同的內(nèi)容所產(chǎn)生的信息摘要不同,即使內(nèi)容有一個字節(jié)的改變信息摘要的結(jié)果都會發(fā)生較大的變化。單向散列算法不能夠由信息摘要反推出原郵件內(nèi)容。因SHA可以保證郵件的完整性。

二、加密電子郵件的過程

一:數(shù)字簽名。明文P是原始的未加密的郵件正文,經(jīng)過SHA算法產(chǎn)生唯一的信息摘要P1,以便收信人驗證P的完整性,即使如此,如果在郵件傳輸過程中有第三者利用另一份明文P及其相應(yīng)的信息摘要P1來同時篡改這里的P和 P1,那么收信人將無法識別這一篡改為。為了防止篡改,PGP采用RSA算法的數(shù)字簽名功能,用發(fā)信人的私匙Da再次把P1加密成P2具備完整性檢測和數(shù)字簽名的雙重功能,以保證不被別人篡改或假冒。PGP再將數(shù)字簽名P2連接到明文P的尾部組成P3。

二:信息壓縮。PGP將 P3經(jīng)過PKZIP算法壓縮成P4,信息壓縮一方面可以減少傳輸量,另一方面實現(xiàn)對P3的另一種加密。收件人收到后在此處進行解壓即可。

三:信息加密。PGP再用IDEA算法將P4加密。IDEA的會話密鑰由隨機數(shù)產(chǎn)生器產(chǎn)生,它根據(jù)用戶輸入的一串隨機數(shù),結(jié)合用戶鍵入字符的速度來產(chǎn)生一個128bit的隨機生成會話密鑰Km,加密后即生成P5,同時會話密鑰Km也要被傳輸給收信人以便解密。

為增強保密性,PGP采用RSA算法利用收信人的公匙Eb對此會話密鑰進行加密形成P6,并附加到P5之后形成P7輸出。收信人收到后在此處首先用自己的RSA私匙解密后得出會話密鑰Km利用IDEA解密得到P4。此法利用了IDEA加密速度快這一特點,同時用RSA的公匙來加密IDEA的會話密鑰Km既克服了直接傳送會話密鑰安全性的缺點,也彌補了RSA的加密速度慢、適合于處理信息量小但非常重要的信息這一特點。而用RSA的公匙加密又同時時驗證了收信人的身份。

PGP結(jié)合這兩種算法,充分發(fā)揮各自的特長,取長補短,既增強了功能又不失較快的速度,使得PGP具有較大的安全性和實用性。