Cifrado de Feistel

Cifrado de Feistel

En criptografía, el Cifrado de Feistel es un método de cifrado en bloque con una estructura particular. Debe su nombre al criptógrafo de IBM Horst Feistel. También es conocida comúnmente como Red de Feistel. Un gran número de algoritmos de cifrado por bloques lo utilizan, siendo el más conocido el algoritmo Data Encryption Standard (DES). Las redes de Feistel presentan la ventaja de ser reversibles por lo que las operaciones de cifrado y descifrado son idénticas, requiriendo únicamente invertir el orden de las subclaves utilizadas.

Contenido

Historia

El primer algoritmo basado en las redes de Feistel fue el algoritmo Lucifer, diseñado al amparo de IBM por Horst Feistel y Don Coppersmith a principios de la década del 1970, aunque la popularidad para este esquema llegó cuando el Gobierno Federal de los Estados Unidos adoptó el algoritmo DES como estándar para el cifrado de las comunicaciones gubernamentales. Este algoritmo derivaba del algoritmo Lucifer y también está constituido por una red de Feistel. La naturaleza iterativa de estas redes hacía que la implementación del algoritmo en hardware fuera sencillo.

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 entre algunos mas:

  1. 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)
  2. Se toma una función, F, y una clave Ki
  3. Se realizan una serie de operaciones complejas con F y Ki y con L o R (solo uno de ellas)
  4. La cadena obtenida se cambia por la cadena con la que no se han realizado operaciones, y se siguen haciendo las rondas.

Detalles de Construcción

Las operaciones básicas de una red de Feistel son las siguientes: se descompone el texto plano en dos piezas iguales, (L0, R0). Para realizar el cifrado en cada ronda i=1,2,\dots,n, se calcula

Li = Ri − 1
R_i = L_{i-1} \oplus f(R_{i-1}, K_{i})

donde f es una función y Ki son cada una de las subclaves aplicadas a cada iteración. El texto cifrado viene dado por la concatenación de Ln y Rn.

Para el descifrado las operaciones que hay que realizar son:

Ri − 1 = Li
L_{i-1} = R_i \oplus f(L_i, K_i)

Una ventaja de este modelo es que la función f usada no tiene por qué ser reversible, pudiendo ser todo lo complicada que se desee, esta cualidad permite a los criptógrafos concentrarse en la seguridad de dicha función sabiendo que el proceso de descifrado está garantizado ya que la propia estructura de la red de Feistel es reversible. Para ello únicamente requiere que se invierta el orden de las subclaves utilizadas.

Una variación del esquema de Feistel son las redes de Feistel no balanceadas en las que las mitades del texto en plano L0 y R0 son de diferente longitud. Un algoritmo de cifrado que utiliza esta variación es el algoritmo Skipjack.

Véase también


Wikimedia foundation. 2010.

Игры ⚽ Поможем сделать НИР

Mira otros diccionarios:

  • MAGENTA (cifrado) — En criptografía, MAGENTA es un algoritmo de cifrado simétrico por bloques desarrollado por Deutsche Telekom. El nombre MAGENTA es un acrónimo para Multifunctional Algorithm for General purpose Encryption and Network Telecommunication Applications …   Wikipedia Español

  • Charles Rackoff — Residencia Nueva York,  Estados Unidos Nacionalidad Estadounidense …   Wikipedia Español

  • Data Encryption Standard — (DES) es un algoritmo de cifrado, es decir, un método para cifrar información, escogido por FIPS en los Estados Unidos en 1976, y cuyo uso se ha propagado ampliamente por todo el mundo. El algoritmo fue controvertido al principio, con algunos… …   Wikipedia Español

  • RC5 — Saltar a navegación, búsqueda RC5 Una vuelta (dos medias vueltas) de la unidad de cifrado RC5 General Dise …   Wikipedia Español

  • Blowfish — Saltar a navegación, búsqueda En criptografía, Blowfish es un codificador de bloques simétricos, diseñado por Bruce Schneier en 1993 e incluido en un gran número de conjuntos de codificadores y productos de cifrado. Mientras que ningún analizador …   Wikipedia Español

  • KASUMI — En criptografía, KASUMI, también llamado A5/3, es una unidad de cifrado por bloques utilizada en algoritmos de confidencialidad (f8) e integridad (f9) para Telefonía móvil 3GPP. KASUMI fue diseñado por el grupo SAGE (Security Algorithms Group of… …   Wikipedia Español

  • Confusión y difusión — son dos conceptos relacionados con la teoría de la información y de la comunicación. Claude Shannon, uno de los padres de esta teoría, participó con ciertos postulados acerca de los sistemas de cifrado. Según Shannon, para hacer un algoritmo de… …   Wikipedia Español

  • Advanced Encryption Standard — (AES), también conocido como Rijndael (pronunciado Rain Doll en inglés), es un esquema de cifrado por bloques adoptado como un estándar de cifrado por el gobierno de los Estados Unidos. El AES fue anunciado por el Instituto Nacional de Estándares …   Wikipedia Español

  • Clave débil — En criptografía una clave débil es aquella que, cuando es usada con un algoritmo de cifrado específico, hace que dicho algoritmo funciones de alguna manera no deseada. Las claves débiles generalmente representan un a fracción muy pequeña del… …   Wikipedia Español

  • International Data Encryption Algorithm — IDEA Una ronda de cifrado de IDEA General Diseñador(es) …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”