Hoe we de computer gebruiken als een generator voor willekeurige getallen

generator voor willekeurige getallen Computers genereren een willekeurig getal voor alles, van cryptografie tot videogames en gokken. Er zijn twee categorieën willekeurige getallen — waar willekeurige getallen en pseudowillekeurige getallen. En het verschil is belangrijk voor de beveiliging van encryptiesystemen. In dit artikel gaan we het hebben over hoe we de computer gebruiken als generator voor willekeurige getallen. Laten we beginnen!





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



Waarvoor willekeurige getallen worden gebruikt | willekeurig nummer generator

Willekeurige getallen worden al vele 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. De generator voor willekeurige getallen in een computer is vergelijkbaar. Ze zijn een poging om een ​​onvoorspelbaar, willekeurig resultaat te bereiken.

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



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



Ware willekeurige getallen | willekeurig nummer generator

Je vraagt ​​je misschien af ​​hoe een computer een willekeurig getal kan genereren. Waar komt dit? willekeurigheid Komt van? Als het slechts een stukje computercode is, is het dan niet mogelijk dat de getallen die de computer genereert voorspelbaar zijn?

Over het algemeen groeperen we de computers van het willekeurige getal dat wordt gegenereerd in twee typen. Dat hangt af van hoe ze worden gegenereerd: waar willekeurige getallen en pseudo-willekeurige getallen.



fallout 4 gezichtsveld mod

om een ​​te genereren waar willekeurig getal, de computer meet een soort fysiek fenomeen dat buiten de computer plaatsvindt. Zo zou de computer het radioactieve verval van een atoom kunnen meten. Volgens de kwantumtheorie is er geen manier om zeker te weten wanneer radioactief verval zal plaatsvinden. Dus dit is in wezen pure willekeur uit het universum. Een aanvaller zou niet kunnen voorspellen wanneer radioactief verval zou optreden. Dus ze zouden de willekeurige waarde niet weten.



Voor een meer dagelijks voorbeeld zou de computer kunnen vertrouwen op atmosferische ruis of gewoon de exacte tijd dat u op toetsen op uw toetsenbord drukt, gebruiken als een bron van onvoorspelbare gegevens of entropie. Het kan bijvoorbeeld zijn dat uw computer merkt dat u precies 0,23423523 seconden na 14.00 uur op een toets hebt gedrukt. Pak genoeg van de specifieke tijden die bij deze toetsaanslagen horen en je hebt een bron van entropie die je kunt gebruiken om een waar willekeurig nummer. Je bent geen voorspelbare machine. Een aanvaller kan dus niet het exacte moment raden waarop u op deze toetsen drukt. Het /dev/random device op Linux, dat willekeurige getallen genereert, blokken en geeft geen resultaat totdat het voldoende entropie heeft verzameld om een ​​echt willekeurig getal te retourneren.

Pseudo-willekeurige getallen | willekeurig nummer generator

Pseudo-willekeurige getallen zijn een alternatief voor: waar willekeurige nummers. Een computer zou een seed-waarde 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 is niet noodzakelijk een slechte zaak in elke situatie. Bijvoorbeeld als je een videogame speelt. Het maakt eigenlijk niet uit of de gebeurtenissen in dat spel worden veroorzaakt door: waar willekeurige getallen of pseudowillekeurige getallen. Aan de andere kant. Als u codering gebruikt, wilt u geen pseudo-willekeurige getallen gebruiken die een aanvaller zou kunnen raden.

Laten we zeggen dat een aanvaller het algoritme en de seed-waarde kent die een pseudo-willekeurige nummergenerator gebruikt. En laten we zeggen dat een coderingsalgoritme een pseudo-willekeurig getal krijgt van dit algoritme. En gebruikt het om een ​​coderingssleutel te genereren zonder extra willekeur toe te voegen. Als een aanvaller genoeg weet, kunnen ze achteruit werken en het pseudo-willekeurige getal bepalen. Het coderingsalgoritme moet in dat geval hebben gekozen, waardoor de codering wordt verbroken.

De NSA en Intel's Hardware Random Number Generator

Om het de ontwikkelaars gemakkelijker te maken en veilige willekeurige getallen te helpen genereren. Intel-chips bevatten 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 aan software wanneer de software daarom vraagt.

Het probleem hier is dat de generator voor willekeurige getallen in wezen een zwarte doos is en we weten niet wat er zich in afspeelt. Als RdRand een NSA-achterdeur zou bevatten, zou de overheid encryptiesleutels kunnen breken. Dat werd gegenereerd met alleen gegevens die door die generator voor willekeurige getallen werden geleverd.

Dit is een ernstige zorg. In december 2013 verwijderden de ontwikkelaars van FreeBSD de ondersteuning voor het rechtstreeks gebruik van RdRand als een bron van willekeur, 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. Dat zorgt ervoor dat eventuele achterdeurtjes in de generator voor willekeurige getallen er niet toe doen. Linux werkte al op deze manier, waarbij de willekeurige gegevens die van RdRand kwamen verder willekeurig werden verdeeld, zodat het niet voorspelbaar zou zijn, zelfs als er een achterdeur was. [Bron] In een recente AMA ( Vraag me iets ) op Reddit, beantwoordde Intel-CEO Brian Krzanich geen vragen over deze zorgen. [Bron]

Natuurlijk is dit waarschijnlijk 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 genereren van willekeurige getallen die echt willekeurig en niet voorspelbaar zijn, zo belangrijk is.

Genereren waar willekeurige getallen, generatoren van willekeurige getallen verzamelen zich entropie, of schijnbaar willekeurige gegevens uit de fysieke wereld om hen heen. Voor willekeurige getallen die dat niet doen werkelijk willekeurig moeten zijn, kunnen ze alleen een algoritme en een seed-waarde gebruiken.

windows verdediger uw it-beheerder heeft beperkt

Conclusie

Oké, dat waren alle mensen! Ik hoop dat je dit artikel over het genereren van willekeurige getallen leuk vindt en dat het nuttig voor je is. Geef ons uw feedback hierover. Ook als je daar nog vragen over wilt stellen. Laat het ons dan weten in de comments hieronder. We komen spoedig bij u terug.

Een fijne dag verder!

Zie ook: NSFW: betekenis en hoe het echt werkt