Hlavní obsah
Informatika – Počítače a internet
Kurz: Informatika – Počítače a internet > Kapitola 3
Lekce 6: Šifrování datŠifrování, dešifrování a prolomení kódu
Jednou z první šifrovacích technik šifrování byla Caesarova šifra, kterou před více než dvěma tisíci lety vymyslel Julius Caesar pro komunikaci se svými spojenci.
Caesarova šifra je díky své jednoduchosti skvělým úvodem do šifrování, dešifrování a prolomení kódu.
Zašifrování zprávy
Dejme tomu, že Caesar chce poslat následující zprávu:
SECRET MEETING AT THE PALACE
(česky tajné setkání v paláci)A takhle tato zpráva vypadá zašifrovaně:
YKIXKZ SKKZOTM GZ ZNK VGRGIK
Na první pohled to může vypadat jako hatmatilka, ale tento zašifrovaný text velmi souvisí s původním textem.
Caesarova šifra je jednoduchá substituční šifra, která nahrazuje každé původní písmeno jiným písmenem posunuté abecedy.
Abych vytvořil zakódovanou zprávu výše, posunul jsem abecedu o šest písmen, čímž jsem vytvořil následující substituční tabulku:
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C | D | E | F |
S se posunutím o šest písmen změní na Y, E se posune o šest na písmeno K, atd. Zde je první slovo a jeho posunutý ekvivalent:
S | E | C | R | E | T |
---|---|---|---|---|---|
Y | K | I | X | K | Z |
Dešifrování zprávy
Podle historiků používal Caesar posun vždy o tři. Takže dokud příjemce šifry znal tento posun, dešifrovat zprávu byla už pak hračka.
Co když by Caesar svému veliteli poslal tuto zprávu:
EHZDUH EUXWXV
Velitel by pak použil substituční tabulku s posunem o tři:
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | A | B | C |
Mohl by tak dešifrovat Caesarovu zprávu velice jednoduše. První písmeno „E“ se posunem o tři změní na „B“, druhé písmeno „H“ se posunem o tři změní na „E“, atd. Výsledkem je pak tento zlověstný vzkaz:
BEWARE BRUTUS
(česky pozor na Bruta)Prolomení šifry
Jedno z Caesarových poselství však bylo zachyceno velmi vzdělaným a důvtipným nepřítelem císařství.
RZ VMZ WMDIBDIB VGG AJMXZN OJ EJDI RDOC XGZJKVOMV OJ YZAZVO OCZ ZIZHT LPZZI VO OCZ IDGZ YZGOV
Tento nepřítel neví, že Caesar vždy používá posun o 3, takže musí ,,prolomit“ tuto šifru bez znalosti posunu.
Existují tři hlavní techniky, které by mohl použít: frekvenční analýza, původní text a útok hrubou silou.
Frekvenční analýza
Různé jazyky používají určitá písmena více než jiná. Například „E“ je nejčastější písmeno pro angličtinu. Frekvenční analýzou písmen ve zprávě můžeme zjistit, které písmeno v šifře bude nejpravděpodobněji „E“, a tím zjistit pravděpodobný posun.
Zkus si to! Vlož zprávu do pole pro text níže a pomocí grafu odhal, které písmeno bude pravděpodobně „E“:
Známý prostý text
Dalším termínem pro původní nezašifrovaný text je prostý text. Pokud nepřítel již nějakou část textu zná, bude pro něj jednodušší prolomit zašifrovanou zprávu.
Tak například, některé zprávy často začínají vždy velmi podobně. Za druhé světové války obsahovaly německé šifrované zprávy vždy na začátku předpověď počasí, což velice pomohlo britskému matematikovi Alanu Turingovi k jejich prolomení.
Myslíš, že Julius používal ve svých zašifrovaných zprávách něco podobného?
Útok hrubou silou
Pouze 25 posunů je možných (ne 26 - proč ne?). Nepřítel by mohl postupně vyzkoušet každý posun, dokud by nezískal nějaký smysluplný výsledek. Dokonce by nemusel zkoušet rovnou celý vzkaz, stačilo by prvních pár slov.
Zkus si to:
Caesarův nepřítel by neměl k dispozici počítač, který by mu pomohl, takže by mu prolomení Caesarovy šifry zabralo asi hodinu.
Podařilo se ti prolomit kód a dešifrovat zprávu?
Klikni níže pro velké odhalení!
Šifrování, dešifrování a prolomení kódu
Díky tomuto rozboru Caesarovy šifry rozumíme třem klíčovým aspektům šifrování dat:
- Šifrování: skrývání dat podle tajného klíče (v tomto případě posun abecedy).
- Dešifrování: odhalení původních dat ze skrytých dat pomocí tajného klíče.
- Prolomení kódu: odhalení původních dat bez znalosti tajného klíče pomocí různých chytrých technik.
Pokud uvažujeme o použití nějaké šifrovací techniky, musíme brát v potaz všechny tyto aspekty: jak jednoduše se dá zašifrovat? jak jednoduše se dá dešifrovat? A co je asi nejdůležitější, jak těžké bude pro darebáky tuto šifru prolomit?
Caesarovu šifru už nemůžeme použít, protože jde velice jednoduše prolomit, ale její pochopení nám pomůže porozumět moderním šifrovacím technikám.
Pokud se chceš do Caesarovy šifry ponořit hlouběji, v rámci Khan Academy nabízíme Starověkou kryptografii.
🙋🏽🙋🏻♀️🙋🏿♂️Máš k tomuto tématu nějaké dotazy? Rádi ti je zodpovíme — zeptej se v sekci pro dotazy níže!
Chceš se zapojit do diskuze?
Zatím žádné příspěvky.