Kako uporabljamo računalnik kot generator naključnih števil

generator naključnih števil Računalniki ustvarijo naključno število za vse, od kriptografije do video iger in iger na srečo. Obstajata dve kategoriji naključnih števil - prav naključne številke in psevdonaključne številke. Razlika je pomembna za varnost šifrirnih sistemov. V tem članku bomo govorili o tem, kako uporabljamo računalnik kot generator naključnih števil. Začnimo!





Ta tema je v zadnjem času postala bolj kontroverzna, skupaj z mnogimi, ki se sprašujejo, ali je Intelov vgrajeni strojni čip generator naključnih številk vreden zaupanja ali ne. Da bi razumeli, zakaj morda ni zaupanja vreden, boste morali razumeti. To, kako sploh nastajajo naključne številke in za kaj se uporabljajo.



Za katere naključne številke se uporabljajo | generator naključnih števil

Naključne številke se uporabljajo že tisoče let. Ne glede na to, ali gre za premetavanje kovanca ali metanje kocke, je cilj končni rezultat prepustiti naključnim priložnostim. Generator naključnih števil v računalniku je podoben. Skušajo doseči nepredvidljiv, naključen rezultat.

Generatorji naključnih števil so zelo uporabni za različne namene. Poleg očitnih aplikacij, kot je ustvarjanje naključnih števil za igre na srečo ali ustvarjanje nepredvidljivih rezultatov v računalniški igri, je naključnost za kriptografijo resnično pomembna.



Kriptografija zahteva številke, ki jih napadalci ne morejo uganiti. Ne moremo vedno znova uporabljati istih številk. Te številke želimo ustvariti na zelo nepredvidljiv način, da jih napadalci ne bi mogli uganiti. Te naključne številke so pomembne za varno šifriranje. ali šifrirate svoje datoteke ali samo uporabljate spletno mesto HTTPS v internetu.



Resnične naključne številke | generator naključnih števil

Morda se sprašujete, kako lahko računalnik dejansko ustvari naključno število. Kje to naključnost prihajati? Ali gre le za del računalniške kode, ali ni mogoče številke, ki jih ustvari računalnik, predvidljive?

Računalnike naključnega števila, ki jih generiramo, običajno združimo v dve vrsti. To je odvisno od tega, kako so ustvarjene: Prav naključne številke in psevdonaključne številke.



slika profila pare ni izbrana nobena datoteka

Če želite ustvariti prav naključno število, računalnik meri neko vrsto fizičnega pojava, ki se zgodi zunaj računalnika. Računalnik lahko izmeri radioaktivni razpad atoma. Po kvantni teoriji nikakor ne moremo zagotovo vedeti, kdaj bo prišlo do radioaktivnega razpada. To je torej v bistvu čista naključnost iz vesolja. Napadalec ne bi mogel predvideti, kdaj bo prišlo do radioaktivnega razpada. Tako ne bi poznali naključne vrednosti.



Za bolj vsakdanji primer se lahko računalnik zanese na atmosferski šum ali preprosto uporabi natančen čas, ko pritisnete tipke na tipkovnici, kot vir nepredvidljivih podatkov ali entropije. Tako lahko vaš računalnik opazi, da ste tipko pritisnili točno 0,23423523 sekunde po 14. uri. Zgrabite dovolj določenih časov, povezanih s temi pritiski na tipke, in dobili boste vir entropije, ki ga lahko uporabite za ustvarjanje prav naključno število. Niste predvidljiv stroj. Torej napadalec ne more uganiti natančnega trenutka, ko pritisnete te tipke. Naprava / dev / random v Linuxu, ki ustvarja naključne številke, bloki in ne vrne rezultata, dokler ne zbere toliko entropije, da vrne resnično naključno število.

Psevdoključne številke | generator naključnih števil

Psevdonaključne številke so alternativa prav naključne številke. Računalnik bi lahko uporabil začetno vrednost in algoritem za generiranje številk, ki so videti naključne, vendar je to v resnici predvidljivo. Računalnik ne zbira naključnih podatkov iz okolja.

To ni nujno slabo v vsaki situaciji. Če igrate videoigro. V resnici ni pomembno, ali so dogodki v tej igri posledica prav naključne številke ali psevdonaključne številke. Po drugi strani. Če uporabljate šifriranje, ne želite uporabljati psevdonaključnih številk, ki bi jih napadalci lahko uganili.

Tako kot recimo, da napadalec pozna algoritem in začetno vrednost, ki jo uporablja generator psevdonaključnih števil. Recimo tudi, da algoritem za šifriranje iz tega algoritma dobi psevdonaključno število. In ga uporablja za generiranje šifrirnega ključa brez dodajanja dodatnih naključnosti. Če napadalec ve dovolj, lahko deluje nazaj in določi psevdonaključno številko. V tem primeru je moral izbrati algoritem šifriranja, ki je prekinil šifriranje.

NSA in Intelov generator strojne opreme naključnih števil

Da bi razvijalcem olajšali stvari in pomagali ustvarjati varne naključne številke. Intelovi čipi vključujejo strojni generator naključnih števil, znan kot RdRand. Ta čip uporablja entropijski vir na procesorju in daje programski opremi naključne številke, ko jih ta zahteva.

Tukaj je težava v tem, da je generator naključnih števil v bistvu črna škatla in ne vemo, kaj se v njej dogaja. Če bi RdRand vseboval zakritje NSA, bi vlada lahko zlomila šifrirne ključe. To je bilo ustvarjeno samo s podatki, ki jih je posredoval ta generator naključnih števil.

To je resna skrb. Decembra 2013 so razvijalci FreeBSD odstranili podporo za uporabo RdRanda neposredno kot vir naključnosti, češ da mu ne morejo zaupati. [Vir] Izhod naprave RdRand bi bil vključen v drug algoritem, ki dodaja dodatno entropijo. To zagotavlja, da kakršno koli zakritje v generatorju naključnih števil ne bi bilo pomembno. Linux je že delal na ta način in nadalje naključno razdelil naključne podatke, ki prihajajo iz RdRanda, tako da ne bi bili predvidljivi, tudi če bi obstajala zakulisna vrata. [Vir] V nedavnem AMA ( Vprašaj me karkoli ) na Redditu izvršni direktor Intela Brian Krzanich ni odgovoril na vprašanja o teh pomislekih. [Vir]

Seveda to verjetno ni težava le z Intelovimi čipi. Razvijalci FreeBSD so poimenovali tudi čipe Via. Ta polemika kaže, zakaj je ustvarjanje naključnih števil, ki so resnično naključne in niso predvidljive, tako pomembno.

spremeniti zvok obvestila Facebook messenger -

Za ustvarjanje prav naključne številke, zberejo se generatorji naključnih števil entropija, ali na videz naključni podatki iz fizičnega sveta okoli njih. Za naključne številke, ki ne res morajo biti naključni, lahko pač uporabijo algoritem in začetno vrednost.

Zaključek

V redu, to so bili vsi ljudje! Upam, da vam je ta članek o generatorju naključnih števil všeč in da vam je v pomoč. Pošljite nam svoje povratne informacije o tem. Tudi če želite postaviti dodatna vprašanja v zvezi z njim. Nato nam to sporočite v spodnjem oddelku za komentarje. V kratkem se vam bomo oglasili.

Imej lep dan!

Glej tudi: NSFW: Pomen in kako dejansko deluje