Generering av slumptal är en process som använder en enhet för att generera en sekvens av siffror eller symboler som endast kan förutsägas på ett rimligt sätt baserat på slumpmässighet . Slumptalsgeneratorer är uppdelade i " hårdvarugeneratorer för slumptal " (HRNGS), som genererar slumptal beroende på det aktuella värdet av något attribut i den fysiska miljön, vilket är praktiskt taget omöjligt att modellera med nuvarande kunskapsnivå, och pseudo-slumpmässigt nummergeneratorer(PRNGS), som genererar tal som ser slumpmässiga ut, men som faktiskt är deterministiska och kan reproduceras om modellen (mall) som pseudoslumptalsgeneratorn fungerar på är känd.
Det finns många metoder för att generera slumpmässiga data, av vilka några har funnits sedan urminnes tider. Välkända klassiska exempel är att kasta en tärning , kasta ett mynt , blanda spelkort , använda rölleka stjälkar (för spådom ) i I Ching och otaliga andra tekniker. På grund av dessa metoders mekaniska natur krävde generering av ett stort antal tillräckligt slumpmässiga tal (vilket är viktigt i statistik) mycket arbete och tid, så sådana siffror samlades ibland i tabeller med slumptal . Numera har tabeller ersatts av slumptalsgeneratorer.
Beräkningsmetoder för att generera pseudoslumptal inte uppnår målet om sann slumpmässighet, även om de kan uppfylla vissa statistiska slumpmässiga test som är utformade för att mäta oförutsägbarheten i deras resultat (det vill säga i vilken utsträckning deras mönster är igenkännbara) Detta gör i allmänhet beräkningsmetoder olämpliga för applikationer som kryptografi . Men det finns också noggrant utformade " kryptografiskt starka pseudo-slumptalsgeneratorer " (CSPRNGS) med specialfunktioner speciellt utformade för användning i kryptografi [1] .