機能の説明
このツールは、ブラウザー内で完全に動作する OpenPGP.js を使って、PGP(Pretty Good Privacy)の公開鍵・秘密鍵ペアでメッセージを暗号化・復号できます。データはどのサーバーにも送信されません — すべての暗号操作はクライアントサイドで行われます。
PGP は公開鍵暗号を使います:公開鍵はオープンに共有し、誰でもあなた宛てのメッセージを暗号化できるようにします。そして対応する秘密鍵を持つあなただけが、それを復号できます。これは暗号化メール(PGP/MIME)、署名付きソフトウェアリリース、安全なファイル転送で使われているのと同じ技術です。
ツールが対応するのは:
- Encrypt — 受信者の公開鍵と平文メッセージを貼り付け → ASCII アーマーされた PGP 暗号文を取得
- Decrypt — 秘密鍵(+ 任意のパスフレーズ)と暗号化メッセージを貼り付け → 元の平文を取得
- 鍵の検査 — 任意の PGP 鍵(公開・秘密)を貼り付けて、所有者の識別情報、フィンガープリント、アルゴリズム、作成日を確認
使い方
メッセージを暗号化する
- Encrypt モードを選択します。
- 受信者の ASCII アーマーされた公開鍵を最初のテキストエリアに貼り付けます。鍵の情報(ユーザー ID、フィンガープリント、アルゴリズム)が自動的に表示されます。
- 平文メッセージを入力または貼り付けます。
- Encrypt message を押します。出力欄に ASCII アーマーされた暗号文が現れます — Copy ボタンでコピーして、受信者に送りましょう。
メッセージを復号する
- Decrypt モードを選択します。
- ASCII アーマーされた秘密鍵を貼り付けます。
- 秘密鍵がパスフレーズで保護されている場合は、パスフレーズを入力します。
- 暗号化メッセージ(
-----BEGIN PGP MESSAGE-----ブロック)を貼り付けます。 - Decrypt message を押します。出力欄に元の平文が現れます。
例
“Meeting at 3pm” を Alice 宛てに暗号化する場合:
- 受信者の公開鍵:Alice の RSA 鍵(フィンガープリントが表示されます)
- メッセージ:
Meeting at 3pm - 出力:
-----BEGIN PGP MESSAGE-----...-----END PGP MESSAGE-----
Alice は自分の秘密鍵 + パスフレーズで復号 → Meeting at 3pm
代わりに Bob の鍵で復号を試みる → エラー(暗号文は Alice の鍵宛てに封印されているため)。
補足事項
- サーバーとの接触ゼロ。 暗号化も復号も、OpenPGP.js によってブラウザー内で実行されます。インターネットから切断しても、ツールは動作し続けます。
- ASCII アーマーが標準です。 PGP の出力は、
base64base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
エンコードされた内容とチェックサムとともに-----BEGIN PGP ...-----/-----END PGP ...-----ブロックでラップされます。そのため、メール、チャット、任意のテキストチャネルに安全に貼り付けられます。 - 公開鍵は共有しても安全です。 あなたの公開鍵を持つ誰でもあなた宛てのメッセージを暗号化できますが、復号はできません — それができるのはあなただけの秘密鍵です。配って回る南京錠のようなものです。誰でもシャッできますが、鍵を持っているのはあなただけです。
- 秘密鍵を守ってください。 秘密鍵を共有してはいけません。パスフレーズで保護されていれば、攻撃者が暗号化メッセージを読むには鍵ファイルとパスフレーズの両方が必要になります。
- 鍵のフィンガープリントは一意の ID です。 フィンガープリント(RSA 鍵では 40 桁の 16 進文字)は PGP 鍵を一意に識別します。鍵のなりすまし攻撃を防ぐため、連絡先とは信頼できる経路で必ずフィンガープリントを照合してください。
- 関連ツール: Age File Encryption(パスフレーズによる、よりシンプルなファイル暗号化)、
Base64Base64An encoding representing binary data as 64 safe ASCII characters, so it survives transport through text-only channels. It encodes — it does not encrypt.
Encoder(暗号化なしの base64 エンコード/デコード)、HashHashA one-way function that maps data of any size to a fixed-length digest. Same input, same digest; any change, different digest; not reversible.
Generator(暗号学的ハッシュの生成)。