04.07.2014 Views

Analyse De Sécurité d'une Nouvelle Méthode De Cryptage Chaotique

Analyse De Sécurité d'une Nouvelle Méthode De Cryptage Chaotique

Analyse De Sécurité d'une Nouvelle Méthode De Cryptage Chaotique

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

SETIT 2007<br />

4 th International Conference: Sciences of Electronic,<br />

Technologies of Information and Telecommunications<br />

March 25-29, 2007 – TUNISIA<br />

<strong>Analyse</strong> <strong>De</strong> Sécurité d’une <strong>Nouvelle</strong> Méthode <strong>De</strong><br />

<strong>Cryptage</strong> <strong>Chaotique</strong><br />

Nada REBHI, Mohamed Amine BEN FARAH, Abdennaceur KACHOURI &<br />

Mounir SAMET<br />

Laboratoire d'Electronique et des Technologies de l'Information (LETI)<br />

Ecole Nationale d'Ingénieurs de Sfax B.P.W. 3038 Sfax, Tunisie<br />

med.farah@yahoo.fr<br />

abdennaceur.kachouri@enis.rnu.tn<br />

mounir.samet@enis.rnu.tn<br />

Résumé: la sécurisation de la chaîne de transmission devient de plus en plus nécessaire avec l’évolution des<br />

communications en terme de nombre d’utilisateur et nature d’information à transmettre. Durant ces années, des<br />

nouvelles méthodes de modulation qui utilise le chaos dans les systèmes de transmission sont développées [BEN 06],<br />

ces méthodes ont poussé les recherches vers l’amélioration de la qualité de l’information reçu ainsi que la robustesse<br />

des algorithmes qui traitent cette information transmise. Pour cela, actuellement tous système de télécommunication<br />

performant nécessite un système de cryptage robuste afin de se protéger envers les attaques possible.<br />

Notre travail est d’une part, une étude de robustesse des algorithmes de cryptages, d’autre part une validation de ces<br />

algorithmes dans la chaîne de transmission.<br />

Dans ce papier, nous étudions la possibilité d’utiliser le chaos, partant de ses différentes propriétés et de son<br />

comportement spécifique, pour chiffrer l’information dans une transmission sécurisée. Nous étudions une méthode de<br />

cryptage proposée par Baptista [BAP 98], [SHU 04]. Nous testons la sécurité de cette méthode en appliquant une<br />

attaque à texte en clair choisi comme outil de cassage du système de cryptage [ALV 05], [ALV 06]. Par suite, nous<br />

apportons une amélioration à cette méthode de cryptage afin d’arriver à une version modifiée qui résiste aux attaques<br />

appliquées.<br />

Mots clés : Sécurisation de la transmission, Robustesse, <strong>Cryptage</strong>, Chaos.<br />

INTRODUCTION<br />

Les différentes possibilités d’utiliser les signaux<br />

chaotiques en cryptographie s’articulent aujourd’hui<br />

autour de deux directions principales de travail :<br />

l’utilisation de chaos pour crypter les messages à<br />

transmettre et l’utilisation de chaos pour l’échange<br />

d’un secret commun servant de clé de communication<br />

entre interlocuteurs autorisés. Ces deux directions sont<br />

indépendantes et compatibles entre elles : elles<br />

peuvent donc être réunies au sein d’un même système<br />

final.<br />

Plusieurs propriétés des systèmes chaotiques ont leurs<br />

contreparties correspondantes dans des systèmes de<br />

cryptage traditionnel, comme [ALV 05]:<br />

• Sensibilité aux conditions initiales : Une petite<br />

déviation dans l'entrée peut causer un grand<br />

changement au rendement.<br />

• Dynamique déterministe et aspect<br />

pseudo aléatoire : Un processus déterministe peut<br />

causer un comportement pseudo aléatoire.<br />

• Complexité de structure et complexité<br />

d'algorithme : Un processus simple a une<br />

complexité très élevée.<br />

• Ergodicité : Le rendement a la même distribution<br />

pour n’importe quelle entrée (chaque trajectoire<br />

tend à une distribution invariable qui est<br />

indépendante de conditions initiales).<br />

Une communication sécurisée exige :<br />

• Une ou plusieurs clés secrètes.<br />

• Une précision à employer et à contrôler.<br />

D'ailleurs, En mettant l'émetteur et le récepteur en<br />

application avec différents genres de systèmes, les<br />

