piapia123
ja

OpenPGP 鍵の生成と検査

エンコード

処理はすべてブラウザ内で完結します。データは送信されません

入力
ファイルをここにドロップすると読み込めます
出力

実際に生成します(デモではありません):有限体演算、エドワーズ曲線の点演算、SHA-512、OpenPGP のパケット構造をすべて自前で持ち、得られる公開鍵・秘密鍵ブロックは `gpg --import` で取り込めます(自己署名と副鍵の束縛署名も実際に計算)。生成・解析・gpg コマンド生成の 3 モード。乱数は `crypto.getRandomValues` 由来で、鍵はあなたのブラウザー内で生まれ、1 バイトも送信しません —— これが本ツールの存在理由です。どこかのサイトに秘密鍵を預ける代わりに、手元に置けます。

機能

  • Ed25519 主鍵を実際に生成(RFC 8032 のベクターで固定)
  • 任意の X25519 暗号副鍵(RFC 7748)と束縛署名
  • 出力した ASCII armor は gpg に取り込め、公開鍵も秘密鍵も使えます
  • 解析モード:指紋(v4 は SHA-1 / v5 は SHA-256)、鍵 ID、アルゴリズム、作成・有効期限
  • ASCII armor の CRC24 を検証し、改変・切り詰めを指摘
  • `gpg --quick-generate-key` コマンドを生成(有効期限・副鍵のヒント付き)
  • Ed25519・X25519・RSA・DSA などの鍵を解析
  • 1 行ずつコピーすることも、すべてコピーすることもできます

使い方

  1. モード(生成 / 解析 / gpg コマンド)を選びます
  2. 生成:ユーザー ID・アルゴリズム・有効期限を設定し、公開鍵と秘密鍵の armor を得ます
  3. 解析:ASCII armor か 16 進数を入力欄に貼り付けます
  4. armor をファイルに保存して `gpg --import` で取り込みます

よくある質問

生成した秘密鍵にパスフレーズは付きますか?
いいえ。本ツールは S2K 暗号化を実装していません。パスフレーズ保護にチェックを入れても、秘密鍵にパスフレーズは付きません。取り込み後すぐに `gpg --edit-key <指紋> passwd` を実行してください —— 保護のない秘密鍵は入手した誰でも使えます。偽の安心を与えないため、あえて正直に表示しています。
v5 鍵の解析が限定的なのはなぜですか?
指紋アルゴリズムは区別しています(v4 は SHA-1、v5 は SHA-256 で接頭辞と長さフィールドも異なります)が、v5 の鍵材料とサブパケット配置はまだ完全には解析していません。実在する鍵の大半は今も v4 です。
本当に gpg に取り込めますか?
はい。開発時に gpg 2.4 で実測しました:取り込み後に自己署名が有効で、署名と検証ができ、X25519 副鍵の束縛署名も有効で暗号化に使えます。鍵パケット・ユーザー ID・自己署名・副鍵束縛の各バイトは OpenPGP 仕様に従っています。
Web ページで鍵を生成して安全ですか?
このページは完全にローカルで計算し、リクエストもサーバーもありません。ただしページはネットワークから読み込まれ、監査はできません。生成した鍵は画面・クリップボード・ダウンロードに残ります —— 早めにキーリングへ取り込み、チャットに貼らないでください。最高水準の保証が必要なら、手元の `gpg` で生成してください。

関連ツール