GnuPG

此條目可参照英語維基百科相應條目来扩充。
若您熟悉来源语言和主题，请协助参考外语维基百科扩充条目。请勿直接提交机械翻译，也不要翻译不可靠、低品质内容。依版权协议，译文需在编辑摘要注明来源，或于讨论页顶部标记`{{Translated page}}`标签。

|

GNU Privacy Guard

原作者| 維爾納·科赫
開發者| GNU計劃
首次发布| 1999年9月7日，​25年前​（1999-09-07）[1]
当前版本|

* 2.2.43（2024年4月16日；長期支援）[2]
* 2.4.7（2024年11月25日；穩定版本）[3]
* 2.5.6（2025年5月9日；預發佈版本）[4]

源代码库|

* dev.gnupg.org/source/gnupg.git

编程语言| C語言
操作系统| Microsoft Windows、macOS、RISC OS、Android、Linux
前任| PGP
标准| OpenPGP
类型| 密碼學軟體
许可协议|

* GNU通用公共许可证3.0或更高版本

网站| gnupg.org

GNU Privacy Guard（GnuPG 或 GPG）是一个密码学软件，用于加密、签名通信内容及管理非对称密码学的密钥。GnuPG 是自由软件，遵循 IETF 訂定的 OpenPGP 技術標準設計，并与 PGP 保持兼容。[5]

GnuPG 是自由軟件基金會的 GNU 計劃的一部份，曾受德國政府資助。[6]

## 歷史

[编辑]

GnuPG 的早期版本由維爾納·科赫开发，经过近两年迭代后于1999年9月7日正式发布1.0.0版[1]。软件实现遵循 OpenPGP 标准，兼容菲爾·齊默爾曼开发的 PGP。2000年，德國聯邦經濟及科技部資助了31.8万马克，用于移植 GnuPG 到 Microsoft Windows。[7]

德国政府于2005年资助开发 S/MIME。GnuPG 2.0 於2006年11月13日發佈加入了，S/MIME。因為 GnuPG 2.0 的新的軟件架構不支援某些用途，所以 1.x 與 2.0 是兩個分支版本。[8]此外 GnuPG 1.x 使用了一个集成的加密库，而 GnuPG 2.x 则用 Libgcrypt 取代了加密库。

GnuPG 还支持对称加密算法。默认情况下，GnuPG 从 2.1 版开始使用 AES 对称算法[9]，早期版本中使用了 CAST5。GnuPG 不使用专利或其他受限制的软件或算法。相反，GnuPG 使用了多种其他非专利算法。[10]

很长一段时间，它都不支持 PGP 中使用的 IDEA 加密算法。事实上，可以通过下载其插件在 GnuPG 中使用 IDEA，但是，在 IDEA 获得专利的国家中，某些用途可能需要获得许可。从 1.4.13 版和 2.0.20 版开始，GnuPG 支持 IDEA，因为 IDEA 的最后一个专利于 2012 年到期。对 IDEA 的支持旨在“摆脱所有试图解密旧数据或将密钥从 PGP 迁移到 GnuPG 的人的问题”[11]，因此不建议常规使用。

GnuPG 2.x 的最近版本（“现代”和现已弃用的“稳定”版本）公开了 Libgcrypt（其使用的密码库）提供的大多数加密函数和算法，包括在“现代”版本（即自 GnuPG 2.1 以来）中对椭圆曲线加密 (ECDH、ECDSA 和 EdDSA) [12]的支持。

## 使用

[编辑]

虽然基本的 GnuPG 程序有一个命令行界面，仍然存在许多提供图形用户界面的前端。例如 GnuPG 加密被集成进了 Linux 裡流行的桌面环境 KDE 和 GNOME 裡的图形化電子郵件用戶端：KMail 和 Novell Evolution。也有 GnuPG 的图形化前端（GNOME 裡的 Seahorse（英语：Seahorse (software)），KDE 裡的 KGpg 和 Kleopatra）。在 Mac OS X 上，Mac GPG 项目提供 Aqua 作为操作系统集成的加密前端和密钥管理器和 GnuPG 安装一样通过 Installer packages 进行安装。[13]此外，GPGMail 项目[14]可以使 Apple Mail 使用 GnuPG 加密。即时通信(IM)程序，例如，当 GnuPG 已经安装并配置好时，Psi 和 Fire 可以自动安全的传递消息。像 Horde（英语：Horde (Software)） 这类基于互联网的软件也可以使用 GnuPG。跨平台插件 Enigmail 为 Mozilla Thunderbird 和 SeaMonkey 提供了 GnuPG 支持。类似的，Enigform（英语：Enigform）和 FireGPG 为 Mozilla Firefox 提供了 GnuPG 支持。Mailvelope 为在浏览器中使用 GnuPG 操作电子邮件提供了支持。

