• Aucun résultat trouvé

Analyse de la sécurité des crypto‐systèmes et résultats expérimentaux Les crypto‐systèmes SPN et Feistel sont composés de plusieurs couches consécutives

Exemple de calcul de la matrice de diffusion

3.5 Analyse de la sécurité des crypto‐systèmes et résultats expérimentaux Les crypto‐systèmes SPN et Feistel sont composés de plusieurs couches consécutives

La  façon  de  réaliser  et  d’enchaîner  ces  couches,  détermine  les  performances  des  crypto‐ systèmes  en  termes  de  rapidité  d’exécution  et  de  robustesse  vis‐à‐vis  des  attaques  cryptographiques.  Dans  cette  partie  nous  nous  proposons  d’étudier  et  de  quantifier  les  performances  des  fonctions  chaotiques  (cartes  chaotiques)  utilisées  dans  les  différentes  couches afin de quantifier les performances des crypto‐systèmes proposés. A ce propos, nous  nous  appuyons  sur  les  outils  d’analyse  des  performances  des  crypto‐systèmes  de  la  littérature spécialisée.   

D’après  Shannon,  si  les  différentes  couches  d’un  crypto‐système  donné  sont  performantes,  alors le crypto‐système en question est performant. 

Nous commençons par introduire tous les outils nécessaires à l’analyse de la sécurité, puis   nous considérons les performances : 

‐ de la couche de substitution, réalisée par la carte chaotique Skew tent,  

‐ de  la  couche  de  permutation,  réalisée  par  la  carte  chaotique  Skew  tent,  puis  par  la  carte chaotique 2‐D, 

‐ de  la  couche  de  diffusion,  réalisée  par  la  matrice  binaire  statique,  et  par  la  carte  cat  dynamique multidimensionnelle.  

Enfin,  nous  évaluons  les  performances  des  crypto‐systèmes  proposés aux  différentes  attaques cryptographiques connues : 

‐ sensibilité aux textes en clair (mesure de l’effet d’avalanche)  ‐ sensibilité à la clé secrète en émission et en réception 

‐ analyse  statistique  de  la  sécurité  (chi‐carré,  entropie,  histogramme,  corrélation),  temps de calcul.   

3.5.1 Outils d’analyse de la sécurité 

 Préliminaires :  2.5.1.1 Attaques statistiques   Shannon [Shannon, 1949]  a dit ʺil est possible de casser un bon nombre de crypto‐systèmes  par une analyse statistique de ces derniersʺ. Pour résister à lʹattaque statistique il faut que : 

‐  lʹhistogramme  de  lʹimage  chiffrée  soit  quasi  uniformément  distribué,  de  cette  manière l’attaquant ne peut pas avoir de l’information sur lʹimage en clair.  

‐ les coefficients de corrélation des pixels adjacents de l’image chiffrée dans toutes les  directions soient proches de zéros.  

   

2.5.1.2 Attaques différentielles et linéaires   

Les  attaques  les  plus  puissantes  et  les  plus  courantes  sur  les  algorithmes  de  chiffrement/déchiffrement  par  bloc  sont  les  attaques  linéaire  [Matsui,  1993] et  différentielle 

[Biham  et  Shamir,  1991].  Selon  [Koo  et  al,  2003],  la  résistance  contre  ces  deux  types  d’attaques,  dépend  essentiellement  de  la  robustesse  de    la  couche  de  substitution  et  de  la  couche de diffusion. La couche de substitution doit assurer que le maximum des probabilités  d’approximation linéaire et différentielle soit le plus faible possible (2‐6 dans le cas de l’AES, 

et entre 2‐5,8 et 2‐5 pour nos crypto‐systèmes). La couche de diffusion doit assurer un nombre 

de  branches  linéaires  grand  (5  pour  l’AES,  et  entre  8  et  10  pour  les  crypto‐systèmes  proposés). 

