Boîte-S

Restez toujours informé : suivez-nous sur Google (☆)

Introduction

S-Box (substitution box), terme anglais désignant une table de substitution utilisée dans un algorithme de chiffrement symétrique. Une S-Box contribue à la « confusion » (terme employé par Claude Shannon) en rendant l'information originale inintelligible. Les S-Boxes permettent de casser la linéarité de la structure de chiffrement et leur nombre varie selon les algorithmes. DES compte par exemple huit tables de 16x4 éléments.

Une table de substitution prend en général une variable de m bits en entrée et produit une sortie de n bits, les entrées et les sorties n'ont pas forcément la même taille. Les tables sont souvent définies à l'avance mais il arrive parfois qu'elles soient générées par l'algorithme (par exemple dans Blowfish). Les valeurs présentes dans les S-Box doivent être choisies de manière à éviter les attaques, par divers moyens comme l'utilisation de fonctions courbes. Dans le cas de DES, il a été prouvé que les tables avaient été conçues de manière à résister à la cryptanalyse différentielle (technique qui ne sera publiée que bien des années plus tard).

Exemple

Voici une S-Box (S) tirée de l'algorithme DES. La sortie de 4 bits est obtenue à partir de l'entrée de 6 bits. On divise ces 6 bits en deux parties : les deux bits aux extrémités et les quatre bits restants (au centre). Les deux bits indiquent la ligne et les bits centraux donnent la colonne correspondante. Par exemple, avec une entrée "011011", on divise en "0 1101 1". Ce qui donne pour la ligne "01" et pour la colonne "1101". La sortie de la table est alors "1001".

S4 bits au centre de l'entrée
0000000100100011010001010110011110001001110010111100110111101111
Bits externes000010110001000001011111001011011010000101001111111101000011101001
011110101100101100010001111101000101010000111111000011100110000110
100100001000011011110011010111100011111001110001010110001100001110
111011100011000111000111100010110101101111000010011100010001010011

A voir

  • DES
  • AES
  • Blowfish
  • Cryptographie symétrique
  • Cryptanalyse différentielle
  • (en) La S-Box utilisée par Rijndael