Produire de l'aléatoire avec un générateur de hasard

Le
Philippe Lheureux
Je me pose une petite question , si j'ai bien tout compris, les générateurs
de hasard des logiciels de programmation produisent des suites prévisibles
car c'est une formule mathématique qui produit les chiffres bref si on a
le premier chiffre , on peut retrouver les autres .
Que se passe t'il maintenant si on initialise le générateur de hasard entre
chaque chiffre produit ? est moins prédictible ?
Que se passe t-il aussi si par exemple on prend le premier chiffre produit
, le deuxième et qu'on fait un XOR entre les deux ? Est ce que cela fourni
du "hasard" moins prédictible ou est ce toujours aussi faible ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
DeVice
Le #22488741
Attention, mon avis n'engage que moi et vaut ce qu'il veau. Mooooh.

Philippe Lheureux a écrit :
Je me pose une petite question , si j'ai bien tout compris, les
générateurs de hasard des logiciels de programmation produisent des
suites prévisibles car c'est une formule mathématique qui produit les
chiffres ... bref si on a le premier chiffre , on peut retrouver les
autres .



Pas toujours vrai. Certains RNG intègrent dans leurs calculs des sources
potentiellement non reproductibles (activité réseau, disque, ou activité
utilisateurs comme mouvement souris etc). Mais tu trouve surtout ce type
au niveau du système d'exploitation plutôt que des logiciels de
programmation.
Il doit aussi exister des périphériques spécialisés qui permettent
d'avoir du "vrai" hasard. Les fameux "bits radioactifs" par exemple.

Que se passe t'il maintenant si on initialise le générateur de hasard
entre chaque chiffre produit ? est moins prédictible ?



Ça dépend avec _quoi_ on l'initialise.

Que se passe t-il aussi si par exemple on prend le premier chiffre
produit , le deuxième et qu'on fait un XOR entre les deux ? Est ce que
cela fourni du "hasard" moins prédictible ou est ce toujours aussi faible ?



Je pense que quels que soit les calculs effectués après la génération
"aléatoire", on ne fais qu'ajouter de la complexité pour un éventuel
candidat prédicteur, et les nombres ne seront pas intrinsèquement plus
aléatoires.

Je ne sais pas si c'est intéressant, mais il existe des benchmarks qui
déterminent la qualité de l'aléatoire produit par un générateur.
Par exemple : http://www.phy.duke.edu/~rgb/General/rand_rate.php

--
/dev/random?
Guy Ratajczak
Le #22488831
Salut,

Le 20/08/2010 10:00, Philippe Lheureux a écrit :
Je me pose une petite question , si j'ai bien tout compris, les
générateurs de hasard des logiciels de programmation produisent des
suites prévisibles car c'est une formule mathématique qui produit les
chiffres ... bref si on a le premier chiffre , on peut retrouver les
autres .



Chouette ! Une vraie question !
Réponse : en gros, oui c'est cela.

Que se passe t'il maintenant si on initialise le générateur de hasard
entre chaque chiffre produit ? est moins prédictible ?



L'initialiser avec quoi ?? Quelque chose de prédictible ? Kif kif.

Que se passe t-il aussi si par exemple on prend le premier chiffre
produit , le deuxième et qu'on fait un XOR entre les deux ? Est ce que
cela fourni du "hasard" moins prédictible ou est ce toujours aussi faible ?



Toujours aussi faible.