在2005年，G10 Code和 Intevation 发行了 Gpg4win，一个包含 GnuPG for Windows, WinPT, Gnu Privacy Assistant 和为 Windows Explorer 和 Outlook 提供的 GnuPG 插件的 mail 软件套装。这些工具被包装进了一个标准的微软安装包裡，使 GnuPG 可以在 Windows 系统上安装和使用。

## 漏洞

[编辑]

2003 年，由于对 GnuPG 的一次更新中出现了错误，导致了一个安全漏洞[15]。不过它只影响了一种对消息进行数字签名的办法且只影响 GnuPG（1.0.2 到 1.2.3）的一些发布版本。受影响的密钥少于1000个[16]，绝大多数人也不使用这种方法。因此造成的损害（如果有的话，因为尚未公开报告过）似乎很小。在此发现之后发布的 GnuPG 版本（1.2.4 及更高版本）中已经删除了对这种方法的支持。

2006 年初又发现了两个漏洞；第一个是对 GnuPG 进行脚本化以进行签名验证可能会导致误报[17]， 第二个是非 MIME 消息容易受到数据注入[18]，这些数据虽然没有被数字签名覆盖，但会被报告为签名消息的一部分。

2021 年 1 月，Libgcrypt 1.9.0 版发布，其中包含一个简单的严重漏洞。10 天后，在 Libgcrypt 1.9.1 中发布了修复程序。

## 過程

[编辑]

GnuPG 使用使用者自行生成的非對稱密鑰對來加密信息，由此產生的公鑰可以同其他使用者以各種方式交換，如密鑰伺服器。他們必須小心交換密鑰，以防止得到偽造的密鑰。GnuPG 還可以向信息添加一個數位簽名，這樣，收件人可以驗證信息完整性和發件人。

GnuPG 支援的各種加密算法：

* 對稱加密：CAST5（英语：CAST5）、Camellia、Triple DES、AES、Blowfish、Twofish、ChaCha20、IDEA (从 1.4.13 和 2.0.20 开始被添加)
* 非對稱加密：ElGamal、RSA、DSA、ECDSA、EdDSA
* 密码散列函数：RIPEMD-160、MD5、SHA-1、SHA-2、Tiger（英语：Tiger (cryptography)）
* 數字簽名：DSA、RSA、ECDSA、EdDSA

## 應用程式支援

[编辑]

支援 GPG 的應用程式、前端及瀏覽器擴充套件：

* Claws Mail
* Enigform
* Enigmail
* FireGPG[19]
* Gpg4win
* Gpg4usb
* GpgFrontend
* GPGServices
* GPGshell
* GPGTools
* KGPG
* MCabber
* Mutt
* Psi (軟件)
* WinPT
* Mailvelope

## 參見

[编辑]

* PGP
* 加密技術
* 密碼學

## 參考資料

[编辑]

