Luați în considerare un inel în care fiecare element din inel se bazează pe un hash al elementului anterior din inel.
$i_0 = H(i_3)$
$i_1 = H(i_0)$
$i_2 = H(i_1)$
$i_3 = H(i_2)$
În primul rând, rețineți că oricine poate reconstrui inelul dacă i se spune unul dintre $i$ valorile.
În al doilea rând, rețineți că, dacă hash-ul este rezistent la coliziune, nu ar trebui să fie posibil să se formeze un astfel de inel. Acest lucru se datorează faptului că atunci când creați $i_0$, ar trebui să „călătoriți în timp” pentru a afla care este valoarea $i_3$ Va fi.
Dacă am folosi un „Hash Chameleon” în loc de un hash obișnuit, am putea construi un astfel de inel. Acest lucru se datorează faptului că un „Hash Chameleon” poate fi controlat pentru a produce rezultatul necesar dacă se cunoaște un anumit secret.
De exemplu, hașul Chameleon pentru acest răspuns Semnătură de grup anonimă spontană care poate fi conectată se bazează pe o construcție EC Schnorr.
Pentru a putea controla hash-ul Chameleon necesită cunoașterea uneia dintre cheile private corespunzătoare uneia dintre cheile publice din ring. Prin urmare, posibilitatea de a construi un inel demonstrează că știai una dintre cheile private. Odată construit inelul, oricine poate verifica dacă inelul există, dar nu poate spune unde a fost „unit” inelul prin cunoașterea unei anumite chei private.
O semnătură de inel care poate fi conectată extinde acest concept prin includerea unei „imagine cheie”. Când creați inelul și utilizați o anumită cheie privată pentru a „adera la inel”, este declarată o imagine a cheii care este o cheie publică corespunzătoare acelei chei private, cu excepția unui alt punct generator.
Din cauza problemei EC discrete-log, nimeni nu poate spune pe ce cheie publică din inel se bazează imaginea cheii. Cu toate acestea, construcția inelului conține efectiv o „dovadă de echivalență în jurnal discret”, care verifică că cheia publică din inelul în care a fost alăturat inelul trebuie să fi partajat aceeași cheie privată cu imaginea cheii declarate.
Prin urmare,
Verificatorul poate spune că cel puțin una dintre cheile private corespunzătoare uneia dintre cheile publice din inel este cunoscută de semnatar.
Verificatorul știe că imaginea cheii este formată corect pentru a partaja aceeași cheie privată care a fost folosită pentru a se alătura inelului.
Aceasta înseamnă că, dacă imaginea cheii este văzută din nou, aceeași cheie privată trebuie să fi fost folosită pentru a se alătura acestui inel. Nu există nicio modalitate de a „păcăli” un verificator prin crearea unei imagini de cheie diferită atunci când semnați cu aceeași cheie privată de două ori, deoarece dovada echivalenței în jurnal discret demonstrează că imaginea cheii a fost creată și declarată corect și trebuie să corespundă aceleiași chei publice. în ringul unde era cunoscută cheia privată.