Puncte:0

Criptografic Random Beacon VS Random Oracle

drapel cn

Să începem cu ceea ce vreau să spun prin far criptografic aleatoriu (RB). Un RB este un protocol între unele părți care generează o valoare aleatorie împreună, astfel încât:

  1. aceste partide nu au incredere una in alta
  2. rezultatul este verificabil public (oricine poate verifica că rezultatul este corect generat de protocol)
  3. Rezultatul este imparțial: nicio parte nu poate influența rezultatul.
  4. rezultatul este imprevizibil: niciun organism nu poate prezice următoarea ieșire din ieșirea curentă.

Prima soluție intuitivă este commit-and-reveal, care nu funcționează! fiecare alege o valoare secretă aleatorie $s_i$ și se angajează, apoi în runda a doua își dezvăluie secretele.

Ieșirea este aleatorie, imprevizibilă și verificabilă public, dar nu imparțială. Partea rău intenționată poate aștepta pur și simplu până când fiecare om își dezvăluie secretul, apoi decide dacă este bine pentru ea să dezvăluie sau nu și se poate retrage de la dezvăluirea secretului său. Apoi există mai multe soluții bazate pe funcție de întârziere aleatorie sau criptografie de prag (pentru mine cea mai de înțeles este cea bazată pe semnătura BSL de prag, de la compania Dfinity).

Acum, unde în criptografie poate fi folosit? de ce Random Oracle (+ Fiat-Shamir) nu este suficient?

Înțeleg că acest lucru poate fi util în aplicațiile în care provocarea ar trebui să fie necunoscută în marcajele de timp speciale. De exemplu, dacă o stocare de date dorește să dovedească acest lucru la ștampila de timp $t$ încă mai are datele, ar trebui să folosească o provocare generată de RB la ștampila de timp $t$ și dați o dovadă pe baza acestei provocări. În caz contrar, poate genera provocarea singură (de către RO, de exemplu), poate elimina datele și la marcarea timpului $t$ susține că deține datele deoarece poate genera dovada pe baza datelor și a provocării.

Dar dacă nu există un marcaj de timp, chiar nu văd niciun rost să folosesc RB în loc de RO. Cred că pentru aplicațiile fără marcaj de timp RO este mai practic.

Deci, înțelegerea mea este corectă? Încă văd câteva lucrări care folosesc rezultatul RB ca provocare (sau doar pentru generarea aleatorie) mai degrabă decât să folosească RO (în timp ce nu există conceptul de timp), și nu știu de ce!

Geoffroy Couteau avatar
drapel cn
Un RO implică o baliză publică aleatorie trivial (definiți baliza ca $H(0), H(1),$ etc). Dar ROM-ul este un model idealist care se dovedește *nu poate* fi instanțiat în lumea reală - ca niciodată. Este doar o modalitate de a obține încredere euristică în schemele noastre, dar nu oferă *nicio* garanție demonstrabilă în lumea reală. În schimb, o baliză aleatorie este doar o presupunere de configurare de încredere: ceva care poate fi de fapt instanțiat în lumea reală.
drapel us
@Geoffroy: Se pare că afișul dorește să apară o valoare la momentul $t$, ceea ce nu ar fi putut fi prezis la momentul $t-1$. Și $H(1), H(2), \ldots$ nu are această proprietate când $H$ este un oracol public aleatoriu.
Geoffroy Couteau avatar
drapel cn
Ha bine, nu am citit corect. Deci da, acest lucru nu poate fi instanțiat ușor cu un oracol aleatoriu

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.