Klasické kryptosystémy a kryptoanalytické metody vznikaly především v období před rozmachem výpočetní techniky, obecné principy však i dnes najdou uplatnění.

Klasická kryptografie

Vyvíjela se v období před rozmachem výpočetní techniky, tedy cca. do roku 1950. Většinou využívá jednoduchých pravidel, jako nahrazení znaků ve vstupním řetězci jinými znaky dle určitého klíče či v přehazování pořadí jednotlivých znaků.

Přehled základních kryptosystémů

Kryptosystém představuje ucelený celek pravidel a postupů potřebných pro úspěšnou realizaci dané šifry.

Afinní šifra

Jedná se o základní substituční šifru. Přepis znaků probíhá podle jednoduchého předpisu lineární transformace.

Caesarova šifra

Představuje jednu z nejjednodušších a vůbec prvních používaných substitučních šifer. Znaky se posouvají dle umístění v abecedě.

Hillova šifra

Je notně více komplexnější, šifrování probíhá pomocí násobení matic a k dešifrování se využívá inverzní matice.

Šifra ADFGVX

Tato šifra se skládá z více jednoduchých kroků. Využívali Němci během první světové války. K přenosu využívala Morseovu abecedu.

Transpoziční šifra

Představuje specifický typ šifer. Jednotlivé znaky ve vstupním řetězci se prohazují v pořadí dle zadaného klíče.

Vigenèrova šifra

Je typem polyalfabetické šifry, v podstatě se jedná o substituční šifru. Využívá kódové slovo a tzv. Vigenèrův čtverec.

Slovníček základních pojmů

Níže jsou představeny některé základní pojmy potřebné v rámci výkladu kryptologie.

PojemVýznam
Abeceda (alphabet) Představuje konečnou množinu znaků, nemusí se jednat pouze o alfanumerické znaky (A - Z a 1 - 9). Například morseovka obsahuje v rámci abecedy dva znaky (pomlčku: - a tečku: . ). Obvykle se značí velkými řeckými písmeny.
Slovo nad abecedou (word) Slovo nad abecedou znamená řetězec znaků z dané abecedy - nehledí se na jejich smysl. Například mějme abecedu znaků (a,e,1,$,%), pak slovem nad touto abecedou je například: $a%ee%%$.
Kódování (encode) Představuje proces převodu vstupního slova nad vstupní abecedou na výstupní slovo nad výstupní abecedou (ne nutně shodnou se vstupní abecedou). Podstatné je, že na rozdíl od šifrování nejde primárně o snahu znepřístupnit vstup neoprávněným osobám. Používá se například pro zlepšení vlastností zprávy při přenosu (s ohledem na detekci chyb) či při komprimaci zprávy.
Šifrování (encryption) Liší se od kódování v tom, že primárním cílem je znemožnit získání vstupního slova neoprávněným osobám (tj. osobám bez znalosti klíče).
Kryptografie (cryptology) Nauka o šifrách, předmětem je vývoj šifer a vymýšlení nových kryptosystémů. Na rozdíl od kryptoanalýzy neřeší primárně prolamování existujících kryptosystémů.
Kryptoanalýza (cryptanalysis) Nauka o prolamování šifer. Řeší způsoby, jak se dostat ke vstupnímu slovu z výstupního slova bez znalosti klíče.
Substituční šifra Nahrazuje dle určitého přepisu znaky vstupní abecedy za znaky výstupní abecedy.
Monoalfabetická šifra Druh substituční šifry. Zaměňuje jednoduše jeden znak vstupní abecedy za přesně určený znak výstupní abecedy (a to vždy stejný pro daný vstupní znak). Například Caesarova šifra.
Polyalfabetická šifra Jeden znak vstupní abecedy může být nahrazen více znaky výstupní abecedy (například v závislosti na hodnotě klíče).
Homofonní šifra Jeden znak vstupní abecedy může být nahrazen více slovy výstupní abecedy (nepoužívá klíč). Například a → 1 nebo 2; b → 6 nebo 4 atd.
Polygrafická šifra V podstatě substituční šifra pracující se skupinou znaků.
Otevřený text (plaintext) Vstup kryptosystému, který má být zašifrován. V podstatě data před zašifrováním.

Některé základní pojmy z diskrétní matematiky důležité pro zavedení některých kryptosystémů jsou k dispozici ZDE.

Frekvenční analýza

Frekvenční analýza představuje základní způsob prolamování tradičních kryptosystémů (především substitučních šifer). Vychází z jednoduchého předpokladu, že incidence (četnost výskytu) jednotlivých znaků v rámci abecedy přirozeného jazyka není rovnoměrná. Například znaky a a e se v anglické abecedě vyskytují mnohem častěji, než jiné znaky.

Obecný princip lze demonstrovat na případě monoalfabetických šifer. Pokud máme dostatečně dlouhou zprávu, nalezneme nalezneme znaky s nejčastějším výskytem. U nich máme důvod předpokládat, že se za nimi skrývá písmeno a či e. Takto lze postupně pokračovat, až se podaří zprávu rozluštit celou.

Ani frekvenční analýza však není všemožná. Při trochu složitějších šifrách vyžaduje pro úspěšné prolomení vstup o určité délce, pokud není k dispozici, není možné ani provést kryptoanalýzu dané šifry.

Úlohy k vyřešení

Naprogramujte kryptoanalýzu Caesarovy šifry a rozluštěte následující řetězec: VZYQFNTFD CPVW D VLYZYPX YL VZXLCL YPNSZO.

Jak postupovat? Nejdříve si udělejte analýzu četnosti jednotlivých znaků ve vstupním slově, ASCII tabulka má 256 znaků, tudíž lze vyřešit například polem s 256 znaky. Dále udělejte cyklus, kde v každé iteraci budete odečítat hodnotu od vstupu, tím vznikne nový znak, který vypište - dávejte pozor na přetečení.