Provozní režim blokových šifer

Technology
12 hours ago
8
4
2
Avatar
Author
Albert Flores

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)

Šifrování v režimu kódové knihy (ECB) +moresvg|náhled'>Dešifrování v režimu kódové knihy (ECB) Režim „kódové knihy“ (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ů)

Šifrování v režimu řetězení šifrových bloků (CBC) +moresvg|náhled'>Dešifrování v režimu řetězení šifrových bloků (CBC) V režimu „řetězení šifrových bloků“ 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 :C_i = E_K(P_i \oplus C_{i-1}), :C_0 = IV

a dešifrování zapsat :P_i = D_K(C_i) \oplus C_{i-1}, :C_0 = IV.

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í. +more 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)

Šifrování v režimu šifrové zpětné vazby (CFB) +moresvg|náhled'>Dešifrování v režimu šifrové zpětné vazby (CFB) Režim „šifrové zpětné vazby“ 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: :C_i = E_K (C_{i-1}) \oplus P_i :P_i = E_K (C_{i-1}) \oplus C_i :C_{0} = \ \mbox{IV}.

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)

Šifrování v režimu výstupní zpětné vazby (OFB) +moresvg|náhled'>Dešifrování v režimu výstupní zpětné vazby (OFB) Režim „Výstupní zpětné vazby“ 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.

:C_i = E_K (C_{i-1}) :P_i = P_i \oplus C_i :C_{0} = \ \mbox{IV}

CTR (čítačový režim)

„Čítačový režim“ 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. +more Obsah čítače je opět před šifrováním nastaven inicializačním vektorem.

:CTR_i = CTR_{i-1} + 1 :P_i = P_i \oplus E_k(CTR_i) :CTR_{0} = \ \mbox{IV} Dešifrování v čítačovém režimu (CTR) +moresvg|žádné|náhled'>Šifrování v čítačovém režimu (CTR).

Odkazy

Reference

Literatura

Externí odkazy

Kategorie:Provozní režimy blokových šifer

5 min read
Share this post:
Like it 8

Leave a Comment

Please, enter your name.
Please, provide a valid email address.
Please, enter your comment.
Enjoy this post? Join Cesko.wiki
Don’t forget to share it
Top