Étant donné une série de nombres générés par rand(), comment puis-je prédire la valeur suivante? La force brute est hors de question. Je suis conscient que rand() est fondamentalement un générateur congruentiel linéaire, mais fait également un décalage de bits. Quelle théorie puis-je utiliser pour le craquer? Tous les conseils seront les bienvenus :)Prédiction du prochain nombre généré par C (glibc) rand()
Répondre
@unwind: merci pour le conseil! Je me suis trompé à certains endroits, et la documentation m'a mis sur la bonne voie.
En fait, la prédiction est un morceau de gâteau lorsque vous connaissez une séquence de 30 (ou plus) nombres. La réponse 'calculée' sera exacte dans 50% des cas. Plus de détails présents dans le lien fourni par unwind, ou dans un code simplifié: http://www.mathstat.dal.ca/~selinger/random/
Répondez-vous à votre propre question? Ou est-ce une modification? –
Je voulais y répondre. La réponse stricte et précise est vraiment évidente après avoir regardé le code. Au lieu de donner une réponse directe, j'ai décidé de laisser un lien utile. Le problème se résout littéralement après une courte conférence :) – user1851752
- 1. Rand(); avec exclusion à et déjà généré au hasard nombre ..?
- 2. C++ rand() chaque nombre une seule fois
- 3. Prochain ordre séquentiel Nombre/Variable Excel C#
- 4. exécution du code généré par javap -c
- 5. problème avec rand() en C
- 6. C Programmation - sortie bizarre de rand()
- 7. fonction Rand dans c
- 8. choisir rand() nombre de 1-6
- 9. Prédiction du temps de traitement
- 10. C++: liste double-liée corrompue détectée par la glibc: 0x08f8f148
- 11. Utiliser C# pour obtenir du texte généré par JavaScript
- 12. analyse des données du fichier généré par sudzc objectif-c?
- 13. Exception en virgule flottante provoquée par rand() En C++
- 14. Commande MySQL par rand() groupée par jour
- 15. Selenium, Xpath, StoreText du prochain frère par ID du premier
- 16. Prédiction du clavier et des mots en C#
- 17. Renvoie des résultats aléatoires (ordre par rand())
- 18. nombre aléatoire généré
- 19. Débogage du code généré par l'analyseur
- 20. prédiction google api tutoriel « bonjour de prédiction »
- 21. test RSpec `` l'intérieur rand` rand`
- 22. Code généré par C++ (à partir de MATLAB)
- 23. SqlServer Rand() question
- 24. nombres rand() accros en fonction dans C
- 25. Détermination du prochain menu de sélection par sélection précédente
- 26. Nombre hexadécimal généré de manière aléatoire en C#
- 27. Personnalisation du JSON généré par EXT-JS
- 28. Enregistrement du fichier généré par TCPDF
- 29. Nettoyage du code HTML généré par JQueryUI?
- 30. Capture du contenu généré par JavaScript
J'ai lu quelque part (Wikipedia ???) vous avez besoin de 650 (?) Résultats pour identifier la séquence PRNG et où vous vous trouvez. Vous pourriez aimer l'article de Wikipedia ["Random number generator attack"] (http://en.wikipedia.org/wiki/Random_number_generator_attack). – pmg
C'est peut-être un spoiler, mais vous pouvez bien sûr commencer par [lire le code] (http://repo.or.cz/w/glibc.git/blob/HEAD:/stdlib/random.c) pour comprendre à quoi s'attendre ... – unwind
Les glibs Iirc utilisent un simple LCG pour rand_r() et les alias rand()/random() ensemble ==> essayez rand_r(). – loreb