Hur datorer genererar slumpmässiga nummer

Nov 4, 2024
Sekretess och säkerhet

Datorer genererar slumptal för allt från kryptografi till videospel och spel. Det finns två kategorier av slumptal - ”sanna” slumptal och pseudorandomnummer - och skillnaden är viktig för säkerheten för krypteringssystem.

Datorer kan generera riktigt slumpmässiga siffror genom att observera vissa externa data, som musrörelser eller fläktbrus, vilket inte är förutsägbart, och skapa data från den. Detta kallas entropi. Andra gånger genererar de "pseudorandom" -tal genom att använda en algoritm så att resultaten verkar slumpmässiga, även om de inte är det.

Detta ämne har blivit mer kontroversiellt nyligen, med många som ifrågasätter om Intels inbyggda chip för generatorer av slumptalsnummer är pålitligt. För att förstå varför det kanske inte är pålitligt måste du förstå hur slumpmässiga siffror genereras i första hand och vad de används till.

Vad slumpmässiga nummer används för

Slumpmässiga siffror har använts i många tusen år. Oavsett om det är att vända ett mynt eller rulla en tärning, är målet att lämna slutresultatet till slumpmässig chans. Slumpmässiga talgeneratorer i en dator är lika - de är ett försök att uppnå ett oförutsägbart, slumpmässigt resultat.

RELATERAD: Vad är kryptering och hur fungerar det?

Slumptalsgeneratorer är användbara för många olika ändamål. Bortsett från uppenbara applikationer som att generera slumptal i syfte att spela eller skapa oförutsägbara resultat i ett dataspel, är slumpmässighet viktigt för kryptografi.

Kryptografi kräver siffror som angripare inte kan gissa. Vi kan inte bara använda samma nummer om och om igen. Vi vill generera dessa siffror på ett mycket oförutsägbart sätt så att angripare inte kan gissa dem. Dessa slumpmässiga siffror är viktiga för säker kryptering, oavsett om du krypterar dina egna filer eller bara använder en HTTPS webbplats på Internet.

Äkta slumpmässiga siffror

Du kanske undrar hur en dator faktiskt kan generera ett slumptal. Varifrån kommer denna ”slumpmässighet”. Om det bara är en bit datorkod, är det inte möjligt att siffrorna som datorn genererar kan vara förutsägbara?

Vi grupperar i allmänhet slumpmässiga siffror som datorer genererar i två typer, beroende på hur de genereras: ”Sanna” slumpmässiga nummer och pseudoslumpnummer.

För att generera ett ”sant” slumpmässigt tal mäter datorn någon typ av fysiskt fenomen som äger rum utanför datorn. Till exempel kan datorn mäta en atoms radioaktiva förfall. Enligt kvantteorin finns det inget sätt att veta säkert när radioaktivt sönderfall kommer att inträffa, så detta är i grunden "ren slumpmässighet" från universum. En angripare skulle inte kunna förutsäga när radioaktivt förfall skulle inträffa, så de skulle inte veta det slumpmässiga värdet.

För ett mer dagligt exempel kan datorn förlita sig på atmosfärsljud eller helt enkelt använda den exakta tiden du trycker på tangenterna på tangentbordet som en källa till oförutsägbar data eller entropi. Till exempel kanske din dator märker att du har tryckt på en tangent exakt 0,23423523 sekunder efter 14:00. Ta tillräckligt med de specifika tiderna som är associerade med dessa tangenttryckningar och du kommer att få en entropikälla som du kan använda för att skapa ett “sant” slumpmässigt siffra. Du är inte en förutsägbar maskin, så en angripare kan inte gissa det exakta ögonblicket när du trycker på dessa tangenter. De / dev / slumpmässig enhet på Linux , som genererar slumpmässiga nummer, "blockerar" och inte returnerar ett resultat förrän den samlar tillräckligt med entropi för att returnera ett riktigt slumpmässigt nummer.

Pseudorandom Numbers

Pseudorandom-nummer är ett alternativ till "sanna" slumpmässiga tal. En dator kan använda ett frövärde och en algoritm för att generera nummer som verkar vara slumpmässiga, men som faktiskt är förutsägbara. Datorn samlar inte in slumpmässiga data från miljön.

Detta är inte nödvändigtvis en dålig sak i alla situationer. Om du till exempel spelar ett videospel spelar det ingen roll om händelserna som inträffar i det spelet orsakas av ”sanna” slumpmässiga siffror eller pseudorandom-siffror. Å andra sidan, om du använder kryptering vill du inte använda pseudorandom-nummer som en angripare kan gissa.

Låt oss till exempel säga att en angripare känner till algoritmen och frövärdet som en pseudorandom-talgenerator använder. Och låt oss säga att en krypteringsalgoritm får ett pseudorandom-nummer från denna algoritm och använder den för att generera en krypteringsnyckel utan att lägga till ytterligare slumpmässighet. Om en angripare vet tillräckligt kan de arbeta bakåt och bestämma det pseudorandomnummer som krypteringsalgoritmen måste ha valt i så fall och bryta krypteringen.

