このツールについて
RSA は非対称アルゴリズムです。数学的に結びついた鍵のペア——自由に配布できる公開鍵と、決して共有してはならない秘密鍵——を生成します。一方の鍵で暗号化したものはもう一方でしか復号できず、秘密鍵で署名したものは公開鍵で検証できます。この非対称性が、TLS証明書、SSH認証、PGPメール、そしてウェブ上の無数の署名方式の基盤となっています。
このジェネレーターは、WebCrypto API を使ってブラウザ内で完全にその鍵ペアを生成します——JavaScript で再実装した RSA ではなく、最新のブラウザに組み込まれた実績ある暗号エンジンそのものです。鍵長を選択し(2048ビットが現在の基準、長期利用やより高いセキュリティが必要な場合は3072または4096ビット)、用途モードを選びます。署名(真正性の検証のための SHA-256 付き RSASSA-PKCS1-v1_5)または暗号化(機密性のための SHA-256 付き RSA-OAEP)です。鍵は端末から一切出ません——何もアップロードされず、タブを閉じると鍵は永久に失われるため、ページを離れる前にコピーまたはダウンロードしてください。
両方の鍵は標準の PEM 形式でエクスポートされます。公開鍵は SPKI ブロック、秘密鍵は PKCS8 として——OpenSSL が生成するものと同じエンコーディングで、`.pem` ファイル、設定ファイル、または標準の RSA 鍵データを期待する任意のライブラリにそのまま使用できます。
よくある質問
どの鍵サイズを選ぶべきですか?
2048ビットは現在広く受け入れられている最低基準であり、少なくとも今後10年間はほとんどの用途に十分です。より長期的または高セキュリティのニーズには3072または4096ビットを選んでください。ただし鍵生成と処理がやや遅くなります。
署名鍵と暗号化鍵の違いは何ですか?
署名鍵(RSASSA-PKCS1-v1_5)は真正性と完全性を証明します——秘密鍵でデータに署名し、他者は公開鍵でそれを検証します。暗号化鍵(RSA-OAEP)はその逆で——他者があなたの公開鍵でデータを暗号化し、あなたの秘密鍵だけが復号できます。それぞれ異なるWebCryptoアルゴリズムを使用するため、混同すべきではありません。