SP-network ( Substitution-permutation network , substituční-permutační síť) je typ blokové šifry navržený v roce 1971 Horstem Feistelem . V nejjednodušší verzi se jedná o „sendvič“ dvou typů vrstev používaných opakovaně. Prvním typem vrstvy je P-vrstva skládající se z P-bloku o velké kapacitě, následuje druhý typ vrstvy - S-vrstva, což je velké množství S-bloků o malé kapacitě, dále pak P-vrstva atd. Prvním kryptografickým algoritmem založeným na SP-netu byl „Lucifer“ ( 1971 ). V současné době je AES (Rijndael) široce používán mezi algoritmy založenými na sítích SP. Alternativou k sítím SP jsou sítě Feistel .
V moderních algoritmech se místo S- a P-boxů používají různé matematické nebo logické funkce. Jakákoli binární funkce může být redukována na S-box, některé funkce na P-box. Například cyklický posun je redukován na P-box , samotný P-box je speciálním případem S-boxu. Takové funkce jsou obvykle snadno implementovány v hardwaru a zároveň poskytují dobrou šifrovací sílu .
Šifra založená na SP-net přijímá blok a klíč jako vstup a provádí několik střídavých kol, sestávajících ze střídavých substitučních fází a permutačních fází [ 1 ] .
K dosažení bezpečnosti stačí jeden S-box, ale takový blok bude vyžadovat velké množství paměti. Proto se používají malé S-boxy smíchané s P-boxy [2] .
Fáze nelineární substituce mísí klíčové bity s bity prostého textu , což vytváří Shannonovy rozpaky . Fáze lineární permutace distribuuje redundanci v celé datové struktuře, což vede k difúzi [3] [4] .
S - box nahrazuje malý blok vstupních bitů jiným blokem výstupních bitů. Tato substituce musí být individuální, aby byla zaručena reverzibilita. Účelem S-boxu je nelineární transformace, která zabraňuje provádění lineární kryptoanalýzy . Jednou z vlastností S-boxu je lavinový efekt , to znamená, že změna jednoho bitu na vstupu vede ke změně všech bitů na výstupu [5] .
P-box ( angl. permutation box nebo P-box ) - permutace všech bitů: blok přijímá výstup S-boxu jako vstup, prohodí všechny bity a výsledek předá S-boxu dalšího kola. Důležitou vlastností P-boxu je schopnost distribuovat výstup jednoho S-boxu na vstupy co největších S-boxů.
Pro každé kolo se používá jiný klíč, získaný z původního. Takový klíč se nazývá kulatý klíč. Lze jej získat buď rozdělením původního klíče na stejné části, nebo nějakou transformací celého klíče.
Síť SP využívají následující algoritmy:
Symetrické kryptosystémy | |
---|---|
Streamové šifry | |
Síť Feistel | |
Síť SP | |
jiný |