clefs de chiffrage peuvent être liées aux clefs<br />

correspondantes de déchiffrage. En effet dans<br />

beaucoup de systèmes de cryptage chaotiques les<br />

‐ 1 ‐


SETIT2007<br />

paramètres de système jouent le rôle de la clef (dans le<br />

cas où l'émetteur et le récepteur se servent des mêmes<br />

paramètres).<br />

Une variété riche de systèmes de cryptage pour des<br />

communications basées sur le chaos a été développée,<br />

certains d'entre eux sont abandonnés vu le manque de<br />

la robustesse et de la sécurité.<br />

Nous présentons dans notre travail l’algorithme de<br />

cryptage proposé par Baptista [BAP 98], Nous avons<br />

montré la faiblesse de cette algorithme en appliquant<br />

une attaque a texte en clair choisi, Nous avons<br />

appliqué cette méthode de cryptage pour la<br />

transmission d’un message et d’une image.<br />

transmettre superposée à la dynamique chaotique. Cet<br />

ensemble constitue un système de cryptage symétrique<br />

à clé secrète. L’émetteur et le récepteur possèdent la<br />

même clé. La synchronisation va représenter la phase<br />

critique de l’opération de décryptage. Du fait de la<br />

nature complexe du comportement du signal<br />

brouilleur, le moindre écart lors du décodage va<br />

entraîner un parasite sur l’information appelé ''bruit de<br />

déchiffrement''.<br />

Une mauvaise synchronisation rendra illisible<br />

l’information.<br />

La figure 1 présente les différents éléments d’un<br />

système de cryptage symétrique basé sur le chaos.<br />

1. Technique de cryptage<br />

Dans les différentes applications actuellement<br />

envisagées, les signaux chaotiques servent soit à<br />

véhiculer l’information soit à réaliser le cryptage de<br />

données.<br />

Nous intéressons au cryptage de données à transmettre<br />

et plus particulièrement dans un contexte de<br />

transmission sécurisée. En effet, un signal chaotique<br />

apparaît comme un « bruit » pseudo-aléatoire. Il peut<br />

donc être utilisé lors de cryptage de données, pour<br />

masquer les informations dans une transmission<br />

sécurisée : il suffit de le « mélanger » de manière<br />

appropriée au message à envoyer confidentiellement.<br />

Les systèmes de cryptage sont divisés en deux types :<br />

systèmes de cryptage asymétrique et systèmes de<br />

cryptage symétrique :<br />

• Le premier groupe emploie deux clefs différentes,<br />

une est publiquement connue tandis que l'autre est<br />

maintenue privée. Ces algorithmes sont très lents<br />

et ils sont employés pour chiffrer de petites<br />

quantités de données, telles que les signatures<br />

numériques.<br />

• Pour le deuxième groupe, la même clef secrète est<br />

employée pour le chiffrage et le déchiffrage. Ce<br />

système est très rapide, il est ainsi approprié pour<br />

manipuler de grandes quantités de données à haute<br />

vitesse, tel que le chiffrage visuel.<br />

1. 1. Principe du cryptage par chaos<br />

Le chiffrement d’un message par le chaos s’effectue<br />

en superposant à l’information initiale un signal<br />

chaotique. Nous envoyons par la suite le message<br />

noyé dans le chaos à un récepteur qui connaît les<br />

caractéristiques du générateur de chaos. Il ne reste<br />

alors plus au destinataire qu’à soustraire le chaos de<br />

son message pour retrouver l’information.<br />

1.2. Système de cryptage par chaos<br />

Un système de cryptage par chaos est constitué de<br />

deux parties : le brouilleur et le décrypteur. Ceux ci<br />

sont strictement identiques pour assurer de façon<br />

optimale le respect des conditions initiales. La<br />

synchronisation des dispositifs est établie dans le<br />

système récepteur qui amorce le chaos en injectant<br />

dans sa boucle à retard l’ensemble de l’information à<br />

Plaintext<br />

<strong>Cryptage</strong><br />

Clef<br />

Ciphertext<br />

Décryptage<br />

Figure 1. Système de cryptage symétrique<br />

L'idée fondamentale exige que l'émetteur produit un<br />

signal chaotique pour masquer le message à<br />

transmettre, appelé également le ''plaintext''. À<br />

l'extrémité du récepteur, un second système chaotique<br />

est induit pour synchroniser avec le signal entrant<br />

