Varnost blokovnih šifer temelji na iterativni uporabi operacij zmede in difuzije. Ta koncept je prvi formaliziral Claude Shannon v svojem temeljnem delu o komunikacijski teoriji tajnih sistemov, kjer je izrazil potrebo po zmedi in difuziji v kriptografskih sistemih za preprečevanje statističnih in strukturnih napadov. Razumevanje, zakaj je potrebnih več krogov teh operacij in kako so medsebojno povezane, je ključnega pomena za razumevanje zasnove in varnosti sodobnih blokovnih šifer, kot sta standard za šifriranje podatkov (DES) in napredni standard za šifriranje (AES).
Zmeda in difuzija: definicije in vloge
Zmeda si prizadeva za čim bolj zapleten odnos med šifriranim besedilom in ključem. To doseže z maskiranjem statistične strukture odprtega besedila, pogosto z uporabo nelinearnih substitucij (npr. S-polja v DES in AES). Bolj ko je to preslikavanje nelinearno in kompleksno, težje je napadalcu sklepati o informacijah o ključu, tudi če ima dostop do številnih parov odprtega besedila in šifriranega besedila.
Difuzija pa si prizadeva razširiti vpliv vsakega bita odprtega besedila na več bitov šifriranega besedila, tako da sprememba enega samega vhodnega bita povzroči spremembe številnih izhodnih bitov. Ta lastnost zagotavlja, da se statistične lastnosti odprtega besedila razpršijo po šifriranem besedilu, zaradi česar napadalci ne morejo izkoristiti vzorcev s frekvenčno analizo ali podobnimi tehnikami. Difuzija se običajno doseže z linearnimi operacijami mešanja, kot so permutacija, bitni XOR-ji ali množenje matrik (kot pri operaciji MixColumns v AES).
Struktura iterativnih blokovnih šifer
Večina blokovnih šifer je strukturiranih kot iterativne šifre, kar pomeni, da večkrat uporabijo preprosto krožno funkcijo, da dosežejo visoko raven varnosti. Krožna funkcija običajno združuje tako zmedo (npr. z uporabo S-boxa) kot difuzijo (npr. s permutacijo ali mešanjem). Razlog za uporabo več krogov je, da ena sama uporaba zmede in difuzije ni zadostna za prikrivanje vseh strukturnih odnosov med odprtim besedilom, šifriranim besedilom in ključem. Vsak krog postopoma povečuje kompleksnost teh odnosov in šele po več krogih šifra doseže želeno raven varnosti pred znanimi kriptoanalitičnimi napadi.
Na primer, če upoštevamo šifro AES, vsak krog šifriranja sestavljajo naslednji ključni koraki:
1. Podbajti (zmeda): Vsak bajt v matriki stanj se nadomesti z drugim v skladu s fiksnim nelinearnim S-poljem, kar uvaja nelinearnost.
2. ShiftRows (Difuzija): Vrstice matrike stanj se ciklično premikajo, kar premika bajte v različne stolpce in omogoča mešanje vrednosti.
3. Mešane kolone (difuzija): Stolpci stanja se mešajo z množenjem matrik v končnem polju, kar dodatno razprši vpliv vsakega vhodnega bajta.
4. AddRoundKey (Zmeda): Matrika stanj je kombinirana s podključem, izpeljanim iz glavnega ključa, kar v vsakem krogu uvaja odvisnost ključa.
Učinkovitost šifre ni odvisna le od moči posamezne operacije, temveč tudi od števila uporabljenih operacij. Kriptoanalitiki so pokazali, da lahko zmanjšanje števila krogov v šifri, kot sta AES ali DES, to šifro naredi ranljivo za napade, kot sta diferencialna in linearna kriptoanaliza. Na primer, medtem ko celotna šifra AES-128 uporablja 10 krogov, so različice s samo 6 krogi dovzetne za nekatere kriptoanalitične tehnike.
Potreba po več krogih
Za dodatno pojasnitev si poglejmo, kaj se zgodi, če se uporabi le en krog zmede in difuzije. Tudi če se uporabijo močna S-polja in mešalne plasti, lahko statistični odnosi in vzorci ostanejo prisotni. Napadalci bi lahko te preostale vzorce izkoristili z napadi z izbranim ali znanim odprtim besedilom. Več krogov zagotavlja, da je vpliv vsakega ključa in bita odprtega besedila popolnoma porazdeljen po celotnem šifriranem besedilu, zaradi česar je izvajanje takšnih napadov nemogoče.
Koncept "plazovnega učinka" je tukaj osrednjega pomena. Močna šifra zagotavlja, da majhna sprememba v odprtem besedilu (kot je na primer preobrat enega bita) povzroči spremembo približno polovice bitov šifriranega besedila, ta lastnost pa se doseže šele po več krogih zmede in difuzije. Iterativna struktura sodobnih blokovnih šifer je posebej zasnovana za ojačanje tega učinka, zaradi česar je šifra odporna na napade, ki se zanašajo na sledenje vhodno-izhodnim odnosom.
Primeri: DES in AES
Zgodovinska šifra DES dobro ponazarja to načelo. DES v svoji strukturi Feistelovega omrežja uporablja 16 krogov, pri čemer vsak krog sestavljajo razširitev, zamenjava S-polja (zmeda) in permutacija (difuzija). Obsežna kriptoanaliza je pokazala, da uporaba manj kot 16 krogov vodi do slabosti; diferencialna kriptoanaliza je učinkovita proti različicam z manj krogi. Oblikovalci so izbrali 16 krogov, da bi zagotovili varnostno mejo pred napredkom v kriptoanalizi in poudarili pomen več iteracij.
AES, zasnovan desetletja pozneje, uporabi 10, 12 ali 14 krogov, odvisno od velikosti ključa (128, 192 oziroma 256 bitov). Vsak krog vključuje kombinirane učinke zmede in difuzije prek korakov SubBytes, ShiftRows in MixColumns. Število krogov je bilo skrbno izbrano na podlagi kriptoanalitičnih ugotovitev, da bi uravnotežili varnost in zmogljivost.
Načini delovanja in njihova povezava
Medtem ko notranjo varnost blokovnih šifer določata ponavljajoča se zmeda in razpršitev, način delovanja (npr. ECB, CBC, CFB, OFB, CTR) določa, kako se blokovne šifre uporabljajo za podatke, večje od enega bloka. Varnostne lastnosti blokovne šifre v danem načinu so v osnovi odvisne od odpornosti blokovne šifre na napade, kar je posledično odvisno od tega, kako temeljito sta doseženi zmeda in razpršitev v več krogih. Če je osnovna blokovna šifra šibka (na primer s premalo krogi), noben način delovanja ne more nadomestiti te pomanjkljivosti.
Kriptoanalitični napadi in runde
Več kriptoanalitičnih napadov izkorišča nezadostno zmedo in difuzijo v blokovnih šifrah. Diferencialna kriptoanaliza na primer preučuje, kako razlike v odprtih besedilih vplivajo na nastale razlike v šifriranih besedilih. Če šifra ni ustrezno razpršila vhodnih razlik, lahko napadalec predvidi, kako se te razlike širijo, in to znanje uporabi za obnovitev ključa. Podobno linearna kriptoanaliza išče linearne aproksimacije med odprtim besedilom, šifriranim besedilom in ključnimi biti. Učinkovitost teh napadov se zmanjšuje z naraščajočim številom krogov, pod pogojem, da vsak krog učinkovito izvaja zmedo in difuzijo.
Za ponazoritev, DES z 8 krogi (polovico standardnega števila) je dovzeten za diferencialno kriptoanalizo, s 16 krogi pa postane verjetnost širjenja uporabne diferencialne sledi skozi vse kroge zanemarljiva. To kaže, da je iterativna struktura in zlasti število krogov bistvenega pomena za doseganje praktične varnosti.
Oblikovalski kompromisi
Oblikovalci šifer morajo uravnotežiti število krogov z zahtevami glede zmogljivosti. Več krogov običajno pomeni večjo varnost, a tudi večje računalniške stroške. Število krogov je običajno izbrano tako, da zagotavlja varnostno rezervo nad najbolj znanimi napadi v času načrtovanja, s pričakovanjem, da bi lahko prihodnji napredek v kriptoanalizi to rezervo zmanjšal. Ta konzervativen pristop zagotavlja, da šifra ostane varna skozi svojo pričakovano življenjsko dobo.
Matematična utemeljitev
S teoretičnega vidika lahko iterativne zasnove blokovnih šifer obravnavamo skozi prizmo modela "iterativne produktne šifre". Pod določenimi predpostavkami je bilo dokazano, da lahko sestava več šibkih šifer (vsaka od katerih izvaja šibko zmedo in/ali difuzijo) ustvari močno skupno šifro, pod pogojem, da so komponente dovolj neodvisne in je število krogov veliko. To upravičuje iterativni pristop k zmedi in difuziji v praktičnem načrtovanju šifer.
Praktični primeri
Poučen primer je struktura omrežja substitucij in permutacij (SPN), ki jo uporablja AES. V SPN je odprto besedilo podvrženo izmenjujočim se plastem substitucije (zmede) in permutacije (difuzije). Po več krogih je vsak izhodni bit zelo nelinearen in odvisen od vsakega vhodnega bita. Te lastnosti ni mogoče doseči z enim samim krogom; kumulativni učinek več krogov zagotavlja, da je vsak bit šifriranega besedila kompleksna funkcija vsakega bita odprtega besedila in ključa, lastnost, znana kot popolna difuzija.
Feistelovo omrežje, kot se uporablja v DES, dosega podobno varnost z iterativno uporabo krožne funkcije, ki združuje substitucijo in permutacijo, pri čemer se izhod vsakega kroga prenese v naslednjega. Varnost takšnih konstrukcij se eksponentno povečuje s številom krogov, ob predpostavki, da krožna funkcija sama ni trivialno invertibilna ali linearna.
Zaključek: Varnostna odvisnost od iteracije
Moč blokovnih šifer je tesno povezana s ponavljajočo se uporabo operacij zmede in difuzije. Sodobne šifre so zasnovane z zadostnim številom krogov, da se zagotovi, da se odpravijo vse preostale statistične povezave iz odprtega besedila ali ključa in da na vsak bit šifriranega besedila vpliva vsak bit odprtega besedila in ključa. Ta iterativni proces ni zgolj podrobnost izvedbe, temveč temeljno načelo varnosti šifer. Število krogov se izbere na podlagi obsežne kriptoanalize, da se zagotovi varnostna meja, in se občasno ponovno ocenjuje, ko se pojavijo novi napadi. V vseh praktičnih in teoretičnih pogledih je varnost blokovnih šifer dejansko odvisna od večkratnega kombiniranja operacij zmede in difuzije.
Druga nedavna vprašanja in odgovori v zvezi Uporaba blokovnih šifer:
- Kaj naj bi po Shannonu vsebovala blokovna šifra?
- Ali difuzija pomeni, da na posamezne dele šifriranega besedila vplivajo številni deli odprtega besedila?
- Ali način ECB razbije veliko vhodno golo besedilo v naslednje bloke
- Ali lahko uporabimo blokovno šifro za izdelavo zgoščevalne funkcije ali MAC?
- Ali se način OFB lahko uporablja kot generator toka ključev?
- Ali je lahko šifriranje deterministično?
- Kakšni so načini delovanja?
- Kaj naredi način ECB s preprostimi blokovnimi šiframi
- Ali je PSRNG mogoče narediti z blokovnimi šiframi?
- Ali je mogoče MAC zgraditi z blokovnimi šiframi?
Oglejte si več vprašanj in odgovorov v razdelku Aplikacije blokovnih šifer

