Cifrado en Bloque

Es aquel cifrado en el que se cifra el mensaje original agrupando los símbolos en grupos (bloques). Este tiene 4 Elementos:

  • Transformación Inicial
  • Función criptográficamente débil r veces
  • Transformación final
  • Algoritmo de expansión de clave

Vueltas Inmediatas(2):

  • Función no Lineal Complicada de los datos y la clave.
  • Puede ser Undireccional [DES] o no [ÎDEA, RC5]
  • Puede estar formada por una sola operación muy compleja o por la sucesión de varias transformaciones simples.

Transformación Final

Sirve para que las operaciones de cifrado y descifrado sean simétricas.

Cifrado tipo producto: Lucifer

Un cifrado tipo producto según Shannon es el que utiliza la composición de diferentes funciones de cifrado. Esta idea de Feistel fue implantada por Notz y Smith en el dispositivo Lucifer, precursor del DES. Se trata simplemente de aplicar varias funciones de manera secuencial sobre los datos a cifrar.

Algoritmos DES, IDEA y AES:

DES es un cifrador de Feistel, ha sido un estándar y en aplicaciones bancarias se seguirá usando durante tiempo. IDEA es un algoritmo seguro que hace uso de los conceptos de inversos en un cuerpo finito, como todos los algoritmos de cifra modernos, y se usa entre otros en la aplicación PGP. AES es el nuevo estándar de cifra avanzada: RIJNDAEL.

DES Propiedades Fundamentales

Dependencia entre símbolos: Cada bit del texto cifrado es una función compleja de todos los bits de la clave y todos los bits del texto original.

DES Seguridad:

Prueba todas las claves del DES en 9 días; en 4.5 días encuentra una clave. El DES Cracker tiene 36864 unidades de prueba de claves, ensayando cada una 2.5*106 claves por segundo. En total ensaya 92.16*109 claves por segundo.

Triple DES tipo EDE

DES haya sufrido diversos ataques y no se haya vuelto a certificar por el NIST como estándar de cifrado, el Triple DES sí tiene una gran seguridad debido al tamaño de su clave de 112 bits efectivos y sigue siendo válido en el año 2005.

IDEA

El cifrado se basa en el concepto de mezclar operaciones aritméticas de grupos algebraicos diferentes.

RC2

Cifrador en bloque de clave variable propuesto por Ron Rivest. El código es secreto industrial de RSA Data Security Inc. Tamaño del bloque de texto: 64 bits.

AES – Características

  1. No es de tipo Feistel.
  2. Implementado para trabajar en los procesadores de 8 bits usados en tarjetas inteligentes y en CPUs de 32 bits.
  3. Tamaño de clave variable: 128, 192 y 256 bits (estándar) o bien múltiplo de 4 bytes.
  4. Tamaño del bloque de texto: 128 bits o múltiplo de 4 bytes.
  5. Operaciones modulares a nivel de byte (representación en forma de polinomios) y de palabra de 4 bytes: 32 bits.
  6. Número de etapas flexible según necesidades del usuario.
  7. Usa un conjunto de Cajas S similares a las del DES.

Criptografía con clave secreta

Un Criptosistema de Clave Secreta es una familia de pares de funciones (Ek,Dk) para cada k Î K, definidas como Ek:Mè C, Dk:C è M de manera que para m Î M se verifica Dk(Ek(m))=m.

Criptosistemas con Clave Pública

Se utilizan dos claves para cada participante: una para el cifrado que es pública (EAB) y otra para el descifrado que es privada/secreta (DAV).

Cifrado Exponencial – RSA

Función Unidireccional: Es una función invertible, pero de modo que es “fácil” calcular f(m)=c y es “difícil” computar f-1(c)=m.

Función Tramposa: Una función unidireccional es tramposa si puede ser invertida fácilmente cuando se conoce alguna información adicional extra. Esa información se conoce como trampa.

Para implementar un criptosistema de clave pública, cada usuario U elige una clave aleatoria y pública u Î K que permite calcular fu; se la denota como Eu y es su clave pública. La trampa t(u) necesaria para invertir fu es su clave privada.

Cifrado Exponencial – RSA – Protocolo

Cada usuario U elige dos primos p y q y calcula n=p·q. U utiliza Zn como grupo, cuyo orden es φ(n)=(p-1)·(q-1). Para U es fácil calcular este orden porque conoce p y q.

U selecciona un entero positivo e, 1 ≤ e < φ(n), que sea primo con el orden del grupo. Mediante el algoritmo de Euclides extendido calcula d como el inverso de e en Zn; entonces e·d ≡ 1 (mod φ(n)), con 1 ≤ d < φ(n). La clave pública de U es la pareja (n,e) y su clave privada es d. Deben permanecer secretos los números p, q y φ(n).

Cifrado Exponencial – RSA – Firma Digital

Sean A y B usuarios con claves (EAB,DAV) y (EBB,DBV); E: clave de cifrado pública, D: clave de descifrado secreta.

  1. A utiliza DAV para firmar el mensaje: s= DAV(m)
  2. Cifra la firma s con el algoritmo de cifrado público de B: EBB(s)= EBB(DAV(m))
  3. Envía por el medio EBB(s)
  4. B descifra el mensaje recibido con su algoritmo secreto: DBV(EBB(s))=s=DAV(m)
  5. Suponiendo que proceda de A aplica el algoritmo público de A: EAB(DAV(m))=m.

En la práctica, para agilizar las operaciones se suele elegir una clave pública pequeña, para que quien desee enviar un mensaje lo haga de la forma más rápida posible.

Pros y contras de los Sistemas de Clave Pública

  • Emisor y receptor generan un par de claves, pública y privada, relacionadas por una función con trampa.
  • Emisor y receptor de un mensaje usan claves diferentes para las operaciones de cifrado, descifrado y firma.
  • La seguridad del sistema va asociada a la resolución de un problema matemático de difícil solución en el tiempo.
  • Firma digital completa: autentican al mensaje y al emisor.