Cum folosim computerul ca generator de numere aleatorii

generator de numere aleatorii Computerele generează un număr aleator pentru orice, de la criptografie la jocuri video și jocuri de noroc. Există două categorii de numere aleatorii - Adevărat numere aleatorii și numere pseudorandom. Iar diferența este importantă pentru securitatea sistemelor de criptare. În acest articol, vom vorbi despre modul în care folosim computerul ca generator de numere aleatorii. Sa incepem!





Acest subiect a devenit mai controversat recent, alături de mulți oameni care se întreabă dacă cipul generator de numere aleatoare hardware încorporat Intel este de încredere sau nu. Pentru a înțelege de ce s-ar putea să nu fie demn de încredere, va trebui să înțelegeți. Așa cum sunt generate numerele aleatorii în primul rând și pentru ce sunt utilizate.



Pentru ce numere aleatoare sunt utilizate | generator de numere aleatorii

Numerele aleatorii au fost folosite de multe mii de ani. Indiferent dacă aruncă o monedă sau aruncă un zar, scopul este de a lăsa rezultatul final la întâmplare. Generatorul de numere aleatorii dintr-un computer este similar. Sunt o încercare de a obține un rezultat imprevizibil, aleatoriu.

Generatoarele de numere aleatorii sunt foarte utile în multe scopuri diferite. În afară de aplicațiile evidente, cum ar fi generarea de numere aleatorii în scopul jocurilor de noroc sau crearea de rezultate imprevizibile într-un joc pe computer, aleatoritatea este cu adevărat importantă pentru criptografie.



Criptografia necesită numere pe care atacatorii nu le pot ghici. Nu putem folosi aceleași numere mereu. Vrem să generăm aceste numere într-un mod foarte imprevizibil, astfel încât atacatorii să nu le poată ghici. Aceste numere aleatoare sunt importante pentru criptarea sigură. indiferent dacă vă criptați propriile fișiere sau doar utilizați un site HTTPS pe Internet.



Numere aleatoare adevărate | generator de numere aleatorii

S-ar putea să vă întrebați cum un computer poate genera de fapt un număr aleatoriu. Unde face asta aleatoriu vine din? Dacă este doar o bucată de cod de computer, nu este posibil ca numerele generate de computer să fie previzibile?

În general, grupăm computerele cu numărul aleatoriu generat în două tipuri. Acest lucru depinde de modul în care sunt generate: Adevărat numere aleatorii și numere pseudo-aleatorii.



activați Starz Play Xbox 360

Pentru a genera un Adevărat număr aleatoriu, computerul măsoară un anumit tip de fenomen fizic care are loc în afara computerului. De exemplu, computerul ar putea măsura degradarea radioactivă a unui atom. Conform teoriei cuantice, nu există nicio modalitate de a ști cu siguranță când va avea loc decăderea radioactivă. Deci, acesta este în esență pură întâmplare din univers. Un atacator nu ar fi în măsură să prezică când se va produce dezintegrarea radioactivă. Deci nu ar cunoaște valoarea aleatorie.



Pentru un exemplu de zi cu zi, computerul se poate baza pe zgomotul atmosferic sau pur și simplu poate folosi ora exactă când apăsați tastele de pe tastatură ca sursă de date imprevizibile sau entropie. De exemplu, computerul dvs. ar putea observa că ați apăsat o tastă exact la 0,23423523 secunde după ora 14:00. Prindeți suficient din momentele specifice asociate cu aceste apăsări de taste și veți avea o sursă de entropie pe care o puteți folosi pentru a genera un Adevărat Număr aleatoriu. Nu ești o mașină previzibilă. Deci, un atacator nu poate ghici momentul precis când apăsați aceste taste. Dispozitivul / dev / random de pe Linux, care generează numere aleatorii, blocuri și nu returnează un rezultat până când nu adună suficientă entropie pentru a returna un număr cu adevărat aleatoriu.

