OBTENIR DE VRAIS NB ALEATOIRE

Egyde Messages postés 158 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 16 juillet 2007 - 27 févr. 2006 à 21:43
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 - 6 févr. 2008 à 22:25
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/36293-obtenir-de-vrais-nb-aleatoire

Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
6 févr. 2008 à 22:25
Je remet cent sous dans la machine !
Juste pour dire que, une mesure physique de ce genre (audio, bruit sur une ligne, etc...) même s'il sont très difficile à reproduire ne sont pas pour autant aléatoire (au sens mathématique du terme) ! Ohn est juste dan sle domaine de l'imprévisible. Il y a juste trop de paramètres pour pouvoir être modéliser mathématiquement, mais c'est en théorie possible. On aborde alors le sujet des "théories du chaos".
Il semble qu'il n'existe qu'un moyen de faire du véritable "aléatoire" ... en utilisant les lois de la physique quantique (et encore, tous les physiciens quantiques ne sont pas de cet avis !)En tout cas, c'est ce qui se rapproche le plus de l'aléatoire mathématique : Par exemple, lorsqsu'on lance un photon contre un mirroir semi-transparent selon un angle de 45°, soit le photon traverse le mirroir, soit il est réfléchit par ce même mirroir, repartant à 90° de se direction initiale. Des générateurs de nombres aléatoires fonctionnant sur ce principe existe : http://www.randomnumbers.info/

