În criptologie, noțiunea de avantaj măsoară capacitatea unui adversar de a distinge între un obiect criptografic real și un model idealizat (sau mai general, între două situații). În esență, avantajul este o măsură a modului în care „mai bine decât întâmplarea” face adversarul în acest exercițiu. Noțiunea a fost introdusă în 1982 de criptologii Shafi Goldwasser și Silvio Micali pentru a defini formal securitatea semantică a criptării cheii publice.
Avantajul depinde de jocul de securitate luat în considerare, de puterile adversarului (în general formalizat prin intermediul oracolelor), de clasa adversarilor studiați și, eventual, de alți parametri. În general, încercăm să dovedim că beneficiul este o funcție semnificativă a setării de securitate , care asigură faptul că obiectul criptografic real și modelul său idealizat nu pot fi distinse de un atacator.
Mai multe tehnici clasice de a face posibilă obținerea unui legat pe avantajul într - un anumit joc, cum ar fi argumente hibride sau coeficienți H .
Luați în considerare o clasă de adversari. Pentru toate , observăm adversarul cu acces la oracole .
În plus, adversarului i se oferă acces fie la (un oracol al) adevăratei funcții criptografice de interes, fie la (un oracol al) versiunii idealizate a acestuia. Obiectivul adversarului este să facă distincția între aceste două situații și să returneze 1 în primul caz și 0 în al doilea. Apoi definim avantajul:
LAdv(LA)=maxLA∈LA|Relatii cu publicul[LAO1,...(F)=1]-Relatii cu publicul[LAO1,...(Feud)=1]|{\ displaystyle {\ mathsf {Adv}} ({\ mathcal {A}}) = \ max _ {A \ în {\ mathcal {A}}} \ left | \ Pr \ left [A ^ {O_ {1} , \ dotsc} (F) = 1 \ right] - \ Pr \ left [A ^ {O_ {1}, \ dotsc} (F _ {\ mathrm {id}}) = 1 \ right] \ right |} unde (resp. ) este funcția reală (resp. ideală) considerată. Alternativ, putem defini avantajul în termeni de distribuții (sau jocuri): LAdv(LA)=maxLA∈LA|Relatii cu publiculX∼D[LAO1,...(X)=1]-Relatii cu publiculX∼D′[LAO1,...(X)=1]|{\ displaystyle {\ mathsf {Adv}} ({\ mathcal {A}}) = \ max _ {A \ în {\ mathcal {A}}} \ left | \ Pr _ {x \ sim D} \ left [ A ^ {O_ {1}, \ dotsc} (x) = 1 \ right] - \ Pr _ {x \ sim D '} \ left [A ^ {O_ {1}, \ dotsc} (x) = 1 \ dreapta] \ dreapta |} unde de data aceasta măsurăm capacitatea adversarului de a distinge între o variabilă distribuită conform unei legi D și o variabilă distribuită conform unei legi D ' .Definiția poate fi ajustată prin specificarea oracolelor sau a condițiilor de succes, pentru a se specializa în diferite obiecte pseudo-aleatorii ( PRNG , PRF , PRP ...), oferind conceptele de securitate corespunzătoare ( securitate semantică etc.). În cazul general, beneficiul depinde de numărul de cereri adresate oracolelor .
Luați în considerare o monedă , asimilată unei variabile aleatorii conform unei legi a probabilității Bernoulli p . Modelul ideal corespunzător este o variabilă aleatorie a probabilității 1/2, iar avantajul contradictoriu în acest context este atunci . Cu alte cuvinte, deoarece nu este neglijabil , un adversar va putea amplifica decalajul repetând experimentul și distingând dacă are de-a face cu o piesă reală sau ideală.
Într-un argument hibrid , definim o secvență de jocuri în care înlocuim treptat un obiect real cu un model idealizat. Atunci când avantajul dintre două astfel de jocuri este neglijabil, este posibil, astfel, încetul cu încetul, să reducem securitatea unui sistem real complex la cea a unui sistem ideal.
Considerăm o familie de funcții F luând ca intrare o cheie k și o valoare x și returnând un șir y de dimensiune fixă. Modelul ideal luat în considerare este cel al unei funcții aleatorii g , iar adversarul trebuie să facă distincția între funcția aleatorie și o funcție a cărei cheie a fost trasă uniform la întâmplare între toate tastele posibile. Aceasta corespunde avantajului:
LAdvPRF(LA)=|Relatii cu publiculk∼K,X∼X[LA(f(k,X))=1]-Relatii cu publiculX∈X[LA(g(X))=1]|{\ displaystyle {\ mathsf {Adv}} _ {\ mathrm {PRF}} ({\ mathcal {A}}) = \ left | \ Pr _ {k \ sim K, x \ sim X} [{\ mathcal { A}} (f (k, x)) = 1] - \ Pr _ {x \ în X} [{\ mathcal {A}} (g (x)) = 1] \ right |} când acest avantaj este neglijabil , spunem că funcțiile F sunt pseudo-aleatorii .