GPG 【GNU Privacy Guard】 GnuPG
概要
GPG(GNU Privacy Guard)とは、データを暗号化してやり取りするソフトウェアの一つ。PGP(Pretty Good Privacy)のオープンソース実装としてGPLに基づいて公開されている。ランダムに生成した暗号鍵を用いて共通鍵暗号でファイルを暗号化することができる。誰かとメッセージを交わしたい場合に、相手方の公開鍵でこの暗号鍵を暗号化して暗号文と共に送信すれば、安全にメッセージを送信することができる。受信者は自分の秘密鍵で暗号鍵を復号し、これを用いてメッセージ本体を復号する。
公開鍵暗号を応用した電子署名の機能もあり、メッセージに自らの秘密鍵を用いて署名を生成して添付したり、受信したメッセージに添付された署名を送信者の公開鍵で検証することができる。署名によりメッセージが改竄されておらず、送信者がなりすましの偽物ではないことを確認できる。
この仕組みはもともと1991年に発表された「PGP」のものだったが、これはオープンソースではなく企業の製品だったため、GNUプロジェクトがオープンソースとして自由に利用できる互換ソフトウェアとして1999年にGPGを発表した。PGPの仕様を整理して公開した「OpenPGP」規格に則っているが、オリジナルのPGPとの互換性は完全ではない。
公開鍵暗号およびデジタル署名アルゴリズムとしてはRSA、ElGamal暗号、DSA、ECDH、ECDSA、EdDSAなどに対応しており、共通鍵暗号としてはAES、3DES、IDEA、Camelliaなどに対応している。特許技術に依存しない開発方針のため、IDEAやRSAなどは特許の期限切れを待って実装された。
(2024.8.1更新)