RSA暗号化の問題[ペイロードデータのサイズ] 質問する

RSA暗号化の問題[ペイロードデータのサイズ] 質問する

RSA 暗号化は限られたデータ ペイロードしか処理できないというのは本当ですか? ... 理論がわかりません... 理論的にはこれに関する注記はありません...

ベストアンサー1

RSAは、モジュラスよりやや短い長さの単一のメッセージを暗号化します。具体的には、メッセージは最初に「パディング」され、その結果、0から12の間の大きな整数として解釈されるバイトシーケンスが生成されます。1-1 です、 どこはモジュラス(公開鍵の一部)であるため、パディングされたメッセージはモジュラスより長くすることはできません。これは、生のメッセージの最大長が厳密であることを意味します。

具体的には、最も一般的なパディング方式(PKCS#1「旧スタイル」、別名「v1.5」では、パディングによってメッセージに少なくとも 11 バイトが追加され、パディングされたメッセージの合計長はモジュラス長と等しくなければなりません (例: 1024 ビット RSA キーの場合は 128 バイト)。したがって、最大メッセージ長は 117 バイトです。暗号化されたメッセージの長さはモジュラスと同じサイズであるため、暗号化によってメッセージ サイズが少なくとも 11 バイト拡張されることに注意してください。

大きなメッセージ(電子メールなど)を暗号化するために RSA を使用する一般的な方法は、ハイブリッド スキームを使用することです。

  • ランダムな対称鍵が選択されます(たとえば、128〜256 ビットのランダムな生のシーケンス)。
  • 大きなメッセージは対称的に暗号化され、AES などの適切かつ効率的な対称暗号化方式を使用します。
  • RSA で非対称暗号化されます。

大きなメッセージを多数の 117 バイトのブロックに「分割」し、それぞれを RSA で暗号化することは、さまざまな理由から通常は行われません。追加の脆弱性を追加せずに正しく行うことは困難です。各ブロックは 11 バイト拡張されるため、合計メッセージ サイズが無視できないほど増加します (ネットワーク帯域幅は希少なリソースになる場合があります)。対称暗号化の方がはるかに高速です。

おすすめ記事