PGP 暗号化ツール(OpenPGP)

メッセージを 1 つ以上の OpenPGP 公開鍵で暗号化し、秘密鍵で復号、Curve25519/RSA の鍵ペアも生成。ASCII アーマー形式で、ブラウザ内で動作します。

ASCII アーマー形式の公開鍵ブロックを 1 つ以上貼り付けてください。記載したすべての受信者がメッセージを復号できます。

すべてブラウザ内で実行されます。データがアップロードされることはありません。

PGP 暗号化とは?

テキストを 1 人以上の受信者の OpenPGP 公開鍵で暗号化し、GnuPG、Kleopatra、Thunderbird、ProtonMail で復号できる ASCII アーマー形式の BEGIN PGP MESSAGE ブロックを返します。このページは、openpgp.js ライブラリを使って、秘密鍵によるメッセージの復号や、テスト用の新しい鍵ペアの生成も行います。

PGP 暗号化の使い方

  1. 暗号化 タブで 1 つ以上の受信者の公開鍵(BEGIN PGP PUBLIC KEY BLOCK)を貼り付けます。確認できるようにユーザー ID とフィンガープリントが表示されます。
  2. メッセージ を書いて 暗号化 をクリックし、アーマー形式のメッセージをコピーまたはダウンロードします。
  3. メッセージを読むには 復号 を開き、秘密鍵、そのパスフレーズ(ある場合)、メッセージを貼り付けて 復号 をクリックします。
  4. まだ鍵がない場合は 鍵ペアを生成 を使い、名前またはメールアドレスと任意のパスフレーズを入力して、この公開鍵で暗号化 をクリックします。

例

入力
Message "Hello PGP" encrypted to a Curve25519 public key for "Test Recipient <test@example.com>"
出力
-----BEGIN PGP MESSAGE----- … -----END PGP MESSAGE-----

新しいランダムなセッション鍵が使われるため、アーマー形式のメッセージは実行のたびに異なります。復号すると「Hello PGP」が得られます。

PGP 暗号化を使うべき場面

PGP 鍵を公開している相手に機密メッセージを送るとき、PGP 連携をテストするとき、ソフトウェアをインストールせずに OpenPGP を試すときに使ってください。日常的な利用では、秘密鍵を GnuPG などのローカルクライアントに置いてください。ブラウザのページは長期の秘密鍵を扱う場所ではありません。このツールはメッセージへの署名や署名の検証は行いません。

PGP 暗号化の仕組み

OpenPGP(RFC 4880/9580)はハイブリッド暗号を使います。ランダムなセッション鍵が AES でメッセージを暗号化し、そのセッション鍵が各受信者の暗号化サブキー(Curve25519 の ECDH または RSA)で暗号化されます。パケットは CRC チェックサム付きで Base64 のアーマー形式になります。復号では、秘密鍵をパスフレーズで解錠し、セッション鍵を復元して、完全性保護されたデータパケットを検証します。鍵生成では、ユーザー ID に紐づく主署名鍵と暗号化サブキー(Curve25519 または RSA-4096)が作られます。

一般的な使用例

  • セキュリティ担当者が公開している PGP 鍵(security.txt)宛てのメッセージを暗号化する
  • サーバーの GnuPG 設定が OpenPGP.js の出力を復号できるかテストする
  • 同じメッセージを複数の受信者向けに一度に暗号化する
  • デモやチュートリアル用の使い捨ての鍵ペアを生成する

セキュリティ注意事項

暗号化、復号、鍵生成はすべてブラウザ内で行われ、何もアップロードされません。生成された秘密鍵は保存されないため、自分で保存してください。長期利用の秘密鍵をウェブページに貼り付けるのは避けてください。

よくある質問

GnuPG で出力を復号できますか?

はい。message.asc として保存し、受信者の鍵をキーリングに入れた状態で gpg --decrypt message.asc を実行してください。

どの鍵の種類を生成すべきですか?

ECC Curve25519 は高速でコンパクトで、GnuPG 2.1 以降とすべての最新クライアントが対応しています。RSA 4096 は非常に古いソフトウェアとの互換性が最大ですが、遅くなります。

メッセージは署名されますか?

いいえ、暗号化されるだけです。受信者は送信者を判別できません。真正性が重要な場合は、自分のクライアントで署名してください。

秘密鍵のパスフレーズを忘れたらどうなりますか?

その鍵は使えなくなり、その鍵宛てに暗号化されたメッセージは読めなくなります。復旧する方法はありません。

他のカテゴリを見る