En lisant cette réponse à cette question SO: Pourquoi ne combinons-nous pas des générateurs de nombres aléatoires? , ça parle de
PRNG de très haute qualité (Pseudo Random Number Generator)
donc je me demande ce qui constitue un PRNG de haute qualité, je suppose que vous pouvez le résumer comme étant "plus aléatoire", mais
Question 1: Quelles qualités d'un PRNG sont utilisées pour décrire à quel point il est «aléatoire» ou «bon»?
Question 2: Si vous avez un PRNG de «mauvaise qualité», existe-t-il un moyen de le rendre de meilleure qualité?
Réponses:
Il existe plusieurs critères pour la qualité d'un PRNG:
Les deux derniers critères sont fortement liés.
Si vous avez un PRNG de mauvaise qualité, vous pouvez souvent l'améliorer par amplification de dureté . Prenez plusieurs copies du PRNG (en utilisant différentes clés aléatoires) et XOR ensemble. Dans de nombreux cas (mais pas tous), cela améliorera considérablement sa qualité.
la source
Il y a des considérations pratiques: comment facile à utiliser? À quelle vitesse? Est-il facile de produire une séquence différente de nombres aléatoires? Est-il facile de rejouer les nombres aléatoires (par exemple, si vous avez généré 10 milliards de nombres aléatoires, pouvez-vous générer à nouveau exactement les mêmes 10 milliards de nombres aléatoires?)
La grande question: les nombres générés se comportent-ils comme une séquence de nombres aléatoires? Le premier PRNG que j'ai jamais utilisé avait la propriété bizarre de deux valeurs consécutives, la seconde était plus grande avec une probabilité d'environ 0,6. Pas très aléatoire. Vous pouvez donc exécuter toutes sortes de tests statistiques et vérifier si votre générateur de nombres aléatoires se comporte de manière aléatoire. Plus il se comporte comme aléatoire, mieux c'est.
Et puis vient le hasard cryptographique. Si je vous donne les n derniers nombres aléatoires et que je connais parfaitement le comportement du générateur de nombres aléatoires, pouvez-vous prédire le prochain nombre aléatoire? Si oui, cela le rend inapproprié dans les situations où vous avez des adversaires.
la source
J'ajouterais une distribution uniforme à la liste des qualités souhaitées.
la source