Întrebare
caut un mai bine cantitativ demonstrarea teoremei 13.11 în cea a lui Katz și Lindell Introducere în criptografia modernă (3rd ediție) (sau aproape echivalent, teorema 19.1 din Dan Boneh și Victor Shoup, disponibil gratuit Un curs absolvent de criptografie aplicată). Dovada este despre schema de identificare Schnorr pentru un grup generic $\mathcal G$ de ordin prim $q=\lvert\mathcal G\rvert$ si generator $g\in\mathcal G$, pentru revendicare:
Dacă problema logaritmului discret este dificilă în raport cu $\mathcal G$, atunci schema de identificare Schnorr este sigură.
Schema merge:
- Prover (P) extrage cheia privată $x\gets\mathbb Z_q$, calculează și publică cheia publică $y:=g^x$, cu integritatea asumată.
- La fiecare identificare:
- Prover (P) trage $k\gets\mathbb Z_q$, calculează și trimite $I:=g^k$
- Verificatorul (V) desenează și trimite $r\gets\mathbb Z_q$
- Prover (P) calculează și trimite $s:=r\,x+k\bmod q$
- Verificatorul (V) verifică dacă $g^s\;y^{-r}\;\overset?=\;I$
Dovada dată este prin contrapunere. Presupunem un algoritm PPT $\mathcal A$ asta, dat $y$ dar nu $x$, se identifică cu succes cu probabilitate de nedispariție. Construim următorul algoritm PPT $\mathcal A'$:
- Alerga $\mathcal A(y)$, care are voie să interogheze și să observe transcrieri oneste $(I,r,s)$, înainte de a ajunge la pasul următor.
- Când $\mathcal A$ iesiri $I$, alege $r_1\gets\mathbb Z_q$ și dă-i $\mathcal A$, care răspunde cu $s_1$.
- Alerga $\mathcal A(y)$ a doua oară cu aceeași bandă aleatoare și transcrieri sincere și când iese (la fel) $I$, alege $r_2\gets\mathbb Z_q$ cu $r_2\ne r_1$ si da $r_2$ la $\mathcal A$.
În cele din urmă, $\mathcal A$, răspunde cu $s_2$.
- Calcula $x:=(r_1-r_2)^{-1}(s_1-s_2)\bmod q$, rezolvarea DLP.
Să spunem că pasul 2 se finalizează cu probabilitate $\epsilon$. Am înțeles că dovada cărții stabilește pasul 3 complet cu probabilitate cel puțin $\epsilon^2-1/q$, de ce pasul 4 a rezolvat DLP-ul, de ce $\epsilon^2$ apare și de ce avem nevoie de un mare $q$ a aborda asta.
Putem ajunge la o reducere mai convingătoare cantitativ a DLP?
Lucrurile nesatisfăcătoare sunt: the $\epsilon^2$, ceea ce se poate traduce printr-o probabilitate scăzută de succes. Am dori o reducere în care probabilitatea de succes crește liniar cu timpul petrecut, pentru o probabilitate scăzută. De asemenea, probabilitatea de succes este obținută în medie pe ansamblu $y\în\mathcal G$, nu pentru o anumită problemă DLP.
Pentru a concretiza prima problemă: dacă $\mathcal A$ reușește cu probabilitate $\epsilon=2^{-20}$ în $1$ în al doilea rând, dovada spune că putem rezolva un DLP mediu cu probabilitate ca $2^{-40}$ în $2$ secunde. Asta nu este direct util, chiar dacă l-am putea transforma în probabilitate $1/2$ în $2^{40}$ secunde (11 secole). Vrem probabilitate $1/2$ în $2^{21}$ secunde (25 de zile).
Răspuns provizoriu
Aceasta este încercarea mea, de critică. Eu susțin că putem rezolva orice DLP anume $G$ cu timpul preconizat $2t/\epsilon$ (și cu probabilitate $>4/5$ în timp $3t/\epsilon$), plus timp pentru sarcinile identificate, presupunând un algoritm $\mathcal A$ care identifică în timp pentru o cheie publică aleatorie $t$ cu probabilitate de nedisparare $\epsilon$, și $q$ suficient de mare pentru a putea reduce atingerea unei anumite valori într-o alegere aleatorie în $\mathbb Z_q$.
Dovada revendicată:
Mai întâi construim un nou algoritm $\mathcal A_0$ că la intrare descrierea setării $(\mathcal G,g,q)$ și $h\în\mathcal G$
- alege uniform aleatoriu $u\gets\mathbb Z_q$
- calculează $y:=h\;g^u$
- rulează algoritmul $\mathcal A$ cu intrare $y$ servind ca cheie publică aleatorie
- oricând $\mathcal A$ solicită o transcriere sinceră $(I,r,s)$
- alege uniform aleatoriu $r\gets\mathbb Z_q$ și $s\gets\mathbb Z_q$
- calcula $I:=g^s\;y^{-r}$
- livra $(I,r,s)$ la $\mathcal A$, care se distinge de o transcriere sinceră pentru cheia publică $y$
- dacă $\mathcal A$ iesiri $I$ în timpul de rulare alocat $t$, făcând o încercare de autentificare
- (notă: vom reporni de aici)
- alege uniform aleatoriu $r\gets\mathbb Z_q$ și îl transmite către $\mathcal A$
- dacă $\mathcal A$ iesiri $s$ în timpul de rulare alocat $t$
- verificări $g^s\;y^{-r}\;\overset?=\;I$ iar dacă da, ieșiri $(u,r,s)$
- în caz contrar, se anulează fără rezultat.
Algoritm $\mathcal A_0$ este un algoritm PPT care pentru orice intrare fixă $h\în\mathcal G$ are la fiecare alergare probabilitate $\epsilon$ la ieșiri $(u,r,s)$, deoarece $\mathcal A$ se desfăşoară în condiţiile definitorii $\epsilon$.
Facem un nou algoritm $\mathcal A_1$ asta la intrarea in setare $(\mathcal G,g,q)$ și $h\în\mathcal G$
- Alergați în mod repetat $\mathcal A_0$ cu acea intrare până când iese $(u,r_1,s_1)$. Fiecare alergare are probabilitate $\epsilon$ pentru a reuși, astfel încât acest pas este de așteptat să necesite $t/\epsilon$ timpul care curge $\mathcal A$.
- Repornire $\mathcal A_0$ de la punctul de repornire notat (echivalent: reluați-l de la început cu aceeași intrare și bandă aleatorie până la punctul de repornire, cu o nouă aleatorie după punctul de repornire), până când iese $(u,r_2,s_2)$. Fiecare alergare are cel puțin probabilitate $\epsilon$ a reuși (dovada rezultă din acea teoremă privind probabilitatea nedescrescătoare de succes a unui algoritm Încerc să cer o referință pentru), astfel încât acest pas este de așteptat să necesite nu mai mult de $t/\epsilon$ timpul care curge $\mathcal A$.
- În cazul (presupus copleșitor de probabil). $r_1\ne r_2$, calculați și ieșiți $z:=s_1-s_2-u\bmod q$.
În acest rezultat, ambele runde de $\mathcal A_0$ care a produs $(u,r_1,s_1)$ și $(u,r_2,s_2)$ au verificat $g^{s_i}\;y^{-{r_i}}=I$ cu $y=h^u$ Pentru același $u$ și $I$ acea $\mathcal A_0$ determinat, iar cel $h$ am dat la intrare de $\mathcal A_1$. Prin urmare $\mathcal A_1$ găsite $z$ cu $h=g^z$, rezolvând astfel DLP-ul pentru arbitrare $h$. Este timpul de rulare estimat petrecut în $\mathcal A$ este cel mult $2t/\epsilon$, iar restul face $\mathcal O(\log(q))$ operațiuni de grup pentru fiecare rulare de $\mathcal A$ și fiecare transcriere sinceră de care are nevoie.
$\lfloor3/\epsilon\rfloor$ rulează de $\mathcal A$ sunt suficiente pentru ca cel puțin doi dintre ei să reușească cu probabilitate mai bine decât $1-4\,e^{-3}>4/5$: vezi acest complot de $1-(1-\epsilon)^{\lfloor3/\epsilon\rfloor}-\lfloor3/\epsilon\rfloor\,\epsilon\,(1-\epsilon)^{\lfloor3/\epsilon\rfloor-1} $