?

電子郵件安全協議—PGP

2014-07-24 04:31鐘澤秀
新媒體研究 2014年8期
關鍵詞:加密算法電子郵件安全性

摘 要 首先介紹電子郵件的傳輸過程,引出安全電子郵件的重要性,然后介紹電子郵件安全協議PGP,涉及到的IDEA、RSA、MD5加密算法以及其安全性分析。

關鍵詞 電子郵件;PGP;加密算法;安全性

中圖分類號:TP393 文獻標識碼:A 文章編號:1671-7597(2014)08-0140-02

電子郵件的方便、快速、費用低廉等優點,再加上它不但能傳送文字信息,還可以附上圖像、聲音等功能,這使得電子郵件越來越受人們的歡迎。

1 電子郵件的傳輸過程

電子郵件通過SMTP和POP協議來進行發送和接受,但由于互聯網的開放性,郵件內容是以明文的形式在互聯網上進行傳遞。這使得人們在使用電子郵件時不得不考慮其安全因素,因此如何保證電子郵件的機密性、完整性、真實性和不可抵賴性等方面的問題顯得尤為重要。

2 PGP介紹

為了使電子郵件在互聯網上能夠安全運行,開發出了一些安全電子郵件標準:PGP和S/MIME。其中PGP被廣泛運用。

PGP(Pretty Good Privacy)是美國人Phil Zimmermann研究出來的,它是由多種加密算法(IDEA、RSA、MD5、隨機數生成算法)組合而成,不但能夠實現郵件的保密功能,還可以對郵件進行數字簽名,使收信人能夠準確判斷郵件在傳遞過程中是否被非法篡改。

3 PGP工作原理

3.1 IDEA算法

IDEA屬于對稱加密算法,即加密密鑰和解密密鑰相同,具體的算法規則是,將輸入數據以每64為一塊,對每塊進行分組,分為4組,每組16位,作為第一輪的輸入,進行相乘、相加、異或等運行后,形成4個子分組,將中間兩間進行交換,作為下一輪的輸入,經過8輪運算后,同樣得到4個子分組,再將這4組重新連接到一起形成密文共64位。

3.2 RSA算法

RSA屬于非對稱加密算法,也稱公鑰算法,即加密密鑰和解密密鑰不同,并且加密密鑰可以完全公開,但由于沒有解密密鑰,即使非法者竊取到了密文和發送者的加密密鑰也無法查看內容,解決了對稱加密中對密鑰管理困難的問題,RSA的安全性取決于對大數的因式分解,這是數學上的一個難題。

RSA算法描述:

1)隨意選擇兩個大的質數p和q,p不等于q,q和p保密;

2)計算n=pq;

3)歐拉函數,φ(n) = (p-1)(q-1),n公開,φ(n)保密;

4)選擇一個小于φ(n)的正整數e,滿足gcd(e,φ(n))=1,e是公開的加密密鑰;

5)計算d,滿足de≡1(modφ(n)), d是保密的解密密鑰;

6)加密變換:對明文m∈Zn,密文為C=me mod n;

7)解密變換:對密文C∈Zn,明文為m=Cd mod n;

由于RSA涉及的運算非常復雜,所以在運算速度上很慢,因而RSA算法只適合于對少量數據進行加密,如數字簽名,一般情況下,如果要對大量信息進行加密,還是采用對稱加密算法,因為對稱加密速度比公鑰加密速度快得多。

3.3 MD5算法

MD5屬于Hash函數,可以將任意長度的輸入壓縮到固定長度的輸出,具有多對一的單向特性??梢杂糜跀底趾灻?、完整性檢測等方面。

4 PGP提供的業務

PGP提供的業務包括:認證、加密、壓縮、與電子郵件兼容、基數-64變換。

4.1 認證

認證的步驟是:①發信人創建信息M;②發信人使用MD5算法產生128位的消息摘要H;③發信人用自己的私鑰,采用RSA算法對H進行加密ER,M‖ER連接后進行壓縮得到Z;④將Z通過互聯網發送出去;⑤接收者收到信息后首先進行解壓Z-1,使用發信人的公開密鑰采用RSA算法進行解密得出H,用接收到的M計算消息摘要H,將得出的兩個H進行比較,如果相同則接收,否則表示被篡改,拒絕。

4.2 加密

加密的步驟:發信人對信息M進行壓縮,采用IDEA算法對其進行加密,用接收者的公鑰對密鑰進行加密,與M進行連接后發出,接收者采用RSA算法進行解密得到會話密鑰,將會話密鑰按IDEA算法進行解密,并解壓縮,并到原文。

在加密過程中,由于信息相對內容較多,因此對信息的加密采用的是對稱加密算法IDEA來實現,而密鑰采用的是安全強度為高的非對稱加密算法RSA實現,通過IDEA和RSA結合,不但提高了郵件傳輸的安全性,而且在加解密時間上也縮短了。

4.3 壓縮

PGP采用ZIP算法壓縮信息,這不但節省了存儲空間,而且在傳輸過程中也節省了時間,另外,在對信息進行加密之前壓縮,也相當于進行了一次變換,使其安全性增強。

4.4 與電子郵件兼容

由于電子郵件只允許使用ASCⅡ字符串,而PGP的輸出卻是8位串,為了與電子郵件進行兼容,PGP采用基數-64變換實現將輸出的8位串轉換為可以打印的ASCII字符串。

4.5 PGP消息分段和重組

電子郵件中對消息內容的長度有限制的,當大于所限制的長度時要進行分段,分段是在所有處理結束之后才進行,所以會話密鑰和簽名在第一個段開始位置出現。在接收端,PGP將重新組合成原來的信息。

5 PGP安全性分析

由于PGP是一種混合密碼體系,它的安全性在于IDEA、RSA、MD5算法的安全性分析。

5.1 IDEA的安全性

在PGP中采用IDEA的64位CFB模式,很多研究者對IDEA的弱點進行了分析,但也沒有找到破譯的方法,由此可見,IDEA算法也是比較安全的,它的攻擊方法只有“直接攻擊”或者是“密鑰窮舉”攻擊。endprint

5.2 RSA的安全性

RSA算法是非對稱密碼體制,它的安全性基于大整數的素分解的難解性,經過長期的研究至今也未找到一個有效的解決方案,在數學上就是一個難題,因此,RSA公鑰密碼體制就建立在對大數的因式分解這個數學難題上。

假設密碼分析者能夠通過n分解因子得到p和q,那么他很容易就可以求出歐拉函數φ(n)和解密密鑰d,從而破譯RSA,因此,破譯RSA比對n進行因式分解難度更大。

假設密碼分析者能夠不對n進行因子分解就求出歐拉函數φ(n),那么他可以根據de≡1(modφ(n)),得到解密密鑰d,從而破譯RSA,因為p+q=n-φ(n)+1,p-q=sqr(p+q)^2-4n,所以知道φ(n)和n就可以容易地求得p和q,從而成功地分解n,所以不對n進行因子分解而直接計算φ(n)比對n進行因子分解難度更大。

假如密碼分析者能夠即不對n進行因子分解也不需要求φ(n)而是直接求得解密密鑰d,那么他就可以計算ed-1,其中ed-1是歐拉函數φ(n)的倍數,因為利用φ(n)的倍數可以容易的分解出n的因子。所以,直接計算解密密鑰d比對n進行因式分解更難。

雖然n越大其安全性越高,但由于涉及到復雜的數學運算,會影響到運行速度,那么我們實際運用中,如果來決定n的大小使其既安全其速度又不能太慢,目前n的長度為1024位至2048位比較合理。

研究人員建議,在運用RSA算法時,除了指定n的長度外,還應對p和q進行限制:①p和q的大小應該相差不多;②p-1和q-1都應該包含大的素因子;③gcd(p-1,q-1)應該很小。

5.3 MD5的安全性

MD5是在MD4的基礎上發展起來的,在PGP中被用來單向變換用戶口令和對信息簽名的單向散列算法。它的安全性體現在能將任意輸入長度的消息轉化為固定長度的輸出。目前對單向散列的直接攻擊包括普通直接攻擊和“生日攻擊”。

在密碼學中,有這么一句話:永遠不要低估密碼分析者的能力。這也將是密碼設計者與密碼分析者的較量,事實上絕對不可破譯的密碼體制在理論上是不存在的,因此,在實際應用中,一個密碼體制在使用一段時間后,會換一些新的參數,或者是更換一種新的密碼體制,當然,密鑰也是要經常換的。由此可見,PGP軟件雖然給我們的電子郵件帶來了安全性保障,但它也不是永恒的,也許在不久的將來,由于它的弱點被攻擊而被新的安全電子郵件產品所代替。

參考文獻

[1]劉冰.PGP系統的設計實現與應用[J].重慶工商大學學報(自然科學版),2008(4).

[2]吳志強.基于PGP加密技術中小企事業安全電子郵件系統的設計與實現[D].南昌大學.

[3]文遠.PGP安全電子郵件系統研究與實現[D].北京郵電大學.

[4]陳魯生,沈世鎰.現代密碼學(第二版)[M].科學出版社,2008.

作者簡介

鐘澤秀,講師,碩士,計算機應用技術專業。endprint

猜你喜歡
加密算法電子郵件安全性
長效胰島素聯合口服降糖藥治療2型糖尿病的療效與安全性
西藥臨床應用中合理用藥對其安全性的影響
關于橋梁設計中的安全性與耐久性問題的幾點思考
教育云平臺的敏感信息保護技術研究
一種改進的加密算法在空調群控系統中的研究與實現
基于Jave的AES加密算法的實現
小測試:你對電子郵件上癮了嗎?
全氫罩式爐的安全性
有獎問答
AES加密算法的實現及應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合