Nu poate, chiar fără să știe cum funcționează „Generatorul de numere pseudo-aleatorie Enocoro-128_v2”, deoarece PRNG-ul va avea $H_{out} < H_{in}$
Se pare că aveți o sursă de entropie care probabil generează mostre aleatoare ale lui Kolmogorov. Acestea au o distribuție neuniformă pe care o veți putea vedea din funcția/histograma de masă de probabilitate și că eșuează SP 800-22. Și pot fi autocorelate. Asta inseamna $H_{\infty} \ll 1$ biți/bit. Rulați NIST 800 90b ea_iid
test pentru a confirma.
Ungerea unui PRNG deasupra maschează pur și simplu entropia Kolmogorov subiacentă cu pseudoentropie previzibilă ($H_{\infty} =0 $ din perspectiva TRNG). Unii oameni au caracterizat o astfel de construcție drept a hardware PRNG. Cu toate acestea, pentru ca orice TRNG să fie demn de acest nume, trebuie să satisfacă cel mai important aspect al proiectării TRNG, și anume acea entropie generată > lungime. Mai formal: $H_{out} \ngtr H_{in}$.
Cu un pic de fudging PRNG, orice sursă de entropie poate produce entropie de ieșire la rate aproape infinite. De exemplu, Intel on-chip TRNG (RDRAND) se presupune că produce aproape 2 Gb/s. Clar Gunoi și gunoi. Acest cip are în mod clar $H_{out} \gg H_{in}$.
Deci post extracție, o sursă slab aleatorie pare să apară cu aleatorie mult mai bună și o părtinire îndepărtată de perfecțiune limitată de Lema Hash rămasă:-
$$ \epsilon = 2^{-(sn-k)/2} $$
unde avem $n$ = biți de intrare la $s$ biți/bit de entropie brută de la sursă, $k$ este numărul de biți de ieșire din extractor (și $<n$). $\epsilon$ este părtinirea de la o uniformitate perfectă $k$ șir de lungime de biți, adică $H(k) = 1 - \epsilon$ biți/bit. NIST acceptă asta $\epsilon < 2^{-64}$ pentru aplicații criptografice.
In orice caz, $\epsilon$ poate fi ușor de făcut mult mai mic. țintesc $2^{-128}$. Pentru extractor puteți folosi SHA-512 ($k=512$) pentru a minimiza pierderea de entropie. Poti vedea $n/k$ rapoarte și eficiențe relative în aceste diagrame: -
Deci, în concluzie, nu aveți nevoie/nu ar trebui să utilizați un PRNG deasupra sursei de entropie. Dacă faceți un TRNG, faceți-l un TRNG adecvat. Viteza nu este atât de importantă.
La urma urmei, ce poți face cu toate chestiile alea de Kolmogorov?