Puncte:2

Funcții hash, bijectivitate și entropie

drapel cn

Pentru cei care nu știu, o funcție bijectivă este una pentru care fiecare intrare dă o singură ieșire. Un cifru bloc, de exemplu, este garantat a fi bijectiv sau nu puteți decripta.

Când o funcție hash precum SHA256 sau SHA3 este utilizată cu o intrare de aceeași lungime ca și ieșirea, AFAIK nu este sau cel puțin nu ar trebui să fie bijectivă. (Este corect?)

Dacă un hash nu este bijectiv, înseamnă asta că hash-ul repetat pierde entropia?

Să presupunem că aveți 256 de biți de entropie și o treceți prin SHA256. Mai ai 256 de biți de entropie? Să zicem că SHA256 îl hash de un milion de ori. Ce atunci?

Mi se pare că răspunsul ar trebui să fie nu, dar, din nou, nu ar crea asta o problemă pentru criptografia bazată pe hash?

Doar o întrebare întâmplătoare care mi-a trecut în cap.

drapel pe
Acesta pare a fi un duplicat al https://crypto.stackexchange.com/a/15084
fgrieu avatar
drapel ng
[Legat](https://crypto.stackexchange.com/a/24672/555), dar nu un duplicat: pentru un hash pe același set, pierderea așteptată a entropiei hashing o valoare uniform aleatorie converge rapid la 0,827245389153â ¦ bit pentru primul hash pe măsură ce dimensiunea setată crește. Aceasta este singura constantă ușor relevantă și necunoscută pe care am derivat-o vreodată.
Puncte:3
drapel pe

Acest lucru este deja răspuns Aici pentru 1 iterație și Aici pentru multe iterații, dar deoarece ultimul răspuns prezintă un argument euristic, voi lăsa aici Lema 4 din Grafice funcționale și aplicațiile lor în atacurile generice asupra construcțiilor hash iterate care oferă o bună aproximare bazată pe teorema 2 a Statistici de cartografiere aleatorie, și (3.10) din Pe înălțimea copacilor:

Lema 4. Lăsa $f$ fi o mapare aleatorie în $\mathcal{F}_N$. Denota $N = 2^n$. Pentru $k \le 2^{n/2}$, așteptarea numărului de noduri de imagine k-a iterate în graficul funcțional al $f$ este $$ (1 - \tau_k)\cdot N \aprox \left(\frac{2}{k} - \frac{2}{3}\frac{\log k}{k^2} - \frac{c}{ k^2} - \dots \right) \cdot N\,. $$ sugerează că $\lim_{k \to \infty} k\cdot (1 - \tau_k) = 2$. Prin urmare, $$ \lim_{N \to \infty, k \to \infty, k \le \sqrt{N}}(1 - \tau_k)\cdot N \approx 2^{n - \log_2 k + 1}\,, $$ Unde $\tau_k$ satisface recidiva $\tau_0 = 0, \tau_{k+1} = e^{-1+\tau_k}$, și $c$ este o anumită constantă.

Deci, deși da, există o oarecare pierdere de entropie din cauza iterării repetate a unei funcții aleatorii, această pierdere crește doar logaritmic în funcție de numărul de iterații. A pierde, să zicem, $32$ biți de entropie, trebuie să repetați hash-ul în jur $2^{32}$ ori. Pentru lungimi mari de ieșire, cum ar fi $256$ biți, acest tip de pierdere este neglijabilă pentru aproape toate scopurile practice.

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.