『壹』 如何用PGP加密
PGP採用公匙加密體系,用加密演算法
生成兩個密匙,分別作為公匙和私匙。公匙用來加密,是公開的。私匙用來解密,自己保存。
下面介紹PGP的使用:
1
首先生成你的PGP密匙。在DOS命令行輸入:
pgp-kg
2
程序會提示你一步步進行密匙生成工作:
①選擇密匙長度。建議用1024位,安全性相當有保障。
②輸入用戶名。要盡量避免混淆。
③選擇口令。和所有密碼一樣,盡量取得難猜一點。PGP是區分口令大小寫的,在生成過程中程序為了得到隨機數,會請你隨意地在鍵盤上敲一系列的鍵,注意盡量多敲些不同的鍵,時間間隔不要太短。
現在你就擁有自己的一對PGP密匙了。文件SECRING
PGP是私匙,PUBRING
PGP是公匙。
3
PGP的基本命令
①加密命令:
pgp-e[a]源文件收件人ID[其他收件人ID]
用公匙環中收件人的公匙加密源文件,得到密文。加上a參數後將得到7bits編碼的密文(
asc後綴),否則是二進制形式密文(
pgp後綴)。
②解密命令:
pgp[-d][-p]密文
-d參數用來保留密文(預設刪除密文),-p參數用來恢復源文件加密時的文件名。
『貳』 什麼是PGP
PGP(Pretty Good Privacy),是一個基於RSA公匙加密體系的郵件加密軟體。可以用它對郵件保密以防止非授權者閱讀,它還能對郵件加上數字簽名從而使收信人可以確認郵件的發送者,並能確信郵件沒有被篡改。它可以可以提供一種安全的通訊方式,而事先並不需要任何保密的渠道用來傳遞密匙。它採用了一種RSA和傳統加密的雜合演算法,用於數字簽名的郵件文摘演算法,加密前壓縮等,還有一個良好的人機工程設計。它的功能強大,有很快的速度。而且它的源代碼是免費的。 實際上PGP的功能還包括: PGP可以用來加密文件,還可以用PGP代替UUencode 生成RADIX 64 格式(就是MIME 的 BASE 64格式)的編碼文件。 PGP 的創始人是美國的 Phil Zimmermann。他的創造性在於他把RSA公匙體系的方便和傳統加密體系的高速度結合起來,並且在數字簽名和密匙認證管理機制上有巧妙的設計。因此PGP成為幾乎最流行的公匙加密軟體包。 1.首先簡要介紹PGP加密系統的流程。 PGP加密系統是採用公開密鑰加密與傳統密鑰加密相結合的一種加密技術。它使用一對數學上相關的鑰匙,其中一個(公鑰)用來加密信息,另一個(私鑰)用來解密信息。 PGP採用的傳統加密技術部分所使用的密鑰稱為「會話密鑰」(sek)。每次使用時,PGP都隨機產生一個128位的IDEA會話密鑰,用來加密報文。公開密鑰加密技術中的公鑰和私鑰則用來加密會話密鑰,並通過它間接地保護報文內容。 PGP中的每個公鑰和私鑰都伴隨著一個密鑰證書。它一般包含以下內容: 密鑰內容(用長達百位的大數字表示的密鑰) 密鑰類型(表示該密鑰為公鑰還是私鑰) 密鑰長度(密鑰的長度,以二進制位表示) 密鑰編號(用以唯一標識該密鑰) 創建時間 用戶標識 (密鑰創建人的信息,如姓名、電子郵件等) 密鑰指紋(為128位的數字,是密鑰內容的提要表示密鑰唯一的特徵) 中介人簽名(中介人的數字簽名,聲明該密鑰及其所有者的真實性,包括中介人的密鑰編號和標識信息) PGP把公鑰和私鑰存放在密鑰環(KEYR)文件中。PGP提供有效的演算法查找用戶需要的密鑰。 PGP在多處需要用到口令,它主要起到保護私鑰的作用。由於私鑰太長且無規律,所以難以記憶。PGP把它用口令加密後存入密鑰環,這樣用戶可以用易記的口令間接使用私鑰。 PGP的每個私鑰都由一個相應的口令加密。PGP主要在3處需要用戶輸入口令: 需要解開受到的加密信息時,PGP需要用戶輸入口令,取出私鑰解密信息 當用戶需要為文件或信息簽字時,用戶輸入口令,取出私鑰加密 對磁碟上的文件進行傳統加密時,需要用戶輸入口令 2.以上介紹了PGP的工作流程,下面將簡介與PGP相關的加密、解密方法以及PGP的密鑰管理機制。 PGP是一種供大眾使用的加密軟體。電子郵件通過開放的網路傳輸,網路上的其他人都可以監聽或者截取郵件,來獲得郵件的內容,因而郵件的安全問題就比較突出了。保護信息不被第三者獲得,這就需要加密技術。還有一個問題就是信息認證,如何讓收信人確信郵件沒有被第三者篡改,這就需要數字簽名技術。RSA公匙體系的特點使它非常適合用來滿足上述兩個要求:保密性(Privacy)和認證性(Authentication)。 RSA(Rivest-Shamir-Adleman)演算法是一種基於大數不可能質因數分解假設的公匙體系。簡單地說就是找兩個很大的質數,一個公開即公鑰,另一個不告訴任何人,即私鑰。這兩個密匙是互補的,就是說用公匙加密的密文可以用私匙解密,反過來也一樣。 假設甲要寄信給乙,他們互相知道對方的公匙。甲就用乙的公匙加密郵件寄出,乙收到後就可以用自己的私匙解密出甲的原文。由於沒別人知道乙的私匙,所以即使是甲本人也無法解密那封信,這就解決了信件保密的問題。另一方面由於每個人都知道乙的公匙,他們都可以給乙發信,那麼乙就無法確信是不是甲的來信。這時候就需要用數字簽名來認證。 在說明數字簽名前先要解釋一下什麼是「郵件文摘」(message digest)。郵件文摘就是對一封郵件用某種演算法算出一個最能體現這封郵件特徵的數來,一旦郵件有任何改變這個數都會變化,那麼這個數加上作者的名字(實際上在作者的密匙里)還有日期等等,就可以作為一個簽名了。PGP是用一個128位的二進制數作為「郵件文摘」的,用來產生它的演算法叫MD5(message digest 5)。 MD5是一種單向散列演算法,它不像CRC校驗碼,很難找到一份替代的郵件與原件具有同樣的MD5特徵值。 回到數字簽名上來,甲用自己的私匙將上述的128位的特徵值加密,附加在郵件後,再用乙的公匙將整個郵件加密。這樣這份密文被乙收到以後,乙用自己的私匙將郵件解密,得到甲的原文和簽名,乙的PGP也從原文計算出一個128位的特徵值來和用甲的公匙解密簽名所得到的數比較,如果符合就說明這份郵件確實是甲寄來的。這樣兩個安全性要求都得到了滿足。 PGP還可以只簽名而不加密,這適用於公開發表聲明時,聲明人為了證實自己的身份,可以用自己的私匙簽名。這樣就可以讓收件人能確認發信人的身份,也可以防止發信人抵賴自己的聲明。這一點在商業領域有很大的應用前途,它可以防止發信人抵賴和信件被途中篡改。 PGP用的實際上是RSA和傳統加密的雜合演算法。因為RSA演算法計算量極大在速度上不適合加密大量數據,PGP實際上用來加密的不是RSA本身,而是採用了一種叫IDEA的傳統加密演算法。傳統加密,一般說來說就是用一個密匙加密明文,然後用同樣的密匙解密。這種方法的代表是DES,也就是乘法加密,它的主要缺點就是密匙的傳遞渠道解決不了安全性問題,不適合網路環境郵件加密需要。IDEA的加(解)密速度比RSA快得多,所以實際上PGP是以一個隨機生成密匙(每次加密不同)用IDEA演算法對明文加密,然後用RSA演算法對該密匙加密。這樣收件人同樣是用RSA解密出這個隨機密匙,再用IDEA解密郵件本身。這樣的鏈式加密就做到了既有RSA體系的保密性,又有IDEA演算法的快捷性。PGP利用這種鏈式加密,既保證了保密性,又保證了加密的速度。 PGP最核心的功能是:文件加密、通信加密和數字簽名。下面將簡介一些PGP輔助功能,它們雖然不是整個加密系統的核心,但卻起到了協調各部分和方便用戶的作用。這兒主要介紹PGP的密鑰管理機制。 一個成熟的加密體系必然要有一個成熟的密匙管理機制配套。公匙體制的提出就是為了解決傳統加密體系的密匙分配過程難以保密的缺點。如果密匙是通過網路傳送,那麼網路上其他人就可以通過監聽得到。舉個例子:Novell Netware 的老版本中,用戶的密碼是以明文在線路中傳輸的,這樣監聽者輕易就獲得了他人的密碼。當然 Netware 4.1 中數據包頭的用戶密碼現在是加密的了。對PGP來說公匙本來就要公開,就沒有防監聽的問題。但公匙的發布中仍然存在安全性問題,例如公匙的被篡改(Public Key Tampering),這可能是公匙密碼體系中最大的漏洞。必須有一種機制保證用戶所得到的公鑰是正確的,而不是別人偽造的。下面舉一個例子來說明這個問題,以及如何正確地用PGP堵住這個漏洞。
『叄』 PGP&GPG key是什麼,有什麼用
GPG和PGP是兩種加密軟體,你可以通過公鑰在網上安全的傳播自己的文件。我前些日子使用了GPG,感覺很方便,使用中也遇到了一些問題。所以把我的使用經過寫出來,目的是讓初次使用GPG的朋友少走彎路。 先說說GPG的獲得吧,GPG是開放源代碼的軟體,是完全免費的,大家可以到www.gnupg.org下載。如果使用 Mandrakelinux或Debian發行版可以直接下載。我使用的是Mandrakelinux,只要在終端中輸入urpmi gpgp就可以下載和安裝。 安裝好後我們在終端下輸入:gpg --help 可以看到GPG的版本信息和幫助。這表示GPG已經裝好了。 下面我們來生成密鑰,鍵入:gpg --gen-key 這時將出現幾個選項,需要我們來選擇: gpg (GnuPG) 1.4.0; Copyright (C) 2004 Free Software Foundation, Inc. This program comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions. See the file COPYING for details. 請選擇您要使用的密鑰種類: (1) DSA 和 ElGamal (默認) (2) DSA (僅用於簽字) (5) RSA (僅用於簽字) 您的選擇? 這個我們一般選擇1,gpg默認的也是1。 SA keypair will have 1024 bits. ELG-E keys may be between 1024 and 4096 bits long. What keysize do you want? (2048) 這個是密鑰的長度,一般輸入1024 請設定這把密鑰的有效期限。 0 = 密鑰永不過期 = 密鑰在 n 天後過期 w = 密鑰在 n 周後過期 m = 密鑰在 n 月後過期 y = 密鑰在 n 年後過期 密鑰的有效期限是?(0) 這個是指定密鑰的有效期,你可以自己選擇。 您需要一個用戶標識來辨識您的密鑰;本軟體會用真實姓名、注釋和電子郵件地址組合 成用戶標識,如下所示: 「Heinrich Heine (Der Dichter) 」 真實姓名: 電子郵件地址: 注釋: 這個是用戶標識,你可以輸入自己常用的email地址。 請輸入密碼: 這個需要為你的私鑰指定一個保護密碼,這個一定要保護好,要不然你的加密文件就會被別人輕易解開了。 好了現在GPG已經產生了你的公鑰和私鑰。 現在說說GPG能為我們做什麼,如果你想給你的朋友發送一篇論文,而不希望第三人看到。你可以這樣操作。 在終端輸入:gpg --encrypt -r Bob [文件名] Bob表示為這個收件人簽字及加密 〔文件名〕為需要加密的文件名。 然後你可以把你的公鑰發給你的朋友。導出公鑰的方法是:gpg --export>name.asc 你的朋友只要吧你的公鑰導入他的GPG,就可以解密你發給他的文件了: 解密方法是 gpg --decrypt [加過密的文件]>〔已經解密的文件〕 >為重定向符,意思是把gpg --decrypt [加過密的文件]的結果保存到〔已經解密的文件〕文件中,這要就可以看到你發的原文了。
『肆』 pgp主要基於什麼演算法來實現加密解密
點擊 解密 PGP信息 6) 輸入密碼後,點擊 確定 7) 郵件內容簽名被認證和被解密二結果分析 1 PGP主要基於什麼演算法來實現加密解密? PGP主要基於非對稱加密演算法 因為RSA演算法計算量很大而且在速度上也不適合加密大量數據,所以PGP實際上用來加密... 在使用上幾乎沒有什麼差別。但是事實上它們是完全不同的,主要體現在格式上
『伍』 pgp如何打開
PGP後綴的文件是經過PGP Desktop加密的文件。
下載PGP Desktop,安裝之後可打開。
PGP(Pretty Good Privacy),是一個基於RSA公鑰加密體系的郵件加密軟體。可以用它對郵件保密以防止非授權者閱讀,它還能對郵件加上數字簽名從而使收信人可以確認郵件的發送者,並能確信郵件沒有被篡改。它可以提供一種安全的通訊方式,而事先並不需要任何保密的渠道用來傳遞密匙。它採用了一種RSA和傳統加密的雜合演算法,用於數字簽名的郵件文摘演算法,加密前壓縮等,還有一個良好的人機工程設計。它的功能強大,有很快的速度。
參考資料:http://ke..com/link?url=NO2V_5_6bPh3lPOPAxbfkwAgOL-ZL6FMBT9I1sFE9v-2PMrY4RiWi-h-FwqY6WvnA_10bh7k5p7yZkVZihr5UK
『陸』 誰知道加密軟體PGP的加密原理是什麼
PGP是一個基於RSA公匙加密體系的郵件加密軟體。可以用它對你的郵件保密以防止非授權者閱讀,它還能對你的郵件加上數字簽名從而使收信人可以確信郵件是你發來的。它讓你可以安全地和你從未見過的人們通訊,事先並不需要任何保密的渠道用來傳遞密匙。它採用了:審慎的密匙管理,一種RSA和傳統加密的雜合演算法,用於數字簽名的郵件文摘演算法,加密前壓縮等,還有一個良好的人機工程設計。它的功能強大有很快的速度。而且它的源代碼是免費的。
實際上PGP的功能還不止上面說的:;PGP可以用來加密文件,還可以用PGP代替UUencode;生成;RADIX;64;格式(就是MIME;的;BASE;64格式)的編碼文件。
PGP;的創始人是美國的;Phil;Zimmermann。他的創造性在於他把RSA公匙體系的方便和傳統加密體系的高速度結合起來,並且在數字簽名和密匙認證管理機制上有巧妙的設計。因此PGP成為幾乎最流行的公匙加密軟體包。
PGP是一種供大眾使用的加密軟體。加密是為了安全,私密權是一種基本人權。在現代社會里,電子郵件和網路上的文件傳輸已經成為生活的一部分。郵件的安全問題就日益突出了,大家都知道在Internet上傳輸的數據是不加密的。如果你自己不保護自己的信息,第三者就會輕易獲得你的隱秘。;還有一個問題就是信息認證,如何讓收信人確信郵件沒有被第三者篡改,就需要數字簽名技術。RSA公匙體系的特點使它非常適合用來滿足上述兩個要求:
保密性(Privacy)和認證性(Authentication)。
RSA(Rivest-Shamir-Adleman)演算法是一種基於大數不可能質因數分解假設的公匙體系。簡單地說就是找兩個很大的質數,一個公開給世界,一個不告訴任何人。一個稱為「公匙」,另一個叫「私匙」(Public;key;&;Secretkey;or;Private;key)。這兩個密匙是互補的,就是說用公匙加密的密文可以用私匙解密,反過來也一樣。假設甲要寄信給乙,他們互相知道對方的公匙。甲就用乙的公匙加密郵件寄出,乙收到後就可以用自己的私匙解密出甲的原文。由於沒別人知道乙的私匙所以即使是甲本人也無法解密那封信,這就解決了信件保密的問題。另一方面由於每個人都知道乙的公匙,他們都可以給乙發信,那麼乙就無法確信是不是甲的來信。認證的問題就出現了,這時候數字簽名就有用了。
在說明數字簽名前先要解釋一下什麼是「郵件文摘」(message;digest),單地講就是對一封郵件用某種演算法算出一個能體現這封郵件「精華」的數來,一旦郵件有任何改變這個數都會變化,那麼這個數加上作者的名字(實際上在作者的密匙里)還有日期等等,就可以作為一個簽名了。確切地說PGP是用一個128位的二進制數作為「郵件文摘」的,用來產生它的演算法叫MD5(message;digest;5),MD5的提出者是Ron;Rivest,PGP中使用的代碼是由Colin;Plumb編寫的,MD5本身是公用軟體。所以PGP的法律條款中沒有提到它。MD5是一種單向散列演算法,它不像CRC校驗碼,很難找到一份替代的郵件而與原件具有一樣的「精華」。
回到數字簽名上來,甲用自己的私匙將上述的128位的「精華」加密,附加在郵件上,再用乙的公匙將整個郵件加密。這樣這份密文被乙收到以後,乙用自己的私匙將郵件解密,得到甲的原文和簽名,乙的PGP也從原文計算出一個128位的 「精華」來再用甲的公匙解密簽名得到的數比較,如果符合就說明這份郵件確實是甲寄來的。這樣兩個要求都得到了滿足。
PGP還可以只簽名而不加密,這適用於公開發表聲明時,聲明人為了證實自己的身份(在網路上只能如此了),可以用自己的私匙簽名。這樣就可以讓收件人能確認發信人的身份,也可以防止發信人抵賴自己的聲明。這一點在商業領域有很大的應用前途,它可以防止發信人抵賴和信件被途中篡改。
那麼為什麼說PGP用的是RSA和傳統加密的雜合演算法呢?因為RSA演算法計算量極大在速度上不適合加密大量數據,所以PGP實際上用來加密的不是RSA本身,而是採用了一種叫IDEA的傳統加密演算法。我先解釋一下什麼叫傳統加密,簡單地說就是用一個密匙加密明文,然後用同樣的密匙解密。這種方法的代表是DES(US;Fed eral;DataEncryption;Standard),也就是乘法加密,它的主要缺點就是密匙的傳遞渠道解決不了安全性問題,不適合網路環境郵件加密需要。
IDEA;是一個有專利的演算法,專利持有者是ETH和一個瑞士公司:Ascom-Tech;AG。
『柒』 密碼技術(十三)之PGP
————密碼技術的完美組合
PGP是於1990年穗衡左右由菲利普.季默曼(Philip Zimmermann)個人編寫的密碼軟體,現在依然在世界上被廣泛使用。PGP這個名字是Pretty Good Privary(很好的隱私)的縮寫。
PGP可以在Windows、Mac OS X、Linux等很多平台上運行,版本包括商用版和免費版。此外還有一個GNU遵照OpenGPG(RFC4880)規范編寫的叫作GnuPG(GNU privacy Guard)的自由軟體。
這里介紹的主要是根據PGP Command Line User's Guide 10.3 以及GnuPG2.1.4的內容編寫的。在詳細功能以及所支持的演算法方面,PGP和GunPG有所區別,而且不同的版本之間也會有所不同,這里介紹統一PGP為准。
OpenPGP是對密文和數字簽名格式進行定義的標准規格(RFC1991、RFC2440、RFC4880、RFC5581、RFC6637)。
1996年的RFC1991中對PGP的消息格式進行了定義。2007年的悶畢RFC4880中新增了對RSA和DSA的支持。2012年的RFC6637中新增了對橢圓曲線密碼(ECC)的支持,並且還支持基於Curve P-256、P-384和P-521三種橢圓曲線的橢圓曲線DSA和橢圓曲線Diffie-Hellman密鑰交換。
RFC6637中新增了用於比較密碼學強度的平衡的對照表。由這張表可知,例如當我們選用256比特的橢圓曲線密碼演算法時,相應低應該選用256比特的散列散發以及密鑰長度為128比特的對稱密碼演算法。
GNU Privacy Guard(GnuPG、GPG)是一款基於OpenPGP標准開發的密碼學軟體,支持加密、數字簽名、密鑰個管理、S/MIME、ssh等多種功能。GnuPG是基於GNU GPL協議發布的一款自由軟體,因此任何人都可以自由的使用它。GnuPG本身是一款命令行攻擊,但它也經常被集成到其他應用軟體中。
GnuPG 分為stable、modern和classic三個系列。
略
PGP的加密過程,如圖所示,消息經過混合密碼系統進行加密,然後轉換成報文數據(文本數據)。
這里的內容,和前面提到的混合密碼系統的結構基本上是一樣的,差異在於這里還包括了消息的壓縮以及二進制——>文本轉換(轉換為ASCII radix-64)這兩個步驟。
在上圖中,消息與相對應的簽名進行拼合,並最終轉換成報文數據(文本數據)。順便提一下,對於是否要將報文數據轉換成文本數據,在PGP是可以選擇的。
上圖展示了對消息生成數字簽名以及對消息進行壓縮和加密這兩個過程,並將兩者的結果拼合在一起形成報文數據(文本數據)。對於是否要將報文數據轉換成文本數據,在PGP中是可以選擇猜罩做的。
在使用PGP時,確認自己所得到的公鑰是否真的屬於正確的人是非常重要的,因為公鑰可能會通過中間人攻擊被替換。
證書就是由認證機構對公鑰所施加的數字簽名,通過驗證這個數字簽名就可以確認公鑰合法性。
然而,PGP中卻沒有使用認證機構,而二十採用了一種叫作 信任網 (web of trust)的方法。在這種方法中,PGP用戶會互相對對方的公鑰進行數字簽名。
信任網的要點是「不依賴認證機構」,而是建立每個人之間的信任關系。換言之,就是能夠自己決定要信任哪些公鑰。
該系列的主要內容來自《圖解密碼技術第三版》
我只是知識的搬運工
文章中的插圖來源於原著