RSA鍵ペア生成器
RSA鍵ペアとは、数学的に関連付けられた二つの数からなるもので、一方は公開される公開鍵、もう一方は保管する秘密鍵です。このジェネレータは、暗号学的に安全なランダムソースを用いて標準的なPEM符号化により両方を生成します。コマンドラインにアクセスすることなく、JWT署名機能の起動やステージングボックス向けTLS証明書の生成、あるいはSSH認証情報の発行に利用できます。
RSA鍵ペアの生成方法
-
1
キーサイズを選択
2048ビット、3072ビット、または4096ビットを選択してください。長い鍵はより強力ですが、署名および検証に時間がかかります。
-
2
生成
このツールはWebCryptoプリミティブを用いて、新しいモジュールおよびプライベート指数を生成します。
-
3
コピーまたはダウンロード
PEM形式で符号化された秘密鍵(BEGIN PRIVATE KEY)および対応する公開鍵(BEGIN PUBLIC KEY)を取得してください。
-
4
プライベートキーを安全に保存してください
それをシークレットマネージャーやキーチェーンに保存してください。チャット、メール、または公開リポジトリには決して貼り付けてはいけません。
どのキーサイズを使用すべきですか?
大きければ大きいほど必ずしも優れているわけではありません。適切なサイズは、キーの使用期間や各署名処理に割くCPUリソースの量に依存します。
NISTのガイドライン一覧
| 鍵サイズ | セキュリティレベル | 一般的な用途 | 相対的な署名コスト |
|---|---|---|---|
| 2048ビット | ~112ビット | JWT署名、短期間有効なTLS証明書、ほとんどのAPI | 1倍 |
| 3072ビット | ~128ビット | 長期間運用可能なルートCA、FIPS > 2030規格への準拠 | ~3倍 |
| 4096ビット | ~140ビット | 高信頼性のルート、長期的なドキュメント署名 | ~7倍 |
PEMの位置付け
鍵はPKCS#8/SPKIでラップされ、-----BEGIN-----から-----END-----のマーカーの間にbase64符号化されており、これはすべての主要なライブラリが採用している標準フォーマットです(OpenSSL、Node.jsのcrypto、Pythonのcryptography、Goのcrypto/rsa、JavaのKeyFactory)。
運用に関するヒント
- 広く使われる署名鍵は、少なくとも年1回はローテーションしてください。
- 新しいシステムでは、ECDSA(P-256)またはEd25519を推奨します。これらは処理速度が速く、署名サイズも大幅に小さくなります。
- 関連性のないシステム間で鍵ペアを再利用してはなりません。一度漏洩すると、下流のすべてのシステムが危険にさらされます。
- 秘密鍵をディスクに保存する際は、パスフレーズを使用してください。暗号化されたPEM(
BEGIN ENCRYPTED PRIVATE KEY)が標準です。
よくある質問
はい、ほとんどのAPIおよびセッションの署名に適用されます。NISTおよびBSIは引き続き、2048ビットのRSAを少なくとも2030年まで許容しているものの、より長期にわたって使用する必要がある場合には3072ビットが推奨されています。
PEMのプライベートキーはssh-keygen -y -f key.pemと組み合わせて、ssh-rsaのパブリック鍵を生成します。日常的なSSH通信にはEd25519を推奨します。この方式の鍵サイズが小さく、処理速度も速いです。
1つ目はPKCS#1(RSA専用)です。2つ目はPKCS#8(アルゴリズムに依存しないラッパー)で、現代のライブラリでは一般的に採用されています。このツールはPKCS#8の結果を出力します。
実際にはそうではありません。鍵の生成はWebCrypto APIを用いてローカルで行われ、PEMファイルはページに表示される前にメモリ内で構成されます。
関連ツール
GweiからEtherへの変換ツール
Gwei単位の金額をEther(ETH)に最大18桁の小数で変換します。ガス料金の推定や取引データの読み取りに役立ちます。
暗号化識別子
暗号文またはハッシュ値を貼り付けると、識別子からMD5、SHA、bcrypt、AES、RSA、Base64などの推定されるアルゴリズムや符号化方式が示されます。
ETH/USD 変換ツール
最新のETH/USDレートまたは自分で入力したレートで、イーサリアム(ETH)を米ドルに変換します。任意のETH数量のUSD価値を確認できます。
HMACジェネレーター
メッセージと秘密鍵から、API認証やWebhook向けのHMAC署名(SHA-256、SHA-384、SHA-512、SHA-1、MD5)を生成します。
チェックサム検証
任意のテキストの MD5、SHA-1、SHA-256、SHA-384、SHA-512、CRC32 チェックサムを計算し、期待値と比較して一致・不一致を明確に判定します。
CSRジェネレーター
PEMエンコードされた証明書署名要求と対応するRSA秘密鍵を生成します。コモンネーム、組織の項目、鍵のサイズ(2048、3072、4096ビット)を指定できます。
このツールは他の言語でも利用できます
- RSA nyckelpargenerator [SV]
- RSA 키 쌍 생성기 [KO]
- Générateur de paire de clés RSA [FR]
- เครื่องสร้างคู่กุญแจ RSA (RSA Key Pair Generator) [TH]
- RSA-sleutelpaargenerator [NL]
- Bộ tạo cặp khóa RSA [VI]
- RSA-Schlüsselpaar-Generator [DE]
- Generador de pares de claves RSA [ES]
- Generator Pasangan Kunci RSA [ID]
- مولد زوج المفتاح RSA [AR]
- Generator par kluczy RSA [PL]
- Gerador de Par de Chaves RSA [PT]
- RSA Key Pair Generator [EN]
- Generatore di coppie di chiavi RSA [IT]
- Генератор пар ключей RSA [RU]
- RSA Anahtar Çifti Oluşturucu [TR]
- RSA密钥对生成器 [ZH]