Puncte:2

O interogare privind structura hash de ieșire SHA256 vs entropia de intrare?

drapel br

Având în vedere un șir de intrare de N octeți în care pozițiile anumitor octeți din șir sunt fixe/imuabile (F Bytes) iar restul pozițiilor octeților pot conține orice valoare după cum dorim sau sunt configurabile/variabile (V = N-F Bytes).

SHA256(SHA256(N)) = H (256 biți).

Acum, având în vedere un șir de intrare de N octeți, valorile lui N, F, V și pozițiile care se pot schimba și care nu:

Cum calculăm probabilitatea/formula ca pentru cel puțin 1 atribuire de valori în V, H calculat să aibă k octeți conducători ca 0?

De exemplu: Pentru un șir de intrare aleatoriu de dimensiunea N, N=80, F=40, V=40 (presupunând că sunt date și informațiile despre poziție) cum știm/calculam probabilitatea ca pentru cel puțin 1 atribuire de valori în V primii k octeți ai lui H sunt 0?

Am încercat să caut o analiză în acest sens, dar nu am găsit niciun răspuns. Poate cineva te rog ajuta?

Puncte:0
drapel in

După cum sa menționat anterior, locația octetului fix sau numărul acestora nu contează dacă presupunem că rezultatul este randomizat.

Să presupunem biți, deci $v = 8 \cdot V$.

Acum, pentru o valoare, șansa de a începe cu $k$ biți pot fi reduse la șansa ca primul $k$ biții au o valoare constantă. Mărimea hashului nu contează. Deci, pentru o singură încercare, aceasta este doar $1 \peste 2^k$.

Deoarece rezultatul este randomizat, putem de asemenea concluziona că ieșirile nu sunt legate; fiecare încercare are aceeași șansă. În acest caz, seamănă cu aruncarea zarurilor, deci calculul este similar cu șansa de unu minus nu aruncarea unui 6 într-un număr de aruncări.

Deci asta înseamnă că probabilitatea este unu minus șansa ca valoarea constantă a $k$ biți nu se aruncă:

$$1 - \bigg({{2^k-1} \over {2^k}}\bigg)^{2^v} = 1 - (1 - 2^{-k})^{2^v} $$

Acum, acest lucru pare descurajant, dar vă puteți juca cu valori (mici). folosind WolframAlpha.

Rețineți că dacă $v$ este devine mai mare decât $k$ atunci probabilitatea merge rapid spre 1, în timp ce se mută rapid la zero când $k$ devine mai mare decât $v$ - ceea ce are sens, sunt folosiți ca exponenți până la urmă.

Deoarece presupunem că SHA-256 deja randomizează ieșirea, aceasta pare să nu aibă deloc de-a face cu entropia, un contor cu dimensiunea $v$ ar funcționa la fel de bine ca intrarea aleatorie - mai bine chiar și din moment ce nu există șanse de duplicat.

Maarten Bodewes avatar
drapel in
Rețineți că WolframAlpha încearcă să calculeze suma exactă; dacă cineva are o aproximare frumoasă (de exemplu, în forma $\log_2$), atunci sunt urechile.

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.