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

Transcription

Analyse De Sécurité d`une Nouvelle Méthode De Cryptage Chaotique
SETIT 2007
4th International Conference: Sciences of Electronic,
Technologies of Information and Telecommunications
March 25-29, 2007 – TUNISIA
Analyse De Sécurité d’une Nouvelle Méthode De
Cryptage Chaotique
Nada REBHI, Mohamed Amine BEN FARAH, Abdennaceur KACHOURI &
Mounir SAMET
Laboratoire d'Electronique et des Technologies de l'Information (LETI)
Ecole Nationale d'Ingénieurs de Sfax B.P.W. 3038 Sfax, Tunisie
[email protected]
[email protected]
[email protected]
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.
Mots clés : Sécurisation de la transmission, Robustesse, Cryptage, Chaos.
• Dynamique
déterministe
et
aspect
pseudo aléatoire : Un processus déterministe peut
causer un comportement pseudo aléatoire.
• Complexité
de
structure
et
complexité
d'algorithme : Un processus simple a une
complexité très élevée.
• Ergodicité : Le rendement a la même distribution
pour n’importe quelle entrée (chaque trajectoire
tend à une distribution invariable qui est
indépendante de conditions initiales).
INTRODUCTION
Les différentes possibilités d’utiliser les signaux
chaotiques en cryptographie s’articulent aujourd’hui
autour de deux directions principales de travail :
l’utilisation de chaos pour crypter les messages à
transmettre et l’utilisation de chaos pour l’échange
d’un secret commun servant de clé de communication
entre interlocuteurs autorisés. Ces deux directions sont
indépendantes et compatibles entre elles : elles
peuvent donc être réunies au sein d’un même système
final.
Plusieurs propriétés des systèmes chaotiques ont leurs
contreparties correspondantes dans des systèmes de
cryptage traditionnel, comme [ALV 05]:
• Sensibilité aux conditions initiales : Une petite
déviation dans l'entrée peut causer un grand
changement au rendement.
Une communication sécurisée exige :
ƒ Une ou plusieurs clés secrètes.
ƒ Une précision à employer et à contrôler.
D'ailleurs, En mettant l'émetteur et le récepteur en
application avec différents genres de systèmes, les
clefs de chiffrage peuvent être liées aux clefs
correspondantes de déchiffrage. En effet dans
beaucoup de systèmes de cryptage chaotiques les
‐ 1 ‐ SETIT2007
paramètres de système jouent le rôle de la clef (dans le
cas où l'émetteur et le récepteur se servent des mêmes
paramètres).
Une variété riche de systèmes de cryptage pour des
communications basées sur le chaos a été développée,
certains d'entre eux sont abandonnés vu le manque de
la robustesse et de la sécurité.
Nous présentons dans notre travail l’algorithme de
cryptage proposé par Baptista [BAP 98], Nous avons
montré la faiblesse de cette algorithme en appliquant
une attaque a texte en clair choisi, Nous avons
appliqué cette méthode de cryptage pour la
transmission d’un message et d’une image.
transmettre superposée à la dynamique chaotique. Cet
ensemble constitue un système de cryptage symétrique
à clé secrète. L’émetteur et le récepteur possèdent la
même clé. La synchronisation va représenter la phase
critique de l’opération de décryptage. Du fait de la
nature complexe du comportement du signal
brouilleur, le moindre écart lors du décodage va
entraîner un parasite sur l’information appelé ''bruit de
déchiffrement''.
Une mauvaise synchronisation rendra illisible
l’information.
La figure 1 présente les différents éléments d’un
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
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
masquer les informations dans une transmission
sécurisée : il suffit de le « mélanger » de manière
appropriée au message à envoyer confidentiellement.
Les systèmes de cryptage sont divisés en deux types :
systèmes de cryptage asymétrique et systèmes de
cryptage symétrique :
ƒ Le premier groupe emploie deux clefs différentes,
une est publiquement connue tandis que l'autre est
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
numériques.
ƒ Pour le deuxième groupe, la même clef secrète est
employée pour le chiffrage et le déchiffrage. Ce
système est très rapide, il est ainsi approprié pour
manipuler de grandes quantités de données à haute
vitesse, tel que le chiffrage visuel.
1. 1. Principe du cryptage par chaos
Le chiffrement d’un message par le chaos s’effectue
en superposant à l’information initiale un signal
chaotique. Nous envoyons par la suite le message
noyé dans le chaos à un récepteur qui connaît les
caractéristiques du générateur de chaos. Il ne reste
alors plus au destinataire qu’à soustraire le chaos de
son message pour retrouver l’information.
1.2. Système de cryptage par chaos
Un système de cryptage par chaos est constitué de
deux parties : le brouilleur et le décrypteur. Ceux ci
sont strictement identiques pour assurer de façon
optimale le respect des conditions initiales. La
synchronisation des dispositifs est établie dans le
système récepteur qui amorce le chaos en injectant
dans sa boucle à retard l’ensemble de l’information à
‐ 2 – Plaintext
Ciphertext
Cryptage
Cleartext
Décryptage
Figure 1. Système de cryptage symétrique
L'idée fondamentale exige que l'émetteur produit un
signal chaotique pour masquer le message à
transmettre, appelé également le ''plaintext''. À
l'extrémité du récepteur, un second système chaotique
est induit pour synchroniser avec le signal entrant
masqué, également appelé le ''ciphertext''. Une simple
opération de soustraction indiquerait alors le message
(cleartext).
2. Méthode de cryptage de Baptista
2.1. Présentation de la méthode
La méthode de cryptage de Baptista est basée sur la
propriété d’ergodcité de tout système chaotique qui
exige qu’une unité simple dans un plaintext puisse être
chiffrée dans un nombre infini de manières. C’est la
raison pour laquelle cette méthode propose la
possibilité de chiffrer un message en employant la
carte logistique unidimensionnelle simple définie dans
un intervalle E par :
(1)
X
= b X n (1 − X n )
n +1
Où Xn ∈ [0, 1], et le paramètre de contrôle b est
choisi de façon que l’équation (1) aura un
comportement chaotique.
Pour un message composé par S caractères différents,
l’intervalle E sera divisé en S sous_intervalles de
largeur ε , avec :
ε=
X max − X min
, et l’intervalle [Xmin, Xmax] peut
S
être l’ensemble E ou une partie de l’ensemble E.
Nous associons alors les S intervalles avec les S
caractères différents. L'idée est de chiffrer chaque
SETIT2007
caractère du message comme nombre entier qui
représente le nombre d'itérations effectuées dans
l'équation logistique, afin de transférer la trajectoire à
partir d'un premier état X0 jusqu’à atteindre le sousintervalle lié à ce caractère. Si nous référerons à X0
comme condition initiale chiffrant la première unité
dans un plaintext, pour chiffrer la deuxième unité dans
ce plaintext, nous utilisons comme état initial
ème
X ' = F C1 ( X ) ; où F C1 est la C1 itération de
A partir de cette courbe, nous pouvons distinguer les
deux limites de la densité normale de l’équation (1)
dans l’intervalle [0.2, 0.8] :
1. La valeur minimale ρ = 0.0011 qui signifie que
chaque intervalle des 256 intervalles de largeur ε
sera visité au minimum 73 fois.
2. La valeur maximale ρ = 0.017 qui signifie qu’au
maximum un intervalle sera visité 753 fois durant
les 65536 itérations.
l’équation (1).
Cette règle est alors simplement appliquée aux unités
restantes dans le plaintext.
Suite à la simulation du même programme dans
l’intervalle [0,1], nous obtenons la figure 3.
0
0
Densité normale
0.04
0.035
La raison pour laquelle nous pouvons considérer une
trajectoire de taille unidimensionnelle simple
représentant une unité de plaintext chiffrée est liée à
l'existence d'une densité normale invariable pour les
attracteurs chaotique.
La densité normale définit la distribution dans l'espace
de la trajectoire, et tant que les systèmes chaotiques
sont ergodiques, presque n'importe quel état initial une
fois réitéré par un tel système atteindra n'importe quel
intervalle beaucoup de fois, à condition que cet
intervalle appartient à l'attracteur. Et la fréquence de
chaque partie de l'attracteur visitée dépend de cette
densité.
Pour calculer la densité normale, nous considérons
une trajectoire à N itérations à partir d'un certain X0, et
pour vérifier sa distribution dans beaucoup
d’intervalles nous simulons cette caractéristique en
prenant :
Nombre maximum d’itérations : Nmax = 65536
Nombre d’emplacements : S = 256
Condition initiale : X0 = 0.43203125
Intervalle choisi : [0.2, 0.8]
Largeur des intervalles d’emplacement :
ε = 0.00234375
y (i)
Densité normale : ρ =
65536
y (i) = nombre d’itérations donnant un résultat dans
l’intervalle i, i ∈ {1 …255}
La caractéristique de cette densité normale invariante
dans l’intervalle [0.2, 0.8] est donnée par la figure 2.
0.012
0.03
0.025
0.02
0.015
0.01
0.005
0
0
0.1
0.2
0.3
0.002
0
0.2
0.3
0.4
0.5
0.6
0.7
0.8
Figure 2. Densité normale de l’équation (1) dans
l’intervalle [0.2, 0.8].
‐ 3 – 0.6
0.7
0.8
0.9
1
Une observation à cette dernière courbe nous permet
de constater que les régions proches des extrémités
sont visitées avec une haute fréquence. Alors que les
fréquences des emplacements appartenant à
l’intervalle [0.2, 0.8] sont proches.
Fonction d’association
Dans le tableau 1, nous montrons la manière avec
laquelle nous associons les unités d’alphabet au S
Tableau 1. Association entre les alphabets et les S
intervalles
Unité
d’alphabet
*
@
Numéro
d’emplacement
S
S-1
#
S-2
$
S-3
•
•
•
B
A
/
%
•
•
•
4
3
2
1
0.008
0.004
0.5
Figure 3. Densité normale de l’équation (1) dans
l’intervalle [0, 1]
0.01
0.006
0.4
Intervalle
correspondant
[Xmin +(S-1)ε, Xmin +Sε]
[Xmin +(S-2)ε, Xmin+(S1) ε]
[Xmin +(S-3)ε, Xmin+(S2)ε]
[Xmin +(S-4)ε, Xmin +(S3)ε]
•
•
•
[Xmin +3ε, Xmin +4ε]
[Xmin +2ε, Xmin +3ε]
[Xmin +ε, Xmin +2ε]
[Xmin, Xmin +ε]
SETIT2007
Les S associations entre les S intervalles et les S unités
d'alphabet, l’état initiale X0 et le paramètre b seront
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).
décrypter que le cas où η = 0, comme le montre la
figure 5.
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
satisfaisant cette dernière condition et
k ≥ η
simultanément, où k est un nombre pseudo aléatoire
qui représente la distribution normale dans l'intervalle
[0,1]. Donc l'émetteur continue à réitérer l’équation
(1) jusqu' à la satisfaction de cette dernière inégalité.
Fréquence de distribution
Pour déterminer l’utilité du cœfficient η, nous allons
tracer la caractéristique nombre de récurrences en
fonction du nombre d’itérations pour différentes
valeurs de η.
L’observation de la figure 4 nous permet de constater
que pour une valeur de η fixée, le nombre
d’occurrence diminue d’une façon exponentielle avec
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
lorsque η augmente, la fréquence de distribution sera
plus aplatie. Ceci confirme le fait que plus η est grand,
plus le nombre d'itérations nécessaires pour que la
trajectoire converge vers l’emplacement désiré soit
élevé.
Figure 5. Comparaison en nombres d’occurrences
(η = 0 et η = 0.9)
Nous choisissons alors de travailler avec un
coefficient élevé pour augmenter la complexité du
système de cryptage qui devient plus résistif aux
attaques.
2.2. Application de la méthode de cryptage pour la
transmission d’un message
Pour la première application de notre méthode, nous
choisissons de transmettre un message (un texte
composé par un certain alphabet) en considérant le
coefficient η = 0. Nous fixons également dans le
programme les autres paramètres de notre système de
cryptage comme suit :
Les clefs secrètes :
o
o
o
Condition initiale : X0 = 0.43203125
Paramètre de contrôle : b = 3.78
Association entre les emplacements et
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
Largeur des sous-intervalles : ε =
η =0
0 .6
256
Nmax = 65536
Figure 4. Comparaison en nombres d’occurrences
(η = 0.3 et η = 0.5)
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 – Dans ce qui suit, nous traitons un exemple de cryptage
d’un texte où nous présentons la forme sous laquelle
le message sera transmis. (Tableau2)
SETIT2007
2.3. Application de la méthode de cryptage pour la
transmission d’une image
La simulation sur Matlab montre qu’après cryptage,
l’image est transmise sous la forme d’une série de
65536 entiers tel que chaque entier représente le
ciphertext (le nombre d’itérations) correspondant à un
parmi les 65536 colonnes de vecteurs des pixels (tout
en conservant l’ordre).
Pour appliquer la méthode de cryptage sur une image,
nous faisons une association entre les niveaux des gris
des pixels de l’image et les différents intervalles. Nous
prenons comme exemple l’image de Léna définie
comme une matrice de 256 lignes et 256 colonnes, qui
sera convertie en un vecteur de 65536 pixels. La
figure 6 résume les différentes étapes et le résultat de
cette transmission.
Le décryptage de l’image se fait en utilisant ces
nombres d’itérations en commençant d’étirer C1 fois
l’équation (1) à partir de l’état X0, (C1 est le nombre
d’itérations correspondant à la première colonne du
vecteur) pour arriver à déterminer l’intervalle associé
au niveau de gris du premier pixel. De la même façon,
nous déterminons le reste des pixels.
Le cryptage de cette image se fait en utilisant les
mêmes clefs secrètes et les mêmes paramètres comme
le cas précédent (cryptage de texte).
Tableau 2. Application de la méthode de cryptage pour la transmission d’un message
Message émis
''Mon mot de passe est BAPTISTA''
Message crypté
4.0610 104
2.9264 104
1.9386 104
3.3382 104
7.6300 102
4.2625 104
2.6790 103
1.1886 104
Message décrypté
1.9388 104
2.1091 104
4.2753 104
3.2156 104
3.8320 103
4.9530 103
3.7529 104
3.4576 104
5.4470 103
4.5939 104
2.7000 104
2.8564 104
3.9133 104
1.3935 104
3.1953 104
1.2543 104
3.1590 103
Cryptage
par la méthode
Baptista
Codage
Canal
Canal
Décodage
source
3.9971 104
4.6750 103
''Mon mot de passe est BAPTISTA''
Codage
source
4.5590 103
Décryptage
par la méthode
Baptista
Décodage
canal
Figure 6. Chaîne de transmission d’une image cryptée par la méthode de Baptista.
‐ 5 – 2.4544 104
SETIT2007
Remarquons que dans les deux exemples traités, nous
avons choisi le coefficient η = 0, et par suite nous
prenons à chaque fois le nombre minimum d’itérations
nécessaire pour arriver à un emplacement donné.
Dans la suite, nous allons analyser la sécurité de la
méthode de cryptage de Baptista dans sa version la
plus complexe, tel que η = 0.99.
3. Analyse de Sécurité
Après qu'un nouveau système de cryptage est conçu, il
devrait toujours être évalué par une certaine analyse
de sécurité. Malgré que cette analyse ne puisse pas
comporter toutes les attaques possibles, ce système de
cryptage devrait couvrir au moins quelques attaques
les plus connues, pour vérifier s’il peut résister à ces
dernières. Cette analyse aide à repérer et corriger les
défauts.
Les techniques d’attaques sont employées pour casser
l'algorithme et récupérer les plaintexts sans avoir
accès à la clef. En effet, l’intruseur connaît exactement
la conception de l’algorithme et le fonctionnement du
système de cryptage à étudier, c’est à dire, il sait tout
concernant le sujet à l’exception des clefs secrètes.
C'est une condition évidente dans des communications
sécurisées d'aujourd'hui.
Cependant, l'histoire a prouvé que le maintien du
secret du système de cryptage est très difficile.
Attaque de keystream : l’opération de cet algorithme
peut être expliquée comme suit :
Si on suppose que K est la clé donnée par x0 et b et
que P = p1p2… est le texte en clair. Le keystream
κ = k1 k2 ... est généré en utilisant l’équation (1). Ce
keystream est utilisé pour chiffrer le texte en clair
selon la règle suivante :
(2)
C = ek1 ( p1 )ek2 ( p2 )... = c1c2 ...
Le déchiffrage de la corde C de texte chiffré peut être
accompli par le calcul de keystream K. Il est important
de noter que la connaissance du keystream k produit
par une certaine clef K est entièrement équivalente à
savoir la clef (x0 et b dans l’algorithme de Baptista).
Par conséquent, la méthode de cryptage ne sera plus
sécurisée.
Il existe différentes techniques d'attaque pour
récupérer le keystream utilisé par l’algorithme telle
que la méthode d’attaque à texte en clair choisi.
Attaque à texte en clair choisi : Comme exemple de
la façon de produire le keystream, nous utilisons une
source à 2 symboles, S2 = {s1, s2} et nous demandons
le texte chiffré des messages construits seulement par
s1 ou s2, en supposant que si (i ∈ {1, 2}) est le symbole
correspondant à chaque sous_intervalle utile et x le
réitéré qui visite les sous intervalles interdits.
Sous ces conditions, nous menons une attaque à texte
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 – le keystream est s1, le 9ème symbole est aussi s1, ainsi
que le 11ème et ainsi de suite. Après avoir considérer
tout le message, on obtient une connaissance partielle
du keystream :
K=xxxxxs1xxs1xs1xs1xs1xxs1xs1xxs1xs1xs1xxs1xs1....
Si nous utilisons tout l’attracteur [0, 1] au lieu d’une
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
c’est une seule portion de l’intervalle, elles peuvent
correspondre à une itération inférieure à la borne 0.2
ou supérieure à la borne 0.8.
Ensuite, nous demandons le texte chiffré du message
en clair : P = (s2 s2 s2 s2 s2 s2 s2 s2 s2 s2 …).
Si nous obtenons C = (1 2 3 9 5 7 5 1 1 1 ...), comme
cité avant, nous pouvons conclure que les lettres qui
correspondent à la position dans la séquence indiquée
par le nombre d’itérations dans le message chiffré
représentent s2. Nous ajoutons cette information à la
première séquence du Keystream et nous aurons :
K=xs2xs2xs1s2xs1xs1xs1xs1s2xs1xs1s2xs1
xs1xs1s2xs1 xs1s2...
Maintenant, nous sommes certains que la lettre x
correspond à une itération en dehors de l’intervalle
[0.2, 0.8], exceptée la première lettre x qui correspond
à la condition initiale.
En suivant cette méthode de calcul, qui requiert
seulement 2 textes en clair choisis, nous obtenons tout
le keystream. Pour obtenir une clef plus longue, nous
devons simplement demander le message chiffré d’un
long texte en clair. Il est évident que n’importe quel
message chiffré par les mêmes valeurs de x0 et b
utilisent le même keystream, qui dépend seulement du
paramètre b et de la condition initiale x0, il peut donc
être cassé facilement par le cryptanalyse. Nous
pouvons alors généraliser cette méthode à des sources
d’ordre supérieur.
La raison pour laquelle le symbole x apparaît
fréquemment dans le keystream est facile à
comprendre en observant la figure 3 qui donne la
densité naturelle invariante de l’équation (1) ; puisque
les régions proches des extrémités sont visitées avec
une haute fréquence. Comme conséquence du choix
de l’intervalle [0 .2, 0.8], la moitié des itérations est
négligée.
3.1. Analyse de la sécurité de la méthode de
cryptage de Baptista.
Pour analyser la sécurité de cette méthode, nous
appliquons la méthode d’attaque à texte en clair
choisie définie ci_dessous. Nous choisissons
d’attaquer la chaîne de transmission présentée dans le
paragraphe 3.3 où nous transmettons l’image de
« Léna » (figure 7) après cryptage par la méthode de
Baptista.
SETIT2007
Nous définissons alors une fonction fbe(.) génèrant un
nombre pseudo_aléatoire, qui doit être secret et qui
vérifie la relation suivante :
(3)
C' i = C i + f be X 0 (i)
Le procédé de déchiffrage se fait en deux étapes :
Nous calculons d’abord le nombre d’itérations Ci en
utilisant l’équation (3)
Nous étirons ensuite l’équation (1) à partir de l’état
initial suivant le nombre d’itérations calculé.
( )
3.2.2. Analyse de sécurité de la méthode de cryptage
de Baptista modifiée
Figure 7. Image source.
Le remplissage de keystream se fait de la même façon
comme indiqué ci-dessus, seulement les alphabets
sont remplacés par les valeurs de niveau de gris des
pixels. Après simulation de l’attaque de texte en clair
choisi sur l’image de « Léna », nous arrivons à
récupérer l’image de la figure 8 qui est exactement
identique à l’originale.
Nous appliquons maintenant l’attaque de texte en clair
choisi à l’image de « Léna » cryptée par la version
modifiée de Baptista. Après simulation, nous
récupérons une image incompréhensible.
Le résultat présenté si dessus montre que la même
attaque, qui a réussie à casser l’algorithme de cryptage
de Baptista en récupérant une image exactement
identique à la source, n’a aucun effet sur la version
modifiée. En effet si l’attaquant ne connaît pas le
nombre d’itérations, il n’arrive pas à déterminer les
emplacements des différentes valeurs des niveaux de
gris des pixels et donc il ne peut pas remplir le
keystream nécessaire pour récupérer l’image.
Avec cette nouvelle version, nous pouvons avoir
confiance à la méthode de cryptage de Baptista.
4. Conclusion
Figure 8. Image décryptée par le keystream.
Ce résultat montre que la méthode de cryptage de
Baptista n’est pas suffisante. Nous proposons dans la
suite une modification de cette méthode afin d’arriver
à augmenter la sécurité et résister aux attaques.
3.2. Amélioration de la méthode de cryptage de
Baptista
3.2.1. Modification de la méthode de Cryptage de
Baptista
Puisque le nombre d’itérations Ci est le paramètre
nécessaire utilisé pour attaquer l’algorithme de
cryptage, nous pensons de cacher Ci. L’idée est de
masquer secrètement Ci par un nombre pseudoaléatoire qui sera utilisé comme un ciphertext. Dans ce
cas, il est impossible pour un attaquant d’obtenir le
nombre d'itérations chaotiques à partir du texte chiffré,
de sorte que l’attaque ne réussit pas à décrypter
l’information émise.
‐ 7 – 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
différentes légèrement, des suites apparemment
semblables mais qui ne prendront jamais les mêmes
valeurs. Un « pirate » voulant s’attaquer au
déchiffrage du message, ne pourra donc pas
reconstituer correctement le signal chaotique,
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é
au message avant la transmission.
Références
[ALV 03] : Alvarez G, F. Montoya, M. Romera, G.
Pastor, ‘‘Cryptanalysis of dynamic look-up table
based chaotic cryptosystems’’, Physics Letters 2003.
[ALV 05]: Gonzalo A, Luis H, Jaime, Fausto M, et
Shujun Li, ‘‘Security analysis of communication
system based on the synchronization of different order
chaotic systems”, Physics Letters 2005.
[ALV 06]: Gonzalo A, Shujun L, ‘‘Some Basic
Cryptographic Requirements for Chaos Based
Cryptosystems’’, Physics Letters 2006.
SETIT2007
[BAP 98]: Baptista M. S, “Cryptography with chaos”,
Physics Letters, January 1998.
[BEN 06]: Ben Farah M.A, Kachouri.A,
Samet.M, ‘‘Design of secure digital communication
systems using DCSK chaotic modulation’’,DTIS’06
IEEE International conference,TUNISIE Seprtember
2006.
‐ 8 – [SHU 04]: Shujun L, Guanrong C, Kwok-Wo W,
Xuanquin M, et Yuanlong C, ‘‘Baptista-type chaotic
cryptosystems: Problems and countermeasures’’,
Physics Letters, September 2004.

Documents pareils