RSA非対称暗号化アルゴリズムの充填モード(パディング)

免責事項:この記事はブロガーのオリジナルの記事、転載記述のリンクを追加する必要があります。https://blog.csdn.net/makenothing/article/details/88429511

1.パディングモード

1.1埋めるために3つの一般的な方法

RSA暗号は、3つの一般的な塗りつぶしパターンがあります。RSA_PKCS1_PADDING, RSA_PKCS1_OAEP_PADDING, RSA_NO_PADDING。

対称暗号化アルゴリズムDESは、AESとして、RSAアルゴリズムは常に固定長のブロック上で動作する、ブロック暗号化アルゴリズム(ブロック暗号アルゴリズム)です。しかし等AESとの違いは、ブロック長は鍵長に関連付けられています。

各平文RSA暗号RSA埋めるパターン長は制限がありますが、それぞれの暗号ブロック長のRSAキーの長さです。

Fillモードを エントリー 輸出 条件
RSA_PKCS1_PADDING 11 - RSAキーモジュラス(モジュラス)11バイト、すなわちRSA_size(RSA)より少なくとも短い長さでなければなりません そして、弾性率が限り
RSA_PKCS1_OAEP_PADDING rsa_siz A(RSA) - 41 そして、弾性率が限り
RSA_NO_PADDING RSAキーとは、入力された平文が長すぎる場合、充填切断しなければならない限り、ダイの長さとすることができます そして、弾性率が限り

異なるモード最大データ長の下で暗号化された1.2

  • 長さの異なる最大長のデータを暗号化するために同じキーを使用して異なるモードでパディング。
  • 異なる鍵長において、同一のパターンは、データパディング最大長さまたは異なる暗号化することができます。

したがって、最大長を暗号化することができるパディングパターンの議論からキーの長さは厳密ではありません。

共通鍵長など、2048bitsが1024bits、1024ビット(すなわち、8分の1024 = 128バイト)の最大長さの暗号化鍵データの理論的に1024ビット缶。2048bitsキーは、2048bitsのデータの最大長(8分の2048 = 256バイト)を暗号化することができ、これは実用的なアプリケーションでRSA「教科書RSA」システムを使用することは不可能です。RSAは、多くの場合、充填技術(パディング)と実用的な用途で使用されている、あなたは、RSAのセキュリティを高めることができます。充填技術は、RSAは安全ではありません、良いではありません。次の理由の場合:

  1. RSA暗号化は、すなわち、決定キー、常に特定の暗号文にマッピングされた特定の平文を与えられています。攻撃者は平文暗号文の統計からいくつかの情報を得ることができます。
  2. 充填技術が比較的弱い場合、より小さい平文攻撃に対して脆弱小さい公開指数e。
  3. RSAは、延性と呼ばれる機能があり、攻撃者は、子どもたちが知られるようになっ平文のこの新しい暗号文変換をリードする、別の暗号文の暗号文に1を変換することができた場合、この機能は、平文を復号化されていない、と平文を操作するような予測可能な方法、例えば:金融取引システムは、新たな暗号文攻撃によれば、暗号文の元の量に直接データを変更し、ユーザの場合で変更することができ、受信者が知覚できません。
    だから、RSAのセキュリティのレベルに関連する技術を埋めます。最適な非対称充填(OAEP)は、上記表RSA_PKCS1_OAEP_PADDING充填モードに対応し、充填の優れた方法です。

おすすめ

転載: blog.csdn.net/makenothing/article/details/88429511