Ecco una citazione da una discussione reddit :
… for poker [a cryptographically secure RNG] is completely unnecessary. If you have an appropriate unpredictable seed, and you are throwing away a lot of the randomness, MT is perfectly safe.
Normalmente lo scriverei come ignoranza, ma questo continua:
I've actually implemented a real-money poker backend, and the company even had it certified
E dal momento che nessuno si trova su Internet , questo mi fa meravigliarsi. Detta persona espande questo in un'altra parte della discussione :
[To prevent predictability] you would not use 624 consecutive values produced from [the MT generator]. If you want a real-money app. certified, one of the criteria is to throw away a large and unpredictable amount of the output of the PRNG.
You also don't know the specifics of how the PRNG was used to produce a shuffle. So, you have no way to map the cards you see on the table to a sequence from the PRNG.
You also don't know when the PRNG is reseeded.
One last thing. You need to store (219937 − 1) * 4 bytes of data for lookup, in order to find the pattern you need to predict.
Ad eccezione dell'ultimo paragrafo, questi argomenti sembrano sospetti come la sicurezza per oscurità. L'ultimo paragrafo sembra meno, ma qualcun altro nella discussione ha affermato che l'affermazione non è vera e che non è necessaria una tabella di ricerca così grande.
Giusto per chiarire, sono consapevole che MT19937 non è crittograficamente sicuro (e così è la persona che sto citando). Tuttavia, la mia ipotesi fino a quel momento era che il gioco d'azzardo (e il poker) richiedesse una fonte casuale protetta da crittografia - e non solo un seme sicuro - (a) per essere a prova di manomissione e (b) per la certificazione. È sbagliato?