Crypto
Úvod §
Caesarova šifra je jednou z prvních známých a nejjednodušších šifer. Jedná se o typ substituční šifry, ve které je každé písmeno v prostém textu „posunuto“ o určitý počet míst v abecedě. Například s posunem 1 by A bylo nahrazeno B, B by se stalo C a tak dále. Metoda je pojmenována po Juliovi Caesarovi, který ji zřejmě používal ke komunikaci se svými generály.
složitější šifrovací schémata, jako je Vigenèrova šifra, používají Caesarovu šifru jako jeden prvek šifrovacího procesu. Široce známé „šifrování“ ROT13 je jednoduše Caesarova šifra s posunem 13. Caesarova šifra nenabízí v podstatě žádnou komunikační bezpečnost a ukáže se, že ji lze snadno rozbít i ručně.
Příklad §
předat zašifrovaný vzkaz od jedné osoby na druhou, je nejprve nutné, aby obě strany mají klíč pro šifru, tak, že odesílatel může zašifrovat a přijímač může dešifrovat. Pro šifru caesar je klíčem počet znaků pro posun šifrové abecedy.
zde je rychlý příklad kroků šifrování a dešifrování zapojených do šifry caesar. Text, který zašifrujeme, je ‚defend the east wall of the castle‘, s posunem (klíčem) 1.
plaintext: defend the east wall of the castleciphertext: efgfoe uif fbtu xbmm pg uif dbtumf
je snadné vidět, jak je každý znak v prostém textu posunut nahoru abecedou. Dešifrování je stejně snadné pomocí offsetu -1.
plain: abcdefghijklmnopqrstuvwxyzcipher: bcdefghijklmnopqrstuvwxyza
je zřejmé, že pokud je použit jiný klíč, šifrová abeceda bude posunuta o jinou částku.
matematický popis §
kde K je klíč (posun) aplikovaný na každé písmeno. Po použití této funkce je výsledkem číslo, které musí být přeloženo zpět do písmene. Dešifrovací funkce je :
JavaScript Například caesarova Šifra §
prostý text
shift
Šifra
Další Implementace §
Pro caesarova šifra kódu v různých programovacích jazycích, viz Implementace strana.
Chcete-li šifrovat vlastní zprávy v Pythonu, můžete použít modul pycipher. Chcete-li jej nainstalovat, použijte pip install pycipher. K zašifrovat zpráv pomocí caesarova šifra (nebo jinou šifru, viz zde pro dokumentaci):
Dešifrování §
Viz Dešifrování caesarovy Šifry na způsob, jak automaticky prolomení této šifry.
Kryptanalýza je umění prolomení kódů a šifer. Caesarova šifra je pravděpodobně nejjednodušší ze všech šifer, které lze rozbít. Protože posun musí být číslo mezi 1 a 25, (0 nebo 26 by výsledek v nezměněné formě prostého textu), můžeme jednoduše vyzkoušet všechny možnosti a zjistit, které výsledky v kuse čitelný text. Pokud náhodou víte, co je kus šifrytext, nebo můžete hádat kus, pak vám to umožní okamžitě najít klíč.
Pokud to není možné, systematičtějším přístupem je výpočet frekvenční distribuce písmen v textu šifry. To spočívá v počítání, kolikrát se každé písmeno objeví. Přirozený anglický text má velmi odlišnou distribuci, kterou lze použít pomocí kódů crack. Toto rozdělení je následující:
To znamená, že písmeno e je nejčastější, a zdá téměř 13% času, vzhledem k tomu, z se zobrazí daleko méně než 1% času. Aplikace Caesarovy šifry tyto písmenné frekvence nemění ,pouze je posune o kousek dál (pro posun 1 se nejčastějším šifrovým písmenem stává f). K dešifrování prostě musí najít ten posun, který způsobuje, že šifrový frekvence, aby odpovídaly úzce s přírodní anglický frekvence, pak dešifrovat text pomocí které směny. Tuto metodu lze použít k snadnému rozbití šifer Caesar ručně.
Pokud máte stále potíže, zkuste část kryptanalýzy na stránce substituční šifry. Všechny strategie, které pracují s substituční šifra, bude také pracovat s caesarova šifra (ale metody, které fungují na caesarovu šifru nemusí nutně pracovat na obecné substituční šifra).
pro metodu, která funguje dobře na počítačích, potřebujeme způsob, jak zjistit, které z 25 možných dešifrování vypadá nejvíce jako anglický text. Viz Kryptanalýza Caesarovy šifry, kde najdete návod, jak ji rozbít pomocí čtyřgramových statistik. Klíč (nebo shift), který má za následek dešifrování s nejvyšší pravděpodobností anglického textu, je s největší pravděpodobností správný klíč. Samozřejmě, čím více šifrovaného textu máte, tím je pravděpodobnější, že to bude pravda (to je případ všech statistických opatření, včetně výše uvedeného frekvenčního přístupu). Použitou metodou je tedy vzít šifru, zkusit ji dešifrovat s každým klíčem a pak zjistit, které dešifrování vypadá nejlépe. Tento zjednodušující metoda dešifrování funguje pouze na velmi jednoduché šifry, jako je například caesarova šifra a železniční plot cipher, dokonce mírně složitější šifry, může mít příliš mnoho klíče zkontrolujte, zda všechny z nich.
Odkazy §
- Wikipedie má dobrou popis šifrování/dešifrování proces, historie a dešifrování tohoto algoritmu
- Simon Singh ‚Knížka‘ je vynikající úvod do šifry a kódy, a obsahuje sekci o caesarových šifer.
- Singh, Simon (2000). Kódová kniha: věda tajemství od starověkého Egypta po Kvantumkryptografii. ISBN 0-385-49532-3.