Vous êtes sur la page 1sur 4

4th International Conference on Computer Integrated Manufacturing CIP’2007  03-04 November 2007

Cryptage d’Images par Chiffrement de Vigenère Basé


sur le Mixage des Cartes Chaotiques
Z. Amrani, S Chitroub et A. Boukhari
Laboratoire de traitement du Signal et des Images
Faculté d’Electronique et d’Informatique, U. S. T. H. B.
BP. 32, El – Alia, Bab – Ezzouar, 16111, Alger, Algérie.
zh_amrani@yahoo.fr, s_chitroub@hotmail.com, aissaboukhari@yahoo.fr

Résumé- Dans le domaine des télécommunications, où les littérature inutilisables sous leurs formes classiques, à cause
échanges d’informations multimédias se développent rapidement, des contraintes de la vitesse et de la perte de l’information qui
il est indispensable de pouvoir disposer de systèmes sécurisés pour
peuvent être causées par un cryptosystème classique.
protéger les données à caractère personnel ou confidentiel et
assurer la sécurité des transferts de données. Il est donc nécessaire Ainsi, des travaux récents pour la sécurisation des données
de développer un outil de protection efficace des données images ont été orientés vers la conception des nouveaux
transférées et des communications contre les intrusions algorithmes qui assurent une sécurité fiable tout en minimisant
arbitraires. Le cryptage des données est très souvent le seul le coût de temps de calcul et la perte d’information. Nous
moyen efficace pour répondre à ces exigences. Dans ce contexte, citons par exemple, les algorithmes qui sont basés sur les
un schéma de transfert et d’archivage sécurisé des images par le signaux chaotiques. Un signal chaotique ressemble à un bruit,
chiffrement de Vigenère avec un générateur des clés basé sur le
mixage des cartes chaotiques est proposé dans cet article. Les
mais qui est totalement reproductible du fait qu’il est généré
aptitudes du schéma proposé pour la confusion, la sensibilité à par des modèles mathématiques déterministes. Ce signal est
l’image nette et la clef ont été testées. Les résultats obtenus sensible aux conditions initiales, rendre ainsi difficile sa
montrent l’efficacité du schéma contre les attaques avancées. reproduction si le modèle de génération demeure inconnu.
Cependant, ses inconvénients résident principalement dans la
nécessité d’effectuer des calculs avec une grande précision et
I. INTRODUCTION dans le risque d’avoir réussir d’obtenir la clef initiale, après
La prolifération des terminaux d’accès à l’information ainsi plusieurs tentatives de lancement, et de ce fait, l’attaque du
que l’usage croissant des télécommunications (mettant en cryptosystème devient facile.
oeuvre des transferts de données électroniques de caractères
personnelles) imposent de disposer de techniques fiables, II. CLASSIFICATION DES CRYPTO – SYSTEMES
sécurisées et communément acceptées. En fait, l’utilisation
d’un réseau de communication expose les échanges à certains Les cryptosystèmes peuvent être classés conformément aux
risques, qui nécessitent l’existence de mesures de sécurité différentes caractéristiques. Ainsi, selon les types des clefs
adéquates. Par exemple, les images à transmettre peuvent être utilisées, on a la catégorie suivante des cryptosystèmes :
enregistrées et copiées durant leur parcours sans pertes de systèmes symétriques, systèmes asymétriques et systèmes
qualité. Les images piratées peuvent être par la suite le sujet hybrides. Une autre catégorie des cryptosystèmes est basée sur
d’un échange de données et de stockage numérique illégal. Il les techniques de chiffrement : chiffrement par bloc ou
est donc nécessaire de développer un outil de protection chiffrement par flot. Notion de sécurité est une autre
efficace des données transférées contre les intrusions caractéristique qui peut être utilisée pour classes les
arbitraires. Le cryptage des données est très souvent le seul cryptosystèmes. Ainsi, on a les systèmes à sécurité parfaite ou
moyen efficace pour répondre à ces exigences. D’après inconditionnelle, les systèmes à sécurité sémantique et les
Shannon, les techniques de bases [1] pour un système de systèmes à sécurité calculatoire liée à la quantité de ressources
cryptage peuvent être classées en deux catégories principales : informatiques. Cette classification a été inspire à partir de la
transformation des valeurs (confusion) et permutation des référence [2]. L'algorithme proposé dans cet article est un
positions (diffusion). La combinaison entre les deux classes est algorithme de chiffrement par bloc à clef symétrique.
aussi possible. Dans la littérature, plusieurs algorithmes ont été
développés et analysés. III. RELATION ENTRE LE CHAOS ET LES CRYPTOSYSTEMS
Dans cet article, on s’intéresse à la sécurisation des données
images, qui sont considérées comme des données particulières Tout d’abord, nous notons qu’il y a une forte ressemblance
en raison de leurs tailles et de leurs informations qui sont de entre les systèmes chaotiques et les cryptosystèmes
natures bidimensionnelles et redondantes. Ces particularités symétriques à chiffrement par bloc [3].
des données rendent les algorithmes développés dans la
4th International Conference on Computer Integrated Manufacturing CIP’2007  03-04 November 2007

