Hoe computers willekeurige getallen genereren

Nov 4, 2024
Privacy en veiligheid

Computers genereren een willekeurig nummer voor alles, van cryptografie tot videogames en gokken. Er zijn twee categorieën willekeurige getallen - "echte" willekeurige getallen en pseudo-willekeurige getallen - en het verschil is belangrijk voor de beveiliging van versleutelingssystemen.

Computers kunnen echt willekeurige getallen genereren door gegevens van buitenaf te observeren, zoals muisbewegingen of ventilatorgeluid, dat niet voorspelbaar is, en er gegevens van te maken. Dit staat bekend als entropie. Andere keren genereren ze "pseudo-willekeurige" getallen door een algoritme te gebruiken, zodat de resultaten willekeurig lijken, ook al zijn ze dat niet.

Dit onderwerp is de laatste tijd controversiëler geworden, waarbij veel mensen zich afvragen of Intel's ingebouwde hardware-chip voor het genereren van willekeurige getallen betrouwbaar is. Om te begrijpen waarom het misschien niet betrouwbaar is, moet u weten hoe willekeurige getallen in de eerste plaats worden gegenereerd en waarvoor ze worden gebruikt.

Waarvoor willekeurige nummers worden gebruikt

Willekeurige getallen worden al duizenden jaren gebruikt. Of het nu gaat om het opgooien van een munt of het gooien van een dobbelsteen, het doel is om het eindresultaat aan het toeval over te laten. Willekeurige getalgeneratoren in een computer zijn vergelijkbaar: ze zijn een poging om een ​​onvoorspelbaar, willekeurig resultaat te bereiken.

VERWANT: Wat is versleuteling en hoe werkt het?

Willekeurige nummergeneratoren zijn nuttig voor veel verschillende doeleinden. Afgezien van voor de hand liggende toepassingen, zoals het genereren van willekeurige getallen voor gokdoeleinden of het creëren van onvoorspelbare resultaten in een computerspel, is willekeur belangrijk voor cryptografie.

Cryptografie vereist cijfers die aanvallers niet kunnen raden. We kunnen niet steeds dezelfde nummers gebruiken. We willen deze cijfers op een zeer onvoorspelbare manier genereren, zodat aanvallers ze niet kunnen raden. Deze willekeurige getallen zijn essentieel voor veilige codering, of u nu uw eigen bestanden codeert of alleen een HTTPS website op internet.

Echte willekeurige getallen

U vraagt ​​zich misschien af ​​hoe een computer eigenlijk een willekeurig getal kan genereren. Waar komt deze "willekeur" vandaan? Als het maar een stukje computercode is, is het dan niet mogelijk dat de cijfers die de computer genereert voorspelbaar zijn?

Over het algemeen groeperen we de willekeurige getallen die computers genereren in twee typen, afhankelijk van hoe ze worden gegenereerd: 'echte' willekeurige getallen en pseudo-willekeurige getallen.

Om een ​​"echt" willekeurig getal te genereren, meet de computer een of ander fysiek fenomeen dat buiten de computer plaatsvindt. De computer zou bijvoorbeeld het radioactieve verval van een atoom kunnen meten. Volgens de kwantumtheorie is er geen manier om zeker te weten wanneer radioactief verval zal optreden, dus dit is in wezen "pure willekeur" van het universum. Een aanvaller zou niet kunnen voorspellen wanneer radioactief verval zou optreden, dus zouden ze de willekeurige waarde niet kennen.

Voor een meer alledaags voorbeeld kan de computer vertrouwen op atmosferische ruis of gewoon de exacte tijd gebruiken waarop u toetsen op uw toetsenbord indrukt als een bron van onvoorspelbare gegevens, of entropie. Uw computer kan bijvoorbeeld opmerken dat u op precies 0,23423523 seconden na 14.00 uur op een toets hebt gedrukt. Pak voldoende van de specifieke tijden die aan deze toetsaanslagen zijn gekoppeld en u heeft een bron van entropie die u kunt gebruiken om een ​​'echte' willekeurige aantal. Je bent geen voorspelbare machine, dus een aanvaller kan het exacte moment waarop je op deze toetsen drukt, niet raden. De / dev / random device op Linux , dat willekeurige getallen genereert, "blokken" en geen resultaat retourneert totdat er voldoende entropie is verzameld om een ​​echt willekeurig getal te retourneren.

