GNU Privacy Guard(GnuPG 或 GPG)是一个密码学软件,用于加密、签名通信内容及管理非对称密码学的密钥。GnuPG 是自由软件,遵循 IETF 订定的 OpenPGP 技术标准设计,并与 PGP 保持兼容。
GNU Privacy Guard(GnuPG 或 GPG)是一个密码学软件,用于加密、签名通信内容及管理非对称密码学的密钥。GnuPG 是自由软件,遵循 IETF 订定的 OpenPGP 技术标准设计,并与 PGP 保持兼容。
历史
GnuPG 的早期版本由维尔纳·科赫开发,经过近两年迭代后于 1999 年 9 月 7 日正式发布 1.0.0 版。软件实现遵循 OpenPGP 标准,兼容菲尔·齐默尔曼开发的 PGP。2000 年,德国联邦经济及科技部资助了 31.8 万马克,用于移植 GnuPG 到 Microsoft Windows。
德国政府于 2005 年资助开发 S/MIME。GnuPG 2.0 于 2006 年 11 月 13 日发布,加入了 S/MIME-多用途网际邮件扩充协议(Secure Multipurpose Internet Mail Extensions. RFC 2311)。因为 GnuPG 2.0 的新的软件架构不支持某些用途,所以 1.x 与 2.0 是两个分支版本。此外 GnuPG 1.x 使用了一个集成的加密库,而 GnuPG 2.x 则用 Libgcrypt 取代了加密库。
使用
虽然基本的 GnuPG 程序有一个命令行界面,仍然存在许多提供图形用户界面的前端。例如 GnuPG 加密被集成进了 Linux 里流行的桌面环境 KDE 和 GNOME 里的图形化电子邮件客户端:KMail 和 Novell Evolution。也有 GnuPG 的图形化前端(GNOME 里的 Seahorse,KDE 里的 KGpg 和 Kleopatra)。
在 Mac OS X 上,Mac GPG 项目提供 Aqua 作为操作系统集成的加密前端和密钥管理器和 GnuPG 安装一样通过 Installer packages 进行安装。此外,GPGMail 项目可以使 Apple Mail 使用 GnuPG 加密。Instant messaging 程序,例如,当 GnuPG 已经安装并配置好了时,Psi 和 Fire 可以自动安全的传递消息。
像 Horde 这类的基于互联网的软件也可以使用 GnuPG。跨平台插件 Enigmail 为 Mozilla Thunderbird 和 SeaMonkey 提供了 GnuPG 支持。类似的,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 系统上安装和使用。
过程
GnuPG 使用用户自行生成的非对称密钥对来加密信息,由此产生的公钥可以同其他用户以各种方式交换,如密钥服务器。他们必须小心交换密钥,以防止得到伪造的密钥。GnuPG 还可以向信息添加一个数字签名,这样,收件人可以验证信息完整性和发件人。
GnuPG 支持的各种加密算法:
对称加密: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数字签名:DSA、RSA、ECDSA、EdDSA