Puncte:2

Hotbits vs. Random.org vs. Altceva?

drapel jp

Căutam o sămânță aleatoare pe care să o folosesc cu un generator de numere pseudoaleatoare (nu încercam să criptez nimic). Am vizitat următoarele site-uri web:

https://www.fourmilab.ch/hotbits/secure_generate.html

https://www.random.org/

Se pare că Random.org are un solid istorie și nu întâmpină probleme cu atacurile DDoS, deoarece acestea nu necesită o cheie API. Evident, nu aș dori să folosesc nimic de pe niciunul dintre aceste site-uri ca o cheie de criptare, dar știe cineva dacă rezultatele utilizării Random.org sunt mai mult sau mai puțin aleatorii decât ceea ce aș putea obține de la HotBits cu propria mea cheie API?

În cea mai mare parte, încerc să mă asigur că cheia mea API în sine nu este utilizată în procesul de generare.În afară de asta, nu am idei majore de ce aș evita HotBits, în afara inconvenientului comanda propria mea cheie API.

kelalaka avatar
drapel in
ce sa întâmplat cu /dev/urandom?
SAI Peregrinus avatar
drapel si
Calculatoarele au construit RNG-uri de ani de zile. /dev/urandom pe Linux, getrandom() pe Linux sau BSD, CryptGenRandom pe Windows etc.
Puncte:-1
drapel cn

Pentru majoritatea utilizărilor, un număr aleatoriu trebuie să fie secret. Trebuie să fie ceva ce nimeni altcineva nu știe. Este, prin construcție, imposibil să obțineți un număr aleator de pe un site web: site-ul îl știe și el.

Fiecare computer modern are un generator aleatoriu. Chiar și mai multe dispozitive încorporate au unul. Folosește doar asta. Este disponibil prin sistemul dvs. de operare, nu trebuie să faceți nimic special. Doar sună aleatoriu() pe Linux, BCryptGenRandom pe Windows, /dev/*aleatoriu pe sisteme de operare asemănătoare Unix, â¦

Pentru unele utilizări, un număr aleatoriu poate fi public, dar ceea ce este important este că se poate demonstra că nu este ales de tine. De exemplu, numere câștigătoare la loto. Puteți folosi un serviciu de generare aleatorie ca terță parte de încredere pentru a obține numere aleatoare care nu sunt alese de dvs., dar atunci problema este că nu puteți demonstra că numerele aleatoare nu au fost alese de dvs. Chiar dacă ați putea dovedi că numerele aleatoare au fost obținute de serviciu, este posibil să fi încercat de mai multe ori până când obțineți numere care vă sunt favorabile.

Dacă aveți nevoie de un număr demonstrabil aleatoriu, vedeți O sursă de aleatorie pe care oricine o poate accesa independent, convenabil și robust?. Acest număr va fi public. Dacă aveți nevoie de un număr aleatoriu care să fie atât de demonstrat aleatoriu, cât și cunoscut doar de un set restricționat de persoane, atunci utilizați un număr public care se poate demonstra aleatoriu și un număr aleator secret generat de dvs. și partajat cu setul restricționat înainte ca numărul demonstrabil aleatoriu să fie disponibil ca intrări pentru o funcție de derivare a tastei.

Gilles 'SO- stop being evil' avatar
drapel cn
@PaulUszak Ei nu oferă „pseudo semințe”. O pseudo sămânță ar fi generată în mod determinist dintr-o altă sămânță. Ele oferă rezultatul condiționat al unui fenomen fizic imprevizibil. Un TRNG real ar fi o ieșire _necondiționată_ a unui fenomen fizic imprevizibil și, prin urmare, prea părtinitoare pentru a fi direct utilă.
Paul Uszak avatar
drapel cn
Err, confundați un TRNG cu sursa de entropie din amonte? TRNG-urile sunt aproape imparțial prin definiție. Și cele 3 exemple ale tale nu sunt exact pseudo semințe, deoarece sunt generate de generatoare de numere pseudoaleatoare, cum ar fi (ChaCha + stare)?
Gilles 'SO- stop being evil' avatar
drapel cn
@PaulUszak Aceasta este definiția obișnuită a TRNG: sursa fizică înainte de condiționare. Desigur, cuvântul este adesea folosit metonimic pentru a însemna un obiect fizic care conține atât un TRNG, cât și un circuit de condiționare.Oricum ai dori să o numiți, există două concepte aici: sursa de entropie, care are rezultate care sunt imprevizibile, dar nu produce biți aleatori _uniform_, și întregul pachet de surse de entropie plus condiționare, care produce biți uniform aleatori. Ieșirea întregului pachet nu este _pseudo_aleatorie: nu este derivată determinist.
Puncte:-2
drapel cn

Presupun că sunteți interesat de acele semințe cu adevărat aleatorii generate fizic ca parte a unui TRNG clasic ($H_{in} > H_{out}$), iar răspunsul meu este adaptat în consecință.

Aș evita random.org în virtutea faptului că nu publică exact modul în care sunt generate numerele. „Zgomot atmosferic” nu este o tehnică de generare și extracție aleatorie în sine. Secretul $\ne$ aleatorietatea. Din câte știm, s-ar putea să folosească niște generatoare congruențiale liniare și să mintă despre asta. Deși trebuie să accept că numerele lor par să nu se distingă statistic de aleatoriu.

De asemenea, aș exclude aproape CSPRNG-urile încorporate în nucleele computerelor moderne. Din moment ce venerabilul /dev/random/ a fost sabotat din existență (Cui bono?), tot ce vă mai rămâne sunt generatoare pseudo aleatoare și nu TRNG-uri clasice Kolmogorov.

Așa că rămân doi noi veniți. Acolo este Ozzie ANU QRNG folosind energia vidului punct zero și, desigur, a mea la reallyreallyrandom.com folosind (în prezent) o cameră web.

Deoarece puneți la îndoială caracterul aleatoriu al acestor surse, v-ați dat seama că există diferite niveluri de aleatorie în TRNG-uri, în funcție de părtinirea entropiei de ieșire finală, $\epsilon$. NIST recomandă $\epsilon < 2^{-64}$. Nu am cifre de părtinire pentru TRNG-urile celorlalți de mai sus, dar părtinirea de ieșire a lui reallyreallyrandom.com este estimată a fi ridicolă $\aproximativ 2^{-10.000}$. Acest lucru se datorează pur și simplu numerelor de intrare de ieșire din extractorul aleatoriu, în conformitate cu lema hash rămasă. Pur și simplu irosesc multă entropie.


Nu știm dacă funcțiile pseudoaleatoare contemporane, cum ar fi SHA-2, pot scoate blocuri cu atât de puțin părtinire, încât este imposibil să generezi eșantionul masiv de date necesar pentru analiză. Ale mele întrebare pe această temă rămâne deschisă din păcate.

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.