Playfairova šifra

Skutečným tvůrecm této šifry byl Charles Wheatstone, ovšem Playfair byl ten, kdo ji proslavil, proto dostala název Playfairova šifra. Oba muži žili blízko sebe a často se scházeli, aby si pohovořili o svých myšelnách týkajících se kryprografie.

Playfairova šifra nahrazuje každou dvojici písmen v otevřeném textu jinou dvojicí písmen. Pro tuto šifru budeme také potřebovat nějaké klíčové slovo. Řekněme, že použijeme moje křestní jméno RADIM. Dále si uděláme čtverec o rozměrech 5 x 5 políček a do něho postupně napíšeme abecedu s tím, že nejdříve napíšeme naše naše klíčové slovo RADIM a potom napíšeme popořadě písmena abecedy, kromě těch, které se vyskytují v klíčovém slově. A písmena I a J napíšeme dohromady. Tabulka bude vypadat takto:

RADIM
BCEFG
HKLNO
PQSTU
VWXYZ



Naši zprávu, kterou chceme zašifrovat rozdělíme na dvojice, neboli digrafy, které se skládají z různých písmen. Pokud se ovšem v nějaké dvojici vyskytují dvě stejná písmena, tak druhé písmeno nahradíte za X. Stejně tak, pokud po vám věta vyjde tak, že jako poslední zbyde jedno písmeno, místo dvou, tak přidáte na konec X, aby vám vznikla dvojice. Jako příklad si zašifrujeme například tuto větu:

Otevřený text: Sejdeme se o pulnoci na namesti

Otevřený text v digrafech: se-jd-em-es-eo-pu-ln-oc-in-an-am-es-ti

A nyní můžeme začít šifrovat naši zprávu. Každý digraf spadá do jedné ze tří kategorií. Obě písmena na stejném řádku, obě písmena jsou ve stejném sloupci a nebo je každé písmeno jinde. Pokud jsou obě písmena na stejném řádku, tak se každé písmeno nahradí nejbližším písmenem napravo od nich, takže například ze dvojice nk se stane OL. Pokud je jedno písmeno na konci řádku, tak se nahradí písmenem na začátku například z ok se stane HL. Když jsou písmena ve stejném sloupci, nahradí se nejbližším písmenem pod každým z nich, třeba z se se stane XL. A když je jedno písmeno naspod sloupce, nahradí se vrchním písmenem, takže z xe se stane DL.

Pokud nejsou písmena digrafu ani ve stejném řádku, ani sloupci, tak je zašifrujeme tak, že se podíváme na první písmeno a v jeho řadě najdeme písmeno, které je ve sloupci, který obsahuje druhé písmeno z digrafu, které chceme zašifrovat. Pro zašifrování druhého písmene uděláme to stejné, najdeme na jeho řádku písmeno, které je ve sloupci, který obsahuje první písmeno z našeho digrafu. Takže například z kt se stane NQ a z fp se stane BT.

Otevřený text v digrafechsejdemeseopulnocinanamesti
Šifrový textXLMIGDLXGLQPNOKGFTIKDRLXYF



Naše zašifrovaná zpráva tedy vypadá takto:

XL-MI-GD-LX-GL-QP-NO-KG-FT-IK-DR-LX-YF

Dešifrování provedeme opačným způsobem. Sestavíme si naši první tabulku, uspořádáme do ní znaky podle klíčového slova RADIM a opačným způsobem šifru dešifrujeme. Pokud bychom ji chtěli dešifrovat bez klíče, tak bychom ji dešifrovali pomocí frekvenční analýzy.

Doufám, že se vám tento článek líbil a že jsem tuto šifru popsal srozumitelně. Pokud máte jakékoli připomínky, klidně napište komentář.