masqué, également appelé le ''ciphertext''. Une simple<br />

opération de soustraction indiquerait alors le message<br />

(cleartext).<br />

2. Méthode de cryptage de Baptista<br />

2.1. Présentation de la méthode<br />

La méthode de cryptage de Baptista est basée sur la<br />

propriété d’ergodcité de tout système chaotique qui<br />

exige qu’une unité simple dans un plaintext puisse être<br />

chiffrée dans un nombre infini de manières. C’est la<br />

raison pour laquelle cette méthode propose la<br />

possibilité de chiffrer un message en employant la<br />

carte logistique unidimensionnelle simple définie dans<br />

un intervalle E par :<br />

X = b X<br />

n<br />

( 1−<br />

X<br />

n<br />

)<br />

(1)<br />

n + 1<br />

Où X n ∈ [0, 1], et le paramètre de contrôle b est<br />

choisi de façon que l’équation (1) aura un<br />

comportement chaotique.<br />

Pour un message composé par S caractères différents,<br />

l’intervalle E sera divisé en S sous_intervalles de<br />

largeurε , avec :<br />

X<br />

max<br />

− X<br />

min<br />

ε =<br />

, et l’intervalle [X min , X max ] peut<br />

S<br />

être l’ensemble E ou une partie de l’ensemble E.<br />

Nous associons alors les S intervalles avec les S<br />

caractères différents. L'idée est de chiffrer chaque<br />

Cleartext<br />

‐ 2 –


SETIT2007<br />

caractère du message comme nombre entier qui<br />

représente le nombre d'itérations effectuées dans<br />

l'équation logistique, afin de transférer la trajectoire à<br />

partir d'un premier état X 0 jusqu’à atteindre le sousintervalle<br />

lié à ce caractère. Si nous référerons à X 0<br />

comme condition initiale chiffrant la première unité<br />

dans un plaintext, pour chiffrer la deuxième unité dans<br />

ce plaintext, nous utilisons comme état initial<br />

X ' F C 1(<br />

X )<br />

0 = ; où F C1<br />

est la C ème 1 itération de<br />

0<br />

l’équation (1).<br />

Cette règle est alors simplement appliquée aux unités<br />

restantes dans le plaintext.<br />

<strong>De</strong>nsité normale<br />

La raison pour laquelle nous pouvons considérer une<br />

trajectoire de taille unidimensionnelle simple<br />

représentant une unité de plaintext chiffrée est liée à<br />

l'existence <strong>d'une</strong> densité normale invariable pour les<br />

attracteurs chaotique.<br />

La densité normale définit la distribution dans l'espace<br />

de la trajectoire, et tant que les systèmes chaotiques<br />

sont ergodiques, presque n'importe quel état initial une<br />

fois réitéré par un tel système atteindra n'importe quel<br />

intervalle beaucoup de fois, à condition que cet<br />

intervalle appartient à l'attracteur. Et la fréquence de<br />

chaque partie de l'attracteur visitée dépend de cette<br />

densité.<br />

Pour calculer la densité normale, nous considérons<br />

une trajectoire à N itérations à partir d'un certain X 0, et<br />

pour vérifier sa distribution dans beaucoup<br />

d’intervalles nous simulons cette caractéristique en<br />

prenant :<br />

Nombre maximum d’itérations : N max = 65536<br />

Nombre d’emplacements : S = 256<br />

Condition initiale : X 0 = 0.43203125<br />

Intervalle choisi : [0.2, 0.8]<br />

Largeur des intervalles d’emplacement :<br />

ε = 0.00234375<br />

<strong>De</strong>nsité normale : ρ =<br />

y (i)<br />

65536<br />

y (i) = nombre d’itérations donnant un résultat dans<br />

l’intervalle i, i ∈ {1 …255}<br />

La caractéristique de cette densité normale invariante<br />

dans l’intervalle [0.2, 0.8] est donnée par la figure 2.<br />

0.012<br />

0.01<br />

0.008<br />

0.006<br />

0.004<br />

0.002<br />

0<br />

0.2 0.3 0.4 0.5 0.6 0.7 0.8<br />

Figure 2. <strong>De</strong>nsité normale de l’équation (1) dans<br />

l’intervalle [0.2, 0.8].<br />

A partir de cette courbe, nous pouvons distinguer les<br />

deux limites de la densité normale de l’équation (1)<br />

