Vad är en slumpgenerator och hur fungerar de?

Mjukvaruslumpgeneratorer (PRNG):

Dessa använder sig av algoritmer när de skapar slumptal, de startar algoritmen med ett grundvärde som hämtas från en upprepad process i datorn, t.ex. tryck på tangentbordets knappar, processer som är igång, datorns klocka eller musrörelser. Men det är ytterst svårt att få fram ett helt slumpmässigt grundvärde eftersom de flesta sådana operationer bara ger mycket låga grundvärden.

Utmaningen för mjukvarubaserade slumpgeneratorer är att grundvärdets nummersekvens är helt deterministisk, eftersom den skapas av en mjukvarualgoritm. Så även om grundvärdet verkligen är slumpmässigt, är numren som slumpgeneratorn skapar förutsägbara om någon kan lista ut algoritmen som används för att skapa dem. Därför kan siffrorna som skapas av programvarubaserade slumpgeneratorer inte anses vara äkta slumptal, utan pseudo-slumptal, och programvaran som skapar dem kallas även pseudo-slumpgeneratorer (PRNG).

Hårdvaruslumpgeneratorer (TRNG):

TRNG kräver inga grundvärden eftersom hårdvarubaserade slumptal inte är beräknade värden, de är inte framtagna genom en upprepningsbar algoritm. Hårdvarugenererade slumptal är snarare digitaliserade ögonblicksbilder över naturligt förekommande brus. Eftersom det inte finns någon algoritm och inga upprepande nummersekvenser, även om en hackare kunde bestämma ett nummer så skulle han inte kunna använda det till att förutspå framtida nummer. Av denna orsak kallas hårdvarubaserade slumpgeneratorer för Äkta slumpgeneratorer eller TRNG (efter engelskans "Truly Random Number Generator").