En criptografía, una red o cifrado de Feistel es una topología simétrica empleada para construir cifrados en bloque. Diseñada por Horst Feistel en IBM, esta arquitectura ha sido la base de numerosos algoritmos prácticos, entre ellos el Estándar de Cifrado de Datos (DES). Su popularidad radica en la simplicidad conceptual y en la facilidad de implementar tanto las rutinas de cifrado como las de descifrado con la misma lógica básica.

Descripción general y componentes

Una red Feistel procesa un bloque de datos dividiéndolo en dos mitades (izquierda y derecha). En cada ronda se aplica una función de ronda F a una de las mitades combinada con una subclave; el resultado se mezcla con la otra mitad mediante una operación simple, típicamente XOR. Tras cada ronda las mitades se intercambian parcialmente, y el proceso se repite varias veces. Este esquema usa:

  • División del bloque: mitades L y R.
  • Función de ronda F: transformaciones no lineales o mezcla de bits.
  • Operación de mezcla: generalmente XOR, que implementa la combinación.
  • Programa de claves: subclaves derivadas de la clave maestra para cada ronda.

Propiedades y ventajas

Una característica fundamental es que el cifrado y el descifrado son muy parecidos: invertir el cifrado suele reducirse a aplicar las mismas rondas con el orden de subclaves invertido. Esta simetría simplifica implementaciones y reduce el tamaño del código o del hardware necesario. Además, al ser una construcción iterativa y modular, facilita la evaluación de seguridad y la sustitución de componentes (por ejemplo, mejorar las cajas S o la función F) sin cambiar la estructura general.

Funcionamiento paso a paso

  1. Dividir el bloque en L0 y R0.
  2. Para cada ronda i: Li+1 = Ri; Ri+1 = Li ⊕ F(Ri, Ki).
  3. Tras n rondas, las mitades se recombinan (a veces con un intercambio final).

El uso de sustitución y permutación persigue la confusión y difusión descritas por Claude Shannon: las cajas S aportan no linealidad (confusión) y las permutaciones o barridos de bits (P-box) contribuyen a la difusión.

Historia y resultados teóricos

La estructura se consolidó en la década de 1970 con los primeros cifradores comerciales. Investigaciones posteriores dieron resultados formales sobre seguridad: construcciones de Feistel con un número mínimo de rondas ofrecen propiedades cercanas a un permutador pseudorandom si la función de ronda satisface ciertas condiciones (trabajos como los de Luby y Rackoff). Aun así, la seguridad práctica depende fuertemente de la elección de F, las cajas S y el programa de claves.

Variantes y comparaciones

Existen variantes como redes Feistel balanceadas, no balanceadas y redes generalizadas que permiten dividir el bloque en más de dos partes o usar funciones de tamaño distinto. A diferencia de las redes de sustitución-permutación (SPN), donde se aplican sustituciones y permutaciones sobre todo el bloque en cada ronda, las Feistel aplican la no linealidad localmente y permiten invertir sin necesidad de invertir F.

Usos y consideraciones prácticas

Las redes Feistel siguen utilizándose en ciphers comerciales y académicos por su flexibilidad. Para asegurar resistencia ante ataques modernos hay que atender al número de rondas, calidad de las cajas S y a un programa de claves robusto. Ejemplos y estudios adicionales pueden consultarse en recursos especializados y específicos sobre diseño de cifrados: clave y subclaves, cifrados por producto, cajas S, álgebra modular, operaciones XOR y efecto de difusión. Para más contexto histórico y técnico puede verse también material sobre operaciones de cifrado y sobre estándares concretos, así como trabajos académicos enlazados desde bibliografías y reseñas: cifrados en bloque, P-box y conceptos básicos.