使い方
- アルゴリズムを選びます。暗号化には RSA-OAEP、署名には署名用のアルゴリズムのどれかを選びます。
- 鍵の長さを選びます。2048ビットが通常の最小値です。4096ビットは作成に時間がかかります。
- 鍵ペアを作成を押し、4つの欄の内容をコピーするか、ダウンロードします。
- 秘密鍵は、シークレット管理ツールに保存してください。他人が読めるウェブサイト、チャット、ファイルには、決して貼り付けないでください。
鍵ペアの中身
RSA の鍵ペアは、誰が持ってもよい公開部分と、持ち主だけが保管する秘密部分からなります。秘密鍵は PKCS#8(RFC 5958)で、公開鍵は SubjectPublicKeyInfo(RFC 5280)で書かれます。どちらも PEM に包まれます。PEM は BEGIN 行と END 行の間の Base64のテキストです(RFC 7468)。JWK の形式(RFC 7517)は、同じ数値を JSON で持ちます。
法 n = p x q、どちらも鍵の長さのおよそ半分の素数
公開指数 e = 65537(0x010001)
秘密指数 d、d x e ≡ 1(mod (p - 1) x (q - 1))
アルゴリズムと鍵の長さ
RSA-OAEP は暗号化、RSA-PSS と RSASSA-PKCS1-v1_5は署名に使います。3つとも、ここでは SHA-256を使います。鍵の長さは法 n の長さです。2048ビットが今日の通常の最小値で、3072ビットと4096ビットは、より長く使う必要のある鍵に向いています。大きな鍵は使うのに時間がかかりますが、4096ビットの鍵ペアの公開鍵も、まだ小さなサイズです。
ブラウザは、自身の暗号ライブラリで鍵ペアを作ります(Web Cryptography API の crypto.subtle.generateKey)。このページは、独自の RSA の実装を持ちません。
鍵が安全な場所と、そうでない場所
鍵はこのページの外に出ることはありません。送信も保存も記録もされません。危険はページ自体にあります。このページで動くものや、ブラウザの拡張機能は、表示されている間に鍵を読み取ることができます。クリップボードにコピーした内容やダウンロードしたファイルは、削除されるまでディスクに残ります。
お金、身元、本番環境の鍵を守る場合は、秘密鍵を取り出せない場所で作ってください。ハードウェアセキュリティモジュール、鍵管理サービス、自分で管理するサーバーなどです。
例:2048ビットの RSA-OAEP の鍵ペア
RSA-OAEP と2048ビットを選んで「鍵ペアを作成」を押すと、PEM が -----BEGIN PRIVATE KEY----- で始まる PKCS#8の秘密鍵と、PEM が -----BEGIN PUBLIC KEY----- で始まる SPKI の公開鍵が得られます。公開鍵の JWK は kty が RSA で、e は AQAB です。これは65537を Base64url にしたものです。n の値は256バイトです。2048ビットは256バイトだからです。
よくある質問
このページで、実際のウェブサイト用の鍵を作っても安全ですか?
学習や試験には使えます。お金、身元、稼働中のシステムを守る鍵には使わないでください。ブラウザとその拡張機能は、表示されている間に鍵を読み取れます。そのような鍵は、秘密鍵を取り出せない場所で作ってください。
秘密鍵が古い RSA PRIVATE KEY の形式ではなく PKCS#8なのはなぜですか?
PKCS#8(RFC 5958)は、鍵の中にアルゴリズムの名前を持つため、読む側は鍵の用途が分かります。ほとんどのライブラリが受け付けます。古い形式が必要な場合は、openssl などのツールで変換してください。
公開指数が65537なのはなぜですか?
2の16乗に1を足した数で、ビットが2つだけ立つ小さな数です。公開鍵の演算を速くし、主要なライブラリが使う値なので、このページはすべての鍵でこの値を使います。
2048、3072、4096ビットのどれを選ぶべきですか?
今日では2048ビットが通常の最小値です。鍵を長い年月にわたって安全に保つ必要がある場合は、3072ビットか4096ビットを選んでください。鍵が大きいほど、署名や復号に時間がかかることも理解してください。
秘密鍵が公開鍵よりずっと長いのはなぜですか?
公開鍵は、法と公開指数だけを持ちます。秘密鍵は、さらに2つの素数と、復号を速くする値も持ちます(RFC 8017、付録A.1.2)。そのため、数倍の長さになります。
ページを閉じた後も、鍵は残りますか?
いいえ。鍵は、開いているページのメモリの中にだけ存在し、ページはブラウザに何も保存しません。ローカルストレージにも保存しません。閉じる前に、鍵をコピーするかダウンロードしてください。
出典
- RFC 8017:PKCS #1 RSA 暗号仕様 バージョン2.2(英語)
- RFC 5958:非対称鍵パッケージ(PKCS#8)(英語)
- RFC 7468:PKIX、PKCS、CMS 構造のテキスト表現(英語)
- RFC 7517:JSON Web Key(JWK)(英語)
- W3C:Web Cryptography API(英語)
数値と文章の最終確認日:2026年11月10日火曜日。