Michael Francois EJCIM
-
Upload
abdou-charef -
Category
Documents
-
view
15 -
download
1
Transcript of 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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
GENERATION DE NOMBRES PSEUDO-ALEATOIRES BASEE CHAOS
Questions
MERCI DE VOTRE ATTENTION
28/28