Puncte:1

Dovada cunoașterii logului discret constant în setarea biliniară

drapel cn

Luați în considerare o pereche $\mathbb{e}: \mathbb{G}_1\times \mathbb{G}_2\longrightarrow \mathbb{G}_T$ cu generatoare $g_1$, $g_2$ pentru $\mathbb{G}_1$, $\mathbb{G}_2$ respectiv. Grupurile $\mathbb{G}_1$, $\mathbb{G}_2$, $\mathbb{G}_T$ sunt de ordin primar $p$.

Pentru o trapă $s$, lăsa $[g_1,g_1^s,\cdots,g_1^{s^N}], [g_2,g_2^s,\cdots,g_2^{s^N}]$ să fie șirul de referință comun (deși pentru unele scheme de angajament Snarks și polinomiale, parametrul public nu conține $g_2^{s^i}$ pentru $i\geq 2$).

Elemente date $a,b\în \mathbb{G}_1$, aș dori să demonstrez în ZK că știu o constantă (spre deosebire de un polinom de grad mai mare) $\alpha$ astfel încât $a^{\alpha} = b$. Care este cel mai eficient mod de a face asta?

Am avut câteva idei:

Ideea 1:

  1. Pentru un element generat aleatoriu $a_2\în \mathbb{G}_2$ (provocarea), Proverul trimite elementul $b_2:= a_2^{\alpha}$.

  2. Verificatorul efectuează verificarea asocierii $\mathbb{e}(a,b_2) = \mathbb{e}(a_2,b)$

Ideea 2

  1. Proverul dovedește în cunoștințe zero că el cunoaște un polinom $f(X)$ astfel încât $a^{f(s)} = b$ (Există modalități simple de a face acest lucru, nu prea diferite de protocolul Schnorr pentru PoK-uri de jurnale discrete)

  2. Proverul trimite elementul $b_2:= g_2^{s^N\cdot \alpha}$ (ceea ce nu este posibil dacă $\alpha = f(s)$ pentru un polinom neconstant $f(X)$).

  3. Verificatorul verifică dovada trimisă la Pasul 1.

  4. Verificatorul efectuează verificarea asocierii $\mathbb{e}(a,b_2) = \mathbb{e}(b,g_2^{s^N}) $

Există protocoale mai eficiente care ar face treaba? Nu îmi place în mod deosebit ideea de a mă baza pe un algoritm de hashing care generează elemente aleatorii ale grupului $\mathbb{G}_2$ ca provocări.

Puncte:1
drapel ru

Nu cred că niciuna dintre aceste idei este zero cunoaștere, deoarece nu văd cum ar putea verificatorul să producă transcrieri valide fără cooperarea dovatorului.

Pe de altă parte, dacă facem doar protocolul Schnorr pentru $\mathbb G_1$ fără a utiliza structura biliniară, asta pare să facă treaba. Există vreun motiv pentru care acest lucru nu ar fi acceptabil?

Mathdropout avatar
drapel cn
Mulțumiri. Ai dreptate, protocolul lui Schnorr ar trebui să funcționeze fără nicio modificare. M-am gândit că ar exista un decalaj în protocol, deoarece factorul orbitor ales de Prover ar putea fi un polinom non-constant. Dar dacă polinomul $\gamma\cdot f(X) + c(X)$ este o constantă pentru un polinomul orbitor angajat $c(X)$ și o provocare generată aleatoriu $\gamma$, ar urma că polinomul $ f(X)$ este constantă. Nu este nevoie de perechi sau șiruri de referință comune.

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.