1. ^ 1.0 1.1 Release Notes. GnuPG.  [2020-02-05]. （原始内容存档于2014-02-09）.
2. ^ Noteworthy changes in version 2.2.43. 2024年4月16日  [2024年5月27日].
3. ^ 維爾納·科赫. GnuPG 2.4.7 and Gpg4win 4.4.0 released. 2024年11月28日  [2024年11月28日] （英語）. 引文格式1维护：未识别语文类型 (link)
4. ^ 維爾納·科赫. [Announce] GnuPG 2.5.6 and Gpg4win-5-Beta190 released. 2025年5月9日  [2025年5月15日].
5. ^ Project, The People of the GnuPG. GnuPG Frequently Asked Questions. www.gnupg.org. 2018-02-14  [2019-05-04]. （原始内容存档于2015-04-29） （英语）.
6. ^ online, heise. Bundesregierung fördert Open Source. heise online.  [2019-05-04]. （原始内容存档于2017-12-22） （德语）.
7. ^ Germany Awards Grant for Encryption. archive.nytimes.com.  [2019-05-04]. （原始内容存档于2018-04-05）.
8. ^ GnuPG-2.0 released.  [2009-05-02]. （原始内容存档于2014-02-14）.
9. ^ [Announce] The maybe final Beta for GnuPG 2.1. lists.gnupg.org.  [2024-05-02]. （原始内容存档于2019-05-02）.
10. ^ Project, The People of the GnuPG. GnuPG - Related Software. www.gnupg.org. 2017-03-23  [2024-05-02]. （原始内容存档于2009-10-04） （英语）.
11. ^ Koch, Werner. GnuPG 1.4.13 released. Fri Dec 21 12:18:11 CET 2012  [2024-05-02]. （原始内容存档于2018-01-11）. 请检查`|date=`中的日期值 (帮助)
12. ^ [Announce] GnuPG 2.1.0 "modern" released. lists.gnupg.org.  [2024-05-02]. （原始内容存档于2018-02-19）.
13. ^ Mac GNU Privacy Guard. SourceForge.  [2008-04-29]. （原始内容存档于2017-10-17）.
14. ^ GPGMail project. GitHub.  [2010-07-28]. （原始内容存档于2020-10-30）.
15. ^ Phong NGUYEN -- Publications. www.di.ens.fr.  [2024-05-02]. （原始内容存档于2017-12-04）.
16. ^ [Announce] GnuPG's ElGamal signing keys compromised. lists.gnupg.org.  [2024-05-02]. （原始内容存档于2018-02-19）.
17. ^ [Announce] False positive signature verification in GnuPG. lists.gnupg.org.  [2024-05-02]. （原始内容存档于2018-02-19）.
18. ^ [Announce] GnuPG does not detect injection of unsigned data. lists.gnupg.org.  [2024-05-02]. （原始内容存档于2018-02-19）.
19. ^ getfiregpg.org.  [2015-08-10]. （原始内容存档于2020-05-10）.

## 外部連結

[编辑]

維基教科書中的相關電子教程：GPG

官方网站 （英文）

* 查
* 论
* 编

GNU计划

历史|

* GNU宣言
* 自由软件基金会
* 欧洲（英语：Free Software Foundation Europe）
* 印度（英语：Free Software Foundation of India）
* 拉丁美洲（英语：Free Software Foundation Latin America）
* 自由开源软件历史

许可证|

* GNU通用公共许可证
* GNU宽通用公共许可证
* GNU Affero通用公共许可证
* GNU自由文档许可证
* GPL链接例外

软件|

* GNU
* 变种
* Hurd
* Linux-libre
* glibc
* Bash
* Coreutils
* findutils
* 构建系统
* GCC
* binutils
* GDB
* GRUB
* GNOME
* GNUstep
* GIMP
* Jami
* GNU Emacs
* GNU TeXmacs
* GNU Octave
* GNU R
* GSL
* GMP
* GNU Electric（英语：Electric (software)）
* GNU Archimedes（英语：GNU Archimedes）
* GNUnet（英语：GNUnet）
* GNU Privacy Guard
* Gnuzilla
* IceCat
* GNU Health
* GNUmed
* GNU LilyPond
* GNU Go
* GNU Chess
* Gnash
* Guix
* Guix系統發行版（英语：Guix System Distribution）
* 更多...

公众发言人|

* Alexandre Oliva
* Benjamin Mako Hill
* Bradley M. Kuhn
* 伊本·莫格林
* Georg C. F. Greve
* Loïc Dachary
* Ricardo Galli
* 理查德·斯托曼
* Robert J. Chassell
* John Sullivan

其它议题|

* GNU/Linux命名爭議
* 《操作系统革命》
* 自由软件基金会反Windows运动
* 设计式缺陷

* 查
* 论
* 编

加密軟體（英语：Encryption software）

電子郵件用戶端|

* 郵件
* Autocrypt
* Claws Mail
* Enigmail
* GPG
* Gpg4win
* Kontact
* Outlook
* p≡p（英语：Pretty_Easy_privacy）
* PGP
* Sylpheed
* Thunderbird

安全通信（英语：Secure communication）|

| OTR|

* Adium
* BitlBee（英语：BitlBee）
* Centericq（英语：Centericq）
* ChatSecure
* climm（英语：climm）
* Jitsi
* Kopete
* MCabber（英语：MCabber）
* Profanity（英语：Profanity (instant messaging client)）

|

SSH|

* Dropbear
* Lsh
* OpenSSH
* PuTTY
* PieTTY
* SecureCRT
* WinSCP
* wolfSSH（英语：wolfSSH）

TLS & SSL(比较)|

* Bouncy Castle（英语：Bouncy Castle (cryptography)）
* Botan（英语：Botan (programming library)）
* cryptlib（英语：cryptlib）
* GnuTLS
* JSSE（英语：Java Secure Socket Extension）
* MatrixSSL
* NSS
* OpenSSL
* BoringSSL
* LibreSSL
* Mbed TLS
* RSA BSAFE（英语：RSA BSAFE）
* SChannel
* SSLeay
* Stunnel
* WolfSSL

VPN|

* Check Point VPN-1（英语：Check Point VPN-1）
* Hamachi（英语：LogMeIn Hamachi）
* Openswan
* OpenVPN
* SoftEther VPN
* StrongSwan
* Tinc
* WireGuard

ZRTP（英语：ZRTP）|

* CSipSimple（英语：CSipSimple）
* Jitsi
* Linphone
* Jami
* Zfone（英语：Zfone）

P2P|

* 比特信
* RetroShare（英语：RetroShare）
* Tox

DRA|

* Matrix
* OMEMO
* Cryptocat
* ChatSecure
* Proteus（英语：Wire Swiss）
* Signal协议
* Facebook Messenger
* Google Allo
* Messages (Google)
* Signal
* TextSecure
* WhatsApp

磁盘加密(比较（英语：Comparison of disk encryption software）)|

* BestCrypt（英语：BestCrypt）
* BitLocker
* CrossCrypt（英语：CrossCrypt）
* Cryptoloop（英语：Cryptoloop）
* DiskCryptor（英语：DiskCryptor）
* dm-crypt
* DriveSentry（英语：DriveSentry）
* E4M（英语：E4M）
* ECryptfs
* FileVault
* FreeOTFE（英语：FreeOTFE）
* GBDE（英语：GBDE）
* geli（英语：geli (software)）
* LUKS
* PGPDisk（英语：PGPDisk）
* Private Disk（英语：Private Disk）
* Scramdisk（英语：Scramdisk）
* Sentry 2020（英语：Sentry 2020）
* TrueCrypt
* 历史（英语：TrueCrypt version history）
* VeraCrypt

匿名软件|

* GNUnet（英语：GNUnet）
* I2P
* Java Anon Proxy
* Tor
* Vidalia
* RetroShare（英语：RetroShare）
* Ricochet（英语：Ricochet (software)）
* Wickr

文件系统 (列表（英语：List of cryptographic file systems）)|

* EncFS
* EFS
* ECryptfs
* LUKS（英语：Linux Unified Key Setup）
* PEFS（英语：PEFS）
* Rubberhose（英语：Rubberhose (file system)）
* StegFS（英语：StegFS）
* Tahoe-LAFS（英语：Tahoe-LAFS）

安全聚焦作業系統（英语：Security-focused operating system）|

* Tails

服務供應商|

* 自由网
* Tresorit（英语：Tresorit）
* Wuala（英语：Wuala）

教学|

* CrypTool（英语：CrypTool）

相关主题|

* 密碼學主題列表
* 密码学时间线（英语：Timeline of cryptography）
* 散列函數
* 加密散列函数
* 列表（英语：List of hash functions）
* 端到端加密
* S/MIME

* 分类
* 共享资源

*[查]: 查看该模板
*[论]: 讨论该模板
*[编]: 编辑该模板