En slumpgenerator, eller RNG efter engelskans Random Number Generator, är ett verktyg eller en algoritm som skapar slumpmässiga siffror eller resultat. Tekniken finns överallt i din digitala vardag: i casinospel, lotterier, datorspel, krypteringsnycklar och Instagram-tävlingar. Här går vi igenom hur slumpgeneratorer fungerar, vilka tre typer som finns och var du faktiskt möter dem.
🎲 Slumpgenerator
Använder webbläsarens crypto.getRandomValues(), en kryptografiskt säker slumpkälla (CSPRNG). Resultatet sparas inte och skickas inte vidare.
Perfekt för Instagram-tävlingar, lagsammansättning eller att välja vinnare. För bevisförmåga: ta en skärmdump av vinnaren med datumet synligt.
Resultatet är 50/50 mellan krona och klave, baserat på kryptografisk slump.
Klassisk D6 är vanlig sexsidig tärning. D20 används i rollspel som Dungeons & Dragons. D100 är två D10 i kombination för procenttal.
Vad är en slumpgenerator?
En slumpgenerator är en algoritm eller fysisk enhet som producerar en sekvens av tal som inte ska gå att förutsäga. Begreppet ”slumpgenerator” och ”slumptalsgenerator” används synonymt på svenska. På engelska heter det Random Number Generator, vilket förkortas RNG.
Konceptet är gammalt. Tärningar, myntkast och kortblandning är fysiska slumpgeneratorer som människor använt i tusentals år. Det moderna behovet, däremot, drivs av digitala tillämpningar som kräver miljarder slumpmässiga värden per sekund: kryptering, simuleringar, vetenskaplig forskning och inte minst spelindustrin.
- Tre huvudtyper: TRNG (sann), PRNG (pseudo) och CSPRNG (krypto-säker)
- De flesta du möter i appar och spel är PRNG (pseudoslumpgeneratorer)
- Casino och kryptografi kräver CSPRNG eller TRNG
- Testas med Chi-kvadrattest och andra statistiska metoder
- Helt deterministiska algoritmer ger aldrig ”äkta” slump
Tre typer av slumpgeneratorer
Alla slumpgeneratorer är inte lika slumpmässiga. Beroende på användningsområde behövs olika nivåer av oförutsägbarhet, och det är därför det finns tre kategorier.
1. Sann slumpgenerator (TRNG)
En sann slumpgenerator, True Random Number Generator, baseras på fysiska fenomen. Det kan handla om radioaktivt sönderfall, termiskt brus i transistorer, atmosfäriskt brus eller kvantmekaniska processer. Resultaten är genuint oförutsägbara eftersom de bygger på naturlagar som ingen algoritm kan replikera.
Tjänsten Random.org är ett välkänt exempel som genererar slumptal från atmosfäriskt brus, fångat av radiomottagare. Cloudflare har gått ett steg längre och använder en vägg av lavalampor på sitt huvudkontor som kameror filmar för att skapa kryptografiska nycklar i ett system de kallar LavaRand.
TRNG används främst inom vetenskaplig forskning, kvalificerad kryptografi och certifierade speltillämpningar. Nackdelen är att de är långsamma och kräver dedikerad hårdvara.
2. Pseudoslumpgenerator (PRNG)
En pseudoslumpgenerator använder en matematisk formel för att skapa en sekvens som verkar slumpmässig men i själva verket är förutsägbar om man känner till startvärdet, även kallat seed. Med samma seed får du alltid exakt samma sekvens. Det är en funktion, inte en bugg, eftersom det möjliggör reproducerbara simuleringar och tester.
Funktionen Math.random() i JavaScript och SLUMP() i Excel är båda PRNG. De är snabba, deterministiska och tillräckligt slumpmässiga för datorspel, statistiska simuleringar, lotteridragningar i informella sammanhang och liknande tillämpningar där det inte spelar någon roll om en utomstående teoretiskt skulle kunna förutsäga nästa tal.
PRNG ska aldrig användas för att skapa lösenord, krypteringsnycklar eller säkerhetstokens. Att använda
Math.random() för att generera ett bank-id eller en API-nyckel är ett klassiskt säkerhetshål. Använd alltid en CSPRNG för säkerhetskritiska tillämpningar.
3. Krypto-säker slumpgenerator (CSPRNG)
En krypto-säker slumpgenerator, Cryptographically Secure Pseudorandom Number Generator, är en specialvariant av PRNG som är designad för att vara mycket svår att förutsäga, även om en angripare har tillgång till en del av den genererade sekvensen. Den uppfyller särskilda krav på oförutsägbarhet och statistisk slumpmässighet.
I webbläsare hittar du CSPRNG genom Web Crypto API:s funktion crypto.getRandomValues(). Det är samma teknik som ligger bakom vår lösenordsgenerator, där varje genererat lösenord bygger på kryptografiskt säker slump för att inte gå att gissa eller upprepa. Operativsystemens egna slumpkällor, som /dev/urandom i Linux, är också CSPRNG.
Var används slumpgeneratorer?
RNG:er finns i praktiskt taget alla digitala system. Här är de vanligaste användningsområdena.
| Område | Typ av RNG | Vad används det till |
|---|---|---|
| Casinospel | CSPRNG eller certifierad TRNG | Roulette, slots, blackjack. Varje utfall måste vara oförutsägbart |
| PC- och konsolspel | PRNG | Skattefördelning, fiendeplacering, kritiska träffar, loot drops |
| Lotterier | Certifierad TRNG eller CSPRNG | Lottnummer, vinnardragningar. Kräver verifierbar rättvisa |
| Sociala medier-tävlingar | PRNG | Välja vinnare i Instagram- och Facebook-utlottningar |
| Kryptografi | CSPRNG eller TRNG | Krypteringsnycklar, sessions-id, säkra tokens |
| AI och maskininlärning | PRNG | Initiering av neuronvikter, träningsdata-shuffling, augmentering |
| Vetenskaplig simulering | PRNG (med seed för reproducerbarhet) | Monte Carlo-simuleringar, statistiska urval |
Slumpa nummer i Excel
Excel har två inbyggda funktioner för slumpgenerering. De är pseudoslumpgeneratorer och fullt tillräckliga för enkla simuleringar, lotteridragningar i kompisgänget eller statistiska övningar.
=SLUMP()ger ett slumptal mellan 0 och 1=SLUMP.MELLAN(1; 100)ger ett heltal mellan 1 och 100=SLUMP() < 0,5simulerar ett myntkast (returnerar SANT eller FALSKT)
Värdena uppdateras varje gång arket räknas om. Om du vill låsa ett resultat: kopiera cellen och klistra in som värde. För större simuleringar med tusentals slumptal är Excel hyfsat snabbt, men professionell statistikbearbetning sker oftare i Python eller R där du har bättre kontroll över seed och fördelning.
Excel saknar funktion för att sätta ett seed. Vill du ha exakt samma slumpsekvens varje gång, exempelvis i ett lärarexempel: generera talen en gång, kopiera och klistra in som värden. Då fryser sekvensen och uppdateras inte vid omberäkning.
Singla slant och slumpa namn online
För enkla slumpval finns en uppsjö av onlineverktyg. Att singla slant online är den enklaste tänkbara slumpgeneratorn: ett binärt val mellan krona och klave. Bakom kulisserna är det oftast bara Math.random() som returnerar 0 eller 1.
Slumpa namn fungerar likadant men med en lista. Verktyget tar din inmatade lista, tilldelar varje namn ett index och drar ett slumpmässigt index. Användbara situationer:
- Tävlingar och utlottningar. Att välja en vinnare bland deltagare på rättvist sätt, särskilt med många deltagare där manuell dragning blir opraktisk.
- Lagsammansättning. Skolprojekt, sportlag och gruppövningar där partiskhet riskerar att smyga sig in vid manuellt val.
- Beslutsfattande. När en grupp inte kan komma överens om vem som ska göra vad, eller vilken film som ska ses.
- Namngivning av projekt eller produkter. Slumpa fram ett namn från en lista med kandidater när det är svårt att välja.
För publikrelaterade tävlingar på Instagram och Facebook används ofta dedikerade tjänster som hämtar kommentarer och drar en slumpmässig vinnare med tidsstämpel som bevis på rättvisa. Bevisförmågan är viktig av juridiska skäl: enligt svensk lotterilagstiftning ska tävlingar hanteras på ett sätt som går att verifiera i efterhand.
Slumpgenerator i kryptering och säkerhet
I säkerhetstillämpningar kan inte slumpvärden vara förutsägbara. Hela poängen med en krypteringsnyckel är att en angripare inte ska kunna gissa den ens med oändliga resurser. Därför används CSPRNG eller TRNG för:
- Krypteringsnycklar. AES-nycklar, RSA-primtal och elliptiska kurvors privata nycklar.
- Sessions-id och cookies. Värden som identifierar dig på webbplatser.
- Säkerhetstokens. Engångskoder, återställningslänkar, API-nycklar.
- Blockchain. Transaktions-id, wallet-adresser och konsensusprotokoll.
Kvaliteten på slumpgeneratorn är direkt avgörande för säkerhetsnivån. En klassisk lärdom från Internets barndom: tidiga versioner av Netscape Navigator använde en svag slumpgenerator där seedet baserades på systemklockan, vilket forskare visade gick att förutsäga och knäcka kryptering på minuter. Sedan dess är kraven på CSPRNG mycket striktare.
Hur testas att en slumpgenerator är slumpmässig?
Att verifiera att en slumpgenerator faktiskt är slumpmässig är ingen trivial uppgift. Det räcker inte att resultaten ”ser slumpmässiga ut”. Det krävs statistiska tester som kan upptäcka subtila mönster.
Chi-kvadrattest
Chi-kvadrattest är den vanligaste metoden för grundläggande slumpmässighetsanalys. Testet jämför observerade frekvenser med förväntade frekvenser och avgör om skillnaden är statistiskt signifikant. Om en slumpgenerator till exempel påstås generera tal jämnt fördelade mellan 1 och 6, ska varje siffra dyka upp ungefär lika ofta över många dragningar. Chi-kvadrat kvantifierar avvikelsen.
Testet används för att:
- Kontrollera om data följer en viss fördelning, exempelvis normalfördelning eller likformig fördelning
- Avgöra om två variabler är oberoende av varandra
- Validera att en slumpgenerator producerar rättvist fördelade resultat över tid
Andra testmetoder
Mer sofistikerade testbatterier som NIST Statistical Test Suite och TestU01 kombinerar dussintals olika tester för att fånga mönster som enklare metoder missar. Spelinspektioner och certifieringsorgan som GLI (Gaming Laboratories International) använder dessa standarder för att godkänna RNG i licensierade casinos. Utan godkända tester får ett casino inte använda sin slumpgenerator för riktiga pengar.
Vanliga frågor om slumpgeneratorer
Vad är skillnaden mellan slumpgenerator och slumptalsgenerator?
Ingen praktisk skillnad. Båda begreppen används synonymt på svenska och avser ett verktyg som producerar slumpmässiga tal eller resultat. Slumptalsgenerator är något mer tekniskt; slumpgenerator är vanligare i vardagsspråk.
Är digitala slumpgeneratorer verkligen slumpmässiga?
De flesta är inte det i strikt mening. PRNG är deterministiska och förutsägbara om man känner till seed. CSPRNG är extremt svårförutsägbara men inte ”äkta” slump. Bara TRNG, baserade på fysiska fenomen, är genuint slumpmässiga.
Kan jag förutse en slumpgenerator?
För en PRNG: ja, om du känner till algoritmen och seedet. Det är därför PRNG inte ska användas för säkerhet. För en CSPRNG: i praktiken nej, även om delar av sekvensen är kända. För en TRNG: nej, eftersom de bygger på fysiska processer.
Vad är ett seed eller frö i en slumpgenerator?
Ett startvärde som algoritmen utgår från. Med samma seed får du alltid samma sekvens. Detta används medvetet i simuleringar för att resultaten ska gå att reproducera, men måste undvikas i säkerhetstillämpningar.
Är Math.random() i JavaScript säkert?
Nej. Math.random() är en PRNG som inte ska användas för lösenord, tokens eller andra säkerhetskritiska värden. Använd crypto.getRandomValues() från Web Crypto API istället.
Hur fungerar slumpgenerator i Excel?
Excel har funktionerna =SLUMP() som ger ett tal mellan 0 och 1, samt =SLUMP.MELLAN(min; max) som ger ett heltal i ett intervall. Båda är pseudoslumpgeneratorer. Värdena räknas om vid varje arkberäkning, så kopiera och klistra in som värde om du vill låsa ett resultat.
Vilken slumpgenerator använder casinos?
Licensierade onlinecasinos måste använda CSPRNG eller TRNG som certifierats av oberoende testlabb som GLI eller iTech Labs. RNG:n testas regelbundet med Chi-kvadrattest och andra statistiska metoder. Spelinspektionen i Sverige kräver detta för spellicens.
Kan datorer skapa äkta slumpmässighet?
Inte med enbart algoritmer. Moderna processorer har dock inbyggda hårdvaru-RNG som använder termiskt brus i transistorer som källa, vilket räknas som TRNG. Intels processorer har detta sedan 2008 via instruktionen RDRAND.
Vad är atmosfärisk slumpgenerator?
En TRNG som hämtar slumpkällan från atmosfäriskt radiobrus, det vill säga elektromagnetiska störningar i atmosfären. Random.org är en välkänd svensk-tillgänglig tjänst som erbjudit atmosfärisk slump som tjänst sedan 1998 och används för allt från forskning till tävlingar och lotterier.
Behövs en slumpgenerator för att singla slant online?
Ja, men en enkel PRNG räcker. Onlineverktyg för myntkast använder oftast bara Math.random() i webbläsaren. Resultatet är teoretiskt förutsägbart men för ett enkelt val är det fullt tillräckligt.
Varför är slumpgeneratorer viktiga för kryptografi?
Hela kryptografin bygger på antagandet att vissa värden, som krypteringsnycklar, ska vara omöjliga att gissa. En svag slumpgenerator gör att nycklar går att förutsäga och kryptering går att knäcka. CSPRNG är därför grunden för all modern säkerhet på nätet.
Vad används slumpgenerator till i AI?
I maskininlärning används PRNG bland annat för att initiera nätverkets vikter, blanda träningsdata mellan epoker och skapa augmenterad data. Reproducerbarhet är viktigt här, så seed sätts ofta till ett fast värde under utveckling och testning.

