Puncte:3

MuSig: ar putea fi atenuat atacul cheie necinstită prin utilizarea angajamentelor în loc de transformări cheie?

drapel eg

fundal

MuSig este o extensie a/derivare de la semnăturile Schnorr folosind grupuri ciclice pe curbele eliptice. În hârtie originală, autorii subliniază că multi-Schnorr-ul naiv este vulnerabil la un atac cu chei necinstite:

Dat $\Bbb G$ este un grup ciclic de ordin prim; $g$ este punctul generator; $H$ este o funcție hash; $m$ este mesajul de semnat; și sunt $n$ participanti:

Lăsa $L = \{ X_1 = g^{x_1},..., X_n = g^{x_n} \}$ fi multisetul de chei de participant.

Fie fiecare parte nonce să fie $R_i = g^{r_i}$.

Calculați nonceul agregat: $R = \prod_{i=1}^nR_i$

Calculați cheia agregată: $\tilde X = \prod_{i=1}^nX_i$

Calculați provocarea: $c = H(\tilde X, R, m)$

Calculați fiecare semnătură parțială: $s_i = r_i + cx_i$

Calculați semnătura agregată: $s = \sum_{i=1}^ns_i$

Semnătura pentru cheia agregată $\tilde X$ și mesaj $m$ este acum $(R, s)$ si poate fi verificat: $g^s = R\tilde X^c$

Dacă un participant este un actor rău și așteaptă să adune toate celelalte chei de participant înainte de a le trimite pe ale lui, el poate calcula o pereche de chei care îi permite să semneze pentru grup inversând produsul parțial: $X_1 = g^{x_1} * {(\prod_{i=2}^nX_i)}^{-1}$

Contribuția principală a lucrării MuSig este o schemă care previne atacul cheii necinstite prin transformarea fiecărei chei de participant după schimbul de chei într-un mod care să permită agregarea cheilor în modelul simplu de cheie publică:

Lăsa $\langle L \rangle$ fi o ordonare deterministă a $L$.

Lăsa $a_i = H(\langle L \rangle, X_i)$

Calcula $\tilde X = \prod_{i=1}^n{X_i}^{a_i}$

O problemă bine-cunoscută cu schimbul de non-uri este aceea că în sesiunile concurente cu non-uri pre-partajate, un atacator poate folosi atacul generalizat de ziua lui Wagner pentru a influența rezultatul hash și astfel falsifică eficient o semnătură. Soluția la această problemă este ca toți participanții să se angajeze la o valoare nonce și să-și împărtășească mai degrabă angajamentul decât nonce; când vine momentul creării unei semnături de grup, nonce-urile sunt schimbate, iar protocolul se întrerupe dacă un nonce primit nu se mapează la un angajament.

Întrebare

Poate fi rezolvat atacul cheii necinstite prin angajarea unei chei publice înainte de a schimba acele chei? Acest lucru ar permite tuturor participanților să detecteze dacă vreun alt participant încearcă să-și manipuleze cheia publică pentru a permite semnături unice pentru grup. Sesiunea ar putea fi apoi renunțată și cheia agregată frauduloasă ignorată.

Este acest lucru adecvat pentru a atenua atacul cu chei necinstite sau îi lipsesc asigurările de securitate în anumite circumstanțe?

Aman Grewal avatar
drapel gb
Este dificil să citiți blocuri mari de cod pentru lucruri care nu sunt cod. Acest site acceptă și markup $\LaTeX$. Ați putea să vă editați întrebarea pentru a o face mai lizibilă?
Jonathan Voss avatar
drapel eg
@AmanGrewal Nu știam de markup latex și mă întrebam cum au reușit alte postări. O să actualizez după grabă.

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.