Michael Francois EJCIM

28
G ´ EN ´ ERATION DE NOMBRES PSEUDO-AL ´ EATOIRES BAS ´ EE CHAOS EJCIM, Perpignan 8 -12 Avril 2013 en´ eration de nombres pseudo-al´ eatoires bas´ ee sur des fonctions chaotiques Vendredi 12 Avril 2013 Michael FRANC ¸ OIS ´ Ecole Jeunes Chercheurs en Informatique-Math´ ematiques 1/28

Transcript of Michael Francois EJCIM

Page 1: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

EJCIM, Perpignan 8 -12 Avril 2013

Generation de nombres pseudo-aleatoiresbasee sur des fonctions chaotiques

Vendredi 12 Avril 2013

Michael FRANCOIS

Ecole Jeunes Chercheurs en Informatique-Mathematiques

1/28

Page 2: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Sommaire

Sommaire

1 Introduction

2 Generateurs de nombres pseudo-aleatoires bases sur desfonctions chaotiques◦ Fonction chaotique standard

◦ Nouvelle fonction chaotique

3 Application au chiffrement d’images◦ Fonction chaotique standard

2/28

Page 3: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Introduction

Introduction

Qu’est-ce qu’une 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

Page 4: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Sommaire

1 Introduction

2 Generateurs de nombres pseudo-aleatoires bases sur desfonctions chaotiques◦ Fonction chaotique standard

◦ Nouvelle fonction chaotique

3 Application au chiffrement d’images◦ Fonction chaotique standard

4/28

Page 5: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Generateur base sur une fonction chaotique standard

3-Mixer

La fonction chaotique utiliseeLa fonction chaotique est de la forme : F (X ) = r X (1− X ).Elle peut etre mise sous la forme d’une suite logistique dont larecurrence est donnee par :

Xn+1 = r Xn(1− Xn), avec n ≥ 0.

Figure: Diagramme de bifurcations de la suite logistique5/28

Page 6: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Generateur base sur une fonction chaotique standard

3-Mixer

La fonction chaotique utilisee

Le generateur utilise la fonction chaotique (sous forme iterative)suivante :