dans l’intervalle [0.2, 0.8] :<br />

1. La valeur minimale ρ = 0.0011 qui signifie que<br />

chaque intervalle des 256 intervalles de largeur ε<br />

sera visité au minimum 73 fois.<br />

2. La valeur maximale ρ = 0.017 qui signifie qu’au<br />

maximum un intervalle sera visité 753 fois durant<br />

les 65536 itérations.<br />

Suite à la simulation du même programme dans<br />

l’intervalle [0,1], nous obtenons la figure 3.<br />

0.04<br />

0.035<br />

0.03<br />

0.025<br />

0.02<br />

0.015<br />

0.01<br />

0.005<br />

0<br />

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1<br />

Figure 3. <strong>De</strong>nsité normale de l’équation (1) dans<br />

l’intervalle [0, 1]<br />

Une observation à cette dernière courbe nous permet<br />

de constater que les régions proches des extrémités<br />

sont visitées avec une haute fréquence. Alors que les<br />

fréquences des emplacements appartenant à<br />

l’intervalle [0.2, 0.8] sont proches.<br />

Fonction d’association<br />

Dans le tableau 1, nous montrons la manière avec<br />

laquelle nous associons les unités d’alphabet au S<br />

Tableau 1. Association entre les alphabets et les S<br />

intervalles<br />

Unité<br />

d’alphabet<br />

Numéro<br />

d’emplacement<br />

Intervalle<br />

correspondant<br />

* S [X min +(S-1)ε, X min +Sε]<br />

@ S-1 [X min +(S-2)ε, X min +(S-<br />

1) ε]<br />

# S-2 [X min +(S-3)ε, X min +(S-<br />

2)ε]<br />

$ S-3 [X min +(S-4)ε, X min +(S-<br />

3)ε]<br />

•<br />

•<br />

•<br />

•<br />

•<br />

•<br />

B 4 [X min +3ε, X min +4ε]<br />

A 3 [X min +2ε, X min +3ε]<br />

/ 2 [X min +ε, X min +2ε]<br />

% 1 [X min , X min +ε]<br />

•<br />

•<br />

•<br />

‐ 3 –


SETIT2007<br />

Les S associations entre les S intervalles et les S unités<br />

d'alphabet, l’état initiale X 0 et le paramètre b seront<br />

utilisés par le récepteur pour déchiffrer le texte chiffré<br />

(récupérer le caractère original) en réitérant l’équation<br />

(1) autant de fois comme indiqué par le ciphertext (le<br />

nombre d'itérations).<br />

Chaque unité de message chiffré doit satisfaire la<br />

condition N 0 ≤ C i ≤ N max (N 0 = 250 et N max = 65536).<br />

A partir de là, il existe beaucoup d’options pour<br />

chaque C i dans [N 0 , N max ], un coefficient extra<br />

η ∈ [0,1] est utilisé pour choisir un C i à envoyer au<br />

récepteur.<br />

Si η = 0, C i est choisi comme étant le nombre minimal<br />

d'itérations nécessaire pour faire la trajectoire (partant<br />

d’une certaine condition initiale) jusqu' à arriver à<br />

l'emplacement associé à la lettre d’ordre i.<br />

Si η ≠ 0, C i est choisi comme étant le nombre minimal<br />

satisfaisant cette dernière condition et k ≥ η<br />

simultanément, où k est un nombre pseudo aléatoire<br />

qui représente la distribution normale dans l'intervalle<br />

[0,1]. Donc l'émetteur continue à réitérer l’équation<br />

(1) jusqu' à la satisfaction de cette dernière inégalité.<br />

Fréquence de distribution<br />

Pour déterminer l’utilité du cœfficient η, nous allons<br />

tracer la caractéristique nombre de récurrences en<br />

fonction du nombre d’itérations pour différentes<br />

valeurs de η.<br />

L’observation de la figure 4 nous permet de constater<br />

que pour une valeur de η fixée, le nombre<br />

d’occurrence diminue d’une façon exponentielle avec<br />

l’augmentation du nombre d’itération. Alors que en<br />

comparant la même caractéristique pour différents<br />

coefficients (η = 0.3 et η = 0.5), nous remarquons que<br />

lorsque η augmente, la fréquence de distribution sera<br />

plus aplatie. Ceci confirme le fait que plus η est grand,<br />

plus le nombre d'itérations nécessaires pour que la<br />

