Bezpečnost blokových šifer je zásadně zakořeněna v iterativní aplikaci operací zmatení a difúze. Tento koncept poprvé formalizoval Claude Shannon ve své zásadní práci o teorii komunikace v systémech utajení, kde formuloval nutnost jak zmatení, tak difúze v kryptografických systémech k maření statistických a strukturálních útoků. Pochopení toho, proč je vyžadováno více kol těchto operací a jak spolu souvisejí, je klíčové pro pochopení návrhu a zabezpečení moderních blokových šifer, jako je standard šifrování dat (DES) a standard šifrování Advanced Encryption Standard (AES).
Zmatek a difúze: Definice a role
Zmatek se snaží co nejvíce zkomplikovat vztah mezi šifrovaným textem a klíčem. Dělá to tak, že maskuje statistickou strukturu otevřeného textu, často pomocí nelineárních substitucí (např. S-boxy v DES a AES). Čím nelineárnější a složitější je toto mapování, tím obtížnější je pro útočníka odvodit informace o klíči, a to i při přístupu k mnoha párům otevřený text a šifrovaný text.
Difúze se na druhou stranu snaží rozložit vliv každého bitu prostého textu na mnoho bitů šifrovaného textu tak, aby změna jednoho vstupního bitu vedla ke změnám mnoha výstupních bitů. Tato vlastnost zajišťuje, že statistické vlastnosti prostého textu jsou rozptýleny v šifrovaném textu, což útočníkům znemožňuje zneužívat vzory pomocí frekvenční analýzy nebo podobných technik. Difúze se obvykle dosahuje lineárními směšovacími operacemi, jako je permutace, bitové XOR operace nebo násobení matic (jako v operaci MixColumns v AES).
Struktura iteračních blokových šifer
Většina blokových šifer je strukturována jako iterované šifry, což znamená, že několikrát aplikují jednoduchou zaokrouhlovací funkci, aby dosáhly vysoké úrovně zabezpečení. Zaokrouhlovací funkce obvykle kombinuje jak zmatení (např. prostřednictvím aplikací S-boxu), tak difúzi (např. prostřednictvím permutací nebo míchání). Důvodem pro použití více kol je, že jediné použití zmatení a difúze nestačí k zakrytí všech strukturálních vztahů mezi prostým textem, šifrovaným textem a klíčem. Každé kolo postupně zvyšuje složitost těchto vztahů a teprve po několika kolech šifra dosáhne požadované úrovně zabezpečení proti známým kryptoanalytickým útokům.
Například u šifry AES se každé kolo šifrování skládá z následujících klíčových kroků:
1. Subbajty (zmatek): Každý bajt ve stavové matici je nahrazen jiným podle pevného nelineárního S-boxu, čímž se zavádí nelinearita.
2. ShiftRows (Diffusion): Řádky stavové matice jsou cyklicky posouvány, čímž se bajty přesouvají do různých sloupců a usnadňuje se promíchávání hodnot.
3. MixColumns (difúze): Sloupce stavu jsou smíchány pomocí násobení matic v konečném poli, čímž se dále rozprostírá vliv každého vstupního bajtu.
4. AddRoundKey (Zmatek): Stavová matice je kombinována s podklíčem odvozeným z hlavního klíče, čímž se v každém kole zavádí závislost klíče.
Účinnost šifry závisí nejen na síle každé jednotlivé operace, ale také na počtu použití těchto operací. Kryptoanalytici prokázali, že snížení počtu kol v šifrě, jako je AES nebo DES, ji může učinit zranitelnou vůči útokům, jako je diferenciální a lineární kryptoanalýza. Například zatímco plná šifra AES-128 používá 10 kol, verze s pouze 6 koly jsou náchylné k určitým kryptoanalytickým technikám.
Nutnost více kol
Pro další objasnění zvažte, co se stane, pokud se použije pouze jedno kolo zmatení a difúze. I při použití silných S-boxů a směšovacích vrstev mohou statistické vztahy a vzorce přetrvávat. Útočníci by mohli tyto zbytkové vzorce zneužít pomocí útoků s vybraným nebo známým prostým textem. Více kol zajišťuje, že vliv každého klíče a bitu prostého textu je důkladně rozložen po celém šifrovaném textu, což znemožňuje provedení takových útoků.
Ústředním bodem je zde koncept „lavinového efektu“. Silná šifra zajišťuje, že malá změna v otevřeném textu (například převrácení jednoho bitu) vede ke změně přibližně poloviny bitů šifrovaného textu a této vlastnosti je dosaženo až po několika kolech zmatku a difúze. Iterační struktura moderních blokových šifer je speciálně navržena tak, aby tento efekt zesílila, čímž je šifra odolná vůči útokům, které se spoléhají na sledování vztahů mezi vstupem a výstupem.
Příklady: DES a AES
Historická šifra DES tento princip dobře ilustruje. DES používá ve své struktuře Feistelovy sítě 16 kol, přičemž každé kolo se skládá z expanze, substituce S-boxem (zmatku) a permutace (difúze). Rozsáhlá kryptoanalýza ukázala, že použití méně než 16 kol vede ke slabinám; diferenciální kryptoanalýza je účinná proti verzím s menším počtem kol. Tvůrci zvolili 16 kol, aby poskytli určitou míru zabezpečení proti pokrokům v kryptoanalýze, což zdůrazňuje důležitost vícenásobných iterací.
AES, navržený o desetiletí později, aplikuje 10, 12 nebo 14 kol v závislosti na velikosti klíče (128, 192 nebo 256 bitů). Každé kolo zahrnuje kombinované efekty zmatku a difúze prostřednictvím kroků SubBytes, ShiftRows a MixColumns. Počet kol byl pečlivě zvolen na základě kryptoanalytických zjištění, aby se vyvážila bezpečnost a výkon.
Provozní režimy a jejich vztah
Zatímco vnitřní bezpečnost blokových šifer je určena opakovaným zmatením a difuzí, režim fungování (např. ECB, CBC, CFB, OFB, CTR) specifikuje, jak se blokové šifry aplikují na data větší než jeden blok. Bezpečnostní vlastnosti blokové šifry v daném režimu zásadně závisí na odolnosti blokové šifry vůči útokům, která je zase funkcí toho, jak důkladně je dosaženo zmatení a difuze v průběhu více kol. Pokud je podkladová bloková šifra slabá (například s příliš malým počtem kol), žádný režim fungování nemůže tento nedostatek kompenzovat.
Kryptoanalytické útoky a kola
Několik kryptoanalytických útoků využívá nedostatečné zmatení a difúze v blokových šifrách. Diferenciální kryptoanalýza například studuje, jak rozdíly v otevřených textech ovlivňují výsledné rozdíly v šifrovaných textech. Pokud šifra dostatečně nerozptýlila vstupní rozdíly, útočník může předpovědět, jak se tyto rozdíly šíří, a použít tyto znalosti k obnovení klíče. Podobně lineární kryptoanalýza hledá lineární aproximace mezi otevřeným textem, šifrovaným textem a bity klíče. Účinnost těchto útoků klesá s rostoucím počtem kol, za předpokladu, že každé kolo efektivně implementuje zmatení a difúzi.
Pro ilustraci, DES s 8 koly (polovina standardního počtu) je náchylný k diferenciální kryptoanalýze, ale se 16 koly se pravděpodobnost šíření užitečné diferenciální stopy napříč všemi koly stává zanedbatelnou. To ukazuje, že iterační struktura, a konkrétně počet kol, je zásadní pro dosažení praktické bezpečnosti.
Design kompromisy
Návrháři šifer musí vyvážit počet kol s požadavky na výkon. Více kol obecně znamená větší zabezpečení, ale také vyšší výpočetní náklady. Počet kol se obvykle volí tak, aby poskytoval bezpečnostní rezervu nad nejznámějšími útoky v době návrhu, s očekáváním, že budoucí pokroky v kryptoanalýze mohou tuto rezervu snížit. Tento konzervativní přístup zajišťuje, že šifra zůstane bezpečná po celou dobu své očekávané životnosti.
Matematické zdůvodnění
Z teoretického hlediska lze na návrhy iterovaných blokových šifer nahlížet optikou modelu „iterované produktové šifry“. Za určitých předpokladů se ukázalo, že složení více slabých šifer (každá implementující slabou konfuzi a/nebo difuzi) může vytvořit celkovou silnou šifru, za předpokladu, že komponenty jsou dostatečně nezávislé a počet kol je velký. To ospravedlňuje iterační přístup k konfuzi a difuzi v praktickém návrhu šifer.
Praktické příklady
Poučným příkladem je struktura substitučně-permutační sítě (SPN), kterou využívá AES. V SPN je prostý text podroben střídavým vrstvám substituce (zmatku) a permutace (difúze). Po několika kolech závisí každý výstupní bit na každém vstupním bitu vysoce nelineárním způsobem. Této vlastnosti nelze dosáhnout jediným kolem; je to kumulativní efekt více kol, který zajišťuje, že každý bit šifrovaného textu je komplexní funkcí každého bitu prostého textu a klíče, což je vlastnost známá jako úplná difúze.
Feistelova síť, jaká se používá v DES, dosahuje podobné bezpečnosti iterativním použitím zaokrouhlovací funkce, která kombinuje substituci a permutaci, přičemž výstup každého kola se předává do dalšího. Bezpečnost takových konstrukcí se exponenciálně zvyšuje s počtem kol, za předpokladu, že samotná zaokrouhlovací funkce není triviálně invertibilní nebo lineární.
Závěr: Závislost zabezpečení na iteraci
Síla blokových šifer je úzce spjata s opakovaným použitím operací zmatení a difúze. Moderní šifry jsou navrženy s dostatečným počtem kol, aby se zajistilo, že veškeré zbytkové statistické vztahy z otevřeného textu nebo klíče budou eliminovány a že každý bit šifrovaného textu bude ovlivněn každým bitem otevřeného textu a klíče. Tento iterativní proces není pouze implementačním detailem, ale základním principem zabezpečení šifer. Počet kol se volí na základě rozsáhlé kryptoanalýzy, aby se zajistila určitá bezpečnostní rezerva, a je pravidelně přehodnocován, jakmile se objeví nové útoky. Ve všech praktických i teoretických ohledech je zabezpečení blokových šifer skutečně závislé na mnohonásobném kombinování operací zmatení a difúze.
Další nedávné otázky a odpovědi týkající se Aplikace blokových šifer:
- Co by měla bloková šifra podle Shannona obsahovat?
- Znamená difúze, že jednotlivé kousky šifrovaného textu jsou ovlivněny mnoha kousky otevřeného textu?
- Rozděluje režim ECB velký vstupní prostý text do následujících bloků?
- Můžeme použít blokovou šifru k vytvoření hashovací funkce nebo MAC?
- Lze režim OFB použít jako generátory keystreamu?
- Může být šifrování deterministické?
- Jaké jsou provozní režimy?
- Co dělá režim ECB s jednoduchými blokovými šiframi
- Lze PSRNG vytvořit pomocí blokových šifer?
- Lze MAC vytvořit pomocí blokových šifer?
Další otázky a odpovědi naleznete v části Aplikace blokových šifer

