Streamové šifry jsou vhodné pro hardwarové aplikace v reálném čase.
Šifra je soubor matematických pravidel nebo algoritmu, který se používá k převodu čitelného textu nebo prostého textu na nečitelný text nebo šifrovaný text. Principiální rozdíl mezi proudovými šiframi a blokovými šiframi je v tom, že proudové šifry fungují na proudech textu, jeden bit nebo jeden bajt po druhém, zatímco blokové šifry pracují na blocích textu.
Streamová šifra
Základní myšlenkou proudové šifry je rozdělit text do malých bloků o délce jednoho bitu nebo jednoho bajtu a zakódovat každý blok v závislosti na mnoha předchozích blocích. Proudové šifry používají pro každý bit nebo bajt jiný šifrovací klíč – hodnotu, která musí být vložena do algoritmu, takže stejný bit nebo bajt vytváří při každém zašifrování jiný šifrovaný text. Některé proudové šifry používají generátor proudu klíčů, který vytváří náhodný nebo téměř náhodný proud bitů. Šifra provádí booleovskou operaci, známou jako exkluzivní OR, mezi bity v klíčovém proudu a bity v prostém textu za účelem vytvoření šifrovaného textu.
Video dne
Bloková šifra
Základní myšlenkou blokové šifry je rozdělit text na relativně velké bloky, obvykle dlouhé 64 nebo 128 bitů, a zakódovat každý blok samostatně. Pro každý blok je použit stejný šifrovací klíč a je to šifrovací klíč, který určuje pořadí, ve kterém jsou na každém vykonávány substituční, transportní a další matematické funkce blok. Silné algoritmy znamenají, že zpětné inženýrství šifry nebo určení, které funkce byly provedeny na každém bloku a v jakém pořadí, je prakticky nemožné.
Difúze a zmatek
Blokové šifry používají techniky známé jako záměna a difúze k šifrování otevřeného textu do šifrovaného textu. Smyslem zmatku je učinit vztah mezi šifrovacím klíčem a šifrovaným textem co nejkomplexnější. V ideálním případě by měl každý znak v šifrovacím klíči ovlivňovat každý znak v šifrovaném textu. Naproti tomu difúze šíří vliv každého znaku v otevřeném textu na několik znaků v šifrovém textu, čímž je šifra méně náchylná ke statistickým útokům.
Výhody a nevýhody
Skutečnost, že proudové šifry šifrují a dešifrují data jeden bit po druhém, znamená, že jsou zvláště vhodné pro hardwarové aplikace v reálném čase, jako jsou audio a video aplikace. Streamové šifry jsou slabší a méně účinné než blokové šifry, pokud jde o softwarové aplikace, a v této sféře se používají méně často. Blokové šifry se snadněji implementují do softwaru, protože šifrují data v blocích o délce, kterou software již používá. Šifrovací klíč má často stejnou délku jako velikost bloku.