Luați în considerare o variantă echivalentă a unei semnături obișnuite Schnorr care semnează un mesaj $m$. presupun $s$ este un secret de entropie suficient de mare și astfel încât, prin urmare $S$ nu poate fi forțat brutal.
Semnătura ar fi perechea $(B=bG,\ p=c\cdot s-b)$. Ar fi verificat verificând asta $B\overset{?}{=}cS-pG$, Unde $c = H(B \mathbin\| m)$.
Îndepărtezi provocarea $c$, deci primul dezavantaj este că nu mai poți semna un mesaj. Poți doar dovedi că știi $s$.
Prin urmare, aveți perechea $(B=bG,\ p=s-b)$, iar verificarea este $pG\overset{?}{=}S-B$.
Provocarea a făcut, de asemenea, parte dintr-o euristică Fiat-Shamir care a împiedicat $B$ de a fi calculate după provocarea $c$ a fost ales. Prin urmare, există o problemă dacă Bob este capabil să-și declare cheia publică $B$ după $S$ a fost anunțat. Bob ar putea alege pur și simplu o aleatorie $p$ valoare, determina $B=S-pG$și susțin că cheia lui publică este $B$. Acest lucru ar putea fi rezolvat în două moduri: 1. Bob trebuie să declare $B$ înaintea $S$ fiind declarată. 2. Bob trebuie să furnizeze o semnătură care să ateste cunoștințele $b$ astfel încât $B\overset{?}{=}bG$.
Presupunând că cheia publică a lui Bob a fost declarată înainte de $S$ fiind declarat, deci aveți un mod valid de a dovedi cunoștințele despre $s$. După cum ați subliniat, Alice ar putea afla în mod banal cheia privată a lui Bob $b$. Prin urmare, aceasta nu îndeplinește definiția cunoștințelor zero, care necesită „fără a dezvălui informațiile în sine sau orice informație suplimentară".
Prin urmare, construcția dvs. este similară în definiție cu un "semnătura adaptorului„, deoarece „o schemă de semnătură a adaptorului poate autentifica mesajele, dar în același timp scurge un secret anumitor părți”. Schema dvs. nu semnează mesaje, dar dovedește cunoștințele despre $s$ în timp ce se verifică scurgeri $b$ lui Alice.
Rețineți că pot exista și probleme cu schema dvs. în cazul în care există un al doilea secret $s'$, și din anumite motive $s'-s$ devine cunoscut.