Bun venit pe forum, @vnd !
Întrebarea dvs. poate fi rezolvată folosind pe bază de hash k-Anonimat? După cum am înțeles, această abordare ar:
- împiedică-l pe Mallory să descopere ziua de naștere a Alicei;
- o împiedică pe Alice să cunoască vreuna dintre datele de naștere ale colegilor ei de clasă; și
- permite lui Alice doar să descopere dacă vreunul dintre colegii ei împarte ziua de naștere cu ea
Să presupunem că Alice are 12 colegi de clasă ale căror date sunt reprezentate de acest tabel:
()
Bob 11 IAN 2001 a40b69b979ef6af5e9f13a49cfc568d8b942d5c2 a40b6
Joe 23 MAR 1989 4fde4b6b8e077d5b51eed716ab3d94a6ac04c45e 4fde4
Ben 9 IUN 2002 46885da4ffaa4c3d1b31413f96c38f2cb7e895ea 46885
Art 4 DEC 2005 a40b6425e2a7a93a9ac95ee275a5398397c46dd2 a40b6
Tom 17 NOV 1977 a49e374c34333b86ccf08bc10d6e04312e772c41 a49e3
Tim 3 IUL 1989 39e95ac6c6286e6f036822f3fa31131a2e892b08 39e95
Amy 12 FEB 2002 92dac31b3d3a0793fd2845081c93024d0ea8ac8c 92dac
Eva 24 APR 1990 a0ed580e3df29f9a8f22276092ac9f58117401ec a0ed5
Sue 10 IUL 2003 a93703839d02a539c12841f5de2ec8790107925b a9370
Zoe 5 IAN 2006 a40b6232f910b358e971e4c5f91e273c07499ab0 a40b6
Lia 18 DEC 1978 addc1fc5fbe7dea93e3bd1d421521f005ba89c8e addc1
Kay 4 august 1990 a4e15e622b89d302f2b0357c2b2efc0d38fba7a0 a4e15
Alice 11 IAN 2001 a40b69b979ef6af5e9f13a49cfc568d8b942d5c2 a40b6
DATE TABEL
Acest tabel include numele dat; data nașterii (în format militar, din motive cosmetice); valoarea hash a datei de naștere folosind un hash alcătuit (MUH) inexistent și primele 5 grafeme ale hashului (fragment).
PROCEDURĂ
. Alice calculează rezumatul de mesaj al datei sale de naștere folosind hashul inventat (orice hash poate fi folosit, chiar și SHA1 slab).
. În loc să-i comunice lui Mallory întreaga valoare hash, care ar fi percepută ca o amenințare, Alice îi dă lui Mallory doar un fragment din hash-ul ei: primele cinci grafeme (acesta este reglabil).
. Mallory știe datele de naștere ale tuturor celor din clasă, cu excepția Alicei. Mallory calculează hash-ul zilei de naștere a fiecărui coleg de clasă și returnează acele date lui Alice, dar numai atunci când fragmentul lui Alice se potrivește cu același fragment dintr-un hash complet.Datele returnate nu includ fragmentul, deoarece acesta ar fi redundant.
AAAA . Folosind un fragment de 5 grafeme a40b6
, Mallory i-ar oferi Alicei următoarele date
9b979ef6af5e9f13a49cfc568d8b942d5c2
425e2a7a93a9ac95ee275a5398397c46dd2
232f910b358e971e4c5f91e273c07499ab0
    şi Alice ar vedea dacă fragmentul ei plus orice răspuns se potrivesc cu hashul ei complet. În acest caz, primul este o potrivire și Alice are răspunsul ei. Acum știe că cineva din clasa ei împarte ziua de naștere cu ea, deși nu cunoaște identitatea lor.
În acest schimb vedem că Mallory, după ce a primit doar un fragment, nu poate determina dacă vreunul dintre hashurile pe care le-a calculat se potrivește pe deplin cu hash-ul real al lui Alice, deoarece nu are nicio modalitate de a calcula hash-ul complet al lui Alice.
Posibilitatea unei amenințări este eliminată deoarece decizia dacă există o potrivire nu poate fi determinată de Mallory (server ostil), poate fi determinată doar de Alice (client cinstit).
Mai mult, folosind datele furnizate de Mallory, Alice nu poate deduce data de naștere a vreunuia dintre colegii ei de clasă, cu excepția celor care se potrivesc cu hashul ei. Meciurile parțiale sunt neconcludente.
Cantitatea de date returnate poate fi ajustată în funcție de dimensiunea fragmentului:
AAAA . Folosind un singur fragment de caracter A
, Mallory i-ar oferi Alicei următoarele date:
40b69b979ef6af5e9f13a49cfc568d8b942d5c2
40b6425e2a7a93a9ac95ee275a5398397c46dd2
f9e374c34333b86ccf08bc10d6e04312e772c41
0ed580e3df29f9a8f22276092ac9f58117401ec
93703839d02a539c12841f5de2ec8790107925b
40b6232f910b358e971e4c5f91e273c07499ab0
4e15e622b89d302f2b0357c2b2efc0d38fba7a0
NOTĂ: Această abordare nu necesită să știm câte zile de naștere posibile există (365). Trei sute sau patru milioane, nu ar conta.