RSAについて
hidevtool の RSA ワークベンチはブラウザ内で RSA 鍵ペア生成、公開鍵による UTF-8 平文の暗号化、Base64 暗号文の秘密鍵復号(PKCS#1 v1.5 または RSA-OAEP SHA-256)を行います。
Generate タブで 512–4096 bit、PKCS#1/PKCS#8 PEM を選び、必要なら秘密鍵にパスワードを付けてテスト用鍵を共有できます。
暗号化・復号タブでは同じパディングと Base64 形式を使う必要があります。FAQ で PEM 変種、暗号化秘密鍵、RSA 平文サイズ上限を説明します。
できること
3 つのタブ
- 鍵生成 — 512–4096 bit、PKCS#1 または PKCS#8、任意の秘密鍵パスワード。
- 公開鍵暗号化 — 公開鍵 PEM と平文を貼り、Base64 暗号文を得る。
- 秘密鍵復号 — 秘密鍵 PEM(暗号化 PEM はパスワード必須)と Base64 暗号文で平文を復元。
アルゴリズム
暗号化・復号で PKCS#1 v1.5 または RSA-OAEP(SHA-256)を選択。両端で同じパディングと Base64 暗号文形式が必要です。
PEM 形式
- 公開鍵:SPKI(BEGIN PUBLIC KEY)または PKCS#1(BEGIN RSA PUBLIC KEY)。
- 秘密鍵:PKCS#8、PKCS#1、またはパスワード付き暗号化 PEM。
- 暗号文:Base64 文字列(PEM ラッパーなし)。
サイズ制限
- RSA は短いデータのみ(鍵長によりおおよそ数十~数百バイト程度)。
- 長いファイルはランダム AES 鍵を RSA で包み、本体は AES(ハイブリッド暗号)。
安全に使う
- 1最低 2048 bit。長期・高価値鍵は 4096 bit を検討。
- 2秘密鍵をチャットやメールで共有しない。生成鍵は secret として扱う。
- 3生成時の秘密鍵パスワードを忘れると復号できない。パスワードを安全に保管。
- 4由来証明には署名(JWT ツール等)を使い、RSA 暗号化だけと混同しない。
- 5定期ローテーション。漏洩疑いがあれば即失効。
よくある使い方
開発・テスト鍵
openssl CLI なしでローカルマイクロサービスや結合テスト用の PEM ペアを素早く作る。
設定・ライセンス
短いライセンス文字列を暗号化し、組み込み公開鍵で復号(長さ制限に注意)。
OAEP デバッグ
他ライブラリやバックエンドと RSA-OAEP 手順を突き合わせる。
よくある質問
- 必要な鍵形式は?
- 公開鍵は SPKI または PKCS#1 RSA 公開 PEM。秘密鍵は PKCS#8、PKCS#1、またはパスワード保護暗号化 PEM(復号時にパスワード)。
- 決済ドキュメントの RSA1/RSA2 に対応?
- いいえ。決済・开放平台の RSA1/RSA2 は多くの場合 API 署名・検証(SHA256WithRSA 等)を指し、任意平文の公開鍵暗号ではありません。本ページは PKCS#1 v1.5 または OAEP の暗号化・復号のみで、sign_type や非同期通知署名フローの代替ではありません。
- 暗号化が失敗する典型原因
- 平文が鍵長に対して長すぎる、PEM 形式が壊れている、タブと鍵種(公開/秘密)が合っていない。
- データはアップロードされる?
- いいえ。生成・暗号化・復号はすべてブラウザ内です。