De ce ar fi suficient pentru schemele de criptare, dar nu și pentru cifrurile bloc?
Cifrurile bloc sunt primitive. Ne dorim ca acestea să fie o permutare pseudo-aleatorie (PRP) și să fie sigure împotriva atacurilor precum atacurile cu forță brută, liniare și diferențiale.
Când vrem să criptăm/decriptăm avem nevoie Scheme de criptare care constau în algoritmi de generare a cheilor, criptare și decriptare ( informal; definește modul de utilizare a cifrului bloc pentru criptare). Pentru a forma o schemă avem nevoie de a mod de operare pentru un cifr de bloc în care sunt definite mesajele bloc multiple, randomizarea (IV, nonce, tweak), etc. Apoi putem vorbi despre indistinguirea schemelor de criptare sub modelul advers precum Ind-CPA.
Chiar și modul ECB este o schemă de criptare pe care trebuie să o uităm.
De ce trebuie să fie o permutare aleatorie?
Cu cât formalizarea este mai bună De ce trebuie să fie pseudo permutare aleatorie.
Dovezile de securitate (Ind-X) s-au bazat pe PRP * a cifrului bloc (vezi dovezile încep cu lăsa $F$ fi un PRP), în rest, dovada nu este ușor de arătat. De fapt, teoremele de securitate nu necesită existența PRP. Deci, limitele sunt stabilite cu un PRP (ideal), iar dacă începeți să inițializați această schemă de criptare (realizare) și dacă cifrul bloc nu este un PRP, atunci limitele nu funcționează.
Dacă se dovedește că cifrul bloc nu este un PRP, atunci unul are un deosebitor pentru aceasta care poate fi folosită pentru a exploata schema de criptare pe care o folosește acest cifru bloc.
Dacă cifrul bloc este rupt, atunci modul de criptare nu este sigur sub acest cifr bloc.
Pe de altă parte, de ce nu poate fi suficientă proprietatea de secret/indistinguire perfectă pentru un cifru bloc?
Se poate vorbi despre secretul perfect al cifrului bloc restricționat (este o schemă de criptare) deși nu este fezabil de demonstrat, deoarece implică că este rupt. După cum puteți vedea, necesită restricții pe care noi nu le avem.
Cifrare ideală vs schema de criptare ideală
Amintiți-vă că un cifru bloc este o familie de permutări în care fiecare este selectată/reprezentată printr-o cheie; $$F:\{0,1\}^k\ori \{0,1\}^b \la \{0,1\}^b$$
Un cifrul ideal este un model că presupunem că cifrul bloc este o permutare aleatorie pentru fiecare cheie și acele permutări sunt independente unele de altele. Acest lucru este prea mult pentru o idealizare, deoarece nu există nicio construcție pentru aceasta sub o construcție mică, cum ar fi cifrul bloc. Avem nevoie de un gnom ca în modelul Random Oracle. Acesta este din nou folosit pentru a demonstra construcțiile. Apoi, atunci când trebuie să implementați acea construcție, trebuie să apelați la un model real și în fața folosirii unui cifru bloc pentru a-l realiza.
* Trebuie spus că modul de operare nu este limitat la PRP-uri, există moduri de operare (CTR, CFB) care pot folosi PRF, atunci limitele sunt diferite, vezi lema de schimbare a PRF-PRF