SP-hálózat (szubsztitúciós–permutációs hálózat): definíció a blokktitkosításban

Ismerd meg az SP-hálózatot: szubsztitúciós–permutációs hálózat definíciója, működése és szerepe a blokktitkosításban (AES, S-dobozok, P-dobozok, körkulcsok).

Szerző: Leandro Alegsa

A kriptográfiában az SP-hálózat (szubsztitúciós–permutációs hálózat, angolul substitution–permutation network, röviden SPN) egy sor egymásra épülő, meghatározott matematikai transzformációból álló konstrukció, amelyet blokkos titkosítási algoritmusokban alkalmaznak. Ismert példák: AES (Rijndael), 3-Way, Kalyna, Kuznyecsik, PRESENT, SAFER, SHARK és Square. Az SP-hálózat bemenetként a nyílt szöveg egy blokkát és a kulcsot veszi, majd több, egymást követő körben (rétegben) S-dobozokat (szubsztitúciók) és P-dobozokat (permutációk) alkalmaz a kimeneti, titkosított blokk előállításához.

Felépítés és működés

Általános felépítés:

  • Beviteli blokk + kulcs → több ismétlődő kör (round).
  • Minden körben: S-dobozok (kis, helyi nemlineáris helyettesítések), P-doboz (bitek átrendezése) és a körkulcs hozzádása (gyakran XOR művelettel).
  • A kulcsból egy előállítási lépéssel (key schedule) generálják a körkulcsokat.
  • A visszafejtés inverz műveletek alkalmazásával történik: az S-dobozok inverzét, a P-doboz inverzét és a körkulcsok fordított sorrendjét használjuk.

S-doboz (S-box)

Az S-doboz egy kis bitblokkot (például 4 vagy 8 bit) helyettesít egy másik bitblokkal. Az SPN-eknél általában bijektív (egy‑az‑egyhez) S-dobozokat használnak, hogy a teljes blokk visszafordítható legyen. Tipikus tulajdonságok és tervezési kritériumok:

  • Bijektivitás: a dekódolhatóság miatt a legtöbb SPN-ben az S-doboz invertálható.
  • Nemlinearitás: az S-doboz ne legyen jól közelíthető lineáris függvényekkel (magas nemlinearitás csökkenti a lineáris kriptoanalízis hatékonyságát).
  • Lavinahatás (SAC – Strict Avalanche Criterion): egy bemeneti bit megváltoztatása a kimeneti bitek körülbelül felét megváltoztassa.
  • Alacsony korreláció: gyenge korreláció a bemenet és a kimenet bitjei között („differential uniformity” alacsony értéke), ez segít a differenciál-kriptanalízis ellen.
  • Algebrai összetettség: a kifejezések algebrai fokozata legyen magas, hogy algebrai támadások ne legyenek hatékonyak.

Példa: az AES 8×8 bites S-doboza (SubBytes) algebrai inverzen és affinis transzformáción alapul; invertálható és jól vizsgázott a különböző kriptoanalízisekkel szemben.

P-doboz (P-box)

A P-doboz a bitek permutációját végzi: egy kör összes S-dobozának kimenetét összekeveri és a következő kör S-dobozaiba adagolja. A P-doboz fő célja a diffúzió növelése: egy S-doboz kimenetének bitei több különböző S-doboz bemenetére kerüljenek, így a helyi változások gyorsan elterjednek az egész blokkban.

Körkulcsok és kulcsstruktúra

A teljes kulcsból a kulcskezelő (key schedule) állítja elő a körkulcsokat. Ezek a körkulcsok minden fordulóban különböző módon kerülnek a blokkba, jellemzően XOR művelettel kombinálva. A kulcskezelés erőssége kritikus: gyenge key schedule lehetőséget ad támadásokra (például kapcsolódó kulcsú támadások).

Shannon szerinti zavarosság és diffúzió

