Substituční šifry
Monoalfabetická šifra
Jedná se o jednu z nejjednodušších šifer, která využívá pouze jednu šifrovou abecedu, tedy každému znaku z originální abecedy náleží jeden znak z šifrový abecedy. Výhodou monoalfabetické šifry je její jednoduchost. Její největší nevýhodou je pak zranitelnost vůči frekvenční analýze. Z jednotlivých písmen či dvojic lze odhadnout spojky a předložky a písmena postupně dosazovat do dalších neznámých slov. Dále lze spočítat výskyt jednotlivých znaků a porovnat je s výskytem písmen v abecedě použitého jazyka. Pokud je text dostatečně dlouhý, lze ho dešifrovat i bez klíče.
Caesarova šifra
Tato šifra byla údajně vymyšlena a používána Juliem Caesarem. Její princip spočívá v nahrazování znaků otevřeného textu písmeny o tři místa dále v abecedě. Lze ale použít i posun o jiný počet míst.
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
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
Příklad:
Tajna Zprava
Wdmqd Csudyd
Atbash
Šifrovací systém vynalezen a používán Židy. Nejdříve je nutné určit vzdálenost písmene od začátku abecedy a nahradit ho písmenem se stejnou vzdáleností od konce. Dochází tedy k nahrazení prvního znaku abecedy posledním, druhého znaku předposledním atd.
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
Z Y X W V U T S R Q P O N M L K J I H G F E D C B A
Příklad:
Tajna Zprava
Gzqmz Akizez
Polyalfabetická šifra
Funguje na stejném principu jako monoalfabetická šifra, ale využívá více než jednu šifrovou abecedu. K zašifrování zprávy se používala pomůcka známá jako Vigenérův čtverec. Ve čtverci byla na prvním řádku napsána normální abeceda bez posunu, na každém dalším řádku byla abeceda posunuta o jeden znak - posuvná šifra s klíčem "b", "c" atd. Následně bylo potřeba zvolit klíč. Klíč může být slovo jakékoliv délky větší než jedna - v tomto případě by se opět jednalo o monoalfabetickou šifru. Samotný proces šifrování pak probíhal tak, že první písmeno otevřeného textu se zaměnilo za písmeno odpovídající posunutí o první znak klíče. Druhé písmeno bylo nahrazeno stejným způsobem, ale šifrová abeceda byla posunuta o druhý znak klíče. V případě, že klíč byl kratší než původní text a došlo k použití všech znaků, pokračovalo se opět od prvního znaku klíče.
Chceme-li zašifrovat otevřený text "Toto je tajna zprava" musíme si nejdříve zvolit heslo. V tomto příkladu nám jako heslo poslouží slovo Kozel. Protože je naše heslo kratší než otevřený text, napíšeme ho víckrát za sebou.
K O Z E L K O Z E L K O Z E L K O T O T O J E T A J N A Z P R A V A
K zašifrování textu teď musíme najít první písmeno naší zprávy "T" v prvním řádku Vigenerova čtverce, tímto definujeme sloupec.
Teď už nám jen stačí najít první písmeno hesla v prvním sloupci čímž definujeme řádek. První znak šifrového textu nalezneme na místě kde se
protne sloupec s řádkem, v tomto případě je to znak "D". Takto pokračujeme s každým písmenem. Zašifrovaný text bude vypadat takto:
Dcss uo hznyk novlfo