Skip to content
On this page

Úvod do kryptografie

Určitě si pamatujete jak jste se učili o základních šifrách když jste se připravovali na přijímací řízení. V této kapitole si tyto základní šifry zopakujeme, celkově se v této kategorii však naučíte i více pokročilé šifry.

Starověké šifry

První pkusy o šifrování dat najdeme dávno v minulosti, až 4500 let před naším letopočtem. Existovalo spoustu způsobů, ale většinou šlo spíš o fyzický způsob schování dat. Mým oblíbeným příkladem je, že poslům oholili hlavu, něco napsali a vyslali je až když jim vlasy dorostly, tedy zpráva nebyla vidět. Pro opětovné přečtení zprávy jim druhá strana opět oholila hlavu a mohla si zprávu přečíst.

První šifrovací algoritmy

Ikdyž vyholení hlavy je velmi zajímavý způsob jak schovat informaci, pokud má posel oholenou hlavu, zprávu přečte každý proto přichází šifrovaí algorytmy, systémy, které pouze zamění písmena podle daného klíče.

Kama sutra

Tato šifra je velmi jednoduchá, klíčem je dvojice písmen, které se navzájem prohodí, tedy například anna s klíčem, který prohodí a a n se zašifruje na naan. Samozřejmě nemusíme využívat písmen, které ve slově už jsou a můžeme jich definovat více, například můžeme zaměňovat a za x a n za y, takže anna zašifrujeme na xyyx.

Césarova šifra

Cósarova šífra je velmi jednoduchá šifra, nejspíš ta první, která nás napadne, jejím klíčem je číslo, které značí o kolik míst v abecedě posuneme všechny písmena. V případě například abeceda s klíčem 1, zašifrovanou hodnotou je bcfdfeb. Problém této šifry však je velmi malá komplexita klíče. Jakmile je klíč 26, opět se dostáváme zpátky na originální pozici v abecedě, tedy šifrovacích kombinací je pouze 25.

Vigenérova šifra

Vigenérova šifra je velmi podobná Césařově šifře, ale řeší problém, kde je moc málo klíčů. Místo toho aby klíčem této šifry bylo jedno číslo, klíčem je řetězec čísel. Pro každé písmeno, které šifrujeme se podíváme na další hodnotu v klíči a v abecedě uděláme posun o tuto hodnotu. Jakmile dojdeme ke konci klíče, prostě ho opakujeme.

Například Marek se s klíčem 0 1 2 zašifruje na Mbtel.

XOR

Poslední velmi jednoduchý šifrovací algorytmus je XOR, který už však je modernějším algorytmem. Funguje na principu, že se písmena převedou na binární reprezentaci (8bit ASCII / UTF-8) a s těmito hodnotami uděláme logickou operaci XOR, která nám poté vrátí náhodný blob 1 a 0. Klíč je také reprezentovaný 1 a 0.

Ikdyž tento algorytmus zní komplikovaně, opravdu není, funguje stejně jako Vigenérova šifra, ale místo posouvání v abecedě se dělá matematická operace XOR.

Shrnutí

  • Kryptografie je obor, který se zabývá šifrováním a dešifrováním hodnot
  • Šifrovat se snažíme už od středověku, kde jsme spíš využívali spíše fyzických jevů než logických algoritmů
  • Později vznikly i chytřejší algorytmy jako Kama sutra, Césarova šifra, Vigenérova šifra nebo XOR