Puncte:3

Semnătura Schnorr în doi pași, vulnerabilități cunoscute

drapel in

Căutăm să efectuăm toate calculele pentru o semnătură Schnorr, mai precis EC-FSDSA, (BIP340-Schnorr), în interiorul unui element securizat, cu excepția operației Hash care nu este suportată și trebuie efectuată în afara elementului securizat. .

Presupunând că semnătura este următoarea: d=cheie privată R = k.G = Q (cheie aleatorie unică, TRNG din interiorul elementului securizat, poate fi folosită o singură dată) și

S = k + d . H( Q | P | M )

Pașii ar fi următorii:

  1. generați și obțineți Q și obțineți Q și P ca ieșire din elementul securizat
  2. calculați și reinjectați H(Q | P | M) în elementul de siguranță
  3. finalizați și scoateți S = k + d . H( Q | P | M )

Presupunând că elementul sigur funcționează ca un oracol, iar un atacator poate injecta H( Q | P | M ) = "1" și astfel extrage k + d (Nu poate injecta H( Q | P | M ) = "0" cu același k, se schimbă tot timpul), fără limitare, ar fi vulnerabil? A citit cineva niste discutii pe tema asta?

Din motive de claritate, rețineți că scopul nostru este să evaluăm posibilitatea de a ghici cheia privată (d) care este ascunsă într-un element securizat, cu posibilitatea nelimitată de a calcula S=k + d*(any_integer_you_choose) . Elementul securizat poate efectua doar înmulțiri scalare, poate genera pseudoaleatoare (k) dar, din păcate, nu unele funcții hash specifice. Acesta trebuie astfel calculat în exterior și re-injectat, deschizând astfel potențial vulnerabilități.

Pentru acest exercițiu, presupunem că elementele securizate care ascunde (d) pot efectua calcule S nelimitate, orice ar fi (H) și se află în mâna atacatorului cu acces deplin la calculele criptografice pe S= k + dH. Atacatorul nu poate controla k, care este generat în interiorul elementului securizat, folosit o singură dată și este vreodată ascuns. Pe de altă parte, atacatorul poate ignora (Q | P | M) și poate alege orice (H) pentru a trimite elementului securizat pentru a calcula S= k+d.H, alegând astfel H=0,1,2,3.. de exemplu, și obținerea S1=k1+d1, S2=k2+d*2, etc.....în schimb, fără limitare a încercărilor. Chiar dacă este întotdeauna obscucat de k aleatoriu diferit, vă poate ajuta asta să ghiciți (d)?...

(Ați putea întreba atunci: dacă atacatorul are acces la calcule pe (d), atunci este ca și cum ar avea (d). Ei bine, nu exact așa cum un atacator ar putea extrage în secret (d) și să aștepte un caz de utilizare mai târziu)

Maarten Bodewes avatar
drapel in
Bună sarmluk și bine ai venit. Rețineți că acest site acceptă MathJax, așa că ar trebui să fie posibil [să creați formule frumos formatate](https://crypto.meta.stackexchange.com/a/1070/1172).
Manish Adhikari avatar
drapel us
Nu cunosc niciun scenariu de atac în care un atacator injectează $H(Q|P|M)$, poți să descrii clar cum face asta? $Q$ este ales de semnatar și hash este calculat inițial de ea. Într-un atac cu mesajul ales, atacatorul trebuie să găsească $M$ s.t. $H(Q|P|M)$ = 1 și asta fără a cunoaște $Q$. Chiar dacă $Q$ era previzibil dintr-un motiv magic, atacatorul ar trebui să efectueze un atac înainte de imagine asupra $H$ pentru a găsi astfel de $M$

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.