Pseudorandom-nummers

Pseudo-willekeurige getallen zijn een alternatief voor "echte" willekeurige getallen. Een computer zou een kiemwaarde en een algoritme kunnen gebruiken om getallen te genereren die willekeurig lijken, maar die in feite voorspelbaar zijn. De computer verzamelt geen willekeurige gegevens uit de omgeving.

Dit hoeft niet in elke situatie een slechte zaak te zijn. Als je bijvoorbeeld een videogame speelt, maakt het niet echt uit of de gebeurtenissen die zich in die game voordoen, worden veroorzaakt door 'echte' willekeurige getallen of pseudo-willekeurige getallen. Als u daarentegen codering gebruikt, wilt u geen pseudo-willekeurige getallen gebruiken die een aanvaller zou kunnen raden.

Stel dat een aanvaller het algoritme en de seed-waarde kent die een generator voor pseudo-willekeurige getallen gebruikt. En laten we zeggen dat een versleutelingsalgoritme een pseudo-willekeurig nummer van dit algoritme krijgt en het gebruikt om een ​​versleutelingssleutel te genereren zonder enige extra willekeur toe te voegen. Als een aanvaller genoeg weet, kunnen ze achteruit werken en het pseudo-willekeurige nummer bepalen dat het versleutelingsalgoritme in dat geval moet hebben gekozen, waardoor de versleuteling wordt verbroken.

De NSA en Intel's Hardware Random Number Generator

Om het ontwikkelaars gemakkelijker te maken en veilige willekeurige getallen te helpen genereren, bevatten Intel-chips een op hardware gebaseerde generator voor willekeurige getallen die bekend staat als RdRand. Deze chip gebruikt een entropiebron op de processor en geeft willekeurige getallen door aan software wanneer de software daarom vraagt.

Het probleem hier is dat de generator voor willekeurige getallen in wezen een zwarte doos is en dat we niet weten wat er binnenin gebeurt. Als RdRand een NSA-achterdeur zou bevatten, zou de overheid coderingssleutels kunnen kraken die zijn gegenereerd met alleen gegevens die door die generator voor willekeurige getallen worden geleverd.

Dit is een ernstige zorg. In december 2013 hebben de ontwikkelaars van FreeBSD de ondersteuning voor het rechtstreeks gebruiken van RdRand als een bron van willekeur verwijderd, omdat ze zeiden dat ze het niet konden vertrouwen. [ Bron ] De uitvoer van het RdRand-apparaat zou worden ingevoerd in een ander algoritme dat extra entropie toevoegt, zodat eventuele achterdeurtjes in de generator van willekeurige getallen er niet toe doen. Linux werkte al op deze manier, waarbij de willekeurige gegevens die uit RdRand kwamen verder willekeurig werden verdeeld, zodat het niet voorspelbaar zou zijn, zelfs als er een achterdeur was. [ Bron ] In een recente AMA (“Ask Me Anything”) op Reddit beantwoordde Intel CEO Brian Krzanich geen vragen over deze zorgen. [ Bron ]

Dit is natuurlijk niet alleen een probleem met Intel-chips. De ontwikkelaars van FreeBSD noemden de chips van Via ook bij naam. Deze controverse laat zien waarom het zo belangrijk is om willekeurige getallen te genereren die echt willekeurig en niet voorspelbaar zijn.


Om "echte" willekeurige getallen te genereren, verzamelen willekeurige nummergeneratoren "entropie", of schijnbaar willekeurige gegevens uit de fysieke wereld om hen heen. Voor willekeurige getallen die dat niet zijn werkelijk moeten willekeurig zijn, ze kunnen alleen een algoritme en een seed-waarde gebruiken.