Xn+1 = 3.9999Xn(1− Xn), avec n ≥ 0 et Xn ∈ ]0, 1[.

Cette fonction est utilisee pour calculer des positions dans unvecteur initial. Celles-ci sont permutees durant le processus iteratif.

Le principe algorithmique est compose de quatre etapes.

6/28

Page 7: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Generateur base sur une fonction chaotique standard

Principe algorithmique du generateur

Construction de la sequence pseudo-aleatoire1ere etape : choix d’un vecteur initial Iin de taille N (M = N × log2 N)

2eme etape : choix d’une graine X0 ∈ ]0, 1[ pour la fonction chaotique

La graine X0 admet c chiffres decimaux ou c = Floor[log10 M] + 3

3eme etape : Boucle sur le vecteur binaire I biin et permutations

Q1 = I biin [i ], (1)

Q2 = I biin [j ] = I biin [i + 1 + [Floor[βXi+1] mod S ]], (2)

Q3 = Q1 ⊕ Q2, (3)

I biin [i ] = Q3 puis I biin [j ] = Q1, (4)avec β = 10c et la valeur de S est initialisee a M − 1 et decrementee apres chaque iteration.

4eme etape : rassemblement des bits par paquet de log2 N

Les bits du vecteur I biin sont rassembles par paquet de log2 N pour

produire un nouveau vecteur I1 de taille N.

Ces quatre etapes constituent le schema pour un tour (T = 1) sur le vecteur initial d’entree Iin avec la graine X0.

7/28

Page 8: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE 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 carteschaotiques sont construites en appliquant iterativementl’algorithme sur Iin.

Iinl tours−→ Il

l tours−→ I2ll tours−→ I3l

ou l = T/3 avec T mod 3 = 0.

Les trois vecteurs chaotiques Il , I2l et I3l sont melanges avecl’operateur xor pour produire le vecteur Iout de taille N.

Iout = Il ⊕ I2l ⊕ I3l .

8/28

Page 9: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Generateur base sur une fonction chaotique standard

Principe algorithmique du generateur

Calcul du nombre de toursEntropie de l’espace des cles :

[10c − 1]T > 2128 =⇒ T1 = Floor

[128

log2(10c − 1)

]+ 1.

Entropie de Shannon de Iin : Supposons que dans Iin la probabilite d’apparition du bit ‘0’

(resp. ‘1’) est de p0(0) (resp. p0(1) = (1− p0(0))). A chaque nouveau tour t, la probabilite pt (0) est modifiee

iterativement par :

pt(0) = [p2t−1(0) + (1− pt−1(0))2] ∀t ≥ 1.

La limite de la suite pt(0) doit converger vers la valeur 0.50, alors onobtient :

limt−>T2

pt(0) = 0.50− ε1,

avec ε1 une tolerance permise (e.g. ε1 = 0.001).

9/28

Page 10: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Generateur base sur une fonction chaotique standard

Principe algorithmique du generateur

Sensibilite au vecteur d’entree Iin : Soient Iin et I ′in deux vecteurs qui ne different que

d’un bit. La probabilite s0 des elements identiques entre ces deux vecteurs est s0 = (M − 1)/M. Cette probabilite

evolue selon :

sr =

[(s

(0)r−1

)2+(

1− s(0)r−1

)2]∀r ≥ 1,

Au tour T3, la probabilite des elements identiques sr doit satisfaire la relation :

limr−>T3

sr = 0.50− ε2,

avec ε2 = ε1.

Le nombre de tours de l’algorithme est donne par :

T = max{T1,T2,T3}+ δ,

avec δ = [3− max{T1,T2,T3} mod 3] assurant que T soit un nombre multiple de 3.

10/28

Page 11: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Generateur base sur une fonction chaotique standard

Resultats et analyses statistiques

Analyse d’un ensemble de sequences produites

On considere deux vecteurs initiaux de tailles N = 2048, donnespar I 1

in = [0, 1, . . . , 2047] et I 2in = [2011, 0, . . . , 0].

Le nombre de tours est de T = 18 et la precision c = 7.

Les 17 premieres valeurs de graines {X 10 , . . . ,X

170 } sont choisies

arbitrairement dans l’intervalle ]0, 1[ et les valeurs de graines prisesdans le dernier tour sont consecutivesX 18

0 ∈ {0.4603520, . . . , 0.4643519}.

Dans chaque cas, on produit 40000 sequences de tailles 22528,lesquelles sont analysees statistiquement.

11/28

Page 12: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Generateur base sur une fonction chaotique standard

Resultats et analyses statistiques (Resultats des tests NIST pour I 1in)

Test APP-SI APP-SC APP-SRSequences individuelles Sequence concatenee Sequences resultantesη en % Resultat pvalue Resultat η en % Resultat

Frequency 99.06 Succes 0.7282 Succes 98.63 SuccesBlock-Freq 99.05 Succes 0.2854 Succes 98.68 SuccesC. Sums (1) 99.02 Succes 0.6969 Succes 98.73 SuccesC. Sums (2) 99.05 Succes 0.8876 Succes 98.82 SuccesRuns 98.95 Succes 0.6066 Succes 98.97 SuccesLongest Run 99.02 Succes 0.0108 Succes 98.82 SuccesRank 98.87 Succes 0.7395 Succes 98.82 SuccesFFT 98.85 Succes 0.8487 Succes 98.87 SuccesNon-Overlap 98.85 Succes 0.0241 Succes 98.43 SuccesOverlap 98.89 Succes 0.3011 Succes 98.87 SuccesUniversal - - 0.5855 Succes 98.38 SuccesAppro. Ent 98.91 Succes 0.9938 Succes 98.38 SuccesRand. Ex 96.29 Succes 0.2473 Succes 98.66 SuccesRand. E-Va 96.29 Succes 0.1956 Succes 98.90 SuccesSerial (1) 98.96 Succes 0.9588 Succes 98.87 SuccesSerial (2) 99.00 Succes 0.4846 Succes 98.38 SuccesLinear Comp 98.95 Succes 0.8738 Succes 98.92 Succes12/28

Page 13: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Generateur base sur une fonction chaotique standard

Resultats et analyses statistiques (Resultats des tests NIST pour I 2in)

Test APP-SI APP-SC APP-SRSequences individuelles Sequence concatenee Sequences resultantesη en % Resultat pvalue Resultat η en % Resultat

Frequency 99.00 Succes 0.4877 Succes 98.38 SuccesBlock-Freq 99.06 Succes 0.2689 Succes 98.58 SuccesC. Sums (1) 98.98 Succes 0.8114 Succes 98.73 SuccesC. Sums (2) 98.98 Succes 0.4487 Succes 98.38 SuccesRuns 98.94 Succes 0.6222 Succes 99.26 SuccesLongest Run 99.05 Succes 0.2035 Succes 99.07 SuccesRank 98.95 Succes 0.7277 Succes 98.82 SuccesFFT 98.87 Succes 0.3328 Succes 98.97 SuccesNon-Overlap 98.87 Succes 0.0181 Succes 98.38 SuccesOverlap 98.93 Succes 0.4219 Succes 98.53 SuccesUniversal - - 0.6268 Succes 98.53 SuccesAppro. Ent 98.86 Succes 0.7852 Succes 99.02 SuccesRand. Ex 90.90 Succes 0.0268 Succes 98.48 SuccesRand. E-Va 95.45 Succes 0.2692 Succes 98.80 SuccesSerial (1) 98.93 Succes 0.5358 Succes 98.73 SuccesSerial (2) 98.97 Succes 0.2559 Succes 98.77 SuccesLinear Comp 98.63 Succes 0.2396 Succes 98.48 Succes13/28

Page 14: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Generateur base sur une fonction chaotique standard

Resultats et analyses statistiques (Resultats des tests de correlation)

Histogramme de la distribution des coefficients decorrelation sur l’intervalle [−0.008, 0.008]

1Iin2Iin

0

2

4

6

8

10

12

14

−0.08 −0.06 −0.04 −0.02 0 0.02 0.04 0.06 0.08Valeurs des coefficients de corrélation

Fré

quen

ce (

en %

)

14/28

Page 15: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Generateur base sur une fonction chaotique standard

Resultats et analyses statistiques (Sensibilite aux vecteur initial et graines)

Sensibilite par rapport au vecteur initialOn considere 2 groupes de trois vecteurs initiaux proches donnespar :

J1,ain = [0, 1, 2, . . . , 8388607] | K 1,a

in = [2011, 0, . . . , 0]

J1,bin = [1, 1, 2, . . . , 8388607] | K 1,b

in = [2010, 0, . . . , 0]

J1,cin = [0, 0, 2, . . . , 8388607] | K 1,c

in = [2012, 0, . . . , 0]

Dans chaque cas, on produit 3 sequences pseudo-aleatoires en utilisant unensemble de 30 graines {X 1

0 , . . . ,X300 } choisies arbitrairement dans ]0, 1[.

Sequences 1/2 J1,aout/J

1,bout J1,a

out/J1,cout J1,b

out/J1,cout

Coef. de correlation 0.000021 0.000013 0.000013

Sequences 1/2 K 1,aout/K

1,bout K 1,a

out/K1,cout K 1,b

out/K 1,cout

Coef. de correlation −0.000174 0.000181 0.000174

15/28

Page 16: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Generateur base sur une fonction chaotique standard

Resultats et analyses statistiques (Sensibilite aux vecteur initial et graines)

Sensibilite par rapport aux grainesOn fixe le vecteur initial a Jin = [0, 1, . . . , 8388607] (resp.Kin = [2011, 0, . . . , 0]).

Dans chaque cas, on produit trois sequences pseudo-aleatoires enutilisant 3 ensembles de graines proches :

X 1,ain = {X 1

0 , . . . ,X290 ,X 30,a

0 } avec X 30,a0 = 0.37201638375

X 1,bin = {X 1

0 , . . . ,X290 ,X 30,b

0 } avec X 30,b0 = 0.37201638374

X 1,cin = {X 1

0 , . . . ,X290 ,X 30,c

0 } avec X 30,c0 = 0.37201638376

Sequences 1/2 J1,aout/J

1,bout J1,a

out/J1,cout J1,b

out/J1,cout

Coef. de correlation 0.000389 0.000047 −0.000505

Sequences 1/2 K 1,aout/K

1,bout K 1,a

out/K1,cout K 1,b

out/K 1,cout

Coef. de correlation −0.000543 −0.000330 0.000772

16/28

Page 17: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Generateur base sur une nouvelle fonction chaotique

MGBR-11

La fonction chaotique utilisee

Pour eviter le probleme des nombres reels, une nouvelle fonctionchaotique entiere basee sur des congruences lineaires est utilisee.

La fonction (sous forme iterative) est donnee par :

Xn+1 =[[X 2n mod C

]× Xn + Xg

]mod C ,

ou X0 = g , Xg = g2, dont la valeur de la graine g ∈ {1, . . . ,M}avec M la taille binaire du vecteur initial d’entree. La valeur C estinitialisee a M − 1 et decrementee de 1 apres chaque iteration.

Le processus algorithmique ainsi que la determination du nombrede tours T sont les memes que pour 3-Mixer.(Ce PRNG ne sera pas detaille)

17/28

Page 18: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Generateur base sur une nouvelle fonction chaotique

Comparaison entre les deux generateurs bases chaos

Comparaison entre les deux generateurs bases chaos

• Temps d’execution :

Taille seq. N = 512 N = 1024 N = 2048 N = 65536 N = 524288(en bits) M = 4608 M = 10240 M = 22528 M = 1048576 M = 47185923-Mixer 0.01 s 0.03 s 0.08 s 5.47 s 72 sMGBR-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 vecteursupplementaire pour la production de la sequence pseudo-aleatoire.

• Qualites des sequences :Les deux generateurs produisent des sequences pseudo-aleatoiresavec de bonnes proprietes statistiques.

• Portabilite du programme :3-Mixer est processeur dependant (utilisation des nombres reels)tandis que MGBR-11 n’a pas de probleme de portabilite.

18/28

Page 19: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Sommaire

1 Introduction

2 Generateurs de nombres (pseudo)-aleatoires bases sur dessystemes physiques◦ Plasmonique

◦ Mesures interferometriques

3 Generateurs de nombres pseudo-aleatoires bases sur desfonctions chaotiques◦ Fonction chaotique standard

◦ Nouvelle fonction chaotique

4 Application au chiffrement d’images◦ Fonction chaotique standard

19/28

Page 20: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Application au chiffrement d’images

Description de l’algorithmeL’algorithme utilise la fonction f (x) = 3.9999X (1− X ) et le memeprincipe de permutation-substitution que le generateur 3-Mixer.

Transformation

en vecteur 1D I

I

I

Substitution−Permutation

Substitution−Permutation

Tour 1

Tour 2

0

b

b

1

2

b

Substitution−PermutationTransformation

Tour R

I Rb

I rb

Tour r

en image

Image originale I0

Image chiffrée IR

Figure: Les principales etapes de l’algorithme de chiffrement. 20/28

Page 21: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Application au chiffrement d’images

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 tours21/28

Page 22: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Application au chiffrement d’images

Resultats et analyses statistiques

Sachant que le principe est le meme, un format d’image est utilisepour les tests : une image couleur RGB.

(i) Image couleur RGB 173× 249 (j) Image chiffree correspondante

22/28

Page 23: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Application au chiffrement d’images

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)