trajectoire converge vers l’emplacement désiré soit<br />

élevé.<br />

décrypter que le cas où η = 0, comme le montre la<br />

figure 5.<br />

Figure 5. Comparaison en nombres d’occurrences<br />

(η = 0 et η = 0.9)<br />

Nous choisissons alors de travailler avec un<br />

coefficient élevé pour augmenter la complexité du<br />

système de cryptage qui devient plus résistif aux<br />

attaques.<br />

2.2. Application de la méthode de cryptage pour la<br />

transmission d’un message<br />

Pour la première application de notre méthode, nous<br />

choisissons de transmettre un message (un texte<br />

composé par un certain alphabet) en considérant le<br />

coefficient η = 0. Nous fixons également dans le<br />

programme les autres paramètres de notre système de<br />

cryptage comme suit :<br />

Les clefs secrètes :<br />

o Condition initiale : X 0 = 0.43203125<br />

o Paramètre de contrôle : b = 3.78<br />

o Association entre les emplacements et<br />

les alphabets : la fonction char(S) (qui<br />

associe à la lettre "A" l'emplacement<br />

numéro 97).<br />

N 0 = 96<br />

Intervalle : [0.2, 0.8]<br />

S =256<br />

0.6<br />

Largeur des sous-intervalles : ε =<br />

256<br />

η = 0<br />

N max = 65536<br />

Figure 4. Comparaison en nombres d’occurrences<br />

(η = 0.3 et η = 0.5)<br />

L’efficacité de coefficient η apparaît dans le fait qu’il<br />

permet de complexer le système de cryptage. En effet<br />

une information cryptée pour un coefficient η = 0.9<br />

demande au récepteur de faire plus d’itérations pour la<br />

Dans ce qui suit, nous traitons un exemple de cryptage<br />

d’un texte où nous présentons la forme sous laquelle<br />

le message sera transmis. (Tableau2)<br />

‐ 4 –


SETIT2007<br />

2.3. Application de la méthode de cryptage pour la<br />

transmission d’une image<br />

Pour appliquer la méthode de cryptage sur une image,<br />

nous faisons une association entre les niveaux des gris<br />

des pixels de l’image et les différents intervalles. Nous<br />

prenons comme exemple l’image de Léna définie<br />

comme une matrice de 256 lignes et 256 colonnes, qui<br />

sera convertie en un vecteur de 65536 pixels. La<br />

figure 6 résume les différentes étapes et le résultat de<br />

cette transmission.<br />

Le cryptage de cette image se fait en utilisant les<br />

mêmes clefs secrètes et les mêmes paramètres comme<br />

le cas précédent (cryptage de texte).<br />

La simulation sur Matlab montre qu’après cryptage,<br />

l’image est transmise sous la forme d’une série de<br />

65536 entiers tel que chaque entier représente le<br />

ciphertext (le nombre d’itérations) correspondant à un<br />

parmi les 65536 colonnes de vecteurs des pixels (tout<br />

en conservant l’ordre).<br />

Le décryptage de l’image se fait en utilisant ces<br />

nombres d’itérations en commençant d’étirer C 1 fois<br />

l’équation (1) à partir de l’état X 0 , (C 1 est le nombre<br />

d’itérations correspondant à la première colonne du<br />

vecteur) pour arriver à déterminer l’intervalle associé<br />

au niveau de gris du premier pixel. <strong>De</strong> la même façon,<br />

nous déterminons le reste des pixels.<br />

Tableau 2. Application de la méthode de cryptage pour la transmission d’un message<br />

Message émis<br />

''Mon mot de passe est BAPTISTA''<br />

Message crypté<br />

4.0610 10 4 1.9386 10 4 2.1091 10 4<br />

1.9388 10 4 3.7529 10 4 4.5939 10 4 2.8564 10 4 4.5590 10 3<br />

2.9264 10 4 3.3382 10 4 3.2156 10 4 4.2753 10 4 2.7000 10 4 3.9133 10 4 1.3935 10 4 3.9971 10 4<br />

4.2625 10 4 7.6300 10 2 3.8320 10 3 3.4576 10 4<br />

4.6750 10 3<br />

2.6790 10 3 1.1886 10 4 4.9530 10 3 5.4470 10 3 3.1953 10 4 1.2543 10 4 3.1590 10 3 2.4544 10 4<br />

Message décrypté<br />

''Mon mot de passe est BAPTISTA''<br />

