Puncte:1

Complexitatea extragerii/semnării hashului

drapel bd

În timp ce am citit despre minerit în criptomonede, am descoperit că necesită ca unii biți conducători ai unei funcții hash să fie 0. Acest lucru se rezumă la rezistența înainte de imagine a funcției hash, deci făcută cu o căutare exhaustivă.

Întrebarea mea, să spunem că am o funcție hash ideală care oferă o ieșire de 128 de biți și vreau ca cei 4 biți conducători să fie 0. Care este numărul de timp așteptat pentru a o rula (cu mesaje alese aleatoriu) astfel încât să obțin rezultatul dorit?

Mai precis, caut un fel de funcție, care să ofere complexitate, pentru setare $m$ biți dintr-o funcție hash ideală care revine $n$ biți ca ieșire.

kelalaka avatar
drapel in
Răspunde asta la întrebarea ta? [SHA-512 - Cât de dificil este să găsești un hash digest care începe cu cel puțin douăsprezece zerouri?](https://crypto.stackexchange.com/questions/89690/sha-512-how-difficult-is-it-to -găsește-o-rezumat-hash-începând-cu-cel-cel-două)
hola avatar
drapel bd
@kelalaka mulțumesc pentru link. Acela este mai empiric, dar vreau niște calcule teoretice
kelalaka avatar
drapel in
Am pierdut deja când modelăm este la fel de uniformă aleatorie. În afară de asta, răspunsul este deja teoretic. Dacă sunteți în căutarea valorii așteptate, este ușor; Este vorba despre Bernoulli Trials și valoarea așteptată este $p$ și rezultatul este 1/16. Valoarea așteptată pentru numărul de încercări independente pentru a obține primul succes este $1/p = 16$
kelalaka avatar
drapel in
De asemenea, rețineți că, atunci când spunem complexitate, ar trebui să depindă de intrare, altfel decât este doar cuantificare, cum ar fi o funcție hash criptografică care se așteaptă să aibă $\mathcal{O}(2^n)$ securitate pre-imagine și SHA-256 are securitate pre-imagine pe 256 de biți, nu $\mathcal{O}(2^{256})$, deoarece aceasta este constantă!.
Puncte:3
drapel cn

Pentru o intrare aleatorie. Fiecare bit are probabilitate $\frac{1}{2}$ să fie zero. Apoi pentru că presupunem independență (funcția hash ideală implică această presupunere). Pentru fiecare intrare probabilitatea de a avea $4$ zerouri în biții de început este $\frac{1}{2^4}=\frac{1}{16}$.

Apoi $k$ calcule, deoarece considerăm că fiecare ieșire este independentă (totuși pentru că este o funcție hash ideală). Probabilitatea de a aștepta exact $i$ pași este o ieșire bună este $\frac{1}{16}\left(15/16\right)^{i-1}$. (pentru că aveți o ieșire greșită pentru $(i-1)$ hashes, și apoi unul prost).

Și așteptarea timpului de calcul este $\sum^{\infty}_{i=1} i\frac{1}{16}\left(15/16\right)^{i-1}= \frac{1}{16}\sum^{\infty}_{j=1} \sum^{\infty}_{i=j}\left(15/16\right)^{i-1}= \frac{1}{16}\sum^{\infty}_{j=1} \sum^{\infty}_{i=0}\left(15/16\right)^{j+i-1 }$

$$=\frac{1}{16}\sum^{\infty}_{j=1} \left(15/16\right)^{j-1}\sum^{\infty}_{i= 0}\left(15/16\right)^{i} $$ $$= \frac{1}{16}\sum^{\infty}_{j=1} \left(15/16\right)^{j-1}\frac{1}{1/16}$ $ $$=\sum^{\infty}_{j=0} \left(15/16\right)^{j} =16$$.

Apoi, în medie, trebuie să calculezi $16$ hashes pentru a găsi unul bun.

Puteți generaliza cu ușurință această dovadă prin înlocuire $16$ de $2^m$, și veți deduce că, în medie, trebuie să calculați $2^m$ hashuri.

Observați că, deoarece alegem în avans coordonatele unde vrem să avem zerourile, rezultatul total al funcției hash nu contează dacă ne uităm la numărul de hashuri pe care ar trebui să le calculăm (dar ar putea fi dacă ne uităm la timpul de calcul de $H$).

hola avatar
drapel bd
Hmm. Deci aveți nevoie de încercări aleatoare de $2^m$ pentru a vă aștepta la o ieșire hash în care $m$ locații sunt fixe.
Ievgeni avatar
drapel cn
Da, dar este o medie.

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.