X1,...,30 0.372517362 0.073559321 0.875371003

X4,...,60 0.034203719 0.984941322 0.403519327

X7,...,90 0.487302137 0.392510603 0.302543081

X10,...,120 0.812174032 0.665371032 0.004723821

X13,...,150 0.950317340 0.910451945 0.740255912

X16,...,180 0.482664019 0.103619439 0.308598253

X19,...,210 0.018036430 0.804104810 0.282906931

X22,230 0.296051483 0.571410332 -

Sur la derniere graine, une boucle est effectuee de 0.571410332 a0.571411131 par incrementation de 10−9 pour obtenir 800 cles (etdonc 800 chiffres).

23/28

Page 24: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Application au chiffrement d’images

Resultats et analyses statistiques (Resultats des tests NIST)

Image du desertTest τ en % Resultat Test τ en % ResultatFrequency 98.50 Succes Non-Overlap 99.00 SuccesBlock-Freq 99.12 Succes Overlap 98.87 SuccesC. Sums (1) 98.50 Succes Universal 98.62 SuccesC. Sums (2) 98.62 Succes Appro. Ent 98.12 SuccesRuns 98.62 Succes Rand. Ex 98.45 SuccesLongest Run 99.62 Succes Rand. E-Va 98.45 SuccesRank 99.12 Succes Serial (1/2) 99.37/99.00 SuccesFFT 99.12 Succes Linear Comp 99.00 Succes