Codage<br />

source<br />

<strong>Cryptage</strong><br />

par la méthode<br />

Baptista<br />

Codage<br />

Canal<br />

Canal<br />

Décodage<br />

source<br />

Décryptage<br />

par la méthode<br />

Baptista<br />

Décodage<br />

canal<br />

Figure 6. Chaîne de transmission d’une image cryptée par la méthode de Baptista.<br />

‐ 5 –


SETIT2007<br />

Remarquons que dans les deux exemples traités, nous<br />

avons choisi le coefficient η = 0, et par suite nous<br />

prenons à chaque fois le nombre minimum d’itérations<br />

nécessaire pour arriver à un emplacement donné.<br />

Dans la suite, nous allons analyser la sécurité de la<br />

méthode de cryptage de Baptista dans sa version la<br />

plus complexe, tel que η = 0.99.<br />

3. <strong>Analyse</strong> de Sécurité<br />

Après qu'un nouveau système de cryptage est conçu, il<br />

devrait toujours être évalué par une certaine analyse<br />

de sécurité. Malgré que cette analyse ne puisse pas<br />

comporter toutes les attaques possibles, ce système de<br />

cryptage devrait couvrir au moins quelques attaques<br />

les plus connues, pour vérifier s’il peut résister à ces<br />

dernières. Cette analyse aide à repérer et corriger les<br />

défauts.<br />

Les techniques d’attaques sont employées pour casser<br />

l'algorithme et récupérer les plaintexts sans avoir<br />

accès à la clef. En effet, l’intruseur connaît exactement<br />

la conception de l’algorithme et le fonctionnement du<br />

système de cryptage à étudier, c’est à dire, il sait tout<br />

concernant le sujet à l’exception des clefs secrètes.<br />

C'est une condition évidente dans des communications<br />

sécurisées d'aujourd'hui.<br />

Cependant, l'histoire a prouvé que le maintien du<br />

secret du système de cryptage est très difficile.<br />

Attaque de keystream : l’opération de cet algorithme<br />

peut être expliquée comme suit :<br />

Si on suppose que K est la clé donnée par x 0 et b et<br />

que P = p 1 p 2 … est le texte en clair. Le keystream<br />

κ = k 1 k 2 ... est généré en utilisant l’équation (1). Ce<br />

keystream est utilisé pour chiffrer le texte en clair<br />

selon la règle suivante :<br />

C = e ( p )e ( p )... = c c ... (2)<br />

k1<br />

1 k2<br />

2 1 2<br />

Le déchiffrage de la corde C de texte chiffré peut être<br />

accompli par le calcul de keystream K. Il est important<br />

de noter que la connaissance du keystream k produit<br />

par une certaine clef K est entièrement équivalente à<br />

savoir la clef (x 0 et b dans l’algorithme de Baptista).<br />

Par conséquent, la méthode de cryptage ne sera plus<br />

sécurisée.<br />

Il existe différentes techniques d'attaque pour<br />

récupérer le keystream utilisé par l’algorithme telle<br />

que la méthode d’attaque à texte en clair choisi.<br />

Attaque à texte en clair choisi : Comme exemple de<br />

la façon de produire le keystream, nous utilisons une<br />

source à 2 symboles, S 2 = {s 1 , s 2 } et nous demandons<br />

le texte chiffré des messages construits seulement par<br />

s 1 ou s 2, en supposant que s i (i ∈ {1, 2}) est le symbole<br />

correspondant à chaque sous_intervalle utile et x le<br />

réitéré qui visite les sous intervalles interdits.<br />

Sous ces conditions, nous menons une attaque à texte<br />

en clair choisi, en demandant le texte chiffré du<br />

message en claire suivant :<br />

P = (s 1 s 1 s 1 s 1 s 1 s 1 s 1 s 1 s 1 s 1 s 1 s 1 …).<br />

Si nous obtenons par exemple le texte chiffré<br />

correspondant C = (5 3 2 2 2 3 2 3 2 2 3 2 …), nous<br />

pouvons être sûrs que le 6 ème symbole dans<br />

le keystream est s 1 , le 9 ème symbole est aussi s 1 , ainsi<br />

que le 11 ème et ainsi de suite. Après avoir considérer<br />

tout le message, on obtient une connaissance partielle<br />

du keystream :<br />

