CoderTools

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暗号化/復号化は対称暗号よりはるかに遅い
  • 通常、大量データではなく対称鍵の暗号化に使用

参考資料