Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

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

8 réponses
Avatar
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 ?

8 réponses

Avatar
DeVice
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?
Avatar
Guy Ratajczak
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 -+-
Avatar
Philippe Lheureux

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 !
Avatar
Guy Ratajczak
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 -+-
Avatar
Philippe Lheureux
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" a écrit dans le message de groupe de
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



Avatar
xtof pernod
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.
Avatar
Pierre Vandevenne
On 25 août, 23:29, xtof pernod wrote:

(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/
Avatar
xtof pernod
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 wrote:
[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.