K=xxxxxs 1 xxs 1 xs 1 xs 1 xs 1 xxs 1 xs 1 xxs 1 xs 1 xs 1 xxs 1 xs 1 ....<br />

Si nous utilisons tout l’attracteur [0, 1] au lieu d’une<br />

portion [0.2, 0.8], nous pouvons nous assurer que les<br />

lettres marqués par x doivent être s 2 (sauf le premier x<br />

qui correspond à la condition initiale). Mais puisque<br />

c’est une seule portion de l’intervalle, elles peuvent<br />

correspondre à une itération inférieure à la borne 0.2<br />

ou supérieure à la borne 0.8.<br />

Ensuite, nous demandons le texte chiffré du message<br />

en clair : P = (s2 s 2 s 2 s 2 s 2 s 2 s 2 s 2 s 2 s 2 …).<br />

Si nous obtenons C = (1 2 3 9 5 7 5 1 1 1 ...), comme<br />

cité avant, nous pouvons conclure que les lettres qui<br />

correspondent à la position dans la séquence indiquée<br />

par le nombre d’itérations dans le message chiffré<br />

représentent s 2 . Nous ajoutons cette information à la<br />

première séquence du Keystream et nous aurons :<br />

K=xs 2 xs 2 xs 1 s 2 xs 1 xs 1 xs 1 xs 1 s 2 xs 1 xs 1 s 2 xs 1<br />

xs 1 xs 1 s 2 xs 1 xs 1 s 2 ...<br />

Maintenant, nous sommes certains que la lettre x<br />

correspond à une itération en dehors de l’intervalle<br />

[0.2, 0.8], exceptée la première lettre x qui correspond<br />

à la condition initiale.<br />

En suivant cette méthode de calcul, qui requiert<br />

seulement 2 textes en clair choisis, nous obtenons tout<br />

le keystream. Pour obtenir une clef plus longue, nous<br />

devons simplement demander le message chiffré d’un<br />

long texte en clair. Il est évident que n’importe quel<br />

message chiffré par les mêmes valeurs de x 0 et b<br />

utilisent le même keystream, qui dépend seulement du<br />

paramètre b et de la condition initiale x 0 , il peut donc<br />

être cassé facilement par le cryptanalyse. Nous<br />

pouvons alors généraliser cette méthode à des sources<br />

d’ordre supérieur.<br />

La raison pour laquelle le symbole x apparaît<br />

fréquemment dans le keystream est facile à<br />

comprendre en observant la figure 3 qui donne la<br />

densité naturelle invariante de l’équation (1) ; puisque<br />

les régions proches des extrémités sont visitées avec<br />

une haute fréquence. Comme conséquence du choix<br />

de l’intervalle [0 .2, 0.8], la moitié des itérations est<br />

négligée.<br />

3.1. <strong>Analyse</strong> de la sécurité de la méthode de<br />

cryptage de Baptista.<br />

Pour analyser la sécurité de cette méthode, nous<br />

appliquons la méthode d’attaque à texte en clair<br />

choisie définie ci_dessous. Nous choisissons<br />

d’attaquer la chaîne de transmission présentée dans le<br />

paragraphe 3.3 où nous transmettons l’image de<br />

« Léna » (figure 7) après cryptage par la méthode de<br />

Baptista.<br />

‐ 6 –


SETIT2007<br />

Nous définissons alors une fonction f be (.) génèrant un<br />

nombre pseudo_aléatoire, qui doit être secret et qui<br />

vérifie la relation suivante :<br />

'<br />

(i)<br />

C i = C i + fbe<br />

( X0<br />

)<br />

(3)<br />

Le procédé de déchiffrage se fait en deux étapes :<br />

Nous calculons d’abord le nombre d’itérations C i en<br />

utilisant l’équation (3)<br />

Nous étirons ensuite l’équation (1) à partir de l’état<br />

initial suivant le nombre d’itérations calculé.<br />

3.2.2. <strong>Analyse</strong> de sécurité de la méthode de cryptage<br />

de Baptista modifiée<br />

Figure 7. Image source.<br />

Le remplissage de keystream se fait de la même façon<br />

comme indiqué ci-dessus, seulement les alphabets<br />

sont remplacés par les valeurs de niveau de gris des<br />

pixels. Après simulation de l’attaque de texte en clair<br />

choisi sur l’image de « Léna », nous arrivons à<br />

récupérer l’image de la figure 8 qui est exactement<br />

identique à l’originale.<br />

