RSA は代表的な非対称暗号アルゴリズムの一つです。公開鍵は暗号化や署名検証に使用できる一方、秘密鍵は復号や署名のために秘密に保持する必要があります。このツールはブラウザ内で鍵ペアをローカル生成し、暗号化、復号、署名、検証を1ページにまとめています。
暗号化・復号タブでは公開鍵で暗号化し、秘密鍵で復号します。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 で出力され、ワンクリックで検証欄へ入力できます。結果には署名が有効か無効かが明確に表示されます。また、暗号化と署名は目的が異なるため、混同しないよう案内します。
鍵生成とすべての計算にはブラウザの WebCrypto インターフェースを使用します。安全なコンテキストでのみ利用できるため HTTPS が必要です。大きな鍵を生成するときは、ページに待機状態が表示されます。
鍵ペアはブラウザ内でローカル生成されます。秘密鍵と平文はサーバーへ送信・保存されません。ブラウザは本番鍵を安全に保管するための環境ではないため、ここで生成した鍵はテストや学習目的にのみ使用してください。既存鍵の形式変換だけを行う場合は、RSA 鍵形式コンバーターの利用を推奨します。
コメント 0