Exemple de calcul de la matrice de diffusion
3.6 Outils de mesure des performances des couches des crypto‐systèmes et évaluation de ces performances
3.6.4 Performances de la couche de substitution selon les cinq critères énoncés: Les différents tests réalisés précédemment, nous ont permis de choisir le bon couple Les différents tests réalisés précédemment, nous ont permis de choisir le bon couple
6, 4 permettant d’avoir les meilleures performances de la couche de substitution. Partant de ce couple de valeurs, nous évaluons ici les cinq critères et nous comparons les résultats obtenus avec ceux obtenus par différentes couches de substitution de la littérature.
A ce propos, nous générons 1000 clés dynamiques de taille bits (avec 4, et 8 , de façon aléatoire et uniforme. Pour chaque clé, et pour un même vecteur d’entrée 1, 2, ,256 (tel que ), le calcul de la fonction de substitution se fait comme suit :
Pour le premier paramètre de contrôle, on calcule la fonction de substitution de façon itérative fois. Le résultat obtenu de est utilisé comme vecteur d’entrée permettant d’itérer à nouveau fois, pour le deuxième paramètre de contrôle, et ainsi de suite, jusqu’à épuisement du dernier paramètre.
Sur chaque fonction calculée, nous calculons immédiatement les cinq critères
NLF, , , , et avant de passer au calcul de la fonction suivante. Au final, nous obtenons 5 tableaux de 1000 lignes et de 1 colonne contenant les cinq critères.
2.6.4.1 Résultats du critère NLF
Dans les figures 3.40‐a, 3.40‐b, nous présentons l’évolution du NLF en fonction de la clé dynamique et sa distribution. Sur ces figures, nous remarquons que 93.2% de clés dynamiques utilisées (donc de couches de substitution) achèvent des non‐linéarités
96. En Matlab ce calcul se fait par : 96 / 100.
Ceci correspondant à une probabilité d’approximation linéaire 2 .
Nous observons aussi que 6.8% des clés dynamiques aboutissent à des non‐linéarités faibles 96, et donc un 2 . Notons que toutes les techniques de création de couches de substitution dynamiques possèdent un certain nombre de clés dites faibles.
Les maximum, minimum, moyenne et écart type obtenus de la non linéarité sont : 110, 60, 102.62, et 4.5 respectivement. La probabilité d’approximation linéaire moyenne est de 2 . . Ces résultats nous permettent de conclure qu’en moyenne, l’objectif de la non‐
linéarité est atteint.
Rappelons au passage que la couche de substitution statique de l’algorithme AES a été conçue pour obtenir , | | 32, soit une non‐linéarité maximale 112,
(a) (b)
Fig. 3.40:‐a. Evolution du NLF en fonction de la clé dynamique, ‐b. Distribution du NLF
2.6.4.2 Résultats du critère
Dans les figures 3.41‐a, 3.41‐b, nous présentons l’évolution du en fonction de la clé dynamique et sa distribution (l’échelle ordonnée de la figure 20‐a, et l’échelle abscisse de la figure 20‐b sont des échelles en ). Nous pouvons faire les remarques suivantes :
93.2% de clés dynamiques utilisées donnent des 2 , 27.4% des couches de substitution possèdent des tel que 2 2 et seulement 0.008% des couches de substitution possèdent des 2 .
Par ailleurs, les maximum, minimum, moyenne et écart‐type obtenus du sont : 2 . , 2 . , 2 . et 0.0189. Tous ces résultats sont en cohérence totale avec les résultats obtenus par le critère NLF. (a) (b) Fig. 3.41: ‐a. Evolution du LPF en fonction de la clé dynamique, ‐b) Distribution du LPF Les résultats obtenus par les critères NLF et montrent clairement que la majorité des couches de substitution (93.2%) sont résistantes vis‐à‐vis de l’attaque linéaire.
2.6.4.3 Résultats du critère
La probabilité d’approximation différentielle a un comportement similaire à la probabilité d’approximation linéaire et possède les mêmes ordres de grandeur en fonction des clés dynamiques. Rappelons aussi, que la couche de substitution statique de l’algorithme
AES possède un 2 .
Dans les figures 3.42‐a, 3.42‐b, nous présentons l’évolution du en fonction de la clé dynamique et sa distribution (l’échelle ordonnée de la figure 3.42‐a, et l’échelle abscisse de la figure 3.42‐b sont des échelles en ). Nous pouvons faire les remarques suivantes :
90.2% de clés dynamiques utilisées donnent des 2 . , 70.3% des couches de substitution possèdent des tel que 2 2 et seulement 0.022% des couches de substitution possèdent des 2 .
Par ailleurs, les maximum, minimum, moyenne et écart‐type obtenus du sont : 2 . , 2 . , 2 . et 0.0228.
Ces résultats montrent que la majorité des couches de substitution résiste à l’attaque différentielle.
(a) (b)
Fig. 3.42:‐a. Evolution du DPF en fonction de la clé dynamique, ‐b. Distribution du DPF
2.6.4.4 Résultats du critère
Dans les figures 3.43‐a, 3.43‐b, nous présentons l’évolution de la moyenne du en fonction de la clé dynamique et sa distribution. Nous pouvons faire les remarques suivantes : 97.2% de clés dynamiques utilisées donnent des valeurs moyennes des 0.46, 74. 90% des couches de substitution possèdent des moyennes tel que 0.48 0.5142 et seulement 0.028% des couches de substitution possèdent des moyennes 0.46.
Par ailleurs, les maximum, minimum, moyenne et écart‐type obtenus des moyennes sont : 0.5142, 0.4282, 0.48638 et 0.0117. La majorité des valeurs moyennes des SAC sont autour la valeur optimale de 0.5.
(a) (b) Fig. 3.43 :‐a. Evolution de la moyenne des SAC ‐b. Distribution de la moyenne des SAC en fonction de la clé dynamique 2.6.4.5 Résultats du critère Dans les figures 3.44‐a, 3.44‐b, nous présentons l’évolution de la moyenne du en fonction de la clé dynamique et sa distribution. Rappelons que la diagonale de la matrice BIC est vide. Nous pouvons faire les remarques suivantes :
97. 1% des couches de substitution possèdent des moyennes tel que 0.49 0.51 et seulement 0.029% des couches de substitution possèdent des moyennes 0.49.
Par ailleurs, les maximum, minimum, moyenne et écart‐type obtenus des moyennes sont : 0.5101, 0.4623, 0.4999 et 0.0046. La majorité des valeurs moyennes des BIC sont autour la valeur optimale de 0.5. (a) (b) Fig. 3.44:‐a. Evolution de la moyenne des BIC ‐b. Distribution de la moyenne des BIC en fonction de la clé dynamique.
Les résultats des figures 3.43 et 3.44, montrent clairement que la majorité des couches de substitution satisfont les critères SAC et BIC. Donc, les couches de substitution en question résistent à l’attaque à texte clair/chiffré connu et choisi.