Caesarova šifra

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání
Caesarova šifra spočívá v posunu každého písmena o pevný počet pozic v abecedě. Příklad ukazuje posun o tři pozice, např B se kóduje jako E

Caesarova šifra je podkategorií rozsáhlé kategorie tzv. substitučních šifer.

Princip[editovat | editovat zdroj]

Princip tohoto šifrování je založen na tom, že každé písmeno zprávy je během šifrování zaměněno za písmeno, které se abecedně nachází o pevně určený počet míst dále.

Počet možných variant klíče této šifry je o jedna menší než počet písmen(znaků) v použité abecedě. Zvolíme-li hodnotu posunu stejnou, jako je počet znaků použité abecedy, bude zašifrovaná zpráva identická s předlohou. Vyšším posunem, například posunem s klíčem o jedna větší, než je počet písmen (znaků) abecedy, dostaneme zašifrovanou zprávu odpovídající prostému posunu o klíč jedna, takže použití klíče hodnoty vyšší než počet znaků abecedy nemá kryptografický význam. V některých pramenech se proto o Caesarových šifrách mluví jako o šifrách aditivních.

Na stejném principu také funguje Vigenèrova šifra, pouze místo jedné šifrové abecedy používá 26 šifrových abeced, čímž dosahuje vyšší kvality šifrování.

Použití[editovat | editovat zdroj]

Tuto šifru používal pro vojenskou komunikaci Julius Caesar a popsal ji v Zápiscích o válce galské. Caesar používal posun o tři místa, obecně je ale za Caesarovu šifru označováno jakékoli šifrování na principu prostého posunu písmen (znaků) o konstantní hodnotu. I když je tato šifra z dnešního hlediska snadno rozluštitelná a pro jednoduchost šifrování/dešifrování bývá často používána dětmi, Julius Caesar ji s úspěchem používal při svých vojenských taženích. Pro ’vážné’ úkoly se tato šifra dnes neužívá a slouží pouze k školním demonstracím slabin jednoduchých substitučních šifrovacích systémů. Hlavní a neodstranitelnou slabinou této šifry je, že každý konkrétní znak zdrojového textu odpovídá jednomu konkrétnímu znaku šifrovaného textu, tj. např. u klíče číslo 3 písmeno ’A’ zdroje odpovídá vždy písmenu ’D’ šifrované zprávy.

Formální zápis[editovat | editovat zdroj]

Caesarovu šifru můžeme nadefinovat pomocí Modulární aritmetiky, protože posun písmene o k pozic můžeme zapsat pomocí modula. Pokud si nadefinujeme abecedu jako posloupnost čísel od 0 do 25, kde a=0, b=1, c=2, …, z=25, pak můžeme nadefinovat funkci Posun(o, k), kde o je znak, který se bude šifrovat a k klíč, kterým bude text šifrován, takto: Posun(o, k) = (o + k) mod 26. Funkci Ek(x), která vrátí zašifrovaný text x pomocí klíče k nadefinujeme takto: Ek(x) = Posun(x[i], k) pro všechna i menší nebo rovna než délka vstupního řetězce x, kde x[i] znamená písmeno na i-té pozici. Na popis dešifrování budeme potřebovat funkci PosunZpet(c, k), která posune zašifrované písmeno c zpět o k písmen. Nadefinujeme ji takto: PosunZpet(c, k) = (c - k + 26) mod 26. Dešifrovací funkci pro klíč k a šifrový text x definujeme takto: Dk(x) = PosunZpet(x[i], k) pro všechna i menší nebo rovna než délka vstupního řetězce x.

Příklad šifrování[editovat | editovat zdroj]

Mějme otevřený text „čas jsou peníze“. Vzhledem ke zvyklostem[zdroj?] v kryptografii odstraníme české znaky: „cas jsou penize“. Volitelně můžeme také odstranit mezery: „casjsoupenize“. Tento připravený text budeme chtít zašifrovat Caesarovou šifrou pomocí klíče „d“, tedy posun o tři písmena. Pokud máme klíč „d“, znamená to, že se písmeno „a“ zobrazí na písmeno „D“, ostatní záměny pak vychází z této. Všechna písmena v otevřeném textu tak posuneme o tři písmena dále v abecedě, vzniknou nám zobrazení: c→F, a→D, s→V, …

casjsoupenize
FDVMVRXSHQLCH

Výsledné zašifrované slovo je FDVMVRXSHQLCH, případně FDV MVRX SHQLCH, pokud ponecháme mezery, v pěticích FDVMV RXSHQ LCH.

Luštění[editovat | editovat zdroj]

Tato šifra je vzhledem k omezenému, nízkému počtu možných klíčů snadno napadnutelná tzv. Útokem hrubou silou, kdy jsou prostě zkoušeny všechny možné varianty klíče. K tomuto způsobu útoku je dobré znát použitou abecedu. Proto někdy bývá školní úloha ztížena použitím například anglického/českého pořadí písmen abecedy. V případech použití neobvyklého pořadí písmen abecedy bývají dobře úspěšné jednoduché metody založené na porovnávání relativní četnosti výskytu písmen(znaků) šifrovaného textu s tabulkou relativní výskytu četnosti písmen v předpokládaném jazyce zdrojové zprávy.

Související články[editovat | editovat zdroj]

Reference[editovat | editovat zdroj]