ECDSA・Ed25519 鍵生成ツール

ECDSA(P-256/P-384)または Ed25519 の鍵ペアを生成し、メッセージの署名・検証を行います。PEM または JWK で書き出し、すべてブラウザー内で完結します。

ツールを読み込み中…

ECDSA・Ed25519 鍵生成ツール楕円曲線の鍵ペアを作成し、秘密鍵でメッセージに署名して公開鍵で署名を検証する、という一連の流れをページから離れずに行えます。P-256・P-384・Ed25519 から選び、鍵を PEM か JWK で書き出し、検証結果が自動で更新される様子を確認できます。すべての鍵は Web Crypto API と @noble/curves でローカルに生成されるため、秘密鍵がサーバーに触れることはありません。

ECDSA・Ed25519 鍵生成ツールとは?

ECDSA・Ed25519 鍵生成ツールは、楕円曲線の鍵ペアを生成しデジタル署名を試せる無料のブラウザー内ツールです。開発者・セキュリティエンジニア・学習者が、署名と検証のフローのテスト、JWT や SSH 風ワークフロー用の鍵生成、OpenSSL を入れずに ECDSA と EdDSA の違いを学ぶために使います。「曲線」メニューで曲線を選び、「鍵を生成」を押して新しい鍵ペアを発行し、公開鍵と秘密鍵を PEM または JWK 形式でコピーします。続いてメッセージを入力し「署名」を押すと Base64 の署名が得られ、ツールは公開鍵で自動的に検証して署名が有効かどうかを表示します。P-256 と P-384 はブラウザー標準の Web Crypto ECDSA が処理し、Ed25519 は選んだときだけ読み込まれる @noble/curves ライブラリで計算します。

ECDSA・Ed25519 鍵生成ツールの使い方

  1. 「曲線」メニューで曲線を選びます。P-256 か P-384(Web Crypto の ECDSA)、または Ed25519(EdDSA)です。
  2. 鍵の書き出し形式として PEM か JWK を選びます。
  3. 「鍵を生成」を押して新しいランダムな鍵ペアを作成すると、公開鍵と秘密鍵が下に表示されます。
  4. コピーボタンで公開鍵または秘密鍵をコピーし、別の場所で使います。
  5. メッセージを入力して「署名」を押すと Base64 の署名が得られます。
  6. 検証結果を確認します。ツールが公開鍵で署名を自動的に照合し、有効かどうかを知らせます。

使用例

P-256 の PEM 鍵ペアを生成

入力

曲線: P-256、形式: PEM、「鍵を生成」を押す

出力

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD...
-----END PUBLIC KEY-----

Ed25519 でメッセージを署名・検証

入力

曲線: Ed25519、メッセージ: "hello noble"、「署名」を押す

出力

署名(Base64): 3Lq8...== — 検証結果: 署名は有効です。

Ed25519 公開鍵を JWK で書き出し

入力

曲線: Ed25519、形式: JWK

出力

{ "kty": "OKP", "crv": "Ed25519", "x": "11qYAYK..." }

よくある質問

秘密鍵はどこかに送信されますか?
いいえ。鍵生成・署名・検証はすべて、Web Crypto API(P-256/P-384)と @noble/curves ライブラリ(Ed25519)を使ってブラウザー内でローカルに実行されます。秘密鍵はこのページのメモリ上だけに保持され、アップロードされることはなく、タブを閉じると消えるため、ツールはオフラインでも動作します。
ECDSA と Ed25519 の違いは何ですか?
P-256/P-384 上の ECDSA は、TLS 証明書や多くの JWT で使われてきた歴史ある NIST 標準です。Ed25519 は新しい EdDSA 方式で、より高速で署名サイズが固定、ECDSA のいくつかの落とし穴を避けています。利用先のシステムが要求する方を選んでください。
PEM と JWK とは何ですか?
PEM はバイナリ鍵を BEGIN/END ヘッダー付きの Base64 テキストブロックで包んだもので、OpenSSL や多くのサーバーが期待する形式です。JWK は鍵を表す JSON オブジェクトで、Web や OAuth/JWT の文脈でよく使われます。生成前に形式を切り替えると、必要なエンコーディングが得られます。
署名はどうエンコードされますか?
署名は Base64 で表示されます。ECDSA では Web Crypto が生成する生の r||s 値、Ed25519 では 64 バイトの EdDSA 署名です。Base64 の署名を欄に貼り付けて、生成した公開鍵で検証することもできます。
別の場所で作った署名を検証できますか?
ここで生成した鍵ペアに対して検証できます。メッセージと Base64 の署名を貼り付けると、対応する公開鍵で照合します。外部の鍵ペアの読み込みには対応していません。

関連ツール