My Authors
Read all threads
Několik posledních dní jsem byla kupodivu celkem produktivní a dnes to vyeskalovalo a napsala jsem konečně další vlákno, jupí! Plánuju napsat v dalších týdnech sérii vláken o kryptografii. Dnes začneme historií, principem fungování Enigmy, because why not.
Když se nad tím člověk zamyslí, kryptografie není jen záležitost matematiky nebo informatiky. Celý náš komunikační systém, nejen online, stojí na tom, že správné informace umíme ukrýt. Kdybychom to neuměli, nefungovala by třeba taková zásadní věc, jako výměna peněz.
Kryptografie je navíc nesmírně populární napříč různými žánry popkultury, hlavně ve filmech. Všichni určitě známe příběh Alana Turinga, který posunul dešifrování na nový level a ukázal, jak jsou počítače pro tenhle task dokonalé a nebezpečné zároveň.
Podívejme se tedy nejprv to, jak Enigma fungovala, abychom měli základ k pochopení toho, jak ji Turing hacknul a později i na to, jak funguje dnešní kryptografie a jak ji ohrožují kvantové počítače - stay tuned. Image
Když chtěl někdo zakódovat zprávu, měl k dispozici klávesnici, viz obrázek na předchozím tweetu. Klávesnice byla napojená na rotační kolečko, rotor, který měl 26 elektrických vstupů. To jsou ty válečky, co koukají nahoru. Image
Když jste zmáčkli třeba písmeno A, šel elektrický proud z A na jeden z 26 vstupů na prvním rotoru. Na každém vstupu bylo napojené jiné písmeno abecedy. Dejme tomu, že A bylo skrz první rotor napojeno na F. No a tenhle vstupní rotor byl napojen na další rotor s 26 vstupy, viz obr. Image
Rotory se na sebe daly takhle skládat a každý z nich měl různé cesty mezi jednotlivými písmenky, to jsou ty drátky uvnitř rotoru na obrázku. A v našem případě šlo nejdříve na F a F bylo na druhém rotoru napojené třeba na Z. Takže máme A->F->Z. Image
Jenže po druhém rotoru přišel třetí rotor, opět 26 vstupů. Zapojme ho tak, aby se Z zobrazilo na S. Pokud jste tedy zmáčkli A, zakódovalo se při tomto zapojení všech tří rotorů jako S. Celá cesta od A do S byla tedy následující: A->F->Z->S.
Jenže to má háček. Po zmáčknutí libovolného písmena totiž první rotor změní pozici, otočí se. Tím ale úplně změní elektrické vstupy a tedy i cesty od jednoho písmena k druhému, což znamená, že A se po druhém zmáčknutí nezobrazí na S, ale na nějaké jiné písmeno.
Pokud nakombinujeme všechny možnosti, vychází to na 17 576 možností na jedno písmenko s tím, že rotory se pořád točí. Rozklíčovat jedno slovo znamená pro každé písmeno brát v potaz přes 17k možností. Rotory navíc můžete nastavit tak, aby se otáčely po libovolném počtu písmen.
Takže dejme tomu, že já nastavím, aby se po zmáčknutí jednoho písmena otočil vstupní rotor o jednu pozici, po třech otočeních prvního se otočil druhý a třeba po deseti otočení druhého se otočil třetí. To nám původní číslo násobí x 26^3. To ale pořád ještě není všechno!
Rotory uvnitř mašiny totiž můžou měnit pořadí, tedy vstupní můžu dát na konec a tak dále. A jak jsem říkala, každý rotor je jedinečný, což nám násobí původní číslo šesti. Pokud jste ztratili count, jsme nyní v řádech stovek milionů možností... na písmeno.
...to ale furt ještě nestačilo k tomu, aby byla Enigma neprolomitelná. Alespoň ne lidským mozkem. Když se podíváte na obrázek, vidíte, že má vepředu takovou desku, kde jsou propojeny vždycky dvojice písmen. Tyhle spoje se dají kdykoli během kódování přeskládat. Image
Mohli jste napojit třeba T na W a najednou se T chová tak, jako by se chovalo W, kdybyste ho při daném nastavení rotorů vyťukali. A naopak, W se zakóduje tak, jak by se zakódovalo T. Celkový počet možností? 158x10^30. Třicet nul za číslem 158.
A jak tohle Turing vyřešil? Jak postavit stroj, který ověří tolik možností a dekóduje zašifrovanou zprávu? To si povíme příště; subscribe for more!
Missing some Tweet in this thread? You can try to force a refresh.

Keep Current with Prague physicist

Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!