Provozní režim blokových šifer
![otevřený text](http://upload.wikimedia.org/wikipedia/commons/thumb/5/56/Tux.jpg/160px-Tux.jpg)
![šifrování v režimu kódové knihy šifruje stejné otevřené bloky na stejné šifrové](http://upload.wikimedia.org/wikipedia/commons/thumb/f/f0/Tux_ecb.jpg/160px-Tux_ecb.jpg)
![zatímco vhodně zvolený režim vytváří zdánlivě náhodná data](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Tux_secure.jpg/160px-Tux_secure.jpg)
Provozní režim nebo operační mód blokové šifry v kryptologii znamená způsob, kterým je bloková šifra používána především pro umožnění bezpečného šifrování otevřených textů delších, než je její blok, a v kombinaci s vhodnou výplní i pro délky, které nejsou násobkem délky bloku.
Dále slouží také k tomu, aby bylo možné bezpečné opakované užití stejného šifrovacího klíče. Většina režimů využívá kromě klíče takzvaný inicializační vektor, jedinečný (často dokonce povinně náhodný, respektive zaručeně nepředvídatelný) soubor bajtů (obvykle o délce bloku blokové šifry), jehož použitím se předejde tomu, aby opakované zašifrování stejného otevřeného textu stejným klíčem vedlo ke stejnému šifrovému textu.
Některé běžné provozní režimy
ECB (režim kódové knihy)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/1/12/ECB_encryption_cs.svg/220px-ECB_encryption_cs.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/3/34/ECB_decryption_cs.svg/220px-ECB_decryption_cs.svg.png)
Režim „kódové knihy“ (anglicky electronic codebook; z toho zkratka ECB) je režimem nejjednodušším a základním. Bloková šifra se při něm přímo aplikuje nezávisle na jednotlivé bloky, tedy při daném klíči odpovídá stejnému bloku otevřeného textu stejný blok šifrového textu. Odtud pochází název režimu: Konkrétní blok je v tomto režimu „překládán“ na jiný blok podobně, jako se v různých historických substitučních šifrách překládaly jednotlivé znaky nebo slova na jiné pomocí tabulky obsažené v kódových knihách.
To má nežádoucí důsledky z hlediska bezpečnosti: Pokud se například tento režim použije pro šifrování nějakého protokolu s pevně danou strukturou, může útočník po zachycení určitého počtu zpráv začít rozlišovat jejich obsah, když rozpozná opakování nějakého klíčového bloku obsaženého v některých dřívějších zprávách. Aktivní útočník může i sám sestavovat podvržené zprávy jako nové kombinace zachycených bloků, což může usnadňovat útoky přehráním zprávy.
Z hlediska chybovosti je výhodou, že přenesení bloku chybně nemá vliv na dešifrovatelnost jiných bloků, a obecnou výhodou je jednoduchost tohoto režimu. Pro zabezpečení ale může být použit pouze tehdy, je-li zaručena dlouhodobá jedinečnost bloků šifrovaných stejným klíčem – tedy v rámci moderní kryptografie není používán prakticky nikdy.
CBC (řetězení šifrových bloků)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a5/CBC_encryption_cs.svg/220px-CBC_encryption_cs.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/84/CBC_decryption_cs.svg/220px-CBC_decryption_cs.svg.png)
V režimu „řetězení šifrových bloků“ (anglicky cipher block chaining) je každý blok před šifrováním xorován zašifrovaným předchozím blokem a první blok je xorován inicializačním vektorem.
Matematicky lze šifrování tedy zapsat
a dešifrování zapsat
Tento režim je široce používán. Dvě nevýhody plynou ze zřetězené závislosti, kdy šifrový blok závisí na všech předcházejících: Šifrování nelze paralelizovat a při poškození šifrového bloku nelze dešifrovat ani blok přímo následující. Dešifrování paralelizovat lze.
Z tohoto režimu je odvozena technika konstrukce autentizačního kódu zprávy zvaná CBC-MAC.
CFB (šifrová zpětná vazba)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/CFB_encryption_cs.svg/220px-CFB_encryption_cs.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/aa/CFB_decryption_cs.svg/220px-CFB_decryption_cs.svg.png)
Režim „šifrové zpětné vazby“ (anglicky cipher feedback) je velmi podobný řetězení šifrových bloků (CBC) popsanému výše, jen prohazuje pořadí operací, tedy místo aby nejprve xoroval otevřený blok s předcházejícím šifrovým a pak výsledek šifroval blokovou šifrou, nejprve zašifruje předchozí šifrový blok a výsledkem xoruje otevřený blok. Toto prohození má významné implementační dopady: dešifrovací funkce vypadá obdobně jako šifrovací, tedy z blokové šifry se používá pouze šifrování, zatímco dešifrování není potřeba, tedy také není potřeba jeho hardwarová podpora. Symbolicky zapsány vypadají operace takto:
Opět platí, že šifrování paralelizovat nelze, zatímco dešifrování ano, a že poškození šifrového bloku znemožní dešifrování jeho samého a bloku následujícího, dalších pak už ne.
OFB (výstupní zpětná vazba)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/a/a4/OFB_encryption_cs.svg/220px-OFB_encryption_cs.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/0/00/OFB_decryption_cs.svg/220px-OFB_decryption_cs.svg.png)
Režim „Výstupní zpětné vazby“ (anglicky output feedback) převádí blokovou šifru na šifru proudovou. Šifrování probíhá pouhým xorováním otevřeného bloku s heslem, které je v každém kroku zašifrováno použitou blokovou šifrou. První blok hesla je získán zašifrováním inicializačního vektoru.
CTR (čítačový režim)
„Čítačový režim“ (anglicky counter mode) převádí stejně jako OFB blokovou šifru na proudovou. Heslo, se kterým se blok otevřeného textu xoruje, je však získáno zašifrováním čítače, který se každou iteraci zvětšuje o pevně danou hodnotu, zpravidla o 1. Obsah čítače je opět před šifrováním nastaven inicializačním vektorem.
![](http://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/CTR_decryption_2_cs.svg/220px-CTR_decryption_2_cs.svg.png)
![](http://upload.wikimedia.org/wikipedia/commons/thumb/8/88/CTR_encryption_2_cs.svg/220px-CTR_encryption_2_cs.svg.png)
Odkazy
Reference
V tomto článku byl použit překlad textu z článku Block cipher mode of operation na anglické Wikipedii.
Literatura
- BURDA, Karel. Aplikovaná kryptografie. Brno: VUTIUM, 2013. ISBN 978-80-214-4612-0. Kapitola Provozní režimy blokových šifer.
Externí odkazy
Obrázky, zvuky či videa k tématu provozní režim blokových šifer na Wikimedia Commons