Puncte:1

Funcții hash cu număr constant de 1

drapel cn

În următoarea lucrare: https://eprint.iacr.org/2018/056.pdf, oracolul aleatoriu este definit după cum urmează: $ H: *\xrightarrow{} \{ \mathbf{v} | \mathbf{v} \in R_{q,[1]}, || \mathbf{v}||_{1}=\omega\}$

Unde $R_{q,[1]}$ reprezintă acele elemente care aparțin inelului $R_{q}=Z_{q}/<x^n+1>$ și au coeficienți între [-1,1].

Aceste oracole aleatorii sunt sigure? Dacă da, ce funcție hash ar putea scoate un număr constant de 1 fără a compromite securitatea?

kelalaka avatar
drapel in
Nu cred că $||v||_1$ inventează $1$s. Este mai degrabă $p-norm$ unde $p$ este unul.
Puncte:1
drapel ru

Dacă se comportă ca oracole aleatorii, atunci oferă securitate proporțională cu dimensiunea spațiului de imagine care este $2^\omega\binom n\omega$ (rețineți că există $\omega$ intrări diferite de zero, care pot fi fiecare plus sau minus unu). Astfel, dacă securitatea este compromisă prin găsirea unei coliziuni în $H$ acest lucru ar trebui să necesite $O(2^{\omega/2}\sqrt{\binom n\omega})$ evaluări ale $H$ a găsi. Pentru orice nivel de securitate dat, este posibil să găsiți valori adecvate ale $n$ și $\omega$ pentru care munca necesară este mai mare decât nivelul de securitate.

Cel mai simplu mod de a construi practic un astfel de $H$ este de a adapta un obișnuit $h$Funcție hash -bit despre care se crede că se comportă ca un oracol aleatoriu. Utilizați aceasta pentru a genera o valoare uniformă între 0 și $V:=2^\omega\binom n\omega$ (de exemplu, tratând rezultatul hash ca a $h$-bit întreg; dacă această valoare este mai mică decât $2^h\mod V$, adăugați un 1 la intrare și repetați, altfel reduceți valoarea modulo $V$). Acum împărțiți valoarea $v$ în două valori $c:=v/2^\omega$ și $b:=v\mod {2^\omega}$ (Rețineți că $b$ și $c$ va fi independent și uniform distribuit modulo $2^\omega$ și $\binom n\omega$ respectiv). Acum folosește $c$ si metoda de acest raspuns pentru a alege un set de $\omega$ coeficienți care vor fi non-zero și vor folosi biții de $b$ pentru a selecta între coeficienții plus și minus 1.

poncho avatar
drapel my
De fapt, o modalitate mai ușoară (dacă nu la fel de eficientă) de a implementa un astfel de Oracle este să luați secvența $0, 1, 2, ..., n-1$, să le amestecați folosind Fisher-Yates (folosind un RNG bun însămânțat de un hash criptografic al șirului), apoi luați secvența rezultată și convertiți orice valoare $
Daniel S avatar
drapel ru
@poncho Tot mai ușor ar fi să folosiți un XOF pentru a genera valori aleatoare uniforme de la $[0,n)$ până când au fost produse valori distincte $\omega$. Combinatoristul din mine încă înclină spre precizia sistemului de numere combinatoriale.

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.