Afbeelding tegoed: rekre89 op Flickr , Lisa Brewster op Flickr , Ryan Somma op Flickr , Huangjiahuion Flickr

.entry-inhoud .entry-footer

How Do Computers Generate Random Numbers?

Why Computers Can't Generate Random Numbers

Can Computers Generate True Random Numbers | CodeinVeins

How Do Computers Generate Random Numbers? #shorts

How Machines Generate Random Numbers With Time

Can Computers Generate Random Numbers?! | Tech Shorts

How Computers Generate Random Numbers | Quantum, ITER, COVID Mutations

How Random Numbers Are Generated

Random Numbers - Numberphile

Almost All Random Numbers Are Actually Fake

Random Numbers (How Software Works)

How To Generate Pseudorandom Numbers | Infinite Series

Lecture 16 - Generation Of Random Numbers

What Is Random?

Pseudo Random Numbers And Stream Ciphers (CSS322, L9, Y14)

Is Anything Truly Random?

How Random Is A Computer Generator Actually?


Privacy en veiligheid - Meest populaire artikelen

Hoe HTTP / 3 en QUIC uw internetgebruik zullen versnellen

Privacy en veiligheid Sep 27, 2025

ONGECAAKTE CONTENT Toria / Shutterstock.com HTTP / 3 wordt steeds wijdverspreider. Cloudflare ondersteunt nu HTTP / 3, dat al deel uitmaakt van..


Kun je een valse naam gebruiken op Facebook?

Privacy en veiligheid Apr 3, 2025

Facebook heeft altijd een beleid voor echte namen gehad, waarbij u ermee instemt dat uw profielnaam ' de naam [you] gaat in het dagelijks leven voorbij . " Het is dui..


Automatisch invullen vanuit een wachtwoordbeheerder op een iPhone of iPad

Privacy en veiligheid Sep 18, 2025

ONGECAAKTE CONTENT Iedereen zou een wachtwoordbeheerder moeten gebruiken , en wachtwoordbeheerders van derden zoals LastPass , 1Paswoord ..


Hoe u uw eigen VPN kunt bouwen met de $ 20 macOS Server

Privacy en veiligheid Nov 16, 2024

ONGECAAKTE CONTENT VPN's kunnen handige hulpmiddelen zijn om u online te beveiligen. Een VPN versleutelt uw verkeer, wat handig is als u een openbare wifi-hotspot gebr..


Remote Desktop Roundup: TeamViewer versus Splashtop versus Windows RDP

Privacy en veiligheid Dec 7, 2024

Er is een overvloed aan remote desktop-oplossingen op de markt en het kan lastig zijn om de juiste te kiezen voor uw behoeften. Maar maak je geen zorgen, we hebben het nodige voor j..


Uw wachtwoorden zijn vreselijk en het is tijd om er iets aan te doen

Privacy en veiligheid Jan 22, 2025

ONGECAAKTE CONTENT Een nieuw jaar staat voor de deur en miljoenen van ons gebruiken nog steeds absoluut vreselijke wachtwoorden. Het hoeft niet zo te zijn. U gaat van dit jaar het..


Hoe u kunt controleren of uw accountwachtwoorden online zijn gelekt en hoe u uzelf kunt beschermen tegen toekomstige lekken

Privacy en veiligheid Sep 15, 2025

Beveiligingsinbreuken en wachtwoordlekken komen voortdurend voor op het internet van tegenwoordig. LinkedIn, Yahoo, Last.fm, eHarmony - de lijst met gecompromitteerde websites is la..


Voeg "Uitvoeren als Administrator" toe voor AutoHotkey-scripts in Windows 7 of Vista

Privacy en veiligheid Oct 21, 2025

ONGECAAKTE CONTENT Zoals gewone lezers goed weten, ben ik een grote fan van het gebruik van AutoHotkey om mijn hele computerervaring te automatiseren ... maar in Windows 7 en Vista is er ee..


Categorieën