Claude Shannon két alapelvet emelt ki a biztonságos titkosítási rendszerekhez: zavarosság (confusion) és diffúzió (diffusion). Egy jól tervezett SPN mindkettőt biztosítja:

  • Diffúzió: egy bemeneti bit változása a körök során egyre több bitet érint, míg végül a kimenet nagy részét befolyásolja (lavinahatás). Ezzel a titkosított adat lokális módosításai az egész blokkra kiterjednek.
  • Zavarosság: a kulccsal való keverés és a nemlineáris S-dobozok összetett, nehezen visszafejthető kapcsolatot hoznak létre a kulcs és a kimenet között; egy kulcsbeli bit megváltoztatása sok körkulcsot módosít, ami szétszóródik a hálózaton.

Mi különbözteti meg az SP-hálózatot a Feistel-hálózattól?

Bár a Feistel-szerkezet (például DES) és az SPN hasonló célt szolgál, fontos különbségek vannak:

  • Az SPN-ben az egész blokk minden körben ugyanúgy transzformálódik; a Feistel-hálózatban a blokk két félre oszlik és részleges függvényalkalmazások történnek.
  • SPN-eknél az S-dobozoknak általában invertálhatónak kell lenniük a visszafejtéshez; Feistelben a belső függvény nem kell, hogy invertálható legyen.
  • SPN-ek gyakran jobban párhuzamosíthatók (egyszerre több S-doboz), így nagy párhuzamúságú hardveren gyorsabbak lehetnek. Feistel-alkalmazásoknak egyszerűbb az egyirányú belső függvényre építése és a memóriaterhelése.

Biztonsági és gyakorlati szempontok

  • Támadások: az SPN-ek ellen potenciális támadási módszerek a differenciál-kriptanalízis és a lineáris kriptoanalízis; jó S- és P-dobozok, valamint elegendő számú kör (round) szükséges a védelemhez.
  • Oldalcsatorna-támadások: implementációs részletek (időzítés, fogyasztás, elektromágneses sugárzás) szivárgathatnak kulcsinformációt; ellenük alkalmazható a maszkírozás, konstans idejű műveletek és fizikailag biztonságos implementációk.
  • Implementáció: hardveres implementációk jól kihasználják az SPN párhuzamosságát; szoftveres megvalósításnál cache‑ és táblázatos megoldások (pl. T-táblák AES-ben) gyorsítanak, de további oldalsó csatorna-kockázatot hozhatnak.
  • Paraméterezés: S-doboz mérete (pl. 4 vs. 8 bit), körök száma és P-doboz kialakítása közösen határozza meg a biztonságot és a teljesítményt. Általános gyakorlat: kisebb S-dobozok több párhuzamosságot, de potenciálisan több kört igényelnek; nagyobb S-dobozok komplexebb analitikai ellenállást nyújthatnak.

Gyakori tervezési irányelvek

  • Válasszunk invertálható, magas nemlinearitású, kis differenciál uniformitású S-dobozokat.
  • Tervezett P-doboz biztosítsa, hogy egy S-doboz kimenetének bitei több S-doboz bemenetére essenek szét a következő körben (jó diffúzió).
  • Használjunk erős key schedule-t, hogy kerülje a kulcsok közötti egyszerű kapcsolódásokat.
  • Biztosítsuk, hogy elegendő számú kör legyen a várt biztonsági margin eléréséhez; a szükséges körök száma a konkrét S- és P‑dobozok minőségétől függ.

Záró megjegyzések

Az SP-hálózatok egyszerre egyszerű és rugalmas építőkövei a modern blokkos titkosításoknak: jól tervezve erős biztonsági tulajdonságokat biztosítanak, és különböző implementációs környezetekben (hardver, szoftver, beágyazott rendszerek) adaptálhatók. A rendszer tényleges biztonsága azonban az S-dobozok, a P-dobozok, a körök száma és a kulcskezelés együttes minőségétől függ — nem csak a szemmel látható szerkezettől.



Keres
AlegsaOnline.com - 2020 / 2025 - License CC3