Cifrado de Feistel para niños
En el mundo de la criptografía, que es el arte de escribir y descifrar mensajes secretos, el Cifrado de Feistel es un método muy especial para proteger la información. Se usa en los cifrados en bloque, que son sistemas que dividen un mensaje en partes pequeñas para protegerlas. Este método lleva el nombre de Horst Feistel, un experto en seguridad de la información de la empresa IBM. También se le conoce como Red de Feistel o Cadena de Feistel. Muchos sistemas de cifrado usan esta estructura, siendo uno de los más famosos el algoritmo Data Encryption Standard (DES). Una gran ventaja de las redes de Feistel es que son reversibles. Esto significa que los pasos para cifrar (convertir el mensaje en secreto) y descifrar (volverlo a su forma original) son casi idénticos, solo hay que cambiar el orden de las claves secretas que se usan.
Contenido
¿Qué es el Cifrado de Feistel?
El Cifrado de Feistel es como una receta secreta para proteger mensajes. Imagina que tienes un mensaje largo y quieres que nadie más lo lea. Este método te ayuda a mezclarlo de una forma muy organizada para que solo tú, o quien tenga la clave, pueda entenderlo de nuevo.
Un poco de historia: ¿Quién lo inventó?
El primer sistema que usó la idea de las redes de Feistel fue el algoritmo Lucifer. Fue creado por Horst Feistel y Don Coppersmith en IBM a principios de los años 70. Pero la popularidad de este método creció mucho cuando el Gobierno Federal de los Estados Unidos eligió el algoritmo DES como su sistema oficial para proteger las comunicaciones del gobierno. Este algoritmo DES se basaba en la idea de Lucifer y también usaba una red de Feistel. Como estos sistemas repetían los mismos pasos una y otra vez, eran muy fáciles de construir en aparatos electrónicos.
¿Cómo se cifra un mensaje con Feistel?
Este sistema se llama "simétrico por rondas" porque siempre realiza las mismas operaciones un número determinado de veces, a cada una de estas repeticiones se le llama "ronda".
Pasos clave del cifrado
Para entender cómo funciona una red de Feistel, podemos ver los pasos principales:
- Primero, se elige un mensaje, que normalmente tiene un tamaño fijo, como 64 o 128 bits.
- Este mensaje se divide en dos partes iguales, que llamaremos "L" (izquierda) y "R" (derecha).
- Luego, se usa una función especial, que llamaremos F, y una clave secreta para esa ronda, que llamaremos Ki.
- Se realizan operaciones complejas usando la función F y la clave Ki, pero solo con una de las dos partes del mensaje (por ejemplo, la parte "R").
- El resultado de estas operaciones se combina con la otra parte del mensaje (la parte "L").
- Después, las dos partes del mensaje se intercambian de lugar. La parte "L" se convierte en la nueva "R", y la parte "R" (que ya fue modificada) se convierte en la nueva "L".
- Estos pasos se repiten varias veces (varias "rondas") hasta que el mensaje está completamente cifrado.
¿Por qué es tan útil?
Una de las grandes ventajas de este modelo es que la función especial F que se usa no tiene que ser reversible. Esto significa que puede ser tan complicada como se quiera, lo que ayuda a que el cifrado sea muy seguro. Los expertos en criptografía pueden concentrarse en hacer que esta función sea lo más fuerte posible, sabiendo que el proceso para descifrar el mensaje está garantizado gracias a la estructura de la red de Feistel. Para descifrar, solo se necesita usar las mismas claves secretas, pero en el orden inverso.
Variaciones del Cifrado de Feistel
Existe una variación de este sistema llamada redes de Feistel no balanceadas. En estas, las dos partes del mensaje (L y R) no tienen el mismo tamaño. Un ejemplo de un sistema de cifrado que usa esta variación es el algoritmo Skipjack.
Véase también
En inglés: Feistel cipher Facts for Kids
- Criptografía
- Cifrado por flujo
- Confusión y difusión
- Red de sustitución-permutación