Hvordan datamaskiner benytter tilfeldig nummergenerering

Selv om vi mennesker liker å tro at vi har evnen til å skape helt tilfeldige nummer ligger det alltid et bevist valg av tall eller frekvenser i vår underbevissthet. Det har blitt bevist flere ganger at selv om vi mennesker forsøker å sette opp helt tilfeldige tall i en rekkefølge, vil det i de aller fleste tilfeller kunne spores tilbake til tall vi har god kjennskap til som datoer, antall eller verdier eller at tallene utgjør et mønster. Det er her verdien av RNG (random number generation) kommer inn i bildet.

Datamaskiner kan nemlig legge frem helt tilfeldige tall og de er ikke påvirket av tidligere kjennskap på lik linje som den menneskelige underbevisstheten er. Dette benyttes i dag i alt fra videospill til krypto og nettspill. Ikke minst legger dette hele grunnlaget for kryptering av sikkerhetssystemer og lignende. Hadde de vært basert på gjenkjennelige systemer ville det vært langt enklere å knekke for eksempel innloggingsdata, avlytte kommunikasjon og ikke minst vite hva tallene på lotto blir neste lørdag.

Hvordan brukes tilfeldige nummer i dag?

Mennesket har vært avhengige av tilfeldige utfall helt siden tidenes morgen. Tidlige eksempler på dette har vært å kaste mynt eller rulle en terning for å få et tilfeldig utfall man kan basere en avgjørelse på. Tilsvarende fungerer RNG i datamaskinen din, bare at den gjør det langt mer avansert enn en terning. Spørsmålet er, hvem bruker egentlig RNG i dag og hvorfor?

En bransje som i stadig høyere grad benytter seg av RNG er Casino online. Et kasino er nemlig avhengig av tilfeldige utfall for at spillene skal fungere best mulig, men de ønsker samtidig at det ikke skal være mulig får spillerne å finne ut hvordan disse tallene velges. Om noen klarte finne algoritmen som ligger bak tallene i et nettkasino ville de kunne forutse hva resultat blir og lagt inn sine bets i henhold. Dette ville vært et svært lite gunstig utgangspunkt for et hvilket som helst kasino og drevet dem ut av business relativt raskt.

Andre eksempler på bransjer eller organisasjoner som benytter RNG kan være banker, forsvar og ikke minst videospill. Et hverdagslig eksempel på RNG kan være kodebrikken din fra banken eller hvordan BankID benytter RNG teknologi for å gi deg tilfeldige ord før du logger deg inn i nettportaler.

Virkelig tilfeldige tall «True RNG»

Det ligger kode til grunn for alle datamaskiner og programmer, men i de aller fleste tilfeller ligger det et logisk mønster bak. Vi kan derfor dele inn RNG i to forskjellige undergrupper. «true» random nummer og pseudo-random nummer.

I den første gruppen hvor datamaskinen lager et virkelig tilfeldig tall kan du kanskje lure på hvordan den egentlig gjør dette og med hvilket grunnlag vi kan si at det er helt tilfeldig. Det ligger noe håndfast bak dette og det er enkelt fortalt «triggeren» som skaper de tilfeldige tallene. Alt som finnes av kode eller tall kan på et eller annet tidspunkt kategoriseres, det vil derfor si at om noen legger nok kraft og tid i å kartlegge avgjørelsene til en maskin vil de til slutt finne et mønster. For å hindre at dette lar seg gjøre med «true» RNG benytter derfor maskinen seg av fysiske hendelser på utsiden av maskinen. Et godt eksempel på dette kan være at maskinen måler det radioaktive forfallet av et atom noe som ville være helt umulig for en utenforstående å gjette seg frem til.

Pseudo-random nummer

Om det er behov for et tilfeldig utfall, men faren for at noen skal finne ut av mønsteret ikke er like aktuelt kan man benytte det som kalles pseudo-random tall. Dette er tall som er basert på en grunnverdi og algoritme, men som fremstår helt tilfeldige. Med andre ord vil det til slutt være mulig å finne et mønster i tallene, og på den måten forutsi hvilket tall som kommer etter den nåværende verdien.

Dette er gjerne tilfellet i dataspill og programmer hvor man ønsker at spilleren skal få en opplevelse av «tilfeldighet», men det er ikke nødvendig at tallene er «true» random. Vi kan gjøre en sammenligning i form av at de aller fleste actionspill har et kampsystem hvor det benyttes AI og pseudo-random for å skape illusjonen av en motstander som tenker selv. Erfarne spillere vil etter hvert lære seg dette mønsteret, men det er ikke katastrofe. Derimot om noen klarte finne et mønster i VPN løsningen du bruker når du spiller vil det ha et helt annet utfall. Da kan den de-krypterte datatrafikken din og se hva du egentlig forsøker skjule ved å benytte en VPN, med andre ord det hadde vært katastrofalt for din datasikkerhet.

Raskt forklart

Selv om vi mennesker tror vi kan skape helt tilfeldige tall vil det i de aller fleste tilfeller være basert på et underliggende mønster eller kunnskap vi har fra før. Det vil derfor kreve en RNG skapt av en datamaskin for å sikre at tallene faktisk er helt tilfeldige. Dette finner vi i alt fra datasikkerhet til spill og kasino hvor utfallet er avhengig av en tilfeldig verdi for at hendelsen skal ha hensikt.