You are on page 1of 28

G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
EJCIM, Perpignan 8 -12 Avril 2013
Generation de nombres pseudo-aleatoires
basee sur des fonctions chaotiques
Vendredi 12 Avril 2013
Michael FRANC OIS

Ecole Jeunes Chercheurs en Informatique-Mathematiques


1/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Sommaire
Sommaire
1
Introduction
2
Generateurs de nombres pseudo-aleatoires bases sur des
fonctions chaotiques
Fonction chaotique standard
Nouvelle fonction chaotique
3
Application au chirement dimages
Fonction chaotique standard
2/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Introduction
Introduction
Quest-ce quune suite de nombres (pseudo)-aleatoires ?
Comment obtenir une telle suite ?
Utilites des suites de nombres (pseudo)-aleatoires : simulation,
transmissions, jeux de hasard, cryptographie, etc.
3/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Sommaire
1
Introduction
2
Generateurs de nombres pseudo-aleatoires bases sur des
fonctions chaotiques
Fonction chaotique standard
Nouvelle fonction chaotique
3
Application au chirement dimages
Fonction chaotique standard
4/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Generateur base sur une fonction chaotique standard
3-Mixer
La fonction chaotique utilisee
La fonction chaotique est de la forme : F(X) = r X(1 X).
Elle peut etre mise sous la forme dune suite logistique dont la
recurrence est donnee par :
X
n+1
= r X
n
(1 X
n
), avec n 0.
Figure: Diagramme de bifurcations de la suite logistique
5/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Generateur base sur une fonction chaotique standard
3-Mixer
La fonction chaotique utilisee
Le generateur utilise la fonction chaotique (sous forme iterative)
suivante :
X
n+1
= 3.9999X
n
(1 X
n
), avec n 0 et X
n
]0, 1[.
Cette fonction est utilisee pour calculer des positions dans un
vecteur initial. Celles-ci sont permutees durant le processus iteratif.
Le principe algorithmique est compose de quatre etapes.
6/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Generateur base sur une fonction chaotique standard
Principe algorithmique du generateur
Construction de la sequence pseudo-aleatoire
1
`ere
etape : choix dun vecteur initial I
in
de taille N (M = N log
2
N)
2
`eme
etape : choix dune graine X
0
]0, 1[ pour la fonction chaotique
La graine X
0
admet c chires decimaux o` u c = Floor[log
10
M] + 3
3
`eme
etape : Boucle sur le vecteur binaire I
bi
in
et permutations
Q
1
= I
bi
in
[i ], (1)
Q
2
= I
bi
in
[j ] = I
bi
in
[i + 1 + [Floor[X
i +1
] mod S]], (2)
Q
3
= Q
1
Q
2
, (3)
I
bi
in
[i ] = Q
3
puis I
bi
in
[j ] = Q
1
, (4)
avec = 10
c
et la valeur de S est initialisee `a M 1 et decrementee apr`es chaque iteration.
4
`eme
etape : rassemblement des bits par paquet de log
2
N
Les bits du vecteur I
bi
in
sont rassembles par paquet de log
2
N pour
produire un nouveau vecteur I
1
de taille N.
Ces quatre etapes constituent le schema pour un tour (T = 1) sur le vecteur initial dentree I
in
avec la graine X
0
.
7/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Generateur base sur une fonction chaotique standard
Principe algorithmique du generateur
Construction de la sequence pseudo-aleatoire
Pour construire la sequence pseudo-aleatoire, trois cartes
chaotiques sont construites en appliquant iterativement
lalgorithme sur I
in
.
I
in
l tours
I
l
l tours
I
2l
l tours
I
3l
o` u l = T/3 avec T mod 3 = 0.
Les trois vecteurs chaotiques I
l
, I
2l
et I
3l
sont melanges avec
loperateur xor pour produire le vecteur I
out
de taille N.
I
out
= I
l
I
2l
I
3l
.
8/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Generateur base sur une fonction chaotique standard
Principe algorithmique du generateur
Calcul du nombre de tours
Entropie de lespace des cles :
[10
c
1]
T
> 2
128
= T
1
= Floor

128
log
2
(10
c
1)

+ 1.
Entropie de Shannon de I
in
: Supposons que dans I
in
la probabilite dapparition du bit 0
(resp. 1) est de p
0
(0) (resp. p
0
(1) = (1 p
0
(0))).
`
A chaque nouveau tour t, la probabilite p
t
(0) est modiee
iterativement par :
p
t
(0) = [p
2
t1
(0) + (1 p
t1
(0))
2
] t 1.
La limite de la suite p
t
(0) doit converger vers la valeur 0.50, alors on
obtient :
lim
t>T
2
p
t
(0) = 0.50
1
,
avec
1
une tolerance permise (e.g.
1
= 0.001).
9/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Generateur base sur une fonction chaotique standard
Principe algorithmique du generateur
Sensibilite au vecteur dentree I
in
: Soient I
in
et I

in
deux vecteurs qui ne di`erent que
dun bit. La probabilite s
0
des elements identiques entre ces deux vecteurs est s
0
= (M 1)/M. Cette probabilite
evolue selon :
s
r
=

s
(0)
r 1

2
+

1 s
(0)
r 1

r 1,
Au tour T
3
, la probabilite des elements identiques s
r
doit satisfaire la relation :
lim
r >T
3
s
r
= 0.50
2
,
avec
2
=
1
.
Le nombre de tours de lalgorithme est donne par :
T = max{T
1
, T
2
, T
3
} + ,
avec = [3 max{T
1
, T
2
, T
3
} mod 3] assurant que T soit un nombre multiple de 3.
10/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Generateur base sur une fonction chaotique standard
Resultats et analyses statistiques
Analyse dun ensemble de sequences produites
On consid`ere deux vecteurs initiaux de tailles N = 2048, donnes
par I
1
in
= [0, 1, . . . , 2047] et I
2
in
= [2011, 0, . . . , 0].
Le nombre de tours est de T = 18 et la precision c = 7.
Les 17 premi`eres valeurs de graines {X
1
0
, . . . , X
17
0
} sont choisies
arbitrairement dans lintervalle ]0, 1[ et les valeurs de graines prises
dans le dernier tour sont consecutives
X
18
0
{0.4603520, . . . , 0.4643519}.
Dans chaque cas, on produit 40000 sequences de tailles 22528,
lesquelles sont analysees statistiquement.
11/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Generateur base sur une fonction chaotique standard
Resultats et analyses statistiques (Resultats des tests NIST pour I
1
in
)
Test APP-SI APP-SC APP-SR
Sequences individuelles Sequence concatenee Sequences resultantes
en % Resultat p
value
Resultat en % Resultat
Frequency 99.06 Succ`es 0.7282 Succ`es 98.63 Succ`es
Block-Freq 99.05 Succ`es 0.2854 Succ`es 98.68 Succ`es
C. Sums (1) 99.02 Succ`es 0.6969 Succ`es 98.73 Succ`es
C. Sums (2) 99.05 Succ`es 0.8876 Succ`es 98.82 Succ`es
Runs 98.95 Succ`es 0.6066 Succ`es 98.97 Succ`es
Longest Run 99.02 Succ`es 0.0108 Succ`es 98.82 Succ`es
Rank 98.87 Succ`es 0.7395 Succ`es 98.82 Succ`es
FFT 98.85 Succ`es 0.8487 Succ`es 98.87 Succ`es
Non-Overlap 98.85 Succ`es 0.0241 Succ`es 98.43 Succ`es
Overlap 98.89 Succ`es 0.3011 Succ`es 98.87 Succ`es
Universal - - 0.5855 Succ`es 98.38 Succ`es
Appro. Ent 98.91 Succ`es 0.9938 Succ`es 98.38 Succ`es
Rand. Ex 96.29 Succ`es 0.2473 Succ`es 98.66 Succ`es
Rand. E-Va 96.29 Succ`es 0.1956 Succ`es 98.90 Succ`es
Serial (1) 98.96 Succ`es 0.9588 Succ`es 98.87 Succ`es
Serial (2) 99.00 Succ`es 0.4846 Succ`es 98.38 Succ`es
Linear Comp 98.95 Succ`es 0.8738 Succ`es 98.92 Succ`es
12/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Generateur base sur une fonction chaotique standard
Resultats et analyses statistiques (Resultats des tests NIST pour I
2
in
)
Test APP-SI APP-SC APP-SR
Sequences individuelles Sequence concatenee Sequences resultantes
en % Resultat p
value
Resultat en % Resultat
Frequency 99.00 Succ`es 0.4877 Succ`es 98.38 Succ`es
Block-Freq 99.06 Succ`es 0.2689 Succ`es 98.58 Succ`es
C. Sums (1) 98.98 Succ`es 0.8114 Succ`es 98.73 Succ`es
C. Sums (2) 98.98 Succ`es 0.4487 Succ`es 98.38 Succ`es
Runs 98.94 Succ`es 0.6222 Succ`es 99.26 Succ`es
Longest Run 99.05 Succ`es 0.2035 Succ`es 99.07 Succ`es
Rank 98.95 Succ`es 0.7277 Succ`es 98.82 Succ`es
FFT 98.87 Succ`es 0.3328 Succ`es 98.97 Succ`es
Non-Overlap 98.87 Succ`es 0.0181 Succ`es 98.38 Succ`es
Overlap 98.93 Succ`es 0.4219 Succ`es 98.53 Succ`es
Universal - - 0.6268 Succ`es 98.53 Succ`es
Appro. Ent 98.86 Succ`es 0.7852 Succ`es 99.02 Succ`es
Rand. Ex 90.90 Succ`es 0.0268 Succ`es 98.48 Succ`es
Rand. E-Va 95.45 Succ`es 0.2692 Succ`es 98.80 Succ`es
Serial (1) 98.93 Succ`es 0.5358 Succ`es 98.73 Succ`es
Serial (2) 98.97 Succ`es 0.2559 Succ`es 98.77 Succ`es
Linear Comp 98.63 Succ`es 0.2396 Succ`es 98.48 Succ`es
13/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Generateur base sur une fonction chaotique standard
Resultats et analyses statistiques (Resultats des tests de correlation)
Histogramme de la distribution des coecients de
correlation sur lintervalle [0.008, 0.008]
1
I
in
2
I
in
0
2
4
6
8
10
12
14
0.08 0.06 0.04 0.02 0 0.02 0.04 0.06 0.08
Valeurs des coefficients de corrlation
F
r

q
u
e
n
c
e

(
e
n

%
)
14/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Generateur base sur une fonction chaotique standard
Resultats et analyses statistiques (Sensibilite aux vecteur initial et graines)
Sensibilite par rapport au vecteur initial
On consid`ere 2 groupes de trois vecteurs initiaux proches donnes
par :
J
1,a
in
= [0, 1, 2, . . . , 8388607] | K
1,a
in
= [2011, 0, . . . , 0]
J
1,b
in
= [1, 1, 2, . . . , 8388607] | K
1,b
in
= [2010, 0, . . . , 0]
J
1,c
in
= [0, 0, 2, . . . , 8388607] | K
1,c
in
= [2012, 0, . . . , 0]
Dans chaque cas, on produit 3 sequences pseudo-aleatoires en utilisant un
ensemble de 30 graines {X
1
0
, . . . , X
30
0
} choisies arbitrairement dans ]0, 1[.
Sequences 1/2 J
1,a
out
/J
1,b
out
J
1,a
out
/J
1,c
out
J
1,b
out
/J
1,c
out
Coef. de correlation 0.000021 0.000013 0.000013
Sequences 1/2 K
1,a
out
/K
1,b
out
K
1,a
out
/K
1,c
out
K
1,b
out
/K
1,c
out
Coef. de correlation 0.000174 0.000181 0.000174
15/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Generateur base sur une fonction chaotique standard
Resultats et analyses statistiques (Sensibilite aux vecteur initial et graines)
Sensibilite par rapport aux graines
On xe le vecteur initial `a J
in
= [0, 1, . . . , 8388607] (resp.
K
in
= [2011, 0, . . . , 0]).
Dans chaque cas, on produit trois sequences pseudo-aleatoires en
utilisant 3 ensembles de graines proches :
X
1,a
in
= {X
1
0
, . . . , X
29
0
, X
30,a
0
} avec X
30,a
0
= 0.37201638375
X
1,b
in
= {X
1
0
, . . . , X
29
0
, X
30,b
0
} avec X
30,b
0
= 0.37201638374
X
1,c
in
= {X
1
0
, . . . , X
29
0
, X
30,c
0
} avec X
30,c
0
= 0.37201638376
Sequences 1/2 J
1,a
out
/J
1,b
out
J
1,a
out
/J
1,c
out
J
1,b
out
/J
1,c
out
Coef. de correlation 0.000389 0.000047 0.000505
Sequences 1/2 K
1,a
out
/K
1,b
out
K
1,a
out
/K
1,c
out
K
1,b
out
/K
1,c
out
Coef. de correlation 0.000543 0.000330 0.000772
16/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Generateur base sur une nouvelle fonction chaotique
MGBR-11
La fonction chaotique utilisee
Pour eviter le probl`eme des nombres reels, une nouvelle fonction
chaotique enti`ere basee sur des congruences lineaires est utilisee.
La fonction (sous forme iterative) est donnee par :
X
n+1
=

X
2
n
mod C

X
n
+ X
g

mod C,
o` u X
0
= g, X
g
= g
2
, dont la valeur de la graine g {1, . . . , M}
avec M la taille binaire du vecteur initial dentree. La valeur C est
initialisee `a M 1 et decrementee de 1 apr`es chaque iteration.
Le processus algorithmique ainsi que la determination du nombre
de tours T sont les memes que pour 3-Mixer.
(Ce PRNG ne sera pas detaille)
17/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Generateur base sur une nouvelle fonction chaotique
Comparaison entre les deux generateurs bases chaos
Comparaison entre les deux generateurs bases chaos
Temps dexecution :
Taille seq. N = 512 N = 1024 N = 2048 N = 65536 N = 524288
(en bits) M = 4608 M = 10240 M = 22528 M = 1048576 M = 4718592
3-Mixer 0.01 s 0.03 s 0.08 s 5.47 s 72 s
MGBR-11 0.00 s 0.01 s 0.03 s 2.51 s 45.89 s
Espace memoire :
Le generateur 3-Mixer demande de sauvegarder un vecteur
supplementaire pour la production de la sequence pseudo-aleatoire.
Qualites des sequences :
Les deux generateurs produisent des sequences pseudo-aleatoires
avec de bonnes proprietes statistiques.
Portabilite du programme :
3-Mixer est processeur dependant (utilisation des nombres reels)
tandis que MGBR-11 na pas de probl`eme de portabilite.
18/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Sommaire
1
Introduction
2
Generateurs de nombres (pseudo)-aleatoires bases sur des
syst`emes physiques
Plasmonique
Mesures interferometriques
3
Generateurs de nombres pseudo-aleatoires bases sur des
fonctions chaotiques
Fonction chaotique standard
Nouvelle fonction chaotique
4
Application au chirement dimages
Fonction chaotique standard
19/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Application au chirement dimages
Description de lalgorithme
Lalgorithme utilise la fonction f (x) = 3.9999X(1 X) et le meme
principe de permutation-substitution que le generateur 3-Mixer.
Transformation
en vecteur 1D
I
I
I
SubstitutionPermutation
SubstitutionPermutation
Tour 1
Tour 2
0
b
b
1
2
b
SubstitutionPermutation
Transformation
Tour R
I
R
b
I
r
b
Tour r
en image
Image originale I
0
Image chiffre I
R
Figure: Les principales etapes de lalgorithme de chirement.
20/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Application au chirement dimages
Analyse de la propagation de variation des pixels
Propagation des pixels en fonction du nombre de tours
(a) T = 0 tours (b) T = 1 tour (c) T = 2 tours (d) T = 5 tours
(e) T = 7 tours (f) T = 9 tours (g) T = 11 tours (h) T = 23 tours
21/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Application au chirement dimages
Resultats et analyses statistiques
Sachant que le principe est le meme, un format dimage est utilise
pour les tests : une image couleur RGB.
(i) Image couleur RGB 173 249 (j) Image chiree correspondante
22/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Application au chirement dimages
Resultats et analyses statistiques
Analyse de sensibilite `a la cle
Le nombre de tours est T = 23 et la precision est d = 9.
Les valeurs des graines sont donnees par le tableau suivant :
Graines Valeurs (d = 9)
X
1,...,3
0
0.372517362 0.073559321 0.875371003
X
4,...,6
0
0.034203719 0.984941322 0.403519327
X
7,...,9
0
0.487302137 0.392510603 0.302543081
X
10,...,12
0
0.812174032 0.665371032 0.004723821
X
13,...,15
0
0.950317340 0.910451945 0.740255912
X
16,...,18
0
0.482664019 0.103619439 0.308598253
X
19,...,21
0
0.018036430 0.804104810 0.282906931
X
22,23
0
0.296051483 0.571410332 -
Sur la derni`ere graine, une boucle est eectuee de 0.571410332 `a
0.571411131 par incrementation de 10
9
pour obtenir 800 cles (et
donc 800 chires).
23/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Application au chirement dimages
Resultats et analyses statistiques (Resultats des tests NIST)
Image du desert
Test en % Resultat Test en % Resultat
Frequency 98.50 Succ`es Non-Overlap 99.00 Succ`es
Block-Freq 99.12 Succ`es Overlap 98.87 Succ`es
C. Sums (1) 98.50 Succ`es Universal 98.62 Succ`es
C. Sums (2) 98.62 Succ`es Appro. Ent 98.12 Succ`es
Runs 98.62 Succ`es Rand. Ex 98.45 Succ`es
Longest Run 99.62 Succ`es Rand. E-Va 98.45 Succ`es
Rank 99.12 Succ`es Serial (1/2) 99.37/99.00 Succ`es
FFT 99.12 Succ`es Linear Comp 99.00 Succ`es
0
2
4
6
8
10
12
14
0.01 0.00750.0050.0025 0 0.0025 0.005 0.0075 0.01
Coefficient de corrlation
F
r

q
u
e
n
c
e

(
e
n

%
)
Histogrammes des coecients de correlation entre les 800 images chirees de limage du desert.
24/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Application au chirement dimages
Resultats et analyses statistiques
Analyse de sensibilite `a limage dorigine
Une petite variation est apportee sur limage initiale an de
generer plusieurs images proches.
Pour limage RGB, le pixel (0, 0) situe en haut `a gauche est code
par les valeurs [94, 148, 179] (bleu, vert, rouge).
La valeur de la composante bleue (94) est incrementee de 1 (i.e.
94 `a 233) pour former 140 images consecutives.
Les images de depart sont chirees avec une meme cle donnant
ainsi 140 images chirees.
25/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Application au chirement dimages
Resultats et analyses statistiques (Resultats des tests NIST)
Image du desert
Test en % Resultat Test en % Resultat
Frequency 100.00 Succ`es Non-Overlap 97.85 Succ`es
Block-Freq 99.28 Succ`es Overlap 99.28 Succ`es
C. Sums (1) 100.00 Succ`es Universal 97.85 Succ`es
C. Sums (2) 100.00 Succ`es Appro. Ent 97.14 Succ`es
Runs 97.85 Succ`es Rand. Ex 97.67 Succ`es
Longest Run 100.00 Succ`es Rand. E-Va 97.67 Succ`es
Rank 98.57 Succ`es Serial (1/2) 98.57/98.57 Succ`es
FFT 99.28 Succ`es Linear Comp 100.00 Succ`es
0
2
4
6
8
10
12
14
16
18
20
0.010.0080.0060.0040.002 0 0.002 0.004 0.006 0.008 0.01
F
r

q
u
e
n
c
e

(
e
n

%
)
Coefficient de corrlation
Histogrammes des coecients de correlation entre les 140 images chirees de limage du desert.
26/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Application au chirement dimages
Resultats et analyses statistiques (Temps de chirement et entropie)
Comparaison avec dautres algorithmes
Taille de limage Algorithme propose Algorithme reference [1, 2]
(8 bits/pixel) Temps (s) Entropie Temps (s) Entropie
256 256 2.25 654 6.01 [1] 84
1.01 [2] 113
512 512 11.10 713 36.53 [1] 84
4.73 [2] 113
1024 1024 58.89 773 253.87 [1] 84
19.78 [2] 113
[1] T. Gao and Z. Chen, Image encryption based on a new total shuing algorithm, Chaos, Solitons Fractals 38 (1)
(2008) 213220.
[2] X. Wang and J. Zhang, An image scrambling encryption using chaos-controlled Poker shue operation, in :
Proceedings of International Symposium on Biometrics and Security Technologies, 23-24 April 2008, pp. 16.
27/28
G

EN

ERATION DE NOMBRES PSEUDO-AL

EATOIRES BAS

EE CHAOS
Questions
MERCI DE VOTRE ATTENTION
28/28