RSA鍵ペアジェネレーター
Web Crypto APIを使用して、RSA公開鍵と秘密鍵のペアをPEM形式で生成します。すべての処理はブラウザ内で完結します。
このツールについて
RSA鍵ペアジェネレーターは、Web Crypto APIを使用して暗号学的に安全なRSA鍵ペアをブラウザ内で直接生成します。2048、3072、4096ビットの鍵サイズをサポートし、業界標準のPKCS#8(秘密鍵)およびSPKI(公開鍵)PEM形式でエクスポートします。サーバーは一切関与しません。秘密鍵がマシンの外に出ることはありません。
RSA(Rivest-Shamir-Adleman)は、最も広く展開されている公開鍵暗号方式の一つです。TLS/SSL証明書、SSH認証、コード署名、JSON Web Tokenのデジタル署名に使用されています。ここで提供される2つのアルゴリズムモードは、RSAの主要なユースケースをカバーしています。非対称暗号化にはRSA-OAEP、デジタル署名にはRSASSA-PKCS1-v1_5を使用します。どちらも基盤となるハッシュ関数としてSHA-256を使用します。
生成されたPEM出力は、OpenSSL、Node.js、Python、Go、およびほぼすべての暗号ライブラリで直接使用できます。秘密鍵はPKCS#8 DERエンコーディングをPEMアーマー(64文字改行のbase64とBEGIN/ENDヘッダー)でラップしてエクスポートされます。公開鍵はSubjectPublicKeyInfo(SPKI)エンコーディングを使用します。鍵やデータのハッシュを計算する必要がある場合は、ハッシュジェネレーターをお試しください。
すべての鍵生成とエクスポートはブラウザ内で完全に実行されます。Web Crypto APIはオペレーティングシステムのネイティブ暗号ライブラリに委譲するため、利用可能な場合はハードウェアアクセラレーションされた鍵生成が行われます。2048ビットの鍵は通常500ミリ秒以内に生成されますが、4096ビットの鍵はデバイスによって数秒かかる場合があります。各操作後に生成時間が表示されるため、パフォーマンスを確認できます。
使い方
- 鍵サイズを選択:2048ビット(高速、標準)、3072ビット(新しいシステムに推奨)、または4096ビット(最高強度、低速)。
- アルゴリズムを選択:暗号化/復号化にはRSA-OAEP、署名/検証にはRSASSA-PKCS1-v1_5。
- Generate Key PairをクリックするかCtrl+Enterを押します。鍵の生成中はローディングスピナーが表示されます。
- 生成が完了すると、公開鍵と秘密鍵の両方がPEM形式で表示されます。
- いずれかの鍵の横にあるCopyをクリックしてクリップボードにコピーするか、Ctrl+Shift+Cで公開鍵をコピーします。
- Clearをクリックしてページから生成された鍵を削除します。
- 必要に応じて設定を変更し、追加の鍵ペアを生成します。
よくある質問
データは安全ですか?
はい。すべての鍵生成はWeb Crypto APIを使用してブラウザ内で完全に実行されます。秘密鍵がサーバーに送信されたり、データベースに保存されたり、アナリティクスに記録されたりすることはありません。ブラウザの開発者ツールのネットワークタブで確認できます。
どの鍵サイズを選ぶべきですか?
ほとんどの用途では、2048ビットの鍵は2030年まで安全と見なされています。NISTは2030年以降のセキュリティには3072ビットの鍵を推奨しています。4096ビットの鍵は最高レベルのセキュリティを提供しますが、生成と使用に時間がかかります。脅威モデルとパフォーマンス要件に基づいて選択してください。
RSA-OAEPとRSASSA-PKCS1-v1_5の違いは何ですか?
RSA-OAEP(Optimal Asymmetric Encryption Padding)は、公開鍵でデータを暗号化し、対応する秘密鍵で復号化するために使用されます。RSASSA-PKCS1-v1_5は、秘密鍵でデジタル署名を作成し、公開鍵で検証するために使用されます。意図するユースケースに合ったアルゴリズムを選択してください。
鍵はどの形式でエクスポートされますか?
秘密鍵はPKCS#8 PEM形式(-----BEGIN PRIVATE KEY-----)でエクスポートされます。公開鍵はSPKI(SubjectPublicKeyInfo)PEM形式(-----BEGIN PUBLIC KEY-----)でエクスポートされます。どちらの形式もOpenSSL、プログラミングライブラリ、セキュリティツールで広くサポートされています。
4096ビットの鍵生成に時間がかかるのはなぜですか?
RSA鍵の生成には2つの大きな素数を見つける必要があります。鍵サイズが大きいほど素数も大きくなり、素数判定テストと計算量が増加します。4096ビットの鍵は2048ビットの鍵の約2倍の大きさの素数を使用し、生成時間は超線形にスケールします。これは一度きりのコストで、生成後の鍵操作はより高速です。
これらの鍵をOpenSSLやSSHで使用できますか?
PKCS#8秘密鍵とSPKI公開鍵のPEM形式はOpenSSLと直接互換性があります。SSHの場合は、'ssh-keygen -i -m PKCS8 -f key.pub'のようなコマンドで公開鍵をOpenSSH形式に変換する必要があります。秘密鍵は直接使用できるか、OpenSSLで変換できます。
関連ツール
JWT生成ツール
カスタムペイロードとHMAC署名でJSON Web Tokenを生成します。クレーム、有効期限設定付き。
SSL証明書デコーダー
PEM/DER形式のSSL証明書をデコードし、発行者・サブジェクト・有効期限・拡張・フィンガープリントを表示します。
暗号化プレイグラウンド
AES-GCM、AES-CBC、RSA-OAEPの暗号化を試せます。暗号化プロセスのステップごとの可視化付き。
HMACジェネレーター
MD5、SHA-1、SHA-256、SHA-384、SHA-512を使用してHMAC署名を生成します。16進数またはBase64出力対応。
ハッシュ生成ツール
テキストやファイルのMD5、SHA-1、SHA-256、SHA-512ハッシュを生成します。