Puncte:0

Algoritmul pentru validarea a 1 din N intrări face parte din hash de ieșire

drapel us

Există un algoritm care permite demonstrarea că o intrare x1 a fost folosit ca 1 din N intrări pentru a crea un hash de ieșire y, fără a cunoaște celelalte intrări?

i.e. dacă există 5 utilizatori care furnizează un hash de intrare, de exemplu, putem crea un hash de ieșire care să permită fiecărui utilizator individual să verifice intrarea sa a făcut parte din intrări, fără ca acesta să fie nevoie să cunoască toate celelalte intrări?

(este ok să înveți toate intrările în timpul procesului de validare, intrările nu sunt secrete, dar nu sunt fezabil disponibile)

Câteva informații suplimentare despre cazul de utilizare concret:

  1. Trebuie să reprezint starea unui sistem într-un mod concis (hash?).
  2. Starea se schimbă/evoluează constant pe baza noilor intrări ale utilizatorilor.
  3. Trebuie să existe o modalitate de a verifica dacă o anumită intrare de utilizator este deja reflectată în starea curentă.

Abordarea directă ar fi reprezentarea stării sistemului ca listă de intrări, dar acest lucru nu funcționează din cauza unor limitări.
Prin urmare, am sperat că ar putea exista o funcție criptografică care să permită reprezentarea statului într-un mod concis. Am căutat în arbori de merkle, scheme de semnături multiple etc., dar până acum nu am găsit ceva care să se potrivească cu adevărat.

drapel ph
Se pare că ați putea rezolva problema cu un Merkle Tree https://en.wikipedia.org/wiki/Merkle_tree
TommyF avatar
drapel us
@bmm6o, din păcate, nu, asta necesită și cunoștințe despre alte intrări sau hash-ul lor agregat, dar vă mulțumesc pentru sugestie!
drapel ph
Corect, arborele ar trebui să fie disponibil pentru oricine ar dori să verifice calculul.
SEJPM avatar
drapel us
Deci, ceea ce doriți să demonstrați este că pentru o valoare dată $y$ există niște $x_i$ dintr-un set de mărime $N$ de valori $S=\{x_1,x_2,\ldots,x_N\}$ astfel încât $y=H(x_i)$ și că știi că a spus $x_i$ (potențial fără a-l dezvălui?)? Este permisă interacțiunea într-o astfel de dovadă sau se cere să fie o declarație comparabilă cu o valoare hash?
TommyF avatar
drapel us
@SEJPM Am adăugat mai multe informații despre cazul meu de utilizare concret pentru a fi mai clar. Mulțumesc că ai încercat să ajuți!
Ben Voigt avatar
drapel cn
@TommyF: Ați testat această idee prin Principiul Porumbeilor? Adică, dacă fiecare dintre intrările *N* are lungimea de *k* biți și ieșirea hash are lungimea `x` biți, atunci dacă `x > N*k` aceeași ieșire poate fi produsă de mai multe intrări diferite (2* *(x - N*k)) și, prin urmare, chiar dacă aveți o intrare completă și reproduceți calculul hash care ajunge la aceeași ieșire, nu puteți ști niciodată dacă aveți intrarea originală sau doar o coliziune.

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.