Hvordan vi bruker datamaskinen som en tilfeldig nummergenerator

tilfeldige tallgenerator Datamaskiner genererer et tilfeldig tall for alt fra kryptografi til videospill og gambling. Det er to kategorier tilfeldige tall - ekte tilfeldige tall og pseudorandom-tall. Og forskjellen er viktig for sikkerheten til krypteringssystemer. I denne artikkelen skal vi snakke om hvordan vi bruker datamaskinen som en tilfeldig tallgenerator. La oss begynne!





Dette emnet har blitt mer kontroversielt den siste tiden, sammen med mange som stiller spørsmålstegn ved om Intels innebygde chip for generatorer for tilfeldig tallgenerator er pålitelig eller ikke. For å forstå hvorfor det kanskje ikke er pålitelig, må du forstå. At hvordan tilfeldige tall genereres i utgangspunktet, og hva de brukes til.



Hva tilfeldige tall brukes til | tilfeldig tallgenerator

Tilfeldige tall har blitt brukt i mange tusen år. Enten det er å vende en mynt eller kaste terninger, er målet å la sluttresultatet være tilfeldig. Tilfeldig tallgenerator i en datamaskin er lik. De er et forsøk på å oppnå et uforutsigbart, tilfeldig resultat.

Tilfeldige tallgeneratorer er veldig nyttige for mange forskjellige formål. Bortsett fra åpenbare applikasjoner som å generere tilfeldige tall for pengespill eller skape uforutsigbare resultater i et dataspill, er tilfeldighet veldig viktig for kryptografi.



Kryptografi krever tall som angripere ikke kan gjette. Vi kan ikke bare bruke de samme tallene om og om igjen. Vi ønsker å generere disse tallene på en veldig uforutsigbar måte, slik at angripere ikke kan gjette dem. Disse tilfeldige tallene er viktige for sikker kryptering. om du krypterer dine egne filer eller bare bruker et HTTPS-nettsted på Internett.



Ekte tilfeldige tall | tilfeldig tallgenerator

Du lurer kanskje på hvordan en datamaskin faktisk kan generere et tilfeldig tall. Hvor gjør dette tilfeldighet kommer fra? Hvis det bare er et stykke datakode, er det ikke mulig at tallene datamaskinen genererer kan være forutsigbare?

Vi grupperer generelt datamaskiner med tilfeldig antall generert i to typer. Det avhenger av hvordan de genereres: ekte tilfeldige tall og pseudo-tilfeldige tall.



omorganisere bilder i facebookalbum

Å generere en ekte tilfeldig tall, måler datamaskinen noen form for fysisk fenomen som finner sted utenfor datamaskinen. Så som datamaskinen kunne måle det radioaktive forfallet til et atom. I følge kvanteteorien er det ingen måte å vite sikkert når radioaktivt forfall vil forekomme. Så dette er egentlig ren tilfeldighet fra universet. En angriper kunne ikke forutsi når radioaktivt forfall ville oppstå. Så de ville ikke vite den tilfeldige verdien.



For et mer dagligdags eksempel kan datamaskinen stole på atmosfærisk støy eller bare bruke den nøyaktige tiden du trykker på tastene på tastaturet som en kilde til uforutsigbar data eller entropi. Som for eksempel datamaskinen din kan legge merke til at du trykket på en tast nøyaktig 0,23423523 sekunder etter 14:00. Ta tak i de spesifikke tidene som er knyttet til disse tastetrykkene, og du vil ha en kilde til entropi du kan bruke til å generere en ekte tilfeldig tall. Du er ikke en forutsigbar maskin. Så en angriper kan ikke gjette det nøyaktige øyeblikket når du trykker på disse tastene. / Dev / tilfeldig enhet på Linux, som genererer tilfeldige tall, blokker og returnerer ikke et resultat før den samler nok entropi til å returnere et virkelig tilfeldig tall.

Pseudorandomnumre | tilfeldig tallgenerator

Pseudorandom tall er et alternativ til ekte tilfeldige tall. En datamaskin kan bruke en frøverdi og en algoritme til å generere tall som ser ut til å være tilfeldige, men det er faktisk forutsigbart. Datamaskinen samler ikke inn tilfeldige data fra miljøet.

Dette er ikke nødvendigvis en dårlig ting i alle situasjoner. Som om du spiller et videospill. Det spiller ingen rolle om hendelsene som oppstår i spillet er forårsaket av ekte tilfeldige tall eller pseudorandom-tall. På den andre siden. Hvis du bruker kryptering, vil du ikke bruke pseudorandomnumre som en angriper kan gjette.

La oss si at en angriper kjenner algoritmen og frøverdien en pseudorandom-tallgenerator bruker. Og la oss si at en krypteringsalgoritme får et pseudorandomnummer fra denne algoritmen. Og bruker den til å generere en krypteringsnøkkel uten å legge til ekstra tilfeldighet. Hvis en angriper vet nok, kan de jobbe bakover og bestemme pseudorandom-nummeret. Krypteringsalgoritmen må i så fall ha valgt å bryte krypteringen.

NSA og Intels Hardware Random Number Generator

For å gjøre ting enklere for utviklere og bidra til å generere sikre tilfeldige tall. Intel-brikker inkluderer en maskinvarebasert tilfeldig tallgenerator kjent som RdRand. Denne brikken bruker en entropikilde på prosessoren og gir tilfeldige tall til programvare når programvaren ber om det.

Problemet her er at tilfeldig tallgenerator egentlig er en svart boks, og vi vet ikke hva som skjer inne i den. Hvis RdRand inneholdt en NSA-bakdør, ville myndighetene kunne bryte krypteringsnøkler. Det ble generert med bare data levert av den tilfeldige tallgeneratoren.

Dette er en alvorlig bekymring. I desember 2013 fjernet FreeBSDs utviklere støtte for å bruke RdRand direkte som tilfeldighetskilde og sa at de ikke kunne stole på det. [Kilde] Utdataene fra RdRand-enheten mates inn i en annen algoritme som legger til ekstra entropi. Det sikrer at eventuelle bakdører i tilfeldig tallgenerator ikke har noe å si. Linux arbeidet allerede på denne måten, og randomiserte ytterligere tilfeldige data fra RdRand, slik at det ikke ville være forutsigbart selv om det var en bakdør. [Kilde] I en nylig AMA ( Spør meg om hva som helst ) på Reddit, svarte ikke Intel-sjef Brian Krzanich på spørsmål om disse bekymringene. [Kilde]

Selvfølgelig er dette sannsynligvis ikke bare et problem med Intel-sjetonger. FreeBSDs utviklere kalte også ut Vias sjetonger ved navn. Denne kontroversen viser hvorfor det er så viktig å generere tilfeldige tall som virkelig er tilfeldige og ikke er forutsigbare.

normal tomgangstemp

Å generere ekte tilfeldige tall, tilfeldige tallgeneratorer samles entropi, eller tilsynelatende tilfeldige data fra den fysiske verden rundt dem. For tilfeldige tall som ikke gjør det egentlig må være tilfeldig, kan de bare bruke en algoritme og en frøverdi.

Konklusjon

Ok, det var alle folkens! Jeg håper du liker denne artikkelen om tilfeldige tallgeneratorer og synes den er nyttig for deg. Gi oss tilbakemeldinger på det. Også hvis du vil stille flere spørsmål knyttet til det. Gi oss beskjed i kommentarfeltet nedenfor. Vi kommer snart tilbake.

Ha en flott dag!

Se også: NSFW: Betydning og hvordan det faktisk fungerer