Pour commencer, un cryptosystème est dit bon s’il satisfera V. GENERATEUR CHAOTIQUE
les trois caractéristiques suivantes : 1) transformation aléatoire Pour ce schéma, deux cartes chaotiques sont utilisées [8], la
des données nettes aux données chiffrées sans garder aucune carte logistique [6] (expression (2)) et la carte de Chebyshev
information sur les données nettes, 2) soit fortement sensible [7] (expression (3)) :
aux données nettes de telle sorte qu’un plus petit changement
dans les données nettes engendre des données chiffrées xn+1 = µ xn (1 - xn) avec xn ∈ [0,1] (2)
complètement différentes, 3) soit aussi fortement sensible à la
clef de telle sorte qu’un plus petit changement dans la clef xn+1 = cos (4 acos ( xn) ) avec xn ∈ [-1,1] (3)
donne une naissance à des nouvelles données chiffrées
complètement différentes. Une autre caractéristique importante La figure 1, présente l’attracteur de l’équation logistique, qui
des cryptosystèmes symétriques et qu’ils utilisent quelques justifie le choix du paramètre μ = 3.9999 [9].
fonctions de chiffrage en mode itératif qui est une condition Avant la génération des séquences aléatoires, la clef doit
pratique pour certains cryptosystèmes populaires. subir à des transformations chaotiques pour que sa taille
En ce qui concerne les caractéristiques particulières des devienne un multiple de 32 bits. A la fin de ces
systèmes chaotiques, notons qu’un système chaotique est transformations, la clef est découpée et normalisée en blocs de
constitué de quelques fonctions de base f qui sont itérées sur un 32 bits, qui présentent les valeurs initiales du générateur
ensemble X. Le fonctionnement d’un tel système consiste à chaotique. La sortie de ce dernier sera quantifiée sur 8 bits (de
remplir les conditions suivante : 1) soit un mélangeur, ceci 0 à 255) qui présentent les séquences aléatoires et les valeurs
signifie que l’ensemble X devrait être aléatoirement mélangé virtuelles.
par la répétition de l’action de f, 2) soit sensible à l’état initial
de telle sorte qu’une légère modification dans les états initiaux VI. DESCRIPTION DE L’ALGORITHME PROPOSE
engendra des états complètement différents, 3) soit sensible
aux certains paramètres de contrôle et un léger changement On peut mettre l’image sous forme d’un vecteur et on
dans ces paramètres causera un changement dans les propriétés applique le chiffrement de Vigenère directement comme il a
de la carte chaotique. été défini dans [4] et [5]. Dans notre cas, nous avons découpé
En comparant entres les particularités d’un cryptosystème et l’image en blocs. Chaque bloc est une ligne ou une colonne de
les caractéristiques d’un système chaotique, il est évident que la matrice image. Ce choix a été effectué afin que l’application
le chiffrage et le chaos montrent des similarités remarquables, de chiffrement de Vigenère ne perde pas sa robustesse vis – à
si nous considérons que les données nettes correspond à un état vis la taille de la matrice image.
initial, la clef correspond à l’ensemble des paramètres, et la Pour chaque bloc de taille N, nous générons une séquence
fonction de chiffrage correspond à la fonction de base f. aléatoire α, de dimension N + k – 1, et k valeurs virtuelles. En
Cependant, il y a une différence importante entre ces deux utilisant l’équation (1), les étapes pratiques de l’algorithme de
concepts. En fait, le cryptosystème travaille sur des ensembles chiffrement peuvent être exprimées comme suit :
finis (discrets), alors que le système chaotique est conçu pour
travailler sur des ensembles infinis (continus). C’est (1) Introduire la clef, l’ordre de récurrence k et le nombre
probablement la raison principale pour laquelle la relation entre d’itérations.
le chaos et le chiffrage a été restée inaperçue. (2) Découper la clef en blocs de 32 bits et les normaliser par
rapport à 1 pour l’élaboration de k’.
(3) Générer α et les valeurs virtuelles pour un bloc en
IV. LE CHIFFREMENT DE VIGENERE POUR LES IMAGES utilisant le générateur chaotique initialisé par les valeurs
D’une manière générale, dans le chiffrement de Vigenère, la de k’.
longueur de la clef peut éventuellement être aussi longue que le (4) Chiffrer le bloc courant en utilisant l’équation (1).
message [4], [5] qui définit le chiffrement de Vigenère pour (5) Extraire une nouvelle clef k’ à partir du signal chaotique
une valeur b(n) par : actuel.
(6) Répéter les étapes (3), (4) et (5) jusqu’à la dernière ligne
k de l’image.
b' ( n) = b( n) + ∑ α (i )b' ( n − i ) pour n ∈]k , N ] (1)
i =1 Ainsi l’image obtenue doit subir aux mêmes opérations,
étapes (3), (4), (5) et (6), mais cette fois-ci les blocs sont les
avec b’(n) est le résultat de chiffrement de b(n), b’(n-i) est le
colonnes. La même procédure (chiffrement en lignes et ainsi en
résultat de chiffrement de b(n-i), α(i) est une séquence
colonnes) se répète jusqu'à ce que le nombre d’itérations fixé
aléatoire, k est l’ordre de récurrence et N est la longueur du
soit atteint. Cette procédure de chiffrement est répétée à partir
message. Pour les premiers valeurs (les indices n ∈ [1, k ] ), les de l’étape 3 sur l’image résultante de l’itération précédente.
valeurs précédentes sont fixées d’une manière aléatoire. Ces
valeurs initiales sont appelées valeurs virtuelles.
4th International Conference on Computer Integrated Manufacturing CIP’2007  03-04 November 2007

