# Kryptoanalýza klasických šifer

### Ústav telekomunikací, FEKT VUT Brno

## Monoalfabetická substituce

Tato šifra se nazývá také jednoduchá substituce nebo jednoduchá záměna. Jedná se o jednu ze základních šifrovacích metod. Při šifrování je postupně každý znak otevřeného textu nahrazován jedním znakem z šifrové abecedy. Důležité je, že pro celou otevřenou zprávu se použije stejná šifrová abeceda - od toho tedy název monoalfabetická. Tato abeceda může obsahovat odlišné znaky, než abeceda otevřeného textu.

Obecně není monoalfabetická substituce příliš bezpečná - díky převodu 1:1 se totiž v šifrovém textu zachovávají určité charakteristické rysy abecedy otevřeného textu, které lze s úspěchem použít při luštění pomocí frekvenční analýzy (viz metody luštění).

Následující tabulka (1.1) ukazuje příklad otevřené a šifrové abecedy:

Otevřená abeceda | 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
Šifrová abeceda | 5 | o | l | 7 | * | n | j | 2 | q | @ | z | 6 | a | d | 1 | i | 3 | s | 9 | 8 | b | 4 | f | p | h | m

Tab. 1.1: Příklad šifrové abecedy - monoalfabetická substituce

Při znalosti šifrové abecedy je tedy šifrování velmi jednoduché, konkrétní příklad je vidět v tabulce 1.2. Dešifrování potom probíhá stejným - pouze inverzním - způsobem.

Otevřený text | d | i | p | l | o | m | o | v | a | p | r | a | c | e
Šifrový text | 7 | q | i | 6 | 1 | a | 1 | 4 | 5 | i | s | 5 | l | *

Tab. 1.2: Příklad zašifrování textu monoalfabetickou substitucí

Podle způsobu záměny se tato šifra dělí na čtyři typy (v následujícím textu je použito S(x) pro označení šifrové abecedy a O(x) pro abecedu otevřeného textu):

- Jednoduchý posun V případě jednoduchého posunu vznikne šifrová abecedu tak, že abeceda otevřeného textu se posune o několik pozic (parametr k v rovnici 2.1). Pro českou abecedu (26 znaků) tedy existuje celkem 26 možností posunu, z čehož 25 je použitelných, poslední je posun o 0 pozic, tedy k žádnému posunu vlastně nedojde.

  Uvedený postup lze zapsat matematicky:

  kde k je parametr posunu vybíraný z množiny celých čísel < 0; 25 >.

  Dobrým příkladem této šifry je známá Caesarova šifra, kterou používal Julius Caesar již v 1.stol. př. n. l. Tuto šifru popsal ve svých Zápiscích o válce galské. Jednotlivá písmena OT se zamění za písmena ležící v abecedě o tři místa dál. Jedná se tedy o jednoduchý posun s parametrem k = 3. Caesarův synovec Augustus používal obdobný systém s parametrem k = 1 a k tomu poslední písmeno v abecedě (tehdy X) bylo nahrazeno dvojicí AA.

- Afinní šifra Šifrová abeceda afinní šifry vznikne podle následujícího předpisu:

  kde parametr a vybíráme z rozmezí < 1; 25 > a b z rozmezí < 0; 25 >. V tomto případě existuje celkem 312 možností vytvoření abecedy. Vzhledem k tomu, že šifrování musí být jednoznačné, parametr a musí splňovat ještě jednu důležitou podmínku: největší společný dělitel nsd(a; 26) = 1 (to mj. znamená, že a nesmí být sudé). V případě nerovnosti dojde k nejednoznačnému přiřazení (více znaků otevřeného textu bude zašifrováno stejným znakem šifrové abecedy, tzn. zpětně se šifra nebude dát dešifrovat/vyluštit). V praxi to znamená, že při otevřené abecedě o délce 26 znaků nelze použít jako parametr a sudá čísla a číslo 13 (z čehož vyplývá počet možných kombinací šifry). Speciálním případem afinní šifry je již zmíněný jednoduchý posun (pro a = 1).

- Použití klíče Tabulka 1.3 demostruje použití klíče při vytváření šifrové abecedy. Nejprve se obě strany dohodnou na klíči - v tomto případě zvoleno slovo hotel.

  Otevřená abeceda | 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
  Šifrová abeceda | h | o | t | e | l | a | b | c | d | f | g | i | j | k | m | n | p | q | r | s | u | v | w | x | y | z

  Tab. 1.3: Vytvoření šifrové abecedy pomocí klíče

  Tímto slovem bude začínat šifrová abeceda, a dále bude pokračovat abeceda ve stejném pořadí jako otevřená, pouze s vynecháním písmen z klíče. Pokud se v klíči vyskytují stejná písmena (např. slovo motorka), vynechají se písmena vyskytující se vícekrát - vyjma prvního (motrka).

- Náhodný výběr V tomto případě se šifrová abeceda vygeneruje náhodně z abecedy otevřeného textu. Existuje tedy celkem 26! = 403291461126605635584000000, což je cca 4.1026 možností.

Aby nebylo luštění této šifry jednoduché, šifrový text se obvykle zbavuje mezer (případně se mezery nahradí některým - obvykle méně frekventovaným - znakem, či skupinou znaků) - díky tomu kryptoanalytik neví, z kolika slov se otevřený text skládá. Čísla se obvykle vypisují slovy, mohou se ale samozřejmě nahradit některými jinými znaky - stejně tak jako interpunkce.

Dešifrování jednoduché záměny není složité - obě dvě strany potřebují znát původní abecedu a případně heslo (parametry) nebo postup, díky kterému se vytvoří abeceda šifrového textu.

Za vůbec první substituční šifru je považován Hebrejci vynalezený systém ATBAŠ. Šifrování probíhá následujícím způsobem: písmeno OT se nahrad í takovým písmenem ŠT, které má stejnou vzdálenost od konce abecedy, jako původní písmeno od začátku abecedy (v české abecedě tedy např. d = w, i = r atd.).

Jednoduchá záměna byla použitelná do cca 17.století, od té doby byla - obzvláště pro vojenské a vládní systémy - naprosto nedostatečná a bylo nutné nahradit ji jinými systémy.