Jak prolomit Vigenèrovu šifru se znalostí délky klíče

Kapitoly: Vigenèrova šifra, Jak prolomit Vigenèrovu šifru se znalostí délky klíče, Odhadnutí délky klíče Vigenèrovy šifry, Jak spočítat délku klíče Vigenèrovy šifry, Friedmanův test — index koincidence

Vigenèrova šifra byla ve své době považována za nerozluštitelnou šifru, tak moc se jí věřilo. Doba samozřejmě ukázala, že to bylo velice přehnané tvrzení. V současné době dokonce patří Vigenèrova šifra mezi naprosto nejjednodušší šifry na rozluštění, alespoň pokud nepoužijeme nějaký dlouhý klíč spolu s krátkým textem.

Útok se znalosti délky klíče

Vigenèrova šifra je velice slabá ve chvíli, kdy známe délku klíče. Jak by například probíhalo šifrování textu „dobryvecer“, pokud bychom použili libovolný klíč délky dva? Pro příklad budeme předpokládat, že jsme použili klíč „oj“:

Otevřený text:dobryvecer
Klíč:ojojojojoj
Šifrový text:rxpameslsa

Kvůli neustálému opakování klíče „oj“ dochází k tomu, že každé druhé písmeno otevřeného textu se šifruje klíčem „o“ (červeně zvýrazněno) a zbývající písmena se šifrují klíčem „j“ (modře zvýrazněno).

Přitom platí, že červený text „dbyee“ je zašifrován na text „rpmss“ za použití Caesarovy šifry s klíčem „o“ a totéž pro modrý text, kde akorát použijeme klíč „j“.

Ve chvíli, kdy známe délku klíče, můžeme rozdělit šifrový text na jednotlivé bloky textu, které jsou vždy zašifrovány Caesarovou šifrou o stejném klíči. Pokud například zjistíme, že klíč má délku 3, rozdělíme šifrový text na 3 bloky textu. V prvním bloku bude 1., 4., 7., … písmeno otevřeného textu, ve druhém bloku 2., 5., 8., … písmeno atd. Každý blok prolomíme Caesarovou šifrou a nakonec všechny tyto klíče spojíme do jednoho slova, čímž získáme hledaný klíč Vigenèrovy šifry.

Následující nástroj umožňuje prolomit text zašifrovaný Vigenèrovou šifrou, pokud mu zadáte délku klíče. Zároveň vám vypíše všechny bloky textu, na které se šifrový text během prolamování rozdělil.

Šifrový text:
Délka klíče: