Je fais face à quelques problèmes de sécurité informatique à l'école en ce moment et je suis intéressé par la programmation générale des préférences publiques, des douanes, des idées etc. Si vous devez utiliser un générateur de nombres aléatoires ou un extracteur, lequel choisir? Pourquoi le choisissez-vous? Les propriétés mathématiques, déjà implémentées en package ou pour quelle raison? Est-ce que vous écrivez le vôtre ou utilisez un paquet?Pourquoi utilisez-vous un générateur/extracteur de nombres aléatoires?
Répondre
Vous savez que quand ce lien meurt, cette réponse sera complètement inutile. – tvanfosson
C'est un serveur qui vous donne des bits. Si le lien meurt, le serveur est parti, donc bien sûr la réponse serait alors inutile. –
Si le temps de calcul n'est pas un objet, alors vous ne pouvez pas vous tromper avec Blum Blum Shub (http://en.wikipedia.org/wiki/Blum_blum_shub). De manière informelle, il est au moins aussi sûr (difficile à prévoir) que la factorisation entière.
dev/random
, ou l'équivalent sur votre plateforme.
Renvoie des bits d'un pool d'entropie alimenté par des pilotes de périphérique. Pas besoin de s'inquiéter des propriétés mathématiques.
Si vous recherchez une PRNG cryptographiquement sécurisée, l'application répétée d'un hachage sécurisé à une grande graine est généralement la meilleure solution. Ne pas inventer votre propre algorithme, cependant, optez pour une version de Fortuna ou quelque chose d'autre raisonnablement bien passé en revue.
Les clés pour le cryptage des appels téléphoniques entre les présidents des États-Unis et de l'URSS étaient censées être générées par les rayons cosmiques. Nous l'avons vérifié dans le laboratoire de physique à l'univocité - leurs énergies donnent une vraie distribution gaussienne. ;-) Donc, pour le meilleur cryptage, vous devriez les utiliser, car une telle séquence aléatoire ne peut pas être rejouée. À moins, bien sûr, que votre adversaire construise secrètement un accélérateur de particules près de votre générateur de nombres aléatoires.
Ah ... à propos des ordinateurs ... Eh bien, acquérir un flux qui vient de quelque chose de physique, non calculé./dev/random est la solution la plus simple, mais votre compteur Geiger fabriqué à la main et connecté à l'USB vous donnera le meilleur rendu possible.
Pour un projet de petite école, j'utiliserais tout ce que le système d'exploitation fournit pour la génération de nombres aléatoires.
Pour une application de sécurité sérieuse (par exemple: COMSEC-cryptage de niveau), j'utilise un générateur de nombres aléatoires matériel. Les algorithmes purs sans accès matériel par définition ne produisent pas de nombres aléatoires.
- 1. génération de nombres aléatoires dans un vecteur
- 2. affichant des nombres aléatoires
- 3. Générateur de nombres aléatoires Crappy
- 4. Génération de nombres aléatoires sur Spartan-3E
- 5. Un générateur de nombres aléatoires qui peut obtenir des nombres différents en <une seconde
- 6. Excel 2007 question sur les nombres aléatoires
- 7. Comportement en ligne déroutant du générateur de nombres aléatoires (C++)
- 8. Génération de nombres aléatoires sans utiliser d'opérations sur les bits
- 9. Convertir une séquence de nombres en ID aléatoires?
- 10. Génération de nombres aléatoires dans chaque ligne Oracle Query
- 11. pourquoi les nombres aléatoires à 1 chiffre sont également générés par le code suivant?
- 12. Générateur de nombres pseudo-aléatoires à partir d'un nombre normal calculable
- 13. Générateur de nombres aléatoires qui produit une distribution de loi de puissance?
- 14. Problèmes avec l'ensemencement d'un générateur de nombres pseudo-aléatoires plus d'une fois?
- 15. Pourquoi ai-je un point décimal dans mes nombres BigInt?
- 16. Pourquoi ET deux nombres pour obtenir un booléen?
- 17. Comment remplir une colonne de base de données avec des nombres aléatoires
- 18. Est-ce une bonne ou une mauvaise façon de générer des nombres aléatoires pour chaque enregistrement?
- 19. Sélecteur d'images aléatoires PHP
- 20. Problèmes avec deviner un jeu de nombres
- 21. ArrayList de nombres entiers à un int?
- 22. Recherche de nombres avec Zend_Search_Lucene
- 23. Comparaisons de nombres Java
- 24. Pourquoi la valeur garbage ne peut pas agir comme un nombre aléatoire?
- 25. Les nombres les plus fréquemment répétés dans une énorme liste de nombres
- 26. Sélection de lignes aléatoires dans MySQL
- 27. Regrouper des nombres pour un histogramme
- 28. algorithme de combinaison de nombres
- 29. Comment générer des identités aléatoires?
- 30. Démarrer des noms de classe ou de méthode avec des nombres, pourquoi pas?
Il existe déjà des * piles * de questions PRNG. Qu'est-ce qui rend celui-ci différent? – dmckee
http://stackoverflow.com/questions/1266261/what-is-a-good-fast-prng-non-cryptographically-secure http://stackoverflow.com/questions/167735/fast-pseudo-random-number- générateur-pour-procédural-contenu http://stackoverflow.com/questions/1247129/fast-generation-of-random-set-monte-carlo-simulation et ainsi de suite. Essayez cette recherche: http://stackoverflow.com/questions/tagged/random-number-generator – dmckee
Aucun de ces trois prétendus doublons ne demande un PRNG sécurisé. Le premier dit explicitement non-crypto, le troisième est pour la simulation de Monte Carlo, et le milieu est pour générer des paysages. Les préoccupations sont complètement différentes. –