Red de Feistel
De Wikipedia, la enciclopedia libre
En criptografía, una red de Feistel o cifrador de Feistel es un esquema general para cifradores por bloques sugerido por el criptógrafo Horst Feistel de IBM.
Varios cifradores por bloques siguen este esquema, incluyendo el Data Encryption Standard (DES). La ventaja de esta estructura es que puede usarse tanto para cifrar como para descifrar. Lo que determina la operación es el orden en el que se le suministran las claves intermedias. De esta manera, el código o circuitería necesarios para su implementación se reduce prácticamente a la mitad.
[editar] Historia
La red de Feistel fue creada en 1970 por Horst Feistel. Fue vista por primera vez en forma comercial en el cifrador Lucifer de IBM, diseñado por Feistel y Don Coppersmith. Después de 4 años, en 1974, se lo propuso a la NASA, quien la seleccionó como buen mecanismo de cifrado. Debido a esto, se creó el DES para servicio de la NASA. Durante los siguientes años, la red de Feistel se fue aplicando a numerosos algoritmos inventados, como son el Blowfish, FEAL, Khufu, Khafre, LOKI97, GOST, CAST-128, y otros. Su popularidad es debida al hecho de que el algoritmo es reversible. Se podría decir que fue el principio de un nuevo tipo de cifrado.
[editar] El algoritmo
Este algoritmo se denomina simétrico por rondas, es decir, realiza siempre las mismas operaciones un número determinado de veces (denominadas rondas). Los pasos de la red de Feistel son:
- Se selecciona una cadena, N, normalmente de 64 o 128 bits, y se la divide en dos subcadenas, L y R, de igual longitud (N/2)
- Se toma una función, F, y una clave Ki
- Se realizan una serie de operaciones complejas con F y Ki y con L o R (solo uno de ellas)
- La cadena obtenida se cambia por la cadena con la que no se han realizado operaciones, y se siguen haciendo las rondas.
[editar] Véase también
- Criptografía
- Cifrado por flujo
- Confusión y difusión
- Red de sustitución-permutación