SP-network ( rețea de substituție-permutare, rețea de substituție-permutare) este un tip de cifru bloc propus în 1971 de Horst Feistel . În cea mai simplă versiune, este un „sandwich” din două tipuri de straturi folosite în mod repetat pe rând. Primul tip de strat este stratul P, constând dintr-un bloc P de capacitate mare, urmat de al doilea tip de strat - stratul S, care este un număr mare de blocuri S de capacitate mică, apoi din nou P-layer etc. Primul algoritm criptografic bazat pe SP-net a fost „Lucifer” ( 1971 ). În prezent, AES (Rijndael) este utilizat pe scară largă printre algoritmii bazați pe rețele SP. O alternativă la rețelele SP sunt rețelele Feistel .
În algoritmii moderni, în loc de cutiile S și P, se folosesc diverse funcții matematice sau logice. Orice funcție binară poate fi redusă la o S-box, unele funcții la o P-box. De exemplu, o schimbare ciclică este redusă la o cutie P, cutia P în sine este un caz special al casetei S. Astfel de funcții sunt de obicei implementate cu ușurință în hardware, oferind în același timp o putere criptografică bună .
Un cifru bazat pe rețeaua SP primește un bloc și o cheie ca intrare și efectuează mai multe runde alternante, constând din etape de substituție alternative și etape de permutare [ 1 ] .
O singură S-box este suficientă pentru a obține securitatea, dar un astfel de bloc va necesita o cantitate mare de memorie. Prin urmare, se folosesc mici S-box amestecate cu P-box [2] .
Etapa de substituție neliniară amestecă biții cheie cu biții de text simplu , creând o jenă Shannon . Etapa de permutare liniară distribuie redundanța în întreaga structură a datelor, dând naștere difuziei [3] [4] .
Cutia S înlocuiește un bloc mic de biți de intrare cu un alt bloc de biți de ieșire. Această înlocuire trebuie să fie una la unu pentru a garanta reversibilitatea. Scopul S-box-ului este pentru o transformare neliniară, care împiedică efectuarea criptoanalizei liniare . Una dintre proprietățile cutiei S este efectul de avalanșă , adică o modificare a unui bit la intrare duce la o modificare a tuturor biților la ieșire [5] .
P-box ( eng. permutation box sau P-box ) - permutarea tuturor biților: blocul primește ieșirea S-box-ului ca intrare, schimbă toți biții și transmite rezultatul în S-box-ul rundei următoare. O calitate importantă a unei casete P este capacitatea de a distribui ieșirea unei casete S la intrările unor casete S cât mai mari posibil.
Pentru fiecare rundă se folosește o cheie diferită, obținută din cea originală. O astfel de cheie se numește cheie rotundă. Poate fi obținut fie prin împărțirea cheii originale în părți egale, fie printr-un fel de transformare a întregii chei.
Următorii algoritmi utilizează rețeaua SP:
Criptosisteme simetrice | |
---|---|
Cifruri în flux | |
Rețeaua Feistel | |
Rețeaua SP | |
Alte |