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).
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