Puncte:1

Când să nu respingem un generator de numere aleatorii?

drapel co

Am construit un adevărat generator de numere aleatoare și am aplicat rezultatele sale suita de teste ale aleatoriei NIST. Am generat aproximativ 200 de fișiere cu TRNG-ul meu, fiecare fiind $10^6$ biți în lungime.

Rapoartele de testare sunt după cum urmează: TRNG a eșuat unele dintre teste (de exemplu, testul de rang de matrice binară) mai puțin de $5$ ori, adică doar 5 fișiere din $200$ a picat unele dintre teste. In orice caz, $20$ fișierele nu au reușit testul de excursie aleatorie. De asemenea, numai $5$ fișierele au eșuat mai mult decât $1$ Test. Prin urmare, vreau să știu dacă acest TRNG ar trebui respins.

Ce criterii determină dacă cineva ar trebui să accepte sau să respingă un TRNG? Vă rugăm să furnizați referințe, dacă este posibil.

Paul Uszak avatar
drapel cn
Nu aveți nevoie de 200 de fișiere. Doar unul va face (>100 MB). **Dar** fii foarte atent la reformularea trusei. Unele hardware _"se încălzesc"_ matematic și fizic. https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-90B.pdf
Patriot avatar
drapel cn
@Mittal G Ați folosit instrumentul NIST Statistical Test Suite (STS) pentru aleatorie?
Mittal G avatar
drapel co
Da, am folosit asta.
Puncte:1
drapel cn

Știu ceva despre TRNG-uri, iar 20/200 (10%) pare puțin ridicat. Aleatoritatea este aleatorie, așa că te-ai aștepta la distribuția normală a valorilor. Dar 1,6 $\sigma$ e prea mult.

Distribuția normală/gaussiană:

grafic

Știu că este o prostie, dar uită-te doar la probabilități. $z=\pm 0,8$ îl înfige chiar sub cocoașă. Foarte puțin probabil. Există un instrument numit ent care este simplu dar primul pas în proiectarea unui TRNG. Rulați-l și vedeți care este coeficientul de corelație: -

~$ ent cmix_v17
Entropie = 6,433268 biți pe octet.

Compresia optimă ar reduce dimensiunea
din acest fișier de 687704 octeți cu 19 la sută.

Distribuția Chi pătrat pentru 687704 eșantioane este 7388990,41 și aleatoriu
ar depăși această valoare mai puțin de 0,01 la sută din ori.

Valoarea medie aritmetică a octeților de date este 86,8790 (127,5 = aleatoriu).
Valoarea Monte Carlo pentru Pi este 3,496968164 (eroare 11,31%).
Coeficientul de corelație serială este 0,300655 (total necorelat = 0,0).

Sau pentru a săpa mai adânc, puteți efectua o FFT în domeniul frecvenței. Păstrați corectarea automată $< 10^{-3}$. Asta vă va oferi mostre IID din care obțineți o simplă $H_{\infty}$ și deci rata entropiei.

P.S. Să vedem circuitul.
Mittal G avatar
drapel co
Poti te rog sa detaliezi putin mai mult? Nu primesc răspunsul tău.
Paul Uszak avatar
drapel cn
Desigur :-) dar răspunsul meu este legat de un TRNG adevărat și cușer. Îmi pare rău că sunt pedant, dar avem o mulțime de întrebări despre TRNG-uri care pur și simplu nu sunt. Există o **uriașă** confuzie între TRNG-uri, pad-uri unice și cifruri de flux.

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.