暗号学では、ブール関数の各出力ビットの値がすべての入力ビットに依存する場合、その関数は完全であると言われる。[1] [2]
これは暗号化暗号において望ましい特性であり、入力(平文)の1ビットが変更されると、出力(暗号文)のすべてのビットが平均50%の確率で変更されることになります。これがなぜ良いのかを示す最も簡単な方法は、8バイトの平文の最後のバイトを変更しても、暗号文の8バイト目にしか影響がないという点です。つまり、攻撃者が256通りの平文と暗号文のペアを推測できれば、送信する8バイトシーケンス(実質的に全データの12.5%)の最後のバイトを常に把握できることになります。インターネットの世界では、標準プロトコルが使用され、標準プロトコルには攻撃者が安全に推測できる標準的なヘッダーとコマンド(「get」、「put」、「mail from:」など)があるため、256通りの平文と暗号文のペアを見つけることは全く難しくありません。一方、暗号にこの特性がある場合(そして他の点でも一般的に安全である場合)、攻撃者はこの方法で暗号を解読するために 2 64(約 10 20)個の平文と暗号文のペアを収集する必要があります。
参照
参考文献