TABLE I
VARIATION DU TEMPS DE CALCUL MOYEN DE CHIFFREMENT ET
DECHIFFREMENT EN FONCTION DU NOMBRE D’ITERATIONS ET L’ORDRE DE
RECURRENCE
Nombre 1 5 10
d’itérations \ k
1 0.21 0.24 0.29
5 0.77 0.94 1.14
10 1.57 1.96 2.27

TABLE II
NIVEAUX DE CONFUSION
NPCR MAE MSE
Image Claire 0.03051 0.00573 0.00142
Image Chiffrer 99.58801 33.51814 16.85499
Fig. 1. Attracteur de l’équation logistique.

VII. ANALYSE DE LA SECURITE


La mesure cruciale de la qualité d’un cryptosystème est ses
possibilités de résister aux tentatives d’attaque. Cette mesure
s’appelle la sécurité [10]. Dans cet article, l’évaluation de la
sécurité du cryptosystème conçu es basée sur les critères
suivants : la vitesse de l’algorithme, l’attaque différentielle,
l’analyse statistique et l’analyse de l’espace des clefs. Les
testes en été effectues sur un PC Intel PIV, 2.6 GHz et 256 (a) (b)
DDR et avec une clef de 128 bits.
Fig. 2. Image originale (a) et image chiffrée (b).
A. Vitesse de l’algorithme
On résume les différents lancements avec des nombres
d’itérations et des ordres de récurrence k différents dans le
tableau 1. D’après le tableau, la vitesse de cet algorithme n’est
pas très influencée par k inversement à l’algorithme Vigenère
conventionnelle [4], [5]. Par contre, le temps de calcul est
linaire avec le nombre d’itérations.
B. Attaque statistique
Ce type d’attaque considère le cryptosystème comme une
boite noire, il analyse statistiquement les entres et les sortis de Fig. 3. Image différence entre les images chiffrées.
ce système.
Le facteur NPCR (Number of Pixels Change Rate) donné 1 M N
dans l’expression (4), l’erreur absolue moyenne (MAE : Mean NPCR = ∑ ∑ D(i, j ) (4)
MN i =1 j =1
Absolute Error) donnée dans l’expression (6) et l’erreur
quadratique moyenne (MSE :Mean Square Error) donnée dans
⎧0 Si Imo(i,j)=Imc(i,j)
l’expression (7) sont des mesures que nous avons utilisé dans D(i, j ) = ⎨ (5)
cet article pour quantifier la différence entre deux images de ⎩1 Si Imo(i,j)≠Imc(i,j)
même dimensions avec des manières différentes. En outre, ces
mesures nous permettent d’évaluer la différences entre l’image 1 M N ImO (i, j ) − ImC (i, j )
MAE = ∑∑ (6)
originale et l’image chiffrer d’une part, et la distorsion dans MN i =1 j =1 255
l’image déchiffrée d’autre part. Le tableau 2 résume les valeurs
des différentes mesures obtenues après les testes qui ont été
(ImO (i, j ) − ImC (i, j )) 2
M N
1
effectues sur une image originale (Fig. 2.a, image de taille
256*256 en niveau de gris) et sa version chiffrée (Fig. 2. b).
MSE =
MN ∑∑
i =1 j =1 2552
(7)