Figure 8. Image décryptée par le keystream.<br />

Ce résultat montre que la méthode de cryptage de<br />

Baptista n’est pas suffisante. Nous proposons dans la<br />

suite une modification de cette méthode afin d’arriver<br />

à augmenter la sécurité et résister aux attaques.<br />

3.2. Amélioration de la méthode de cryptage de<br />

Baptista<br />

3.2.1. Modification de la méthode de <strong>Cryptage</strong> de<br />

Baptista<br />

Puisque le nombre d’itérations C i est le paramètre<br />

nécessaire utilisé pour attaquer l’algorithme de<br />

cryptage, nous pensons de cacher C i . L’idée est de<br />

masquer secrètement C i par un nombre pseudoaléatoire<br />

qui sera utilisé comme un ciphertext. Dans ce<br />

cas, il est impossible pour un attaquant d’obtenir le<br />

nombre d'itérations chaotiques à partir du texte chiffré,<br />

de sorte que l’attaque ne réussit pas à décrypter<br />

l’information émise.<br />

Nous appliquons maintenant l’attaque de texte en clair<br />

choisi à l’image de « Léna » cryptée par la version<br />

modifiée de Baptista. Après simulation, nous<br />

récupérons une image incompréhensible.<br />

Le résultat présenté si dessus montre que la même<br />

attaque, qui a réussie à casser l’algorithme de cryptage<br />

de Baptista en récupérant une image exactement<br />

identique à la source, n’a aucun effet sur la version<br />

modifiée. En effet si l’attaquant ne connaît pas le<br />

nombre d’itérations, il n’arrive pas à déterminer les<br />

emplacements des différentes valeurs des niveaux de<br />

gris des pixels et donc il ne peut pas remplir le<br />

keystream nécessaire pour récupérer l’image.<br />

Avec cette nouvelle version, nous pouvons avoir<br />

confiance à la méthode de cryptage de Baptista.<br />

4. Conclusion<br />

Dans cet article, nous avons effectué une analyse de<br />

faisabilité ainsi que de robustesse de l’algorithme de<br />

cryptage de Baptista : après la simulation de l’attaque<br />

de texte en clair choisi sur l’image de « Léna », nous<br />

arrivons à récupérer l’image qui est exactement<br />

identique à l’originale. Nous avons montré que la<br />

grande sensibilité de chaos fait que la même<br />

récurrence va générer, pour des conditions initiales<br />

différentes légèrement, des suites apparemment<br />

semblables mais qui ne prendront jamais les mêmes<br />

valeurs. Un « pirate » voulant s’attaquer au<br />

déchiffrage du message, ne pourra donc pas<br />

reconstituer correctement le signal chaotique,<br />

puisqu’il ne connaît pas les conditions initiales exactes<br />

qui ont été utilisées lors de la transmission. Il lui sera<br />

alors difficile de s’affranchir de ce « bruit » mélangé<br />

au message avant la transmission.<br />

Références<br />

[ALV 03] : Alvarez G, F. Montoya, M. Romera, G.<br />

Pastor, ‘‘Cryptanalysis of dynamic look-up table<br />

based chaotic cryptosystems’’, Physics Letters 2003.<br />

[ALV 05]: Gonzalo A, Luis H, Jaime, Fausto M, et<br />

Shujun Li, ‘‘Security analysis of communication<br />

system based on the synchronization of different order<br />

chaotic systems”, Physics Letters 2005.<br />

[ALV 06]: Gonzalo A, Shujun L, ‘‘Some Basic<br />

Cryptographic Requirements for Chaos Based<br />

Cryptosystems’’, Physics Letters 2006.<br />

‐ 7 –


SETIT2007<br />

[BAP 98]: Baptista M. S, “Cryptography with chaos”,<br />

Physics Letters, January 1998.<br />

[BEN 06]: Ben Farah M.A, Kachouri.A,<br />

Samet.M, ‘‘<strong>De</strong>sign of secure digital communication<br />

systems using DCSK chaotic modulation’’,DTIS’06<br />

IEEE International conference,TUNISIE Seprtember<br />

2006.<br />

[SHU 04]: Shujun L, Guanrong C, Kwok-Wo W,<br />

Xuanquin M, et Yuanlong C, ‘‘Baptista-type chaotic<br />

cryptosystems: Problems and countermeasures’’,<br />

Physics Letters, September 2004.<br />

‐ 8 –

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!