Binele
Metoda din întrebare conduce la un sistem de semnătură care verifică întotdeauna cu succes mesajul pe care îl semnează; și există combinații de scheme de criptare asimetrice și hashuri în care acel sistem de semnătură îndeplinește Proprietatea de securitate EUF-CMA, inclusiv:
- RSAES-OAEP aproape de cea practicată și un hash criptografic standard precum SHA-256. Sunt necesare două modificări la partea RSA, totuși:
Alegerea $e$ aleatoriu și de dimensiune mare a biților (jumătate din dimensiunea biților a $n$ pare OK) mai degrabă decât $e=65537$ ca obișnuit (sau altă valoare mai mică ghicibilă, sau aleatorie, dar prea scăzută pentru securitatea¹ a metodei întrebării)
Exprimarea cheii de decriptare $K_{dec}$ la fel de $(n,d)$ mai degrabă decât ca de obicei $(n,e,d,p,q,d_p,d_q,q_\text{Inv})$, folosit de implementările standard care au grijă de performanță.
Ambele modificări sunt necesare pentru a le păstra $e$ de $K_{enc}=(n,e)$ secret când facem $K_{dec}=(n,d)$ public, ca în întrebare.
- Criptare RSA ca în Articol original cu exceptia cu $n$ suficient de mare pentru a rezista metodelor moderne de factorizare² și un hash considerabil mai mare decât mai sus pentru a rezista Desmedt și Odlyzko atacă.
Răul
Metoda este nesigură atunci când este aplicată la majoritatea criptosistemelor asimetrice
Observă asta $K_{dec}$ trebuie făcută publică deoarece este cheia de verificare și $K_{enc}$ trebuie ținut secret deoarece este cheia de semnare. Astfel, relația dintre cele două chei trebuie să fie astfel încât putem face $K_{dec}$ public păstrând în același timp secretul $K_{enc}$. RSA este singura familie de scheme de criptare pe care o cunosc bine care poate avea această proprietate (și după cum am explicat mai sus, implementările practice nu au).
Pentru multe sisteme de criptare asimetrică, proprietatea nu poate fi aplicată. De exemplu, în ElGamal și este descendent modern ECIES, $K_{dec}$ este un număr întreg care codifică modul de a ajunge la elementul de grup $K_{enc}$ prin aplicarea legii interne a grupului la un anumit element public de grup; deci revelatoare $K_{dec}$ dezvăluie inevitabil $K_{enc}$, rupând securitatea construcției întrebării.
Mai general, utilizarea unui sistem de criptare asimetric securizat și a unui hash securizat nu este un indiciu bun că sistemul de semnătură obținut prin metoda întrebării este sigur, din mai multe motive.
Când luăm în considerare securitatea implementării, există o altă problemă: o implementare a $\texttt{criptare}$ nu are nevoie de protecție împotriva scurgerii canalelor laterale ale intrării sale cheie, deoarece în mod normal este public. Cu toate acestea, o astfel de protecție este necesară pentru sistemul de semnătură al întrebării.
Metoda tinde să construiască scheme de semnătură cu caracteristici substandard
Compararea semnăturii RSA (inclusiv prin metoda întrebării) cu EdDSA la nivel de securitate standard:
- Semnătura este destul de mare (256 de octeți față de 64 de octeți)
- Cheia publică este mare (de obicei 260 de octeți față de 32 de octeți)
- Generarea semnăturilor este lentă (de zeci de ori mai lentă)
- Generarea cheilor este dureros de lentă (cum ar fi de sute de ori mai lentă).
Și metoda nu este tocmai cea folosită pentru a construi semnătura RSA, chiar și vărul apropiat RSA-FDH. Acesta folosește funcția de cheie privată RSA din manual $h\mapsto s=h^d$ a semna un hash larg $h=H(M)$; și funcția de cheie publică RSA din manual $s\mapsto h=s^e\bmod n$ urmată de o comparație $h\overset?=H(M)$ în verificare. Contrar metodei întrebării, cheia publică $(n,e)$ rămâne publică, iar cheia privată $(n,e,d,p,q,d_p,d_q,q_\text{Inv})$ rămâne secret. În comparație cu asta, sau RSASSA-PKCS1-v1_5 sau RSASSA-PSS, metoda semnăturii întrebării:
- Semnele de aproape patru ori mai lent, deoarece nu poate folosi $(n,e,d,p,q,d_p,d_q,q_\text{Inv})$ formular pentru $K_{dec}$
- Se verifică de o sută până la o mie de ori mai lent, deoarece nu poate folosi un mic $e$.
¹ Cu $n$ cunoscut, dacă unul dintre $e$ sau $d$ se stie si mai putin $n^{0,292}$, apoi celălalt poate fi găsit, vezi Boneh și Durfee. Prin urmare, limita obișnuită de 256 de biți $e$ (de exemplu, încorporat în metoda de generare a cheilor din FIPS 186-4) este astfel încât revelatoare $d$ permite găsirea $e$.
² Recomandarea originală âacea $d$ ar trebui să fie aleasă dintr-un set suficient de mare pentru ca un criptoanalist să nu-l găsească prin căutare directăâ apoi calculează $e$ din $d$ a fost inadecvat și permis a lui Wiener atac, îmbunătățit ulterior de Boneh și Durfee. Dar păstrarea $d$ secretă și facere $e$ public, deoarece metoda întrebării necesită remedierea acestei probleme.