En criptografía, un cifrado Feistel es una estructura simétrica utilizada en la construcción de cifrados en bloque, que lleva el nombre del criptógrafo alemán de IBM Horst Feistel; también se conoce comúnmente como red Feistel. Un amplio conjunto de cifradores de bloques utilizan este esquema, incluido el Estándar de Cifrado de Datos

La estructura Feistel tiene la ventaja de que las operaciones de cifrado y descifrado son muy similares, incluso idénticas en algunos casos, y sólo requieren una inversión del programa de claves. Por lo tanto, el tamaño del código o de los circuitos necesarios para implementar un cifrado de este tipo se reduce casi a la mitad.

La construcción de Feistel es de naturaleza iterativa, lo que facilita la implementación del criptosistema en el hardware.

Las redes Feistel y construcciones similares son cifrados de producto, por lo que combinan múltiples rondas de operaciones repetidas, como:

  • Barrido de bits (a menudo llamado cajas de permutación o cajas P)
  • Funciones no lineales simples (a menudo llamadas cajas de sustitución o cajas S)
  • Mezcla lineal (en el sentido del álgebra modular) utilizando XOR para producir una función con grandes cantidades de lo que Claude Shannon describió como "confusión y difusión".

El barajado de bits crea el efecto de difusión, mientras que la sustitución se utiliza para la confusión.