Documente Academic
Documente Profesional
Documente Cultură
Résumé: la sécurisation de la chaîne de transmission devient de plus en plus nécessaire avec l’évolution des
communications en terme de nombre d’utilisateur et nature d’information à transmettre. Durant ces années, des
nouvelles méthodes de modulation qui utilise le chaos dans les systèmes de transmission sont développées [BEN 06],
ces méthodes ont poussé les recherches vers l’amélioration de la qualité de l’information reçu ainsi que la robustesse
des algorithmes qui traitent cette information transmise. Pour cela, actuellement tous système de télécommunication
performant nécessite un système de cryptage robuste afin de se protéger envers les attaques possible.
Notre travail est d’une part, une étude de robustesse des algorithmes de cryptages, d’autre part une validation de ces
algorithmes dans la chaîne de transmission.
Dans ce papier, nous étudions la possibilité d’utiliser le chaos, partant de ses différentes propriétés et de son
comportement spécifique, pour chiffrer l’information dans une transmission sécurisée. Nous étudions une méthode de
cryptage proposée par Baptista [BAP 98], [SHU 04]. Nous testons la sécurité de cette méthode en appliquant une
attaque à texte en clair choisi comme outil de cassage du système de cryptage [ALV 05], [ALV 06]. Par suite, nous
apportons une amélioration à cette méthode de cryptage afin d’arriver à une version modifiée qui résiste aux attaques
appliquées.
‐ 1 ‐
SETIT2007
paramètres de système jouent le rôle de la clef (dans le transmettre superposée à la dynamique chaotique. Cet
cas où l'émetteur et le récepteur se servent des mêmes ensemble constitue un système de cryptage symétrique
paramètres). à clé secrète. L’émetteur et le récepteur possèdent la
Une variété riche de systèmes de cryptage pour des même clé. La synchronisation va représenter la phase
communications basées sur le chaos a été développée, critique de l’opération de décryptage. Du fait de la
certains d'entre eux sont abandonnés vu le manque de nature complexe du comportement du signal
la robustesse et de la sécurité. brouilleur, le moindre écart lors du décodage va
Nous présentons dans notre travail l’algorithme de entraîner un parasite sur l’information appelé ''bruit de
cryptage proposé par Baptista [BAP 98], Nous avons déchiffrement''.
montré la faiblesse de cette algorithme en appliquant Une mauvaise synchronisation rendra illisible
une attaque a texte en clair choisi, Nous avons l’information.
appliqué cette méthode de cryptage pour la
La figure 1 présente les différents éléments d’un
transmission d’un message et d’une image.
système de cryptage symétrique basé sur le chaos.
1. Technique de cryptage
Clef
Dans les différentes applications actuellement
envisagées, les signaux chaotiques servent soit à
véhiculer l’information soit à réaliser le cryptage de
données.
Nous intéressons au cryptage de données à transmettre Plaintext Ciphertext Cleartext
Cryptage Décryptage
et plus particulièrement dans un contexte de
transmission sécurisée. En effet, un signal chaotique
apparaît comme un « bruit » pseudo-aléatoire. Il peut
donc être utilisé lors de cryptage de données, pour Figure 1. Système de cryptage symétrique
masquer les informations dans une transmission
sécurisée : il suffit de le « mélanger » de manière L'idée fondamentale exige que l'émetteur produit un
appropriée au message à envoyer confidentiellement. signal chaotique pour masquer le message à
Les systèmes de cryptage sont divisés en deux types : transmettre, appelé également le ''plaintext''. À
systèmes de cryptage asymétrique et systèmes de l'extrémité du récepteur, un second système chaotique
cryptage symétrique : est induit pour synchroniser avec le signal entrant
masqué, également appelé le ''ciphertext''. Une simple
Le premier groupe emploie deux clefs différentes,
opération de soustraction indiquerait alors le message
une est publiquement connue tandis que l'autre est
(cleartext).
maintenue privée. Ces algorithmes sont très lents
et ils sont employés pour chiffrer de petites
quantités de données, telles que les signatures 2. Méthode de cryptage de Baptista
numériques.
Pour le deuxième groupe, la même clef secrète est 2.1. Présentation de la méthode
employée pour le chiffrage et le déchiffrage. Ce La méthode de cryptage de Baptista est basée sur la
système est très rapide, il est ainsi approprié pour propriété d’ergodcité de tout système chaotique qui
manipuler de grandes quantités de données à haute exige qu’une unité simple dans un plaintext puisse être
vitesse, tel que le chiffrage visuel. chiffrée dans un nombre infini de manières. C’est la
raison pour laquelle cette méthode propose la
1. 1. Principe du cryptage par chaos possibilité de chiffrer un message en employant la
Le chiffrement d’un message par le chaos s’effectue carte logistique unidimensionnelle simple définie dans
en superposant à l’information initiale un signal un intervalle E par :
chaotique. Nous envoyons par la suite le message X = b X n (1 − X n ) (1)
noyé dans le chaos à un récepteur qui connaît les n +1
caractéristiques du générateur de chaos. Il ne reste Où Xn ∈ [0, 1], et le paramètre de contrôle b est
alors plus au destinataire qu’à soustraire le chaos de choisi de façon que l’équation (1) aura un
son message pour retrouver l’information. comportement chaotique.
Pour un message composé par S caractères différents,
1.2. Système de cryptage par chaos l’intervalle E sera divisé en S sous_intervalles de
Un système de cryptage par chaos est constitué de largeur ε , avec :
deux parties : le brouilleur et le décrypteur. Ceux ci X max − X min
sont strictement identiques pour assurer de façon ε= , et l’intervalle [Xmin, Xmax] peut
optimale le respect des conditions initiales. La S
synchronisation des dispositifs est établie dans le être l’ensemble E ou une partie de l’ensemble E.
système récepteur qui amorce le chaos en injectant Nous associons alors les S intervalles avec les S
dans sa boucle à retard l’ensemble de l’information à caractères différents. L'idée est de chiffrer chaque
‐ 2 –
SETIT2007
caractère du message comme nombre entier qui A partir de cette courbe, nous pouvons distinguer les
représente le nombre d'itérations effectuées dans deux limites de la densité normale de l’équation (1)
l'équation logistique, afin de transférer la trajectoire à dans l’intervalle [0.2, 0.8] :
partir d'un premier état X0 jusqu’à atteindre le sous- 1. La valeur minimale ρ = 0.0011 qui signifie que
intervalle lié à ce caractère. Si nous référerons à X0 chaque intervalle des 256 intervalles de largeur ε
comme condition initiale chiffrant la première unité sera visité au minimum 73 fois.
dans un plaintext, pour chiffrer la deuxième unité dans 2. La valeur maximale ρ = 0.017 qui signifie qu’au
ce plaintext, nous utilisons comme état initial maximum un intervalle sera visité 753 fois durant
X ' = F C1 ( X ) ; où F C1 est la C1 itération de
ème
les 65536 itérations.
0 0
l’équation (1). Suite à la simulation du même programme dans
Cette règle est alors simplement appliquée aux unités l’intervalle [0,1], nous obtenons la figure 3.
restantes dans le plaintext. 0.04
‐ 3 –
SETIT2007
Les S associations entre les S intervalles et les S unités décrypter que le cas où η = 0, comme le montre la
d'alphabet, l’état initiale X0 et le paramètre b seront figure 5.
utilisés par le récepteur pour déchiffrer le texte chiffré
(récupérer le caractère original) en réitérant l’équation
(1) autant de fois comme indiqué par le ciphertext (le
nombre d'itérations).
Chaque unité de message chiffré doit satisfaire la
condition N0 ≤ Ci ≤ Nmax (N0 = 250 et Nmax = 65536).
A partir de là, il existe beaucoup d’options pour
chaque Ci dans [N0, Nmax], un coefficient extra
η ∈ [0,1] est utilisé pour choisir un Ci à envoyer au
récepteur.
Si η = 0, Ci est choisi comme étant le nombre minimal
d'itérations nécessaire pour faire la trajectoire (partant
d’une certaine condition initiale) jusqu' à arriver à
l'emplacement associé à la lettre d’ordre i.
Si η ≠ 0, Ci est choisi comme étant le nombre minimal Figure 5. Comparaison en nombres d’occurrences
satisfaisant cette dernière condition et k ≥ η (η = 0 et η = 0.9)
simultanément, où k est un nombre pseudo aléatoire
qui représente la distribution normale dans l'intervalle Nous choisissons alors de travailler avec un
[0,1]. Donc l'émetteur continue à réitérer l’équation coefficient élevé pour augmenter la complexité du
(1) jusqu' à la satisfaction de cette dernière inégalité. système de cryptage qui devient plus résistif aux
attaques.
Fréquence de distribution
Pour déterminer l’utilité du cœfficient η, nous allons 2.2. Application de la méthode de cryptage pour la
tracer la caractéristique nombre de récurrences en transmission d’un message
fonction du nombre d’itérations pour différentes Pour la première application de notre méthode, nous
valeurs de η. choisissons de transmettre un message (un texte
composé par un certain alphabet) en considérant le
L’observation de la figure 4 nous permet de constater
coefficient η = 0. Nous fixons également dans le
que pour une valeur de η fixée, le nombre
programme les autres paramètres de notre système de
d’occurrence diminue d’une façon exponentielle avec
cryptage comme suit :
l’augmentation du nombre d’itération. Alors que en
comparant la même caractéristique pour différents
coefficients (η = 0.3 et η = 0.5), nous remarquons que Les clefs secrètes :
lorsque η augmente, la fréquence de distribution sera
plus aplatie. Ceci confirme le fait que plus η est grand, o Condition initiale : X0 = 0.43203125
plus le nombre d'itérations nécessaires pour que la o Paramètre de contrôle : b = 3.78
trajectoire converge vers l’emplacement désiré soit o Association entre les emplacements et
élevé. les alphabets : la fonction char(S) (qui
associe à la lettre "A" l'emplacement
numéro 97).
N0 = 96
Intervalle : [0.2, 0.8]
S =256
0 .6
Largeur des sous-intervalles : ε =
256
η =0
Nmax = 65536
Figure 4. Comparaison en nombres d’occurrences Dans ce qui suit, nous traitons un exemple de cryptage
(η = 0.3 et η = 0.5) d’un texte où nous présentons la forme sous laquelle
le message sera transmis. (Tableau2)
L’efficacité de coefficient η apparaît dans le fait qu’il
permet de complexer le système de cryptage. En effet
une information cryptée pour un coefficient η = 0.9
demande au récepteur de faire plus d’itérations pour la
‐ 4 –
SETIT2007
2.3. Application de la méthode de cryptage pour la La simulation sur Matlab montre qu’après cryptage,
transmission d’une image l’image est transmise sous la forme d’une série de
Pour appliquer la méthode de cryptage sur une image, 65536 entiers tel que chaque entier représente le
nous faisons une association entre les niveaux des gris ciphertext (le nombre d’itérations) correspondant à un
des pixels de l’image et les différents intervalles. Nous parmi les 65536 colonnes de vecteurs des pixels (tout
en conservant l’ordre).
prenons comme exemple l’image de Léna définie
comme une matrice de 256 lignes et 256 colonnes, qui Le décryptage de l’image se fait en utilisant ces
sera convertie en un vecteur de 65536 pixels. La nombres d’itérations en commençant d’étirer C1 fois
figure 6 résume les différentes étapes et le résultat de l’équation (1) à partir de l’état X0, (C1 est le nombre
cette transmission. d’itérations correspondant à la première colonne du
Le cryptage de cette image se fait en utilisant les vecteur) pour arriver à déterminer l’intervalle associé
au niveau de gris du premier pixel. De la même façon,
mêmes clefs secrètes et les mêmes paramètres comme
le cas précédent (cryptage de texte). nous déterminons le reste des pixels.
Message crypté
1.9388 104 3.7529 104 4.5939 104 2.8564 104 4.5590 103
4.0610 104 1.9386 104 2.1091 104
2.9264 104 3.3382 104 3.2156 104 4.2753 104 2.7000 104 3.9133 104 1.3935 104 3.9971 104
4.2625 104 7.6300 102 3.8320 103 3.4576 104 4.6750 103
2.6790 103 1.1886 104 4.9530 103 5.4470 103 3.1953 104 1.2543 104 3.1590 103 2.4544 104
Message décrypté
''Mon mot de passe est BAPTISTA''
Canal
‐ 5 –
SETIT2007
Remarquons que dans les deux exemples traités, nous le keystream est s1, le 9ème symbole est aussi s1, ainsi
avons choisi le coefficient η = 0, et par suite nous que le 11ème et ainsi de suite. Après avoir considérer
prenons à chaque fois le nombre minimum d’itérations tout le message, on obtient une connaissance partielle
nécessaire pour arriver à un emplacement donné. du keystream :
Dans la suite, nous allons analyser la sécurité de la K=xxxxxs1xxs1xs1xs1xs1xxs1xs1xxs1xs1xs1xxs1xs1....
méthode de cryptage de Baptista dans sa version la Si nous utilisons tout l’attracteur [0, 1] au lieu d’une
plus complexe, tel que η = 0.99. portion [0.2, 0.8], nous pouvons nous assurer que les
lettres marqués par x doivent être s2 (sauf le premier x
qui correspond à la condition initiale). Mais puisque
3. Analyse de Sécurité c’est une seule portion de l’intervalle, elles peuvent
Après qu'un nouveau système de cryptage est conçu, il correspondre à une itération inférieure à la borne 0.2
devrait toujours être évalué par une certaine analyse ou supérieure à la borne 0.8.
de sécurité. Malgré que cette analyse ne puisse pas Ensuite, nous demandons le texte chiffré du message
comporter toutes les attaques possibles, ce système de en clair : P = (s2 s2 s2 s2 s2 s2 s2 s2 s2 s2 …).
cryptage devrait couvrir au moins quelques attaques Si nous obtenons C = (1 2 3 9 5 7 5 1 1 1 ...), comme
les plus connues, pour vérifier s’il peut résister à ces cité avant, nous pouvons conclure que les lettres qui
dernières. Cette analyse aide à repérer et corriger les correspondent à la position dans la séquence indiquée
défauts. par le nombre d’itérations dans le message chiffré
représentent s2. Nous ajoutons cette information à la
Les techniques d’attaques sont employées pour casser
première séquence du Keystream et nous aurons :
l'algorithme et récupérer les plaintexts sans avoir
K=xs2xs2xs1s2xs1xs1xs1xs1s2xs1xs1s2xs1
accès à la clef. En effet, l’intruseur connaît exactement
xs1xs1s2xs1 xs1s2...
la conception de l’algorithme et le fonctionnement du
Maintenant, nous sommes certains que la lettre x
système de cryptage à étudier, c’est à dire, il sait tout
correspond à une itération en dehors de l’intervalle
concernant le sujet à l’exception des clefs secrètes.
[0.2, 0.8], exceptée la première lettre x qui correspond
C'est une condition évidente dans des communications
à la condition initiale.
sécurisées d'aujourd'hui.
En suivant cette méthode de calcul, qui requiert
Cependant, l'histoire a prouvé que le maintien du seulement 2 textes en clair choisis, nous obtenons tout
secret du système de cryptage est très difficile. le keystream. Pour obtenir une clef plus longue, nous
Attaque de keystream : l’opération de cet algorithme devons simplement demander le message chiffré d’un
peut être expliquée comme suit : long texte en clair. Il est évident que n’importe quel
Si on suppose que K est la clé donnée par x0 et b et message chiffré par les mêmes valeurs de x0 et b
que P = p1p2… est le texte en clair. Le keystream utilisent le même keystream, qui dépend seulement du
κ = k1 k2 ... est généré en utilisant l’équation (1). Ce paramètre b et de la condition initiale x0, il peut donc
keystream est utilisé pour chiffrer le texte en clair être cassé facilement par le cryptanalyse. Nous
selon la règle suivante : pouvons alors généraliser cette méthode à des sources
C = ek1 ( p1 )ek2 ( p2 )... = c1c2 ... (2) d’ordre supérieur.
La raison pour laquelle le symbole x apparaît
Le déchiffrage de la corde C de texte chiffré peut être
fréquemment dans le keystream est facile à
accompli par le calcul de keystream K. Il est important
comprendre en observant la figure 3 qui donne la
de noter que la connaissance du keystream k produit
densité naturelle invariante de l’équation (1) ; puisque
par une certaine clef K est entièrement équivalente à
les régions proches des extrémités sont visitées avec
savoir la clef (x0 et b dans l’algorithme de Baptista).
une haute fréquence. Comme conséquence du choix
Par conséquent, la méthode de cryptage ne sera plus
de l’intervalle [0 .2, 0.8], la moitié des itérations est
sécurisée.
négligée.
Il existe différentes techniques d'attaque pour
récupérer le keystream utilisé par l’algorithme telle
3.1. Analyse de la sécurité de la méthode de
que la méthode d’attaque à texte en clair choisi. cryptage de Baptista.
Attaque à texte en clair choisi : Comme exemple de
la façon de produire le keystream, nous utilisons une Pour analyser la sécurité de cette méthode, nous
source à 2 symboles, S2 = {s1, s2} et nous demandons appliquons la méthode d’attaque à texte en clair
le texte chiffré des messages construits seulement par choisie définie ci_dessous. Nous choisissons
s1 ou s2, en supposant que si (i ∈ {1, 2}) est le symbole d’attaquer la chaîne de transmission présentée dans le
correspondant à chaque sous_intervalle utile et x le paragraphe 3.3 où nous transmettons l’image de
réitéré qui visite les sous intervalles interdits. « Léna » (figure 7) après cryptage par la méthode de
Sous ces conditions, nous menons une attaque à texte Baptista.
en clair choisi, en demandant le texte chiffré du
message en claire suivant :
P = (s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 s1 …).
Si nous obtenons par exemple le texte chiffré
correspondant C = (5 3 2 2 2 3 2 3 2 2 3 2 …), nous
pouvons être sûrs que le 6ème symbole dans
‐ 6 –
SETIT2007
4. Conclusion
Dans cet article, nous avons effectué une analyse de
faisabilité ainsi que de robustesse de l’algorithme de
cryptage de Baptista : après la simulation de l’attaque
de texte en clair choisi sur l’image de « Léna », nous
arrivons à récupérer l’image qui est exactement
identique à l’originale. Nous avons montré que la
grande sensibilité de chaos fait que la même
récurrence va générer, pour des conditions initiales
Figure 8. Image décryptée par le keystream. différentes légèrement, des suites apparemment
semblables mais qui ne prendront jamais les mêmes
Ce résultat montre que la méthode de cryptage de valeurs. Un « pirate » voulant s’attaquer au
Baptista n’est pas suffisante. Nous proposons dans la déchiffrage du message, ne pourra donc pas
suite une modification de cette méthode afin d’arriver reconstituer correctement le signal chaotique,
à augmenter la sécurité et résister aux attaques. puisqu’il ne connaît pas les conditions initiales exactes
qui ont été utilisées lors de la transmission. Il lui sera
alors difficile de s’affranchir de ce « bruit » mélangé
3.2. Amélioration de la méthode de cryptage de au message avant la transmission.
Baptista
Références
3.2.1. Modification de la méthode de Cryptage de
Baptista [ALV 03] : Alvarez G, F. Montoya, M. Romera, G.
Pastor, ‘‘Cryptanalysis of dynamic look-up table
Puisque le nombre d’itérations Ci est le paramètre based chaotic cryptosystems’’, Physics Letters 2003.
nécessaire utilisé pour attaquer l’algorithme de
cryptage, nous pensons de cacher Ci. L’idée est de [ALV 05]: Gonzalo A, Luis H, Jaime, Fausto M, et
masquer secrètement Ci par un nombre pseudo- Shujun Li, ‘‘Security analysis of communication
aléatoire qui sera utilisé comme un ciphertext. Dans ce system based on the synchronization of different order
cas, il est impossible pour un attaquant d’obtenir le chaotic systems”, Physics Letters 2005.
nombre d'itérations chaotiques à partir du texte chiffré, [ALV 06]: Gonzalo A, Shujun L, ‘‘Some Basic
de sorte que l’attaque ne réussit pas à décrypter Cryptographic Requirements for Chaos Based
l’information émise. Cryptosystems’’, Physics Letters 2006.
‐ 7 –
SETIT2007
[BAP 98]: Baptista M. S, “Cryptography with chaos”, [SHU 04]: Shujun L, Guanrong C, Kwok-Wo W,
Physics Letters, January 1998. Xuanquin M, et Yuanlong C, ‘‘Baptista-type chaotic
[BEN 06]: Ben Farah M.A, Kachouri.A, cryptosystems: Problems and countermeasures’’,
Samet.M, ‘‘Design of secure digital communication Physics Letters, September 2004.
systems using DCSK chaotic modulation’’,DTIS’06
IEEE International conference,TUNISIE Seprtember
2006.
‐ 8 –