web-dev-qa-db-ja.com

RC4の「バイアス」を非技術者に説明する方法

私は、RC4の弱点のコンテキストで使用される「バイアス」の「プレーンな英語」バージョンを探しています。

RC4が、たとえばhttp(s)トラフィックを介して一連の疑似ランダムビットを生成することを知っています。これでほとんど同じデータを暗号化する場合、暗号化する内容にほとんど変更がなく、これにより出力の類似性が可能になります。そのため、ストリングの一部は同じに見え、以前に見たものを繰り返すことさえあります。

この文脈での「バイアス」の翻訳として、「出力の類似性」または「繰り返し現れる文字列の一部」を使用できますか、それともより良い説明がありますか?

27
spoorlezer

RC4の弱点を技術者以外のユーザーに説明することは、暗号化におけるランダム性の役割を同様のユーザーに説明することと非常に似ていると思います。

夜明けに軍を攻撃したいとしましょう。「夜明けに攻撃」というメッセージを暗号化し、暗号文c_0を生成して軍に送信します。軍は夜明けに敵を攻撃します。すごい。

来週も夜明けに攻撃したいです。そこで、別の鍵を使用してメッセージ「夜明けの攻撃」を再度暗号化して、暗号文c_1を生成し、それを軍に伝えました。これをn回実行して、n個の暗号文を生成するとします。

私の敵が私が送信するメッセージを読むことができる場合、彼は夜明けに軍が攻撃する直前に送信するメッセージのパターン(biases)を探します。これらすべてのメッセージに類似したものがある場合(たとえば、すべてが「?」文字で始まる)、私の敵は「?」で始まるメッセージを推測できる可能性があります。 「夜明けの攻撃」に対応。ただし、暗号文にパターンが見つからない場合、敵は通信について何も学習しません。

RC4の弱点は、異なるキーで暗号化された同じメッセージが、共通のパターン(統計的バイアス)を持つ暗号文を生成することです。これらは通常、同じ文字で始まるよりもはるかに微妙ですが、ポイントは同じです。

48
James Evans