Puncte:0

Dovada Zero Knowledge a criptării corecte ElGamal

drapel do

Să presupunem că pentru $sk = x$, $pk = g^x$ criptăm mesajul $m$ cu criptare ElGamal ca $(g^r,m\cdot pk^r)$. Scopul meu este să demonstrez că am efectuat corect criptarea, adică la fel $r$ este folosit peste tot $g^r$ și $m\cdot pk^r$.

M-am gandit la un simplu $\Sigma$-protocol pentru a arăta acest lucru după cum urmează:

  1. Prover probe $q_1,q_2$, calculează $R_1 = q_1\cdot pk^{q_2}$ și $R_2 = g^{q_2}$ si trimite $R_1, R_2$ către Verificator.
  2. Verificatorul trimite o provocare aleatorie $e$ a dovedi.
  3. Prover calculează $z_1 = q_1 \cdot m^e$ și $z_2 = q_2 + e\cdot r$. Trimite $z_1$ și $z_2$ la verificator.
  4. Verificatorul verifică dacă $R_1 \cdot (m \cdot pk^r)^e= z_1 \cdot pk^{z_2}$ și $R_2 \cdot (g^r)^e = g^{z_2}$

Cu creion și hârtie, matematica se verifică, dar nu sunt sigur dacă omit ceva? (Această întrebare este o continuare a unei întrebări mai vechi de-a mea: Dovada corectitudinii unei criptări ElGamal având în vedere o anumită cheie publică). De exemplu, există vreo șansă ca $z_1$ în practică ar putea scurge informații despre mesaj $m$?

Puncte:1
drapel my

Dovada nu funcționează (chiar dacă o remediați prin trimiterea inițială a doveditorului $R_1, R_2$, Decat $q_1, q_2$, ceea ce probabil ați vrut); deținătorul cheii private poate genera o dovadă validă, chiar dacă textul cifrat nu decriptează de fapt textul simplu.

Să presupunem că probatorul are o cheie publică $pk$ (și cheia privată corespunzătoare); el are are un mesaj $M'$ care nu are nicio legătură cu textul cifrat $C$. Apoi, iată cum poate genera o „dovadă”:

  • Pașii 1, 2 continuă așa cum este specificat

  • În pasul 3, el calculează $z_2 = q_2 + e \cdot r$ (după cum este specificat), oricum calculează $z_1 = R_1 \cdot C^e \cdot pk^{-z_2}$

  • La pasul 4, verificatorul va observa că ambele relații sunt valabile.

(Că verificatorul nu folosește niciodată valoarea presupusului text clar despre care se presupune că ar trebui să fie vorba despre dovada ar trebui să fie suficient pentru a arăta că ceva lipsește aici...)

drapel do
Mulțumesc, am reparat $R_1, R_2$. Deci, scopul meu inițial a fost să arăt că demonstratorul a folosit aceeași aleatorie $r$ pentru cele două texte cifrate ElGamal. Ar împiedica această dovadă să trimită ceva de genul $(g^r, m \cdot pk^{r'}$ și $r \neq r'$?
Manish Adhikari avatar
drapel us
@Panos Se presupune că $m$ este cunoscut verificatorului. Dacă nu, afirmația este banală: un $m$ există întotdeauna și de fapt este dovada cunoașterii $m$ de către cineva care nu deține cheia privată. În acest caz, pare OK (nu am văzut versiunea originală): există un simulator de verificator și un extractor onest. În caz contrar, protocolul sigma pentru tuplurile DDH este disponibil, poate îl puteți folosi.

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.