RSA暗号化/復号化ツール
公開鍵暗号化、秘密鍵復号化、鍵生成とデジタル署名をサポート
RSA暗号化について
RSAは、1977年にRon Rivest、Adi Shamir、Leonard Adlemanによって発明された非対称暗号アルゴリズムです。RSAは最も広く使用されている公開鍵暗号アルゴリズムの1つで、データ暗号化、デジタル署名、鍵交換に適用されています。
RSAのセキュリティは、大きな整数の因数分解の困難さに基づいています。公開鍵と秘密鍵のペアを使用します:公開鍵は暗号化に、秘密鍵は復号化に使用します。公開鍵は公開できますが、秘密鍵は秘密にする必要があります。
機能
- 鍵ペア生成:1024、2048、4096ビットの鍵長をサポート
- 公開鍵暗号化:公開鍵で機密データを暗号化
- 秘密鍵復号化:秘密鍵で暗号化データを復号化
- デジタル署名:秘密鍵でメッセージに署名
- 署名検証:公開鍵で署名の真正性を検証
- 複数のハッシュアルゴリズム:SHA-1、SHA-256、SHA-384、SHA-512
- パディングモード選択:OAEP(推奨)とPKCS#1 v1.5(レガシー互換)をサポート
- 複数形式:入力/出力はテキスト、Base64、Hexなどをサポート
鍵長の選択
適切な鍵長を選択することは、セキュリティとパフォーマンスにとって重要です:
- 1024-bit: 1024ビット:新しいシステムには非推奨、数年以内に解読される可能性あり
- 2048-bit: 2048ビット:現在推奨される最小長、ほとんどのアプリケーションに適しています
- 4096-bit: 4096ビット:最高のセキュリティを提供、ただし暗号化/復号化が遅い
パディングモード
このツールは2つのRSAパディングモードをサポートしています。セキュリティ要件と互換性のニーズに基づいて選択してください:
- OAEP: 最適非対称暗号化パディング、セマンティックセキュリティを提供し、選択暗号文攻撃から保護します。新しいシステムに推奨。
- PKCS#1 v1.5: 既知のBleichenbacher攻撃脆弱性を持つレガシーパディングモード。レガシーシステムとの互換性のためにのみ推奨。
フォーマットオプション
このツールは異なるシステムとの統合を容易にするため、複数のデータ形式をサポートしています:
- テキスト: UTF-8テキストの直接入力/出力、通常の文字列に適しています
- Base64: Base64エンコード形式、ネットワーク転送やバイナリデータ保存に一般的に使用
- Hex: 16進数形式、バイナリデータの表示とデバッグに便利
使用シナリオ
- 安全な通信:送信前に機密データを暗号化
- デジタル署名:メッセージの真正性と完全性を検証
- 鍵交換:対称鍵を安全に交換
- 身元認証:送信者の身元を確認
- ソフトウェアライセンス:ライセンスの生成と検証
セキュリティ推奨事項
- 少なくとも2048ビットの鍵長を使用
- 秘密鍵を安全に保管、安全でないチャネルで送信しない
- 定期的に鍵ペアをローテーション
- 高度に機密性の高いデータには4096ビット鍵を検討
- 大量データにはハイブリッド暗号化(RSA + 対称)を使用
RSAの制限
- RSAは限られたデータ長のみ暗号化可能(鍵長とパディングに依存)
- RSA暗号化/復号化は対称暗号よりはるかに遅い
- 通常、大量データではなく対称鍵の暗号化に使用