Mais encor eune fois, tous les physiciens quantiques ne sont pas de cet avis !
Artispsyko Messages postés 3 Date d'inscription lundi 13 février 2006 Statut Membre Dernière intervention 13 mai 2006
13 mai 2006 à 20:56
Il n'est pas possible de fabriquer 2 capteurs identiques. Ou alors il faudrait s'amuser à les construire atome par atome (et donc de le payer million par million...). Et même là, les differents capteur renverraient des valeurs différentes, dues à l'environnement d'utilisation (celon la température, l'usure du capteur, les champs magnétiques environant, etc... - Le chaos est partout, nous sommes le chaos! ;)). On peut juste "viser" un interval de précision dans lka fabrivation d'un capteur, pour une plage d'utilisation donnée, dans un certain environnement.
jannoman Messages postés 256 Date d'inscription jeudi 17 avril 2003 Statut Membre Dernière intervention 20 février 2008 1
1 mars 2006 à 21:52
perso je pense qu'un générateur est aléatoire (entre 0 et 1 pour simplifier) si :
1) la suite des nombres générés est équirépartie (i.e : lim Card {k <= n, a <= u(k) <= b} /n -> b - a
(en gros ca dit que la probabilité de la suite de tomber dans un intervalle est proportionnelle à la largeur de l'intervalle)
2) on ne peut pas connaissant u0, u1, ... u(n) deviner u(n + 1)

pour DarkSidious : oui je pense comme toi que mesurer les variations d'un capteur c'est THEORIQUEMENT non aléatoire puisqu'il suffit de s'acheter le même capteur et de le faire fonctionner bien que PRATIQUEMENT à cause des effets chaotiques, ca marche

comme le chaos existe au niveau atomique, on peut cependant supposer qu'il existe une machine permettant de créer des nombres aléatoires. (puisque 2 particules dans le même état strictement ne donneront pas 2 mêmes effets)
Egyde Messages postés 158 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 16 juillet 2007
1 mars 2006 à 09:52
Pour ceux qui n'ont pas l'imagination suffisante pour comprendre l'intérêt de nombres générés de cette façon, il me semble que la citation tirée de rsa.com (le site spécialisé en cryptographie...) éclaire déjà suffisament la question.

Bon, allez, je fais un petit effort :
http://www.random.org/users.html

Ca recense plus de 100 exemples d'utilisations... Des utilisateurs qui expliquent pourquoi ils utilisent random.org (un site web qui existe depuis 1998 tout de même).
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
1 mars 2006 à 08:59
@Lucyberad
C'est pas toujours une question d'algo de cryptage et de sécurité... Si la fonction de nombres aléatoires n'est pas correcte, tu te retrouveraas soit à cycler, soit à avoir une période de sortie différente pour chaque nombre lors de grands tirages.

@DarkSidious
Désolé, mais je crois que tu en fais un peu trop. Si ton capteur ne peut capter qu'entre -5.00 et +5.00, il captera totu de même des nombres imprévisibles. Le bruit est, par définition, un signal non prévisible.
cuq Messages postés 345 Date d'inscription mardi 3 juin 2003 Statut Membre Dernière intervention 21 mars 2008 2
1 mars 2006 à 08:38
Juste pour mettre mon petit grain de sel il me semble qu'il existe aussi sur certain Os (Linux) la génération de nombre aléatoire donné par les actions utilisateur . Nombre généré selon la séquence des touches utilisé sur le clavier, mouvement de la souris etc ... Donc la génération dépend d'une action humaine qu'il est plus difficile de reproduire , mais dans ce cas c'est directement l'os qui gère le nombre aléatoire ..
Lucyberad Messages postés 414 Date d'inscription mercredi 16 juin 2004 Statut Membre Dernière intervention 26 juillet 2007 3
1 mars 2006 à 01:28
franchement, je comprend pas pourquoi on "s'emmerde" a chercher des random vrai et des random faux. que ce soit l'horloge du pc ou la meteo, du moment que les nombre finaux sont imprevisible, il n'y as que la nasa pour vouloir securiser par ce biais pour eviter de decouvrir les nombres par le hacking de l'algorythme.
j'imagine bien mettre dans ma petite application, bonjour veuillez patienter durant le chargement d'un random parfait...
sinon j'accorde parfaitement avec la pensée de darksidious !
Egyde Messages postés 158 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 16 juillet 2007
28 févr. 2006 à 12:28
"qu'est-ce qui te permet d'être aussi catégorique?"
----------------------------------------------------
Tout simplement l'environnement : température ambiante, tension d'alimentation, pression atmosphérique, etc. De plus, n'oublions pas que reproduire la séquence nécessiterait d'être parfaitement synchroniser... Tenter de reproduire tous ces paramètres, ça s'est de l'utopie!

"je ne crois pas qu'un générateur de nombre aléatoire parfait
-------------------------------------------------------------
existe (sinon ca se saurais !!!)"
----------------------------------

Et bien justement... :

"There is a DEFINITE NEED FOR DATA WITH ENTROPY NOT BASED ON ALGORITHMS. As to whether we need *true* random numbers, that's a subject for debate. Typically we get data that's as good as we need it to be from a hardware generator by running the initial data (which may have some kind of pattern or bias) through an algorithm which sort of mixes it. But it is very usefull to have this entropy come from a hardware device, because it affords an EXTRA LEVEL OF SECURITY; pseudorandom numbers can be compromised if the algorithm is known and the seed is discovered, but THERE IS NO SUCH EQUIVALENT FOR RANDOM NUMBERS GENERATED BY A HARDWARE DEVICE."

Moses Liskov (faq-editor@rsa.com), http://www.rsa.com/ , year 2000

Voir également :

http://www.true-random.com/
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
28 févr. 2006 à 10:38
Que ce soit de la météo ou du bruit, le raisonnement reste le même : je ne pense pas que ce système donne un générateur de nombre véritablement aléatoires. Le système utilisé reste matériel, donc il est possible (même si c'est sûrement très difficile) de le simuler par un ordinateur ou une autre machine.
De là à dire qu'un même capteur te donnera JAMAIS 2 fois la même valeur, qu'est-ce qui te permet d'être aussi catégorique ?
Peut-être que c'est vrai, mais tant que c'est une macine qui interprête ce que capte le capteur...
C'est bien beau de mesurer quelque chose de totalement imprévisible, mais c'est la mesure qui devient le générateur du coup, plus le phénomène physique, puisque la précision de la mesure est forcément limitée.
Je ne continuerai pas ce débat pour ne pas pourir les commentaires de cette source qui reste intéressante, mais c'était juste pour vous donner mon opinion : je ne crois pas qu'un générateur de nombre aléatoire parfait existe (sinon ca se saurais !!!).

DarK Sidious
Mindiell Messages postés 558 Date d'inscription jeudi 25 juillet 2002 Statut Membre Dernière intervention 5 septembre 2007 1
28 févr. 2006 à 09:56
Pour précision intéressante, en France, le Rapido est le seul jeu de hasard ou la présence d'un huissier n'est pas obligatoire, puisque la francaise des jeux utilise aussi le bruit comme générateur de nombres.

DarkSidious, li n'utilise pas la météo, mais le bruit. Le bruit est un signal faible qui correspond a la neige de ta télé, ou au crachat dans ta radio. Même sur un signal 220V qui fait marcher ton PC, tu as un bruit léger, qui doit tourner entre -5V et +5V et qui est donc tellement faible que inutile. Mais tu as rarement pile 220V au bout du circuit.

Voila comment c'est generer. Très intéressant que des gens l'ait mis sur Internet.
Egyde Messages postés 158 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 16 juillet 2007
28 févr. 2006 à 08:02
Il est bien connu qu'un même capteur ne te donnera JAMAIS exactement 2 fois la même valeur, même dans des conditions initiales!! Donc, NON : une autre machine n'est pas capable de générer les mêmes nombres.

Maintenant, utopie ou pas, il est certain qu'on peut se contenter de fonction déterministe tierce.
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
27 févr. 2006 à 23:01
Tu ferais au moins aussi aléatoire en qlqs lignes asm placées dans une vraie dll, tu aurais par contre des résultats en quasi instantané.
Suffit d'exporter une fonction InitRand() sans aucun param, tu obtiens le seedRand (conservé dans dll) par RDTSC et ce sera quasi irreproductible (1 chance sur 2 pow 64) car personne n'intervient sur ce seedRand et quasi aucune chance de retomber sur le même nombre de ticks processeur.
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
27 févr. 2006 à 22:41
Je pense qu'essayer d'obtenir de véritables nombres aléatoire n'est qu'une pure utopie : dès qu'on se base sur quelque chose pour les générer, il ne s'agit plus de nombre aléatoire, car calculés... et oui, tu a beau faire appel à des prévisions météo (ou je ne sais trop quoi), ca n'en reste que des nombres quasi-aléatoires, mais tant qu'ils ont réussi à les générer, cela implique qu'une autre machine est capable de générer les mêmes nombres aléatoires...

Enfin, la fonction standard de VB suffit déjà dans la majorité des cas je trouve !

DarK Sidious
Egyde Messages postés 158 Date d'inscription lundi 17 mai 2004 Statut Membre Dernière intervention 16 juillet 2007
27 févr. 2006 à 21:43
J'ai mis cette source dans la catégorie "Réseau & Internet". Vous comprendrez pourquoi...

A ne pas utiliser dans le cadre d'applications 'sensibles' (cryptographiques) sans prendre quelques précautions préalables (vérifier le fichier hosts est, me semble-t-il, un minimum).
Rejoignez-nous