• Aucun résultat trouvé

Etat de l’art des crypto‐systèmes par bloc basés chaos 

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.