Úvod do klasických a moderních metod šifrování Jaro 2010, 7. přednáška
Blokové šifry Otevřený text se rozdělí do bloků stejné délky a každý z nich se šifruje zvlášť za použití stejného klíče k . Blokové šifry se používají v kryptosystémech různým způsobem. Různé způsoby se projeví v případě, kdy má otevřený text více než jeden blok. Způsobům použití se říká také módy použití blokových šifer. Nejjednodušší způsob použití je na obrázku a nazývá se elektronická kódová kniha - Electronic Code Book (ECB).
Nevýhody ECB Stejné bloky otevřeného textu mají vždy stejný šifrový obraz. Pokud nalezneme několik shodných bloků šifrového textu, může to v určitém kontextu dokonce odkrývat hodnotu otevřeného textu. Například prázdné sektory na disku jsou vyplněny hodnotou 0xFF. Ve zprávě šifrované módem ECB útočník může bloky šifrového textu libovolně vkládat, zaměňovat nebo odstraňovat. Mód ECB nezajišťuje integritu otevřeného textu.
CBC – Cipher block chaining Synchronní proudové šifry nezajišťují difúzi otevřeného textu. Každý znak otevřeného textu ovlivňuje pouze jeden znak šifrového textu. U blokové šifry každý znak otevřeného textu ovlivňuje jeden blok šifrového textu. CBC, tj. řetězení šifrového textu, je nejpoužívanější mód blokových šifer. Zajišťuje difúzi každého znaku otevřeného textu nejen na celý odpovídající blok šifrového textu, ale i na všechny bloky následující. Napřed se první blok otevřeného textu modifikuje náhodným inicializačním blokem IV, který se přijímací straně vyšle otevřeně před vlastním šifrovým textem. Teprve potom se zašifruje. Čili ŠT1 =Ek(OT1 IV) . Další bloky otevřeného textu se pak modifikují předchozím blokem šifrového textu. Tj. pro i = 2,3, . . . platí ŠTi = Ek(OTi ŠTi-1). Pro dešifrování pak platí OT1 = Dk(ŠT1) IV , a pro i = 2,3, . . ., OTi = Dk (ŠTi ) ŠTi-1 .
Vlastnosti CBC IV způsobí, že šifrujeme-li stejnou zprávu dvakrát se stejným klíčem a různými IV, budou šifrové texty různé. Z definice CBC také vyplývá samosynchronizace. Proces dešifrování se zotaví i po výpadku nebo poškození některých šifrových bloků. Stačí k tomu správně přijmout dva po sobě jdoucí bloky šifrového textu.
Módy CFB a OFB Převádějí blokovou šifru na proudovou tím, že šifrovací transformaci Ek používají ke generování proudu klíče. CFB: ŠT0 = IV, ŠTi = OTi Ek(ŠTi-1) . OFB: H0 = IV, ŠTi = OTi Ek (Hi-1) , kde Hi = Ek (Hi-1) .
Vlastnosti módů CFB a OFB V obou módech se používá pouze šifrovací transformace Ek . Při hardwarové realizaci tak stačí „zadrátovat“ pouze šifrovací funkci. Z výstupního bloku (u OFB) nebo šifrového textu (u CFB) není nutné přenášet celý blok do vstupního bloku, stačí pouze část, nějakých b bitů. OFB je čistě synchronní proudová šifra, proud klíče není ovlivňován ani otevřeným ani šifrovým textem. Vstupní blok má nejvýše 2N možných stavů, kde N je délka vstupního bloku v bitech. Po nejvýše 2N blocích se tak začne proud klíče opakovat. Mód CFB má vlastnost samosynchronizace. K obnovení správného šifrového textu stačí pouze dva po sobě jdoucí nenarušené bloky šifrového textu. Nebo dokonce jenom nenarušené příslušné b bitové části ve dvou po sobě jdoucích blocích šifrového textu.
Čítačový mód CTR (Counter Mode) Podobá se módu OFB, také převádí blokovou šifru na synchronní proudovou šifru Také používá inicializační hodnotu IV, která se na začátku načte do čítače T. Po zašifrování každého bloku otevřeného textu se hodnota čítače aktualizuje, obvykle přičtením 1. V proudu klíče se nemusí používat celý výstupní blok, ale jenom nějaká jeho část . Je nutné dbát na to, aby se při šifrování jedné zprávy nebo dvou zpráv se stejným klíčem nevygenerovala stejná část proudu klíče.
Metoda solení (salting) U všech módů, které používají nějakou inicializační hodnotu IV , tj. CBC, OFB, CFB a CTR, lze použít metodu solení, která slouží k utajení IV. Hodnota IV se sice pošle druhé straně otevřeně, k vlastnímu šifrování se ale potom použije jiná inicializační hodnota IV´ . Ta se získá z IV a klíče k na obou stranách komunikačního kanálu stejným postupem. Hodnota IV´ se tak nikde v komunikačním kanálu neobjeví v otevřené podobě.
Útok na módy CFB, OFB a CTR Funguje také na synchronní proudové šifry. Změna šifrového textu u CFB z ŠT na ŠT d se promítá do otevřeného textu jako OT d . Stejně tak působí u OFB a CTR změna proudu klíče z H na H d.
MAC – Message Authentication Code Tento mód – autentizační kód zprávy - zajišťuje integritu dat. Autentizuje původ zprávy a zajišťuje její ochranu vůči úmyslným zásahům nebo chybám na komunikačním kanálu. K tomuto účelu se používá tajný klíč k1 , který by měl být jiný než klíč použitý k šifrování zprávy.
Hašovací funkce Viz přednášky dr. Vlastimila Klímy z předchozího roku.