NSA och Intels generator för slumpmässiga nummer för hårdvara

För att göra det enklare för utvecklare och hjälpa till att skapa säkra slumpmässiga nummer inkluderar Intel-chips en maskinvarubaserad slumptalsgenerator som kallas RdRand. Detta chip använder en entropikälla på processorn och ger slumpmässiga nummer till programvaran när programvaran begär dem.

Problemet här är att slumptalsgeneratorn i huvudsak är en svart ruta och vi vet inte vad som händer inuti den. Om RdRand innehöll en NSA-bakdörr skulle regeringen kunna bryta krypteringsnycklar som genererades med endast data från den slumptalsgeneratorn.

Detta är ett allvarligt bekymmer. I december 2013 tog FreeBSDs utvecklare bort stöd för att använda RdRand direkt som en källa till slumpmässighet och sa att de inte kunde lita på det. [ Källa ] Utdata från RdRand-enheten matas in i en annan algoritm som lägger till ytterligare entropi, vilket säkerställer att alla bakdörrar i slumptalsgeneratorn inte spelar någon roll. Linux har redan arbetat på detta sätt och ytterligare randomiserat slumpmässiga data som kommer från RdRand så att det inte skulle vara förutsägbart även om det fanns en bakdörr. [ Källa ] I en nyligen genomförd AMA (”Ask Me Anything”) på Reddit svarade inte Intels vd Brian Krzanich på frågor om dessa problem. [ Källa ]

Naturligtvis är detta sannolikt inte bara ett problem med Intel-chips. FreeBSD: s utvecklare ropade också Via's marker med namn. Denna kontrovers visar varför det är så viktigt att generera slumpmässiga nummer som verkligen är slumpmässiga och inte är förutsägbara.


För att generera ”sanna” slumpmässiga tal samlar slumpgeneratorerna ”entropi” eller till synes slumpmässiga data från den fysiska världen omkring dem. För slumptal som inte gör det verkligen måste vara slumpmässiga, de kan bara använda en algoritm och ett frövärde.

Bildkredit: rekre89 på Flickr , Lisa Brewster on Flickr , Ryan Somma på Flickr , Huangjiahuion Flickr

.post-innehåll .inmatningsfot

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?


Sekretess och säkerhet - Mest populära artiklar

Bara uppdaterat till iOS 13? Ändra dessa åtta inställningar nu

Sekretess och säkerhet Oct 3, 2025

VictoriaFavco / Shutterstock.com Visste du att du nu kan avvisa alla okända samtal på din iPhone för att blockera telefonsamtal och bluf..


Så här ställer du in alla dina nya semesterprylar

Sekretess och säkerhet Dec 18, 2024

OBEHANDLAT INNEHÅLL Det är semestern, vilket betyder nya prylar för alla! Oavsett om du gungar på en ny dator eller försöker ta hand om vad Amazon Echo verkligen gör, vi ha..


Så här ställer du in BitLocker-kryptering i Windows

Sekretess och säkerhet Oct 5, 2025

OBEHANDLAT INNEHÅLL BitLocker är ett inbyggt verktyg i Windows som låter dig kryptera en hel hårddisk för förbättrad säkerhet. Så här ställer du in det. När T..


Så här tar du bort ett snap från din Snapchat-berättelse

Sekretess och säkerhet Jan 20, 2025

OBEHANDLAT INNEHÅLL Snapchats Story-funktion är ett utmärkt sätt att dela det som händer i ditt liv just nu med dina vänner. Problemet är att eftersom det är integrerat me..


Så här byter du från Windows 10: s Insider-förhandsgranskning tillbaka till stabil (utan att installera om)

Sekretess och säkerhet Jul 14, 2025

OBEHANDLAT INNEHÅLL När du registrerar dig för Insider Preview bygger , Windows varnar för att du ”kan” behöva installera om Windows för att komma tillbak..


HTG granskar Netgear Nighthawk X6: En Beefy Tri-Band Router för ett upptaget modernt hem

Sekretess och säkerhet Mar 16, 2025

OBEHANDLAT INNEHÅLL Om du letar efter en routeruppgradering (vi tittar på de av er som fortfarande gungar routern som din ISP gav för flera år sedan), är Nighthawk X6 en ultr..


Så här avinstallerar du Flash-innehåll innan du säljer din dator

Sekretess och säkerhet Nov 7, 2024

OBEHANDLAT INNEHÅLL När det gäller att sälja din gamla digitala utrustning bör du vanligtvis göra det torka av alla digitala spår med något som DBAN Men om ..


Inaktivera programkompatibilitetsassistent i Windows 7 och Vista

Sekretess och säkerhet Jul 23, 2025

OBEHANDLAT INNEHÅLL Om du är administratör och försöker få jobbet gjort snabbt kan det vara irriterande att ha programkompatibilitetsassistenten som dyker upp hela tiden. Idag tittar ..


Kategorier