Exemple : j'initialise par un moyen bidon, puis je fais :
Si H(n) pair, H(n+1) = H(n) /2
sinon, H(n+1) = H(n)*3+1
(oui c'est connu, et n'a rien à voir avec les générateurs de hasard,
c'est juste un pauvre exemple bidon)

On prend H(0) = 17
On aura H(1) = 52
H(2) = 26
H(3) = 13
H(4) = 40
H(5) = 20

Si je trouve dans une suite "hasardeuse" (!) le chiffre 13, je me doute
que le suivant utilisé sera 40.

Maintenant appliquons le XOR qui tue :

On a H'(0) = 17
H'(1) = 37 = H(0) XOR H(1)
H'(2) = 46 = H(1) XOR H(2)
H'(3) = 23 = H(2) XOR H(3)
H'(4) = 37 = H(3) XOR H(4)
H'(5) = 60 = H(4) XOR H(5)

Même chose, si on tombe sur un 46, on trouvera que la suite est un 23.
Dans le cas de mon exemple où le n+1 était dépendant uniquement du n, on
voit un avantage : maintenant le n+1 est dépendant du n *et* du n-1.
On le voit par exemple avec 37, dont la suite peut maintenant être 46
*ou* 60.

Dans la réalité d'un vrai générateur pseudo-aléatoire le n dépend déjà
d'un grand nombre de n-p, donc le XOR avec le prédécesseur est
totalement inutile.

Aujourd'hui certaines sociétés [1] peuvenet fournir des générateurs
aléatoires de bonne facture éliminant ainsi le pseudo-aléa dans des
applications critiques. Petit exemple de données aléatoires chez
randomnumbers [2].

Bonne journée,

[1]
http://www.idquantique.com/true-random-number-generator/products-overview.html

[2] http://www.randomnumbers.info/content/Download.htm

--
Guy
"Si le monde était vraiment gouverné par le hasard, il n'y aurait pas
autant d'injustices. Car le hasard est juste."
-+- Ferdinando Galiani - Une lettre -+-
Philippe Lheureux
Le #22488901

L'initialiser avec quoi ?? Quelque chose de prédictible ? Kif kif.



Non justement si le premier chiffre est construit a partir de l'horloge
interne du microprocesseur a un moment donné ou d'éléments présents sur une
machine bien spécifique.
Chaque chiffre produit avec une réinitialisation avant ne devrait pas être
prédictible !
Guy Ratajczak
Le #22491631
Bonjour,

Le 20/08/2010 11:42, Philippe Lheureux a écrit :
L'initialiser avec quoi ?? Quelque chose de prédictible ? Kif kif.



Non justement si le premier chiffre est construit a partir de l'horloge
interne du microprocesseur a un moment donné ou d'éléments présents sur
une machine bien spécifique.
Chaque chiffre produit avec une réinitialisation avant ne devrait pas
être prédictible !



Voir l'implémentation de Linux [1] dont le générateur d'entropie est
quand même soumis à critiques pour les machines n'ayant pas
d'utilisateurs capables de taper au clavier, bouger une souris, ou faire
quelque élément non prédictible.
Un groupe ad-hoc [2] est disponible hors hiérarchie fr pour les
problèmes de génération de hasard.

[1] http://en.wikipedia.org/wiki//dev/random
[2] sci.crypt.random-numbers

Cordialement,

--
Guy
"De temps à autre, un sot, par hasard, doit avoir raison."
-+- William Cowper - Conversation -+-
Philippe Lheureux
Le #22494181
Ce qui sous entendrais qu'il vaut mieux chiffrer le texte en le tapant au
clavier ou alors faire des boucles inutiles pour que le générateur de hasard
saute plusieurs chiffres.


"Guy Ratajczak" discussion : 4c6f956b$0$23430$
Bonjour,

Le 20/08/2010 11:42, Philippe Lheureux a écrit :
L'initialiser avec quoi ?? Quelque chose de prédictible ? Kif kif.



Non justement si le premier chiffre est construit a partir de l'horloge
interne du microprocesseur a un moment donné ou d'éléments présents sur
une machine bien spécifique.
Chaque chiffre produit avec une réinitialisation avant ne devrait pas
être prédictible !



Voir l'implémentation de Linux [1] dont le générateur d'entropie est
quand même soumis à critiques pour les machines n'ayant pas
d'utilisateurs capables de taper au clavier, bouger une souris, ou faire
quelque élément non prédictible.
Un groupe ad-hoc [2] est disponible hors hiérarchie fr pour les
problèmes de génération de hasard.

[1] http://en.wikipedia.org/wiki//dev/random
[2] sci.crypt.random-numbers

Cordialement,

--
Guy
"De temps à autre, un sot, par hasard, doit avoir raison."
-+- William Cowper - Conversation -+-

__________ Information provenant d'ESET NOD32 Antivirus, version de la
base des signatures de virus 5384 (20100821) __________

Le message a été vérifié par ESET NOD32 Antivirus.

http://www.eset.com



xtof pernod
Le #22504761
Le 20/08/2010 10:53, c'est pas pour cafter, mais DeVice a fait rien qu'à écrire:
Attention, mon avis n'engage que moi et vaut ce qu'il veau. Mooooh.
Philippe Lheureux a écrit :
(...)


Il doit aussi exister des périphériques spécialisés qui permettent
d'avoir du "vrai" hasard. Les fameux "bits radioactifs" par exemple.



(c) Remy, il y quelques mois, en ces lieux, si je n'm'abuse ?
Quelqu'un se souvient de l'avoir lu auparavant ?.. gogol ne retourne
que des archiveurs de news..

(...)
Je ne sais pas si c'est intéressant, mais il existe des benchmarks qui
déterminent la qualité de l'aléatoire produit par un générateur.
Par exemple : http://www.phy.duke.edu/~rgb/General/rand_rate.php




Oui, ça l'est (n'est-il pas ?).

--
christophe.
Pierre Vandevenne
Le #22514971
On 25 août, 23:29, xtof pernod
(c) Remy, il y quelques mois, en ces lieux, si je n'm'abuse ?
Quelqu'un se souvient de l'avoir lu auparavant ?.. gogol ne retourne
que des archiveurs de news..



il y a ceci

http://www.fourmilab.ch/hotbits/
xtof pernod
Le #22515861
Le 28/08/2010 21:21, c'est pas pour cafter, mais Pierre Vandevenne a fait rien
qu'à écrire:
On 25 août, 23:29, xtof pernod [Les "bits radioactifs"]
(c) Remy, il y quelques mois, en ces lieux, si je n'm'abuse ?
Quelqu'un se souvient de l'avoir lu auparavant ?.. gogol ne retourne
que des archiveurs de news..



il y a ceci

http://www.fourmilab.ch/hotbits/



Yep, ça en est la source, & merci à John "Random" Walker, dont
le programme "ENT", simple & efficace..

Je faisais allusion à l'expression "bits radioactifs", dont tout
bon cryptographe voit bien l'utilité, mais qui est AFAIK neuve.

--
christophe.
Publicité
Poster une réponse
Anonyme