Numere pseudorandom | generator de numere aleatorii

Numerele pseudorandom sunt o alternativă la Adevărat numere aleatorii. Un computer ar putea folosi o valoare seed și un algoritm pentru a genera numere care par a fi aleatorii, dar acest lucru este de fapt previzibil. Computerul nu colectează date aleatorii din mediu.

Acest lucru nu este neapărat un lucru rău în orice situație. De exemplu, dacă jucați un joc video. Nu contează cu adevărat dacă evenimentele care apar în acel joc sunt cauzate de Adevărat numere aleatorii sau numere pseudorandom. Pe de altă parte. Dacă utilizați criptarea, nu doriți să utilizați numere pseudoaleatorii pe care un atacator le-ar putea ghici.

De exemplu, să presupunem că un atacator cunoaște algoritmul și valoarea semințelor pe care le folosește un generator de numere pseudorandom. Și să spunem că un algoritm de criptare obține un număr pseudorandom de la acest algoritm. Și o folosește pentru a genera o cheie de criptare fără a adăuga nicio aleatoare suplimentară. Dacă un atacator știe suficient, ar putea lucra înapoi și ar putea determina numărul pseudorandomului. Algoritmul de criptare trebuie să fi ales în acest caz, întrerupând criptarea.

NSA și Intel’s Hardware Random Number Generator

Pentru a facilita lucrurile dezvoltatorilor și pentru a genera numere aleatorii sigure. Cipurile Intel includ un generator de numere aleatoare bazate pe hardware cunoscut sub numele de RdRand. Acest cip folosește o sursă de entropie pe procesor și dă numere aleatorii software-ului atunci când software-ul le solicită.

Problema este că generatorul de numere aleatorii este în esență o cutie neagră și nu știm ce se întâmplă în interiorul său. Dacă RdRand ar conține un backdoor NSA, guvernul ar putea rupe cheile de criptare. Aceasta a fost generată numai cu datele furnizate de acel generator de numere aleatorii.

Aceasta este o preocupare serioasă. În decembrie 2013, dezvoltatorii FreeBSD au eliminat suportul pentru utilizarea RdRand direct ca o sursă de întâmplare, spunând că nu pot avea încredere în el. [Sursă] Ieșirea dispozitivului RdRand ar fi introdusă într-un alt algoritm care adaugă entropie suplimentară. Acest lucru asigură că orice ușă din spate din generatorul de numere aleatorii nu ar conta. Linux a funcționat deja în acest fel, aleatorizând în continuare datele aleatorii provenite de la RdRand, astfel încât să nu fie previzibil chiar dacă ar exista un backdoor. [Sursă] Într-un AMA recent ( Intreaba-ma orice ) pe Reddit, CEO-ul Intel Brian Krzanich nu a răspuns la întrebări cu privire la aceste preocupări. [Sursă]

Desigur, acest lucru probabil nu este doar o problemă cu cipurile Intel. Dezvoltatorii FreeBSD au numit și cipurile lui Via pe nume. Această controversă arată de ce este atât de importantă generarea de numere aleatorii care sunt cu adevărat aleatorii și care nu sunt previzibile.

ce este windows 10 enterprise n

A genera Adevărat numere aleatorii, generatoare de numere aleatorii se adună entropie, sau date aparent aleatorii din lumea fizică din jurul lor. Pentru numere aleatorii care nu într-adevăr trebuie să fie aleatorii, pot folosi doar un algoritm și o valoare seed.

Concluzie

Bine, asta a fost totul! Sper să vă placă acest articol generator de numere aleatorii și să vă fie de ajutor. Dă-ne feedback-ul tău despre asta. De asemenea, dacă doriți să întrebați alte întrebări legate de acesta. Apoi anunțați-ne în secțiunea de comentarii de mai jos. Ne vom contacta în curând.

O zi bună!

Vezi și: NSFW: Înțeles și cum funcționează de fapt