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

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

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

(一)IDEA算法(Internation Date Encryption Algorithm)。IDEA 叫對(duì)稱(chēng)加密算法算法,其機(jī)理是用一個(gè)128bit的密鑰加密明文,解密時(shí)再使用相同的密鑰解密密文,此處的密鑰在PGP中叫會(huì)話(huà)密鑰。IDEA算法優(yōu)點(diǎn)是加密速度較快,缺點(diǎn)是收發(fā)雙方不能確保有一個(gè)安全渠道來(lái)傳送會(huì)話(huà)密鑰。在PGP中,IDEA算法被用來(lái)加密郵件正文。

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

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

二、加密電子郵件的過(guò)程

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

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

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

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

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