lunes, 24 de septiembre de 2012

 SEGURIDAD EN REDES

 Lourdes Acuayte Alcántara
Cutberto Hernández Mendoza

Contenido
    Introducción. 1
    Fundamentos. 1
        Cifrado de producto. 1
        Difusión y confusión. 1
    Cifrado Feistel 2
        Desventaja. 2
        Funcionamiento de una red de Feistel 2
        Reversibilidad del algoritmo. 3
        Ejemplo. 3
    Enlaces. 4

 

Introducción

El presente trabajo da una explicación sobre un algoritmo de cifrado llamado el cifrado Feistel o Redes de Feistel más conocidas, el cual fue descubierto por Horst Feistel que fue uno de los primeros no militares investigadores en el campo de la criptografía y puede ser considerado el padre de cifrado por bloques modernos.
En 1973 se publicó un artículo llamado “Cryptography and Computer Privacy” en la revista llamada “Scientific American”.
Esta estructura presenta unas características muy interesantes entre las que destaca que la codificación y la decodificación sean muy similares o en ciertos casos idénticos.
A la hora de implementar los sistemas en hardware, esta propiedad consigue reducir la complejidad y el coste de los circuitos, siendo sólo necesario modificar la clave.

Fundamentos

Cifrado de producto

Los algoritmos de cifrado simétricos se apoyan en los conceptos de confusión  y difusión que se combinan para dar lugar a los denominados cifrados de producto. Estas técnicas consisten básicamente en trocear el mensaje en bloques de tamaño fijo, y aplicar la función de cifrado a cada uno de ellos.
Un esquema de cifrado tiene 5 ingredientes:
  1.        Texto “en claro”
  2.        Algoritmo de cifrado
  3.        Clave secreta
  4.        Texto cifrado
  5.        Algoritmo de descifrado


Difusión y confusión

Difusión: Pretende disipar la estructura estadística del texto plano en el texto cifrado
El cambio de un bit en el texto plano afecta al valor de muchos dígitos del texto cifrado, cada bit del texto cifrado se ve afectado por muchos dígitos del texto plano, esto se consigue aplicando repetidamente permutaciones antes de las funciones de sustitución empleadas.
Confusión: Pretende hacer la relación entre las estadísticas del texto cifrado y el valor de la clave lo más compleja posible, para evitar el descubrimiento de la clave.
La manera en que se utiliza la clave para cifrar el texto debe ser tan compleja que sea difícil deducir la clave y se consigue mediante la utilización de un algoritmo de sustitución complejo.

 

Cifrado Feistel

Muchos de los cifrados de producto tienen en común que dividen un bloque de longitud n en dos mitades, L y R. Se define entonces un cifrado de producto iterativo en el que la salida de cada ronda se usa como entrada para la siguiente según la relación
Este tipo de estructura se denomina Red de Feistel, y es empleada en multitud de algoritmos, como DES, Lucifer, FEAL, CAST, Blowfish, etc.
Para descifrar bastará con aplicar el mismo algoritmo, pero con las Ki en orden inverso.
La propuesta de Feistel propuso alterna sustituciones y permutaciones, es una aplicación práctica de una propuesta de Claude Shannon en 1945 para desarrollar un cifrado producto que alterna funciones de confusión y difusión.

La seguridad depende de secreto de la clave, no del algoritmo por lo que:
  • Opera sobre un bloque de texto plano de n bits para producir un texto cifrado de n bits. Típicamente, la longitud de un bloque es de 64 bits.
  • Pueden adaptarse para funcionar como cifradores de flujo (más generales y mayor aplicabilidad)
  • Para que sea reversible (descifrado), cada entrada debe producir un bloque de texto cifrado único


Desventaja

-          Si el tamaño de bloque es pequeño el sistema es equivalente a un cifrado de sustitución clásico (vulnerable a un análisis estadístico del texto plano).

Funcionamiento de una red de Feistel

       Se divide el bloque inicial en dos partes: izquierda (L) y derecha (R).
       A la parte derecha se le aplica una función f que aporte la confusión y la difusión adecuada. En esta función un lugar importante lo ocupa la clave (ki), ésta debe permanecer en secreto y sólo la deben conocer el emisor y el receptor del mensaje.
       El resultado de esta función es aplicado a la parte izquierda del bloque mediante un XOR
       Se intercambian las dos partes y se itera el proceso, esta vez con los papeles cambiados.
 
FIGURA 1. FUNCIONAMIENTO DE LA RED FEISTEL

Reversibilidad del algoritmo


El algoritmo debe ser reversible: supongamos que se trata de una caja negra que tiene como entrada un bloque y como salida el bloque codificado. Tiene que ser posible enlazar ese bloque codificado con una caja negra idéntica en estructura (cambiando las claves lógicamente) que aplicado al bloque codificado nos devuelva el bloque original.

Ejemplo

El algoritmo usará bloques de tamaño 8 caracteres.
Tendrá dos vueltas y en cada vuelta realizará una operación de sustitución S y una permutación P sobre la 1ª mitad.
Sustitución:   Ci = (Mi +1 ) mod 27
Permutación: Pi = P 3241  (el carácter 1º pasa a la 4ª posición en el criptograma, el 4º a la 3ª, el 2º a la 2ª y el 3º a la 1ª)
Mensaje:
M = STAR WARS, LA MISIÓN CONTINÚA

FIGURA 2. EJEMPLO DE CIFRADO FEISTEL

Enlaces

http://www.mediafire.com/?sif0ae6buhzay24
http://goo.gl/JXlKL