Feistel Network
Una red Feistel es una estructura simétrica para cifrados por bloques que divide la entrada en mitades izquierda y derecha y, en cada ronda, transforma una mitad con la función de ronda F y las intercambia; cifrado y descifrado comparten la misma estructura.
Propósito
Permite que la función de ronda F sea un mapeo arbitrario no biyectivo sin perder invertibilidad, simplifica el diseño y la implementación, y permite compartir código entre cifrado y descifrado.
Mecanismo
Cada ronda: L_{i+1} = R_i, R_{i+1} = L_i XOR F(R_i, K_i). El descifrado ejecuta la misma estructura con las subclaves en orden inverso. DES, 3DES, Blowfish y Twofish son cifrados Feistel.
Casos de uso
- Estructura de DES/3DES
- Diseño de Blowfish/Twofish
- Marco general de cifrados por bloques