En cryptographie, un chiffrement Feistel est une structure symétrique utilisée dans la construction de chiffrement par blocs, du nom du cryptographe allemand d'IBM Horst Feistel ; il est également connu sous le nom de réseau Feistel. Un grand nombre de chiffres par blocs utilisent ce schéma, notamment la norme de chiffrement des données

La structure Feistel présente l'avantage que les opérations de cryptage et de décryptage sont très similaires, voire identiques dans certains cas, ne nécessitant qu'une inversion du schéma des clés. Par conséquent, la taille du code ou du circuit nécessaire pour mettre en œuvre un tel chiffrement est presque réduite de moitié.

La construction de Feistel est de nature itérative, ce qui facilite la mise en œuvre du cryptosystème dans le matériel.

Les réseaux Feistel et les constructions similaires sont des chiffrages de produits, et combinent donc plusieurs séries d'opérations répétées, telles que

  • Le "bit-shuffling" (souvent appelé "boîte de permutation" ou "P-box")
  • Fonctions non linéaires simples (souvent appelées boîtes de substitution ou S-boxes)
  • Mélange linéaire (au sens de l'algèbre modulaire) utilisant XOR pour produire une fonction avec de grandes quantités de ce que Claude Shannon a décrit comme "confusion et diffusion".

Le brassage des bits crée l'effet de diffusion, tandis que la substitution est utilisée pour la confusion.