0

2

4

6

8

10

12

14

−0.01 −0.0075−0.005−0.0025 0 0.0025 0.005 0.0075 0.01Coefficient de corrélation

Fré

quen

ce (

en %

)

Histogrammes des coefficients de correlation entre les 800 images chiffrees de l’image du desert.

24/28

Page 25: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Application au chiffrement d’images

Resultats et analyses statistiques

Analyse de sensibilite a l’image d’origine

Une petite variation est apportee sur l’image initiale afin degenerer plusieurs images proches.

Pour l’image RGB, le pixel (0, 0) situe en haut a gauche est codepar 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 chiffrees avec une meme cle donnantainsi 140 images chiffrees.

25/28

Page 26: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Application au chiffrement d’images

Resultats et analyses statistiques (Resultats des tests NIST)

Image du desertTest τ en % Resultat Test τ en % ResultatFrequency 100.00 Succes Non-Overlap 97.85 SuccesBlock-Freq 99.28 Succes Overlap 99.28 SuccesC. Sums (1) 100.00 Succes Universal 97.85 SuccesC. Sums (2) 100.00 Succes Appro. Ent 97.14 SuccesRuns 97.85 Succes Rand. Ex 97.67 SuccesLongest Run 100.00 Succes Rand. E-Va 97.67 SuccesRank 98.57 Succes Serial (1/2) 98.57/98.57 SuccesFFT 99.28 Succes Linear Comp 100.00 Succes

0

2

4

6

8

10

12

14

16

18

20

−0.01−0.008−0.006−0.004−0.002 0 0.002 0.004 0.006 0.008 0.01

Fré

quen

ce (

en %

)

Coefficient de corrélation

Histogrammes des coefficients de correlation entre les 140 images chiffrees de l’image du desert.26/28

Page 27: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Application au chiffrement d’images

Resultats et analyses statistiques (Temps de chiffrement et entropie)

Comparaison avec d’autres algorithmes

Taille de l’image Algorithme propose Algorithme reference [1, 2](8 bits/pixel) Temps (s) Entropie Temps (s) Entropie256× 256 2.25 654 6.01 [1] 84

1.01 [2] 113512× 512 11.10 713 36.53 [1] 84

4.73 [2] 1131024× 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 shuffling algorithm, Chaos, Solitons Fractals 38 (1)(2008) 213–220.

[2] X. Wang and J. Zhang, An image scrambling encryption using chaos-controlled Poker shuffle operation, in :

Proceedings of International Symposium on Biometrics and Security Technologies, 23-24 April 2008, pp. 1–6.

27/28

Page 28: Michael Francois EJCIM

GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS

Questions

MERCI DE VOTRE ATTENTION

28/28