RSA オンライン鍵生成・暗号化復号ツール
512〜4096ビットの鍵をローカル生成、7種類のエクスポート形式、暗号化・復号・署名・検証に対応
RSA オンライン鍵生成・暗号化復号ツール
RSA は代表的な非対称暗号アルゴリズムの一つです。公開鍵は暗号化や署名検証に使用できる一方、秘密鍵は復号や署名のために秘密に保持する必要があります。このツールはブラウザ内で鍵ペアをローカル生成し、暗号化、復号、署名、検証を1ページにまとめています。
鍵生成とエクスポート形式
- 鍵長は 512、1024、2048、3072、4096 ビットから選択でき、デフォルトは 2048 ビットです。512 と 1024 ビットは旧システム向けの互換性オプションとして表示され、安全性が低いことも示されます。
- 7種類のエクスポート形式に対応:PKCS#8 と SPKI(標準)、PKCS#1、OpenSSH 公開鍵、JWK、XML(.NET RSAKeyValue)、Raw Base64、Raw Hex。
- Raw Base64 と Raw Hex はヘッダー、フッター、改行を含まず、環境変数、JSON、設定ファイルなどへ直接貼り付けできます。
- OpenSSH は公開鍵専用です。秘密鍵は引き続き PKCS#8 形式で出力されます。
暗号化と復号
暗号化・復号タブでは公開鍵で暗号化し、秘密鍵で復号します。Padding には RSA-OAEP(SHA-256)と PKCS#1 v1.5 を利用できます。RSA で暗号化できるデータ量には制限があります。ツールは鍵長と Padding に応じて最大バイト数を計算し、OAEP ではおよそ鍵のバイト数から 66 を引いた値、PKCS#1 v1.5 ではおよそ 11 を引いた値を目安として表示します。データが長すぎる場合は警告を表示し、データを AES、AES キーを RSA で暗号化するハイブリッド方式を推奨します。
署名と検証
署名・検証タブでは秘密鍵で署名し、公開鍵で検証します。RSA-PSS(SHA-256)と PKCS#1 v1.5 に対応しています。署名は Base64 で出力され、ワンクリックで検証欄へ入力できます。結果には署名が有効か無効かが明確に表示されます。また、暗号化と署名は目的が異なるため、混同しないよう案内します。
既存鍵のインポートとエラー処理
- 既存の鍵を PEM、DER、OpenSSH、JWK、XML 形式で直接入力できます。
- 秘密鍵が必要な操作に公開鍵を使用した場合は、明確な警告を表示します。
- 鍵がパスワードで暗号化されている場合は、openssl または PuTTYgen で復号してからエクスポートすることを推奨します。このツールでは鍵パスワードのオンライン復号は行いません。
- 復号に失敗した場合は、鍵、Padding、暗号文を確認してください。解析できない鍵形式やコンポーネントの読み込みエラーも表示されます。
実行環境の要件
鍵生成とすべての計算にはブラウザの WebCrypto インターフェースを使用します。安全なコンテキストでのみ利用できるため HTTPS が必要です。大きな鍵を生成するときは、ページに待機状態が表示されます。
利用シーン
- API 連携用のテスト鍵ペアをすばやく生成し、必要な形式でエクスポートする。
- 署名・検証フローをテストし、アルゴリズムや Padding の違いを確認する。
- 設定ファイルで使用する各種鍵形式の表現を確認する。
- 非対称暗号の教育やデモンストレーション。
プライバシーとデータセキュリティ
鍵ペアはブラウザ内でローカル生成されます。秘密鍵と平文はサーバーへ送信・保存されません。ブラウザは本番鍵を安全に保管するための環境ではないため、ここで生成した鍵はテストや学習目的にのみ使用してください。既存鍵の形式変換だけを行う場合は、RSA 鍵形式コンバーターの利用を推奨します。
RSA 鍵ペアをオンラインで生成し、暗号化と署名を実行
- 鍵長は 512、1024、2048、3072、4096 ビットから選択でき、デフォルトは 2048 ビット。512 と 1024 ビットは旧システム向けの互換性オプションとして表示
- 7種類の鍵形式に対応:PKCS#8 と SPKI、PKCS#1、OpenSSH 公開鍵、JWK、XML、Raw Base64、Raw Hex
- 暗号化・復号は RSA-OAEP(SHA-256)と PKCS#1 v1.5 に対応し、鍵長に応じて最大暗号化可能バイト数を表示
- 署名・検証は RSA-PSS(SHA-256)と PKCS#1 v1.5 に対応し、署名を Base64 で出力して検証欄へ直接入力可能
- 既存の PEM、DER、OpenSSH、JWK、XML 鍵を直接入力可能
- 秘密鍵が必要な操作で公開鍵を使用した場合や、パスワードで保護された鍵について明確な警告を表示