Puncte:0

Atacul cheie legat de semnătura Schnorr - De ce provocarea include $\psi = g^x$, nu $y$?

drapel it

Schema de semnătură Schnorr originală suferă de un atac de cheie asociat (RKA), așa cum este descris de Morita et al. Autorii acestei lucrări sugerează apoi o modificare a algoritmului de semnătură pentru a preveni o RKA după cum urmează:

  1. A stabilit $\psi \leftarrow g^x$, Unde $x$ este cheia privată (de semnare) pentru schemă.
  2. Setează provocarea să fie $h \leftarrow H(M || r || \psi)$.

Al doilea pas de mai sus diferă de schema originală Schnorr (Aici) care necesită doar $h \leftarrow H(r || M)$.

Această modificare are sens, totuși lucrarea lui Morita și colab. spune (la pagina 9):

„Rețineți că al doilea pas al algoritmului de semnare, calculul $\psi \leftarrow g^x$, nu trebuie modificată pentru a utiliza pur și simplu cheia de verificare $y$ la fel de $\psi$."

Autorii nu explică de ce $y$ (cheia publică/de verificare) nu poate fi folosită în locul $\psi$, chiar dacă sunt exact aceeași valoare - există un motiv pentru asta?

Ceea ce face acest lucru și mai confuz este faptul că, odată cu adăugarea Schnorr la Bitcoin în Taproot soft furk, ​​dezvoltatorii Bitcoin Core și-au scris propria implementare pentru semnăturile Schnorr (așa cum este descris în BIP340), inclusiv atenuările pentru RKA. Cu toate acestea, în BIP340, au decis să folosească $y$ în provocarea hash over $\psi$, mergând împotriva recomandării de mai devreme.

Este greșită această implementare?

Puncte:0
drapel ng

Autorii nu explică de ce $y$ (cheia publică/de verificare) nu poate fi folosită în locul $\psi$, chiar dacă au exact aceeași valoare. Există un motiv pentru asta?

Da. Ideea este că o modificare a cheii private $x$ într-un înrudit $x'$ va schimba $\psi\leftarrow g^{x'}$ recalculat la momentul semnării în ceva diferit de $y=g^x$ calculat inițial, cu $\psi$ introducerea hashului protejându-se astfel de atacul cheii asociate.

Dezvoltatorii Bitcoin Core (..) au decis să folosească $y$ în provocarea hash over $\psi$.

Nu așa citesc eu spec. Dimpotrivă, semnătura pare să recalculeze $d'$ (pe care l-am citit ca acționând ca $x'$) atunci $P$ (pe care l-am citit ca acționând ca $\psi$) din cheia privată asumată în prezent. Iar variantele de implementare ale acestuia, dacă există, sunt în afara subiectului.

Acest lucru nu trebuie interpretat ca o aprobare a bitcoin sau a oricărei furcături sau implementare a acestuia. Eu personal consider toate lucrurile ca pe o insultă la adresa umanității.

YGrade avatar
drapel it
Mulțumesc pentru asta - asta are mult mai mult sens acum. Apreciez ajutorul tau.

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.