Les  couches  de  confusion/diffusion  utilisées  dans  les  crypto‐systèmes  proposés  sont  dynamiques,  car  les  clés  utilisées  dans  ses  couches  varient    pour  chaque  itération,  par  conséquent les crypto‐systèmes proposés résistent à ces deux types d’attaques et possèdent  une complexité supplémentaire contre la cryptanalyse par rapport à l’utilisation des couches  statiques.  

2.5.1.3 Attaques à  texte en clair/chiffré connu ou choisi  

Les crypto‐systèmes proposés assurent l’effet d’avalanche. En effet,  quelle que soit la  position  d’un  bit  changé  dans  un  bloc  de  texte  en  clair  ou  chiffré,  ceci  provoque  pratiquement  le  changement  de  50%  des  bits  entre  les  deux  blocs  chiffré  ou  déchiffrée  respectivement (effet d’avalanche). 

La  mesure  de  l’effet  d’avalanche  doit  être  faite  au  niveau  du  bloc  et  non  au  niveau  de  l’image.  Par  ailleurs,  pour  réaliser  l’effet  d’avalanche,  certains  crypto‐systèmes  basés  chaos  relient le processus de génération des clés dynamiques ou de permutation avec le bloc chiffré  précédent, ceci entraine des erreurs de propagation. 

Parmi,  les  différents  modes  opératoires  cryptographiques,  le  mode  CBC  est  le  mode  qui  réalise le plus l’effet d’avalanche dans un sens. 

2.5.1.4 Attaque exhaustive de la clé secrète  

  Pour résister à lʹattaque exhaustive de la clé secrète,  un crypto‐système devrait avoir  une clé secrète de taille assez grande   128 bits). Dans les crypto‐systèmes basés chaos, la  clé  secrète  est  celle  du  générateur  des  séquences  chaotiques  utilisé.  Elle  est  formée    des  conditions initiales et des paramètres de contrôle du générateur en question.  

Les  générateurs  chaotiques  proposés  et  utilisés  dans  nos  crypto‐systèmes,  possèdent    un  espace de clé  secrète plus grand que 2128 bits, et donc ils résistent à lʹattaque exhaustive. 

     

2.5.1.5 Sensibilité  à la clé secrète en émission/réception 

Un crypto‐système est dit sensible à la clé secrète en émission/réception, si : 

‐ le chiffrement à l’émission d’une même image avec deux clés qui diffèrent d’un seul  bit, donne deux images chiffrées qui diffèrent de 50 % en bits ; 

‐ le  déchiffrement  à  la  réception  d’une  même  image  chiffrée  mais  avec  deux  clés  qui  diffèrent d’un bit, fournit deux images déchiffrées qui diffèrent de 50% en bits. 

Cette sensibilité est classiquement mesurée par deux paramètres qui sont le NPCR (Number  of Pixel Change Rate) et le UACI (Unified Average Changing Intensity) définis plus loin.   Les  séquences  pseudo‐chaotiques  générées,  sont  utilisées  pour  former  les  clés  dynamiques  des  différentes  couches  des  crypto‐systèmes  proposés.  Le  moindre  changement  de  la  clé  secrète du générateur engendre un changement quasi‐chaotique dans les clés dynamiques et  donc  les  crypto‐systèmes  proposés  assurent  la  sensibilité  à  la  clé  secrète  en  émission/réception.  

2.5.1.6 Attaque sur l’implémentation 

Dans  les  crypto‐systèmes  basés  sur  la  génération  de  séquences  chaotiques,  en  réception, le déchiffrement d’un bloc nécessite d’abord  la génération de tous les échantillons  nécessaires  au calcul des différentes clés dynamiques avant de procéder au déchiffrement.  Ceci  nécessite  donc,  de  stocker  ces  échantillons  pour  une  itération  j,  dans  une  mémoire  protégée contre ce type d’attaque. 

3.6 Outils de mesure des performances des couches des crypto‐systèmes et