GNU Privacy Guard
GNU Privacy Guard (GnuPG, GPG) とは、Pretty Good Privacy (PGP) の別実装として、GPL に基づいた暗号化ソフトである。OpenPGP 規格 (RFC 4880) に完全準拠しているが、古い PGP との互換性は完全ではない。
作者 | ヴェルナー・コッホ |
---|---|
開発元 | GNUプロジェクト |
初版 | 1999年9月7日[1] |
最新版 | |
リポジトリ | |
プログラミング 言語 | C言語 |
プラットフォーム | クロスプラットフォーム |
種別 | 暗号化ソフト |
ライセンス | GNU General Public License |
公式サイト | gnupg |
開発
GnuPG の開発は ヴェルナー・コッホ(Werner Koch) によって始められた。現在では David Shaw と Timo Schulz も加わっている。また、g10 Code が Werner Koch と Timo Schulz を資金面で援助している。
バージョン 1.0.0 は 1999 年にリリースされ、それ以降 2002 年の 1.2.0 や 2004 年の 1.4.0 のように、安定版は最初の小数部分が偶数になるバージョンでリリースされている。
一方、 S/MIME 機能の導入を目的とした別系列の開発版が 1.9 系列として開発が進められていた。この系列は2006年11月23日に 2.0 としてリリースされた。
2014年11月、楕円曲線暗号のサポートなど新しいOpenPGP規格に準拠した 2.1 系列がリリースされた。
2.0 系列、2.2/2.1 系列と並行して 1.4 系列のサポートは継続しており、1.4 系列は 2.2/2.1 系列あるいは 2.0 系列と同時にインストール、独立して運用することが可能である。2.2/2.1 系列と 2.0 系列を同時にインストールすることはできない[4]。
系列
2022年8月現在、GnuPG には 3 つの系列が存在する。
- "Stable" (2.3): 最新の安定版。初版リリースは2021年4月8日[5]。
- "LTS" (2.2): 2017年8月28日に、2.2.0として新たな安定版となった[6]。初版リリースは2014年11月6日[4]。サポート終了は2024年12月31日の予定。
- "Legacy" (1.4): 旧来のスタンドアロン版。古いシステムや組み込み用途に適している。初版リリースは2004年12月16日[7]。
既にサポートが終了した系列は 3 つ存在する。
利用形態
GnuPG は数多くの OS に含められてきた。
また、GUI のフロントエンドも開発されており、KMail や Evolution といった電子メールクライアントに統合されたものや、KDE の KGpg や GNOME の Seahorse のように単独のアプリケーションもある。これらフロントエンドの多くは GnuPG 開発者が用意した GPGME (GnuPG Made Easy) ライブラリを利用している。
アルゴリズム
GnuPG は、特許で制限されているアルゴリズムを含めていない。
したがって、従来の GnuPG では、PGP の過去のバージョンで標準で用いられていた International Data Encryption Algorithm (IDEA) を使うことができず、使用にはプラグインが必要であったが、各国における IDEA の特許切れ[13]に伴い、1.4.13/2.0.20 から IDEA が含まれるようになった[14][15]。これは、過去のコンテンツの署名検証、復号および古いPGPからGnuPGへの移行といった互換性維持のための最低限のサポートであり、既定では新しい鍵の作成における選択肢には現れない[16]。
RSA は 2000 年に特許が切れたので、1.0.3 から含まれるようになった[17]。
また、1.4.10/2.0.12 から Camellia も含まれるようになった[18]。
2.1系列以降では楕円曲線暗号(楕円曲線DSA (ECDSA)、楕円曲線ディフィー・ヘルマン鍵共有 (ECDH)、エドワーズ曲線デジタル署名アルゴリズム (EdDSA))に対応する[4]。
2022年時点での安定版である2.3系列および長期サポート版 (LTS) である2.2系列において対応しているアルゴリズムは、下記のとおりである。