Kako koristimo računalo kao generator slučajnih brojeva

generator slučajnih brojeva Računala generiraju slučajni broj za sve, od kriptografije do video igara i kockanja. Postoje dvije kategorije slučajnih brojeva - pravi slučajni brojevi i pseudoslučajni brojevi. A razlika je važna za sigurnost sustava šifriranja. U ovom ćemo članku govoriti o tome kako koristimo računalo kao generator slučajnih brojeva. Započnimo!





Ova je tema u posljednje vrijeme kontroverznija, zajedno s mnogim ljudima koji se pitaju je li Intelov ugrađeni hardverski čip za generiranje slučajnih brojeva pouzdan ili ne. Da biste razumjeli zašto to možda nije pouzdano, morat ćete razumjeti. Da se uopće generiraju slučajni brojevi i za što se koriste.



Koji se slučajni brojevi koriste | generator slučajnih brojeva

Slučajni brojevi koriste se već tisućama godina. Bilo da se baca novčić ili baca kockica, cilj je prepustiti krajnji rezultat slučajnoj prilici. Generator slučajnih brojeva u računalu je sličan. Oni su pokušaj postizanja nepredvidljivog, slučajnog rezultata.

Generatori slučajnih brojeva vrlo su korisni u mnoge različite svrhe. Osim očitih aplikacija poput generiranja slučajnih brojeva za potrebe kockanja ili stvaranja nepredvidivih rezultata u računalnoj igri, slučajnost je doista važna za kriptografiju.



Kriptografija zahtijeva brojeve koje napadači ne mogu pogoditi. Ne možemo se stalno služiti istim brojevima. Te brojeve želimo generirati na vrlo nepredvidljiv način kako ih napadači ne bi mogli pogoditi. Ti su slučajni brojevi važni za sigurno šifriranje. bez obzira šifrirate li vlastite datoteke ili samo koristite HTTPS web mjesto na Internetu.



Točni slučajni brojevi | generator slučajnih brojeva

Možda se pitate kako računalo zapravo može generirati slučajni broj. Odakle ovo slučajnost doći od? Ako se radi samo o dijelu računalnog koda, nije li moguće da brojevi koje računalo generira mogu biti predvidljivi?

Računala slučajnog broja koji generiramo obično grupiramo u dvije vrste. To ovisi o načinu stvaranja: Pravi slučajni brojevi i pseudo-slučajni brojevi.



kako baciti vrijeme za kokice

Za generiranje a pravi slučajni broj, računalo mjeri neku vrstu fizičkog fenomena koji se događa izvan računala. Kao što je računalo moglo izmjeriti radioaktivni raspad atoma. Prema kvantnoj teoriji, ne postoji način da se pouzdano zna kada će se dogoditi radioaktivni raspad. Dakle, ovo je u biti čista slučajnost iz svemira. Napadač ne bi mogao predvidjeti kada će se dogoditi radioaktivni raspad. Tako ne bi znali slučajnu vrijednost.



Za svakodnevni primjer, računalo se može osloniti na atmosfersku buku ili jednostavno upotrijebiti točno vrijeme pritiska tipki na tipkovnici kao izvor nepredvidivih podataka ili entropije. Na primjer, vaše bi računalo moglo primijetiti da ste pritisnuli tipku točno u 0,23423523 sekunde nakon 14 sati. Uhvatite dovoljno određenog vremena povezanog s tim pritiscima tipki i imat ćete izvor entropije koji možete koristiti za generiranje pravi slučajni broj. Vi niste predvidljiv stroj. Dakle, napadač ne može pogoditi točan trenutak kada pritisnete ove tipke. / Dev / random uređaj na Linuxu, koji generira slučajne brojeve, blokovi i ne vraća rezultat dok ne skupi dovoljno entropije za vraćanje doista slučajnog broja.

Pseudoslučajni brojevi | generator slučajnih brojeva

Pseudoslučajni brojevi su alternativa pravi slučajni brojevi. Računalo bi moglo koristiti početnu vrijednost i algoritam za generiranje brojeva koji se čine slučajnima, ali to je zapravo predvidljivo. Računalo ne prikuplja slučajne podatke iz okoline.

To nije nužno loše u svakoj situaciji. Kao, ako igrate videoigru. Zapravo nije važno jesu li događaji koji se događaju u toj igri uzrokovani pravi slučajni brojevi ili pseudoslučajni brojevi. S druge strane. Ako koristite šifriranje, ne želite koristiti pseudoslučajne brojeve koje bi napadač mogao pogoditi.

Kao što je, recimo, napadač poznaje algoritam i početnu vrijednost koju koristi pseudo slučajni brojni generator. I recimo da algoritam šifriranja dobiva pseudo slučajni broj iz ovog algoritma. I koristi ga za generiranje ključa za šifriranje bez dodavanja dodatnih slučajnosti. Ako napadač zna dovoljno, mogli bi raditi unatrag i odrediti pseudoslučajni broj. U tom je slučaju algoritam šifriranja sigurno odabrao prekidajući šifriranje.

NSA i Intelov hardverski generator slučajnih brojeva

Da bi olakšali razvojne programere i pomogli u generiranju sigurnih slučajnih brojeva. Intel čipovi uključuju hardverski bazirani generator slučajnih brojeva poznat kao RdRand. Ovaj čip koristi izvor entropije na procesoru i daje slučajne brojeve softveru kada ih softver zatraži.

Ovdje je problem što je generator slučajnih brojeva u osnovi crni okvir i ne znamo što se događa u njemu. Kad bi RdRand sadržavao NSA-ov zaklon, vlada bi mogla razbiti ključeve za šifriranje. To je generirano samo podacima koje je dao taj generator slučajnih brojeva.

Ovo je ozbiljna briga. U prosincu 2013. programeri FreeBSD-a uklonili su podršku za upotrebu RdRanda izravno kao izvora slučajnosti, rekavši da mu ne mogu vjerovati. [Izvor] Izlaz RdRand uređaja unosit će se u drugi algoritam koji dodaje dodatnu entropiju. To osigurava da bilo koji backdoor u generatoru slučajnih brojeva ne bi bio važan. Linux je već radio na ovaj način, dalje randomizirajući slučajne podatke koji dolaze iz RdRanda, tako da ne bi bili predvidljivi čak i da postoji backdoor. [Izvor] U nedavnom AMA ( Pitaj me bilo što ) na Redditu, izvršni direktor Intela Brian Krzanich nije odgovorio na pitanja o tim problemima. [Izvor]

što je Windows 10 Enterprise n

Naravno, ovo vjerojatno nije problem samo s Intelovim čipovima. Programeri FreeBSD-a poimence su prozvali i Via-ove čipove. Ova kontroverza pokazuje zašto je stvaranje slučajnih brojeva koji su uistinu slučajni i nisu predvidljivi toliko važno.

Za generiranje pravi slučajni brojevi, generatori slučajnih brojeva se okupljaju entropija, ili naizgled slučajni podaci iz fizičkog svijeta oko njih. Za slučajne brojeve koji to ne čine stvarno moraju biti slučajni, mogu samo koristiti algoritam i početnu vrijednost.

Zaključak

Dobro, to su bili svi ljudi! Nadam se da vam se sviđa ovaj članak o generatoru slučajnih brojeva i da će vam biti od pomoći. Pošaljite nam svoje povratne informacije o tome. Također ako želite postaviti dodatna pitanja u vezi s tim. Zatim nas obavijestite u odjeljku za komentare u nastavku. Uskoro ćemo vam se javiti.

Ugodan dan!

Također pogledajte: NSFW: Značenje i kako to zapravo djeluje