本文へスキップ

PGPメッセージ暗号化

PGP Message Tool

パスフレーズでOpenPGPのメッセージをブラウザ内だけで暗号化・復号します(RFC 4880の共通鍵モードなのでgpg -cと読み合えますが、公開鍵暗号と署名は作っていません)。

共通鍵のOpenPGP、つまり`gpg -c`は、共有できるパスフレーズがあって、鍵の仕組みが互いのあいだにないときに、暗号化した文章の塊を人に渡すいちばん簡単な方法です。ここではOpenPGPのまさにその側だけをブラウザの中で行い、行わない側についても意図してはっきり書いています。

🔒 ブラウザの中だけで動きますpgpgpgencryptsign

暗号化も復号もこのタブの中だけで行います。パスフレーズもメッセージもファイルもサーバーには届きません。

  • パスフレーズ(対称)モードのみです — gpg -c と同じ形式(RFC 4880: AES-256、SHA-256 S2K、MDC)なので、gpg で作ったメッセージがここで開き、ここで作ったメッセージが gpg --decrypt で開きます。公開鍵暗号と署名検証は作っていません。

別の経路で相手と共有しておく必要のある秘密です。

またはファイルを置く

ファイルがあるときは、メッセージではなくファイルを暗号化します。結果はアーマー付きのテキスト(.asc)です。

使い方

  1. メッセージを貼り、パスフレーズを決めます

    パスフレーズはOpenPGPのS2K関数(SHA-256、反復とソルト付き)で鍵に変えられ、その鍵でメッセージがAES-256で暗号化されます。

  2. アーマー形式の塊を送ります

    出力は標準の`-----BEGIN PGP MESSAGE-----`の塊なので、メールやチケットに貼り付けても壊れずに済みます。

  3. ここで復号するか、gpgで復号します

    これはRFC 4880の共通鍵モードなので、受け取った側の端末の`gpg -d`で読めますし、このページは`gpg -c`が作ったものを読めます。復号のときにMDCを検査するので、改ざんは黙って通らず、そこで失敗します。

よくある質問

相手の公開鍵に向けて暗号化できますか。

ここではできません。パスフレーズのモードだけです。公開鍵暗号も、鍵の生成も、署名も、署名の検証もありません。それらが必要ならGnuPGを使ってください。公開鍵のOpenPGPを中途半端に実装したものは、ないよりも悪いからです。

パスフレーズを相手にどう渡せばよいですか。

同じメッセージには入れないでください。それがこの方式の壊れ方そのものです。別の経路を使うか、一度で消える秘密メモを使ってください。

メッセージはサーバーに届きますか。

いいえ。暗号化も復号もタブの中で走り、どの時点でもリクエストは出ません。

gpgが「no valid OpenPGP data found」と言います。

ほぼ必ず、アーマーの塊が折り返し直されています。メールのクライアントが長い行を折り返したり、チャットのアプリが空白を入れたりすると、base64が壊れます。添付ファイルとして送るか、コードブロックに入れて送ってください。

ここから渡せます

次の一手

このツールが出したものをそのまま受け取れる道具です。

証明書デコーダー

Certificate Decoder

PEMやDERの証明書・CSRを解いて、サブジェクト・SAN・有効期間・鍵用途とチェーンの手がかりを示します。

ブラウザの中だけで動きます

ファイルの暗号化・復号

File Encrypt & Decrypt

パスフレーズからAES-256-GCMでどんなファイルでも暗号化し、ここで作ったファイルを復号します。

ブラウザの中だけで動きます

鍵ペア生成

Key Pair Generator

RSA・ECDSA・Ed25519の鍵ペアを作り、PEM・JWK・OpenSSHで書き出します。

ブラウザの中だけで動きます

テキストの暗号化・復号

Text Encrypt & Decrypt

パスフレーズからAES-GCMでメッセージを暗号化し、それだけで完結するBase64の塊にします。

ブラウザの中だけで動きます

怪しいURLの確認

Suspicious URL Check

開く前にリンクの形(紛らわしい文字・IPそのままのホスト・@のごまかし・深いサブドメイン・妙なポート・短縮サービス)を調べ、望めばリダイレクトをたどってドメインの登録時期も引きます(評判データベースは使いません)。

ローカル処理、必要ならサーバーが補助します

圧縮ファイルの中身検査

Archive Inspector

解凍せずにzipの中を開き、パスをはみ出す項目・実行ファイル・マクロ・zip爆弾に印を付けます。

ブラウザの中だけで動きます