Caesarova šifra

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

Caesarova šifra je šifrovací metoda, která byla používána již v antickém Římě, kde sloužila k zabezpečení tajných zpráv. Metoda je založena na přesunu abecedy o určitý počet pozic, který je stanoven klíčem. Tím se každé písmeno nahrazuje jiným písmenem v abecedě. Původně byla používána k šifrování zpráv vojenského charakteru, ale dnes se této metody využívá často jako hrací prostředek či zábava. Caesarova šifra je jednoduchá a snadno prolomitelná, proto se v moderní době využívá spíše jako základ pro složitější a bezpečnější šifry.

Princip Caesarovy šifry

Princip Caesarovy šifry je založen na tom, že všechna písmena zprávy jsou během šifrování zaměněna za písmeno, které se abecedně nachází o pevně určený počet míst dále (tj. posun je pevně zvolen).

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. +more 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í

Tuto šifru používal pro vojenskou komunikaci Julius Caesar a popsal ji v Zápiscích o válce galské (odtud je odvozen její název). 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. +more 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. +more Například u klíče velikosti 3 je každé písmeno A ze vstupu (zdroje) převedeno (zašifrováno) na písmeno D, každé písmeno B je zašifrováno na písmeno E atd. , takže lze zašifrovaný text snadno při kryptoanalýze statisticky zpracovat na výskyt jednotlivých písmen v daném vstupním jazyce (viz článek frekvenční analýza a kapitola níže).

Formální zápis

Caesarovu šifru můžeme definovat 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. +more 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í

Mějme otevřený text „čas jsou peníze“. Pro zjednodušení odstraníme české znaky a tím získáme vstupní (zdrojový) text: „cas jsou penize“. +more Pro ztížení šifry (viz kapitola Kryptoanalýza níže) můžeme odstranit mezery, čímž získáme text „casjsoupenize“. Tento připravený text budeme chtít zašifrovat Caesarovou šifrou pomocí klíče „d“, tedy posun o tři písmena. Pokud je klíč tři (3), znamená to, že je písmeno a vstupujícího (zdrojového) textu zašifrováno na písmeno D, písmeno s je zašifrováno na znak V a tak dále (zašifrovaný text je na spodním řádku následujícího příkladu). Všechna písmena v otevřeném textu jsou tedy posunuta o tři písmena dále v abecedě a tím nám vznikne 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) nebo při organizaci v pěticích „FDVMV RXSHQ LCH“.

Kryptoanalýza

Caesarovu šifru lze poměrně snadno vyluštit (tj. pomocí metod kryptoanalýzy zjistit neznámý klíč, což je zde počet míst posuvu v abecedě). +more Vzhledem k prostému posuvu je v zašifrovaném textu možné odhadnout, některá písmena pomocí odhadu jejich statistického výskytu (což může dále zjednodušit ponechání mezer v šifrovaném textu), tedy použít na zašifrovaný text tzv. frekvenční analýzu. Vzhledem k omezenému (nízkému) počtu možných klíčů je šifra snadno napadnutelná též útokem hrubou silou, kdy jsou prostě zkoušeny všechny možné varianty klíče, avšak 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.

Literatura

Kryptografie; Fred Piper, Sean Murphy

Reference

Externí odkazy

[url=http://coord. info/GC1NDJ6]Caesarova šifra jako námět luštění mystery keše[/url] (http://www. +moregeocaching. com) * [url=http://www. matematika. cz/caesarova-sifra]Online nástroj pro šifrování/dešifrování Caesarovy šifry[/url] (http://www. matematika. cz).

Kategorie:Klasické šifry Kategorie:Julius Caesar

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top