Deve-se procurar um gerador de números pseudo-aleatórios criptograficamente seguro . A maioria dos PRNGs são geradores de congruência linear (então next number
é uma função linear de previous number
), então se você traçar next number
vs previous number
você obterá um gráfico de linhas paralelas. Um CSPRNG não fará isso. O trade-off é que eles são lentos.
Eu agrupo geradores de números aleatórios em 3 categorias :
- Bom o suficiente para o dever de casa.
- Bom o suficiente para apostar sua empresa.
- Bom o suficiente para apostar seu país.
Why is it impossible to produce truly random numbers in any deterministic device ?
Um dispositivo determinístico sempre produzirá a mesma saída quando receber as mesmas condições iniciais e entradas - é isso que significa ser deterministic
. "Número verdadeiramente aleatório" é mais um ponto de vista filosófico, como o que significa ser random
é o ponto crucial do olhar filosófico do umbigo (as pessoas não têm certeza se o decaimento atômico é aleatório ou segue algum padrão que simplesmente podemos " t descobrir ainda). Um gerador de números aleatórios criptograficamente seguro vai precisar de alguma fonte externa de entropia para tornar o dispositivo não-determinístico.