Une autre image chiffrée est obtenue en faisant changer 20


octets dans l’image originale est en chiffrant l’image résultante L’analyse statistique est basée sur l’utilisation de la notion
pat la même clef. L’image différence entre les deux versions de l’entropie, H(ng) donnée dans l’expression (8), et sur le
chiffrées est présentée par la figure 3. calcul du coefficient de corrélation entre les pixels adjacents rxy
donné dans l’expression (9). Ces deux mesures statistiques
nous donnent une idée sur la capacité du cryptosystème de
4th International Conference on Computer Integrated Manufacturing CIP’2007  03-04 November 2007

résister aux attaques qui réduisent l’espace d’une recherche TABLE III
COEFFICIENTS DE CORRÉLATION DES PIXELS ADJACENTS DANS DEUX
exhaustive. H(ng) est l’entropie de la source ng qui est les IMAGES
niveaux de gris de l’image : Corrélation Image claire Image chiffrer
Horizontal 0.98506 0.00993
255

∑ P(ng ) log
Vertical 0.97171 -0.07076
H ( ng ) = − i 2 (P ( ng i )) (8) Diagonal principal 0.98123 0.03618
i =0 Diagonal anti-principal 0.98782 0.03532

P(ngi) est la probabilité d’apparition du niveau de gris ngi dans


l’image. rxy caractérise l’homogénéité des pixels adjacents :

rxy = cov( x, y ) ( var( x) var( y ) ) (9)

N
1
cov( x, y ) =
N ∑ (x
i =1
i − E ( x))( y i − E ( y )) (10)

N N
1 1
avec E ( x) =
N ∑x
i =1
i et var( x) =
N ∑ (x
i =1
i − E ( x)) 2 (a) (b)

cov(x,y) est la covariance, E(x) est l’espérance mathématique et


var(x) est la variance. Les résultats de la corrélation sont
résumés dans le tableau 3. L’entropie a donné 7.67053 pour
l’image originale et 7.99733 pour l’image chiffrée. D’après ces
résultats de corrélation de l’entropie, l’algorithme proposé
présente des bonnes aptitudes pour la confusion et la diffusion,
et peut résister aux attaques statistiques.
C. Analyse de l’espace des clés
(c)
D’après [4] et [5], la taille de la clef peut être plus long que
la taille du message. Dans notre cas, le message correspond à
un bloc et donc l’ordre de sa taille en octet peut varier de un à Fig. 4. Images déchiffrées avec des clefs différentes de la clef de chiffrement.
la taille du bloc le plus petit, de plus qu’elle soit un multiple de
REFERENCES
32 bits. Ceci est valable si on veut que tous les bits aient le
même poids d’importance pour la génération des séquences [1] Ming Yang, Nikolaos Bourbakis, and Shujun Li, "Data-image-video
encryption," IEEE potentials, pp. 28-34, August/September 2004.
chaotiques. Pour les testes de la sensibilité aux clefs, on chiffre [2] José Marconi M. Rodrigues, Transfert sécurisé d’images par
l’image avec une clef de 128 bits et on le déchiffrer avec trois combinaison de techniques de compression, cryptage et marquage. Thèse
clefs différentes du première d’un seul bit. Les résultas obtenus de doctorat, Université Montpellier II, 2006.
[3] Jiri Fridrich, “Image encryption based on chaotic maps”, IEEE Conf. on
prouvent la sensibilité de cet algorithme à la clef. Les trois System, Man, and Cybernetics, pp.1105–1110, 1997.
images déchiffrées avec les trois clefs différentes sont [4] William Puech, Jean-Jacques Charre, et Michel Dumas, "Transfert
représentées dans la figure 4. sécurisé d’images par chiffrement de Vigenère", centre d’électronique et
de microoptoélectronique de Montpellier, UMR CNRS 5507, STINIM,
université de Montpellier II, France. Article sur Internet.
[5] William Puech, et José Marconi Rodrigues, "Sécurisation d’image par
VII. CONCLUSION crypto-tatouage," Laboratoire LIRMM, UMR CNRS 5506, Université
Montpellier II, France. Article sur Internet
Un schéma qui améliore celui proposé dans [4] et [5] selon [6] Jiancheng Zou, ChangZhen Xiong, Dongxu Qi, and Rabab K.Ward, "The
plusieurs critères est proposé ici. Le taux de transfert est réduit application of chaotic maps in image encryption," IEEE International
à un taux optimal. La clef se change pour chaque bloc par un Symposium on Circuits and Systems, 2005.
[7] Jun Peng, Xiaofeng Liao, and Zhongfu Wu, "Digital image secure
générateur chaotique. Chaque octet est chiffré deux fois (le communication using Chebyshev map chaotic sequences," IEEE secure
passage en ligne et en colonne). L’application du chiffrement communication, pp. 492-496, 2002.
de Vigenère par bloc pour les images a prouvé sa robustesse [8] Pen Fei, Shui-sheng Qiu, and Long Min, "An image encryption algorithm
based on mixed chaotic dynamic systems and external key," IEEE, pp.
face à la dimension des images. Les résultas obtenus montrent 1135-1139, 2005.
que le schéma proposé présente des aptitudes dans la confusion [9] Aditya Dixit, Gaurav Kumar, Nitin Gupta, and Puneet Maheshwari, “n-
et dans la sensibilité à l’image originale qui le rende loin des Chaos Cryptography”.
[10] S. Behnia, A. Akhshani, H. Mohmodi, and A. Akhavan, ”A novel
attaques différentielles. algorithm for image encryption based on mixture of chaotic maps,”
ELSEVIER Chaos, Solitons and Fractals, in press.
[11] C.E. Shannon, “A mathematical theory of communication”, Bell System
Technical Journal, vol. 27, pp 623-656, 1948.