La majorité des crypto‐systèmes basés chaos ont été conçus en utilisant la structure de substitution‐permutation proposée par [Fridrich, 1998]. Dans la quasi‐totalité des crypto‐ systèmes basés chaos, ces couches sont réalisées par des cartes chaotiques mono et bidimensionnelles.
Après, la couche d’addition de clé, la couche de substitution, qui est une opération non linéaire (réalisée par des tables de substitution statique et dynamique, ou par des fonctions non linéaires), permet de substituer séquentiellement les valeurs des pixels, de sorte quʹun changement d’un bit dans un pixel, provoque le changement de valeurs de pratiquement 50% des pixels dans lʹimage chiffrée.
Dans la couche de permutation, les octets changent de positions mais pas de valeurs. Cette opération est souvent réalisée par les cartes chaotiques suivantes : Cat [Guanrong et al, 2004] , Baker [Gotz et al, 1997] , Standard [Lian et al , 2005] .
La littérature spécialisée est extrêmement riche en la matière, pour cela, nous décrivons très brièvement, quelques crypto‐systèmes basés chaos qui nous semblent les plus efficaces parmi d’autres.
[Lian et al , 2005] ont indiqué qu’il existe quelques clés faibles de la carte Cat et Baker pour le processus de diffusion. De plus, lʹespace de clé de ces deux cartes nʹest pas assez grand comme celle de la carte standard. Ils ont suggéré dʹutiliser la carte standard pour la
permutation, et la carte logistique pour la génération de clé d’addition. Pour atteindre un niveau satisfaisant de sécurité, ils ont recommandé dʹexécuter au moins quatre itérations globales de substitution‐diffusion. Dans chaque itération, ils itèrent une fois le processus de substitution, et 4 fois le processus de permutation. Donc, au total, pour chiffrer un bloc, l’algorithme exécute 4 itérations de substitution et 16 itérations de permutation. Donc, la vitesse de chiffrement est assez lente. En effet, la carte standard est extrêmement coûteuse en réalisation logicielle et matérielle. Dans [Guanrong et al, 2004], [Di et al, 2007] les auteurs ont proposé lʹutilisation de la carte chaotique Cat 3D pour d’abord permuter les pixels de l’image toute entière, ensuite, ils enchainent des opérations d’additions modulo et OUex sur les octets, répétées plusieurs fois pour achever le chiffrement.
Dans [Kai et al, 2005], les auteurs montrent que la méthode précédente nʹest pas robuste contre l’attaque par texte clair choisi/connu. En effet, lʹattaquant peut réussir à retrouver les clés d’addition, en utilisant une image de valeurs zéro.
Pour résister à l’attaque à texte clair choisi/connu, plusieurs solutions ont été proposées : [Wong et al, 2008] et [Wang et al, 2009].
La solution de [Wong et al, 2008] consiste à relier le processus de permutation de
bloc sous traitement avec le bloc chiffré précédent. Le bloc chiffré devient dépendant de la clé sécrète et aussi du texte en clair.
La solution présentée dans [Wang et al, 2009], repose sur l’utilisation de paramètres de contrôle variables et non statiques. Ceci est considéré comme une version améliorée de lʹarchitecture de substitution‐permutation où les clés d’itérations deviennent dynamiques.
Dans [Socek et al, 2005], un algorithme de chiffrement dʹimage robuste, appelé ECKBA est proposé. La faiblesse de cet algorithme est sa rapidité, et aussi sa sensibilité en réception aux erreurs de propagation.
[Yang et al, 2010], ont proposé une architecture intéressante d’une solution permettant de réaliser à la fois le service de confidentialité et le service d’authentification. En plus, il est plus rapide que les crypto‐systèmes cités plus haut. Le crypto‐système en question utilise une clé de chiffrement qui dépend de la clé secrète proprement dit et du texte en clair.
L’algorithme de chiffrement proposé par [Kumar et Ghose, 2010] est constitué de deux étapes. La première étape, consiste en un mélange XOR de toute l’image avec une séquence pseudo‐aléatoire , générée par la carte standard associée au tableau de substitution de l’algorithme AES. Ensuite, une opération de permutation à base d’un registre à décalage avec retour, et une opération de décalage sur les lignes et colonnes sont réalisés.
La deuxième étape applique un XOR sur le résultat de l’étape précédente, utilisant la deuxième séquence pseudo aléatoire , générée de la même manière que la séquence . En plus, l’enchainement des opérations se fait en mode CBC sur les lignes et colonnes.
La première étape est itérée fois et la deuxième étape est itérée fois.
1.7 Propriétés des crypto‐systèmes proposés
Les crypto‐systèmes proposés possèdent en plus de la robustesse vis‐à‐vis des attaques cryptographiques, les caractéristiques suivantes :
‐ le calcul est prévu pour être réalisé en précision finie (Valeurs entières sur 32 bits), ceci facilite la réalisation matérielle et accélère la vitesse de chiffrement/déchiffrement, en logiciel et matériel ‐ le traitement est fait sur des tailles flexibles de blocs : 64, 128, 256, 512 et 1024 bits, selon la contrainte de l’application envisagée. ‐ l’utilisation de transformation non linéaire et linéaire dans les couches de substitutions et de diffusion ne nécessite pas de mémoire, afin de tenir compte des contraintes données liées à des applications données.
‐ la structure d’une itération des crypto‐systèmes est construite de sorte que les couches d’addition de clé et substitution soient réalisées en parallèles. Cependant, la couche de permutation de bits est limitée pour le traitement en parallèle. Pour contourner cette contrainte, une solution est présentée dans le deuxième crypto‐système.
1.8 Conclusion
Dans ce chapitre, nous avons introduit les définitions, généralités et systèmes, permettant de situer le contexte de l’étude et comprendre la suite des travaux. Nous avons tout d’abord, rappelé les différents services de la sécurité à savoir : la confidentialité, obtenue essentiellement par les crypto‐systèmes; l’intégrité des données, l’authentification de la source de message, obtenues par les fonctions de hachages et signature numérique qui nécessite des fonctions de hachage associées à des algorithmes de chiffrement asymétriques. Puis, nous avons rappelé l’essentiel sur l’algorithme AES de chiffrement par bloc, qui est le standard international. Aussi, nous avons rappelé les autres applications d’une fonction de hachage (protection des mots de passe, dérivation des clés et génération des nombres pseudo‐aléatoires) et montré la structure du HMAC (un code dʹauthentification de message avec clé). Ensuite, après avoir mentionné les caractéristiques des signaux chaotiques, nous avons décrit l’état de l’art des crypto‐systèmes basés chaos, et pointé les faiblesses et points forts de quelques crypto‐systèmes connus. Enfin, nous avons cité les propriétés des crypto‐systèmes basés chaos proposés, avant de conclure.