必威电竞|足球世界杯竞猜平台

GnuPG
來源:互聯網

GnuPG就是用來加密數據與制作證書的一套工具,其作用與PGP類似。但是PGP使用了許多專利算法,屬于美國加密出口限制之列。GnuPG是GPL軟件,并且沒有使用任何專利加密算法,所以使用起來有著更多的自由。

軟件簡介

GnuPG是實現安全通訊和數據存儲的一系列工具集,可以做加密數據和做數字簽名之用。在功能上,它和PGP是一樣的。由于PGP使用了IntelliJ IDEA專利算法,所以使用PGP會有許可證的麻煩。但是GnuPG并沒有使用這個算法,所以對用戶來說使用GnuPG沒有任何限制。GnuPG使用非對稱加密算法,安全程度比較高。所謂非對稱加密算法,就是每一個用戶都擁有一對密鑰:公鑰和私鑰。其中,密鑰由用戶保存,公鑰則由用戶盡可能地散發給其他人。

軟件特點

- 完全兼容 PGP

- 沒有使用任何專利算法,沒有專利問題

- 遵循GNU公共許可證

- 與OpenPGP兼容

- 使用廣泛,安全性高于PGP2,可以加密校驗和PGP5.x格式的信息

- 支持多種加密算法

- 支持擴展模塊

- 用戶標識遵循標準結構

- 多語言支持(尚未支持中文)

- 在線幫助系統

- 支持匿名信息接收

- 支持HKP密鑰服務

- 擁有眾多的GUI界面支持

- GnuPG的源代碼可以在http://www.gnu.org/downloadHTML取得

GnuPG是GNU項目的一部分,并于1999年獲得了德國政府的主要資助。GnuPG 1.x系列使用集成的加密庫,而GnuPG 2.x系列則用Libgcrypt替換了這個庫。GnuPG還支持對稱加密算法,自版本2.1以來默認使用AES對稱算法。GnuPG不使用受專利或受限制的軟件或算法,而是使用各種其他非專利算法。長時間以來,它不支持PGP中使用的IntelliJ IDEA加密算法,但自版本1.4.13和2.0.20開始,由于IDEA的最后一個專利于2012年到期,GnuPG開始支持IDEA。

版本更新

GnuPG的更近期版本2.x(“現代”和現在不推薦使用的“穩定”系列)公開了Libgcrypt(其加密庫)提供的大多數加密功能和算法,包括對橢圓曲線加密(ECDH、ECDSA和EdDSA)的支持。至于算法,截至2.3或2.2版本,GnuPG支持多種公鑰、對稱和哈希算法,以及壓縮方法。

自穩定的GnuPG 2.3版本發布以來,從2021年10月的2.3.3版本開始,GnuPG有三個穩定分支在積極維護:穩定分支(2.3)、LTS(長期支持)分支(2.2)和舊的傳統分支(1.4)。不同的GnuPG 2.x版本不能同時安裝,但可以與“經典”GnuPG版本(即來自1.4分支)一起安裝。

GnuPG的歷史與OpenPGP標準緊密相關,它旨在與PGP相互操作,PGP是由Phil Zimmermann最初設計和開發的電子郵件加密程序。2014年2月7日,GnuPG的眾籌活動結束,籌集了36,732歐元,用于新網站和基礎設施改進。

盡管基本的GnuPG程序具有命令行界面,但存在各種提供圖形用戶界面的前端。例如,GnuPG加密支持已集成到KMail和evolution中,這是KDE和GNOME中最流行的Linux桌面上找到的圖形電子郵件客戶端。還有圖形GnuPG前端,例如GNOME的Seahorse和KDE的KGPG和Kleopatra。

GPGTools提供了一些用于OS集成加密和密鑰管理的前端,以及通過Mac OS的安裝程序包安裝GnuPG。GPG Suite安裝了所有相關的OpenPGP應用程序(GPG Keychain)、插件(GPG Mail)和依賴項(MacGPG),以及GPG Services(集成到macOS服務菜單)以使用基于GnuPG的加密。

當安裝和配置了GnuPG時,即時通訊應用程序(如Psi和Fire)可以自動保護消息。基于Web的軟件,如Horde,也可以使用它。跨平臺擴展Enigmail為Mozilla Thunderbird和SeaMonkey提供了GnuPG支持。類似地,Enigform為Mozilla Firefox提供了GnuPG支持。FireGPG于2010年6月7日停止。

2005年,g10 Code GmbH和Intevation GmbH發布了Gpg4win,這是一個軟件套件,包括Windows版的GnuPG、GNU隱私助手和Windows資源管理器和Outlook的GnuPG插件。這些工具包裝在標準的Windows安裝程序中,使得在Windows系統上安裝和使用GnuPG更加容易。

歷史上,GnuPG曾因處理數字簽名消息的方法中的錯誤而引入安全漏洞,但這些漏洞在發現后已被修復。例如,2003年的一個漏洞影響了GnuPG版本1.0.2至1.2.3,但影響范圍有限。2006年初發現的兩個漏洞也在公布時已提供了更新版本的GnuPG。2017年6月,Libgcrypt中的一個漏洞(CVE-2017-7526)允許對RSA-1024進行完全密鑰恢復,對RSA-2048的密鑰進行了超過1/8的恢復。2017年10月,ROCA漏洞影響了YubiKey 4令牌生成的RSA密鑰。大約在2018年6月,SigSpoof攻擊被公布。2021年1月,Libgcrypt 1.9.0發布,發現其中包含一個簡單利用的嚴重漏洞,10天后發布了Libgcrypt 1.9.1的修復版本。

安裝方法

首先要取得GnuPG的源代碼,然后執行如下操作:

1.解開源代碼包:

tar xvzf gnupg-version.tar.gz

cd gnupg-version

./configure

2.編譯源代碼

make

3.檢驗生成的工具

make check

4.安裝工具包

make install

使用方法

1.生成密鑰

使用GnuPG之前必須生成密鑰對(公鑰和私鑰),參數選項"--gen-key"可以生成密鑰對。可按如下步驟操作。

gpg --Gen.Gkey

2.證書的回收

當您的密鑰對生成之后,您應該立即做一個公鑰回收證書,如果您忘記了您的私鑰的口令或者您的私鑰丟失或者被盜竊,您可以發布這個證書來聲明以前的公鑰不再有效。生成回收證書的選項是"--gen-revoke"。

gpg --output revoke.asc --gen-revoke mykey

其中mykey 參數是可以表示的密鑰標識,產生的回收證書放在revoke.asc文件里,一旦回收證書被發放,以前的證書就不能再被其他用戶訪問,因此以前的公鑰也就失效了。

3.密鑰列表

gpg --list-Keys

4.輸出公鑰

您可以輸出您的公鑰供您的主頁使用,也可以把它放在密鑰服務器上,當然,還可以使用于其他的途徑。在您使用此公鑰之前您首先要導出它。選項 --export 可以實現這個功能,在使用這個選項時,還必須使用附加的選項指明您要輸出的公鑰。

下面的命令表示以二進制格式輸出公鑰:

gpg --output kapil.gpg --export somebody@南非廣播公司

如下命令表示以ASCII字符格式輸出:

gpg --output kapil.gpg --export --armor somebody@sa.b.c

5.導入公鑰

可以把從第三方的公鑰數據庫中得到的公鑰導入您的私有數據庫,在與他人進行通訊時使用。

gpg --import < filename >

其中,參數filename為公鑰文件。

6.確認密鑰

導入密鑰以后,使用數字簽名來驗證此證書是否合法。查看數字簽名使用 --fingerprint 選項。

gpg --fingerprint < UID >

其中,UID 為您要驗證的公鑰。

7.密鑰簽名

導入密鑰之后,可以使用 --sign-key 選項進行簽名,簽名的目的是證明您完全信任這個證書的合法性。

gpg --sign-key < UID >

其中,UID 是要簽名的公鑰。

8.檢查簽名

gpg --check-sigs < UID >

這個選項可以列出此密鑰文件的所有的簽名。

9.加密和解密

加密和解密一個文件非常容易,如果您要給Red Hat發送一個加密文件,您可以使用redhat的公鑰加密這個文件,并且這個文件也只有redhat使用自己的密鑰才可以解密查看。

加密一個文件可以使用下面的指令

gpg --sear < UID > < file >

其中,UID是對方的公鑰,file為您要加密的文件。

如果您要解開一個其他用戶發給您的文件可以使用下面的指令:

gpg -d < file >

其中,File是您要解密的文件。解密過程中,GnuPG會提示您輸入使用密鑰所需要的口令,也就是在產生私鑰時您所輸入的口令。

參考資料 >

生活家百科家居網