強力な暗号は、指紋を隠します。
指紋が薄い暗号を作成するには
この文字の出現頻度の分布を平坦化することです。
15 世紀半ばでは、
polyalphabetic 暗号が
これを達成するに開発されました。
アリスとボブが共有秘密シフト単語を持っているとします。
まず、アリスは、アルファベットの文字の位置により
単語を番号に変換します。
次に、この番号順がメッセージに沿って繰り返されます。
それによって、メッセージの各文字が、
この単語の番号順によるとずらされます。
単一の数ではなく複数の数を用い
シーザー暗号のようにずらされます。
暗号化されたメッセージは、公然とボブに送信されます。
ボブの各文字にずれの数を、秘密の単語に基づいて
定め、元のメッセージを解読します。
暗号を盗もうとするイブが
一連のメッセージを傍受します。
そして、文字の出現頻度を計算します。
この場合、軽く指紋を見つけることができます。
これを、どのように破れるでしょう？
暗号を解くには、情報漏れを利用します。
部分的な指紋を見つけることと同じです。
文字の出現頻度の差分が存在する限り
情報漏れが発生します。
暗号化されたメッセージ内の繰り返しによって この差が発生します。
この場合は、アリスの暗号に繰り返された単語が含まれています。
暗号を解読するには、イブは最初を
秘密の単語そのものではなく、その長さを 見つけます。
これには、異なる間隔で繰り返し
頻度分布をチェックします。
各 5 番目の文字の頻度分布のチェックすると
指紋は自体を明らかになります。
これにより、５つのシーザー暗号を解いていることが
分かります。
それぞれは、以前に説明したように
簡単な作業です。
暗号の強度は、使用された秘密の単語の長さを
見つけるに要する時間に依存します。
長い秘密単語ほど、強い暗号になります。