其實PGP的作用不止以上:;PGP可以用來加密文件,也可以用來代替UUencode。生成;基數;64;格式(即MIME有;基地;64格式)。
PGP的創始人是美國人;菲爾;齊默爾曼.他的創意在於他結合了RSA公鑰體制的便捷性和傳統加密體制的高速性,在數字簽名和密鑰認證管理機制上的巧妙設計。因此,PGP幾乎成了最流行的公鑰加密軟件包。
PGP是壹款面向大眾的加密軟件。加密是為了安全,隱私權是壹項基本人權。在現代社會,網絡上的電子郵件和文件傳輸已經成為生活的壹部分。電子郵件的安全問題日益突出。大家都知道網上傳輸的數據是不加密的。如果妳不保護自己的信息,第三方將很容易獲得妳的秘密。;另壹個問題是信息認證。如何讓收件人相信郵件沒有被第三方篡改,需要數字簽名技術。RSA公鑰系統的特性使其非常適合滿足上述兩個要求:
隱私和認證。
RSA(Rivest-Shamir-Adleman)算法是壹種基於大數不能被質因數分解的假設的公鑰系統。簡單來說,就是找兩個大素數,壹個對全世界公開,壹個不告訴任何人。壹個叫“公鑰”,壹個叫“私鑰”(公鑰;關鍵;& amp;Secretkey或者;私人;關鍵點).這兩個密鑰是互補的,即用公鑰加密的密文可以用私鑰解密,反之亦然。假設A要給B發壹封信,他們知道對方的公鑰。a發送用B的公鑰加密的郵件,B收到後可以用自己的私鑰解密原件。由於其他人都不知道B的私鑰,連A自己都無法解密信件,解決了信件的保密問題。另壹方面,由於每個人都知道B的公鑰,他們可以發送壹封信給B,所以B不能確定它是否是來自A的信..認證的問題就出現了,這個時候數字簽名就有用了。
在解釋數字簽名之前,請先解釋什麽是“消息摘要”(message;Digest),簡單來說就是用算法計算出壹個能夠反映郵件“本質”的數字。壹旦郵件中有任何變化,這個數字就會發生變化,所以這個數字加上作者的名字(實際上在作者的key中)和日期就可以作為簽名。確切的說,PGP使用128位的二進制數作為“郵件摘要”,用來生成它的算法叫做MD5(message;消化;5)、MD5的鼻祖是RonRivest,PGP用的代碼是Colin做的;由Plumb編寫,MD5本身就是公共軟件。所以在PGP的法律條文中沒有提到。MD5是壹種單向散列算法。與CRC不同的是,很難找到壹封與原件具有相同“本質”的替代郵件。
回到數字簽名,A用自己的私鑰對上述128位的“精華”進行加密,附加到郵件中,用B的公鑰對整封郵件進行加密。這樣,密文被乙方收到後,乙方用自己的私鑰解密郵件得到甲方的原文和簽名,乙方的PGP也從原文中計算出壹個128位的“精”來比較解密簽名得到的數字和甲方的公鑰。如果符合要求,說明郵件確實是甲方發的..這樣,兩個要求都得到了滿足。
PGP也可以不加密只簽名,適合公開聲明。為了證明他們的身份(這只能在網上進行),聲明者可以用自己的私鑰簽名。這將使接收者能夠確認發送者的身份,並防止發送者否認其陳述。這在商業領域有很大的應用前景,可以防止寄件人抵賴和信件在途中被篡改。
那麽PGP為什麽要用RSA和傳統加密的混合算法呢?由於RSA算法計算量太大,無法在速度上加密大量數據,PGP實際上使用的是壹種傳統的加密算法,叫做IDEA,而不是RSA本身。我先解釋壹下傳統加密是什麽意思。簡單來說就是用壹個密鑰加密明文,然後用同壹個密鑰解密。這種方法的代表是DES(US;美聯儲;數據加密;標準),即乘法加密,其主要缺點是密鑰傳輸通道不能解決安全問題,不適合網絡環境下郵件加密的需要。
回復
意大利
呂晨陽_
24個粉絲
二樓
想法;是專利算法,專利持有者是ETH和壹家瑞士公司:Ascom-Tech;AG .
IDEA實現的非商業使用不需要向他們支付費用。IDEA的加密(解密)速度比RSA快很多,所以實際上PGP是用隨機生成的密鑰用IDEA算法加密明文(每次加密都不壹樣),然後用RSA算法加密密鑰。這樣收件人也是用RSA解密隨機密鑰,然後用IDEA解密郵件本身。這種鏈加密既實現了RSA系統的保密性,又實現了IDEA算法的快速性。PGP壹半的創意就在於這壹點。為什麽RSA系統在20世紀70年代提出,壹直沒有普及?太慢了!那麽PGP創意的另壹半在哪裏呢?接下來我就說說PGP的密鑰管理。
壹個成熟的加密系統必須有壹個成熟的密鑰管理機制來支持。公鑰系統是為了解決傳統加密系統密鑰分發難以保密的缺點而提出的。比如網絡黑客常用的手段之壹就是“監聽”,如果通過網絡傳輸密鑰就太危險了。比如:NovellNetware在舊版本的中,用戶的密碼在線路上以明文形式傳輸,因此監聽器可以很容易地獲取其他人的密碼。當然;Netware4.1;數據頭的用戶密碼現在已加密。對於PGP來說,公鑰是要公開的,所以不存在反攔截的問題。然而,公鑰的發布仍然存在安全問題,如公鑰的篡改。關鍵;篡改),這可能是公鑰密碼系統最大的漏洞,因為大部分新手都不能很快發現。妳必須確保妳得到的公鑰屬於它似乎屬於的那個人。為了把這個問題說清楚,我舉個例子,然後我再講講如何正確的用PGP堵住這個漏洞。
以妳和愛麗絲的通信為例。假設妳想給愛麗絲發壹封信,妳必須有愛麗絲的公鑰。妳從BBS上下載了愛麗絲的公鑰,用它加密了信,通過BBS的郵件功能發給愛麗絲。可惜妳和Alice都不知道,另壹個叫Charlie的用戶潛入了BBS,用Alice名字生成的密鑰對中的公鑰替換了Alice的公鑰。那妳用來發信的公鑰不是愛麗絲的,是查理的。壹切看起來都很正常,因為妳得到的公鑰的用戶名是“Alice”。所以查理可以用他的私鑰解密妳寫給愛麗絲的信,甚至他可以用愛麗絲的真實公鑰把妳的信轉發給愛麗絲,這樣就沒有人會起疑心,他想把妳的信換給愛麗絲也可以。更有甚者,他可以為妳偽造愛麗絲的簽名或者
別人寄信,因為妳手裏的公鑰是偽造的,妳會以為真的是愛麗絲的信。
防止這種情況的最好方法是避免給其他任何人篡改公鑰的機會,比如直接從Alice那裏得到她的公鑰,但是當她在千裏之外或者看不到的時候就非常困難了。PGP開發了壹種公鑰引入機制來解決這個問題。舉個例子,如果妳和愛麗絲有壹個朋友大衛,大衛知道愛麗絲手裏的公鑰是正確的(PGP還有壹個關於如何認證公鑰的方法,後面會討論,假設大衛和愛麗絲已經認證了她的公鑰)。這樣,大衛就可以用自己的私鑰對愛麗絲的公鑰進行簽名(即通過上面提到的簽名方法),表明他保證公鑰屬於愛麗絲。當然,妳需要用大衛的公鑰來驗證他給妳的愛麗絲的公鑰,大衛也可以向愛麗絲認證妳的公鑰,這樣大衛就可以成為妳和愛麗絲之間的“介紹人”。這樣,愛麗絲或大衛就可以安全地將大衛簽名的愛麗絲公鑰上傳到BBS上供妳獲取,任何人都無法篡改而不被妳發現,即使是BBS的管理員。這是壹種從公共通道傳輸公鑰的安全方式。
有人會問:那妳怎麽安全的拿到大衛的公鑰呢?不是先有雞還是先有蛋的問題嗎?確實有可能妳拿到的大衛的公鑰也是假的,但這需要麻煩制造者全程參與。他必須對妳們三個都很熟悉,而且要計劃很久,這壹般是不可能的。當然,PGP也有防止這種可能性的建議,即由壹個大家普遍信任的人或機構來扮演這個角色。他被稱為“密鑰服務員”或“認證機構”,他簽署的每壹個公鑰都被認為是真實的,所以每個人只需要有壹份他的公鑰。因為這個人廣泛提供這種服務,所以認證這個人的公鑰是方便的,並且因為他的公鑰被廣泛流通,所以偽造他的公鑰是極其困難的。這樣的“權限”適用於非個人控制的組織或政府機構,現在也有機構有等級認證制度。
回復
意大利
呂晨陽_
24個粉絲
三樓
對於那些非常分散的人,PGP更傾向於使用私鑰引薦,因為這種有機的非官方更能體現人們自然的社交,人們可以自由選擇信任的人來引薦。反正就像遇到不認識的人。每個公鑰至少有壹個“用戶名”(User;ID),請盡量使用全名,最好加上我的郵箱,以免混淆。
立正!您必須遵循的壹條規則是:在使用任何公鑰之前,您必須首先對其進行身份驗證!!!無論妳受到什麽樣的誘惑,都會有這樣的誘惑。妳不應該,絕對不應該,直接相信壹個從公開渠道(看似保密)獲得的公鑰,切記使用熟人介紹的公鑰,或者親自向對方認證自己。同樣,妳也不要隨便給別人的公鑰簽名認證,就像妳在現實生活中壹樣,妳只會把妳家的鑰匙給妳信任的人。
接下來我講講如何通過電話認證鑰匙。每個密鑰都有自己的keyID,它是壹個八位十六進制數。兩個密鑰具有相同keyID的概率是十億分之壹。
此外,PGP還提供了壹種更可靠的方法來識別密鑰:“key”s;指紋).每個鍵對應壹串數字(十六個八進制十六進制數字),這個數字可能更少重復。此外,沒有人能夠指定生成具有特定指紋的密鑰。密鑰是隨機生成的,無法從指紋推導出密鑰。這樣,妳拿到某人的公鑰後,就可以在手機上和他核對這個指紋,以認證他的公鑰。如果不能和愛麗絲通電話,可以和大衛通話,認證大衛的公鑰,從而通過大衛認證愛麗絲的公鑰。這是直接認證和間接介紹的結合。
這就引出了另壹種方法,就是收集妳自己的不同簽名的公鑰,發到公共場所,讓大多數人至少知道其中的壹個,從而間接認證妳的公鑰。同樣的,妳也要在給妳的朋友的公鑰簽名後再發回去,這樣他就可以通過妳被妳的其他朋友認證了。有點意思,就像現實社會中人與人的交流壹樣。PGP會自動為妳找出妳得到的公鑰哪些是妳朋友介紹的,哪些是妳朋友的朋友介紹的,哪些是朋友的朋友的朋友介紹的...它會幫助妳把它們劃分到不同的信任級別,這樣妳就可以參考它們,決定信任的程度。您可以指定某人具有幾個級別的引用公鑰的能力,這種能力隨著身份驗證的傳輸而減弱。
推薦認證機制是可傳遞的,這是壹個有趣的問題。《PGP》作者菲爾;齊默爾曼.
有句話說:“;信任是不可傳遞的;我有壹個朋友,我相信他永遠不會說謊。但他是壹個認為總統永遠不會說謊的傻瓜,但顯然我不認為總統永遠不會說謊。”
公鑰的安全是PGP安全的核心,這裏就不細說了。像傳統的單密鑰系統壹樣,私鑰的保密性也是決定性的。與公鑰相比,私鑰不存在篡改的問題,但存在泄露的問題。RSA的私鑰是壹個很長的數字,用戶記不住。PGP的方法是讓用戶指定壹個密碼(pass階段).只有給出密碼,私鑰才能被釋放使用。用密碼加密私鑰的方法和PGP本身壹樣保密。所以私鑰的安全問題其實首先是用戶密碼的保密性。當然,私鑰文件本身被泄露也是很危險的,因為解碼器需要的只是用窮舉的方法來探索妳的密碼。雖然難,但畢竟少了壹層保障。在這裏只要記住壹點,像任何隱私壹樣保管好自己的私鑰,不要讓任何人接觸到。
PGP對安全問題的慎重考慮體現在PGP的各個方面。比如每次加密的實際密鑰都是壹個隨機數,大家都知道計算機無法生成真正的隨機數。PGP程序對隨機數的生成非常謹慎,密鑰隨機數的生成,比如RSA密鑰,是從用戶看鍵盤的時間間隔中獲取隨機數種子的。在磁盤上形成;randseed.bin文件的加密強度與電子郵件相同。這有效地防止了其他人從妳的randseed.bin文件中分析妳的實際加密密鑰的規律。
這裏我提壹下PGP加密前的預壓縮處理。PGP內核在加密前使用PKZIP算法壓縮明文。壹方面,對於電子郵件來說,經過壓縮和7位編碼後的加密密文可能比明文短,節省了網絡傳輸的時間。另壹方面,明文被壓縮,實際上相當於壹種變換,使得信息更加混亂,更能抵抗明文攻擊。PGP中使用的PKZIP算法是原作者認可的。PKZIP算法是公認的壓縮率和壓縮速度相當。
不錯的壓縮算法。PGP中使用PKZIP2.0版兼容算法。
好吧,我會在《PGP的安全性》壹文中具體介紹PGP的安全性。說了這麽多只是想讓大家知道,PGP會很安全的,只要妳自己按照正確的使用方法。關於PGP的安裝和使用,請參考PGP;安裝和使用。如果妳在閱讀英文文檔時有壹些單詞不理解,請試著從文章PGP名詞解釋中尋找線索。PGP2.6.3i是我推薦妳使用的PGP版本。請參考PGPi問答集。
在如今的互聯網中,PGP署名的文章隨處可見,PGP的版本也在快速更新。據說是PGP3.0;它將在幾個月後推出。世界上越來越多的人在使用PGP,我們中國也應該註意保護自己的合法隱私權。我翻譯這些文章是為了在中國推廣PGP的使用。雖然它還是壹個新生事物,但我們必須看到,它在網絡空間壹定會迅速成長。中國雖然起步晚,但比美國差不了多少,要迎頭趕上。