GnuPG (GNU Privacy Guard) は,RFC4880 で定義された OpenPGP 標準の GNU プロジェクトによる完全かつフリーな実装である (www.gnupg.org).
GnuPG は,データや通信を暗号化したり署名を付与したりする機能.および鍵の管理システムを持っている.GnuPG はメーラにメールの暗号化・復号機能を付加するためにも利用される (Thunderbird 78 より,OpenPGP が標準でサポートされディジタル署名と暗号化メールが利用できる). GnuPG のバージョン 2 は,S/MIME に対するサポートも提供する.
以下,主要な GnuPG コマンドの仕様と使い方の例を示す.
gpg [options] command [args]
gpg --gen-key鍵の種類と所有者を特定するため,以下の情報の入力が求められる.
gpg --list-keys
gpg --output revoke.asc --gen-revoke mykey破棄証明書による鍵の取り消しは.以下により行える.この破棄した公開鍵を公開鍵サーバに送るとその鍵は破棄される.
gpg --import revoke.asc
gpg --armor --output alice.gpg --export alice@cipher.org
gpg --import bob.gpg
gpg --sign-key bob@cipher.org
gpg --edit-key bob@cipher.org
gpg --output doc.gpg --encrypt --recipient bob@cipher.org doc
gpg --output doc --decrypt doc.gpg
gpg --output doc.gpg --symmetric encrypt doc
gpg --output doc.sig --sign doc gpg --output doc.sig --detach-sig doc // for detached signature
gpg --verify doc.sig gpg --verify doc.sig doc // for detached signature