Puncte:0

Cum să rulați protocolul cheie publică pentru o dovadă a identității fără cunoștințe?

drapel vn

În lucrarea Zero-Knowledge Proofs of Identity (de Feige, Fiat și Shamir) este descris un protocol ZK care folosește reziduurile pătratice. Secțiunea 3 descrie o „schemă de identificare eficientă”, dar (după înțelegerea mea) algoritmul PK pare a fi stricat (în sensul „nu funcționează”, nu în termeni de „securitate slabă”).

Protocolul de generare a cheilor este (pașii 1-3 sunt citați din lucrare, folosind aceeași notație ca și lucrarea):

Configurare: Lasă $n$ să fie un întreg Blum (produsul a două numere prime, $p$ și $q$, unde ambele $p$ și $q$ sunt congruente cu 3 mod 4). Lăsa $Z_n$ denotă inelul de reziduuri sub operațiunea mod.

  1. Alege $k$ numere aleatorii $S_1, ..., S_k$ în $Z_n$.
  2. Alegeți fiecare $I_j$ (aleatoriu și independent) ca $\pm 1 / S_j^2$ (mod n).
  3. Publica $I = I_1, ..., I_k$ și păstrează $S = S_1, ..., S_k$ secret.

Fără notație, pentru a obține cheia publică trebuie să calculăm pătratul fiecărui secret $S_j$ și apoi găsiți fie inversul modular al acestui pătrat, fie $(n-1)$ ori acest invers. (I.E. $S_j^2 \cdot I_j = 1 (\text{mod}n)$ sau $S_j^2 \cdot I_j = -1 (\text{mod}n)$).

Problema este că la pasul 2, $Z_n$ nu este un domeniu ceea ce înseamnă că $I_j$ nu este garantat existența. Și anume orice $g \în Z_n$ nu va avea invers dacă nici unul $p | g$ sau $q | g$. Pentru un foarte mare $n$ Este puțin probabil să se întâmple acest lucru, dar este ușor de demonstrat că se întâmplă întotdeauna.

Dovada existenței: fără pierderea generalității, lit $p < q$. Atunci $p^2 \în Z_n$. pentru că $\text{gcd}(p^2, n) = p > 1$, noi vedem asta $p^2$ nu are invers în $Z_n$.

Mic exemplu: când $n = 21$, niciunul dintre membrii acestui set nu are invers în $Z_n$ $\{0, 3, 6, 7, 9, 12, 14, 15, 18\}$. Unii dintre ei sunt candidați validi pentru a avea ca rezultat un imposibil $I_j$ (ca mai sus, este $S_j = 3$ atunci $S^2_j = 9$).

Ce ar trebui să faci dacă primești unul dintre aceste numere „spărțite”? Să desenezi din nou? Pentru mari $n$ probabilitatea este mică (este ușor să calculezi numărul de numere „despărțite” în $Z_n$ la fel de $1 + (p-1) + (q-1) = p+q-1$, care dispare în $pq$ pentru mari $p$ și $q$) dar cel puțin în implementările de testare cu mici $n$ (ca $n = 21$) rupe orice cod încercând să obțină acel invers.

drapel sa
TMM
Orice se rupe cu probabilitatea 1/N nu este cu adevărat de care să vă faceți griji - întâlnirea cu un astfel de număr este la fel de probabil ca ghicirea unui prim aleatoriu și descoperirea că factorul N. Deci, eșecul protocolului este la fel de probabil ca și ghicirea cheii secrete. noroc pur într-o singură presupunere.

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.