Vous êtes sur la page 1sur 25

CRIPTOGRAFA

J. MANUEL MORENO EGULAZ


Departament d'Enginyeria Electrnica Secci Barcelona-Sud (E.T.S.E.I.B.) Universitat Politcnica de Catalunya

BIBLIOGRAFA
Estas transparencias han sido preparadas a partir del libro Libro Electrnico de Seguridad Informtica y Criptografa Versin 4.1, Sexta edicin de 1 de Marzo de 2006, del profesor Dr. Jorge Rami Aguirre, Universidad Politcnica de Madrid, en colaboracin del Dr. Josep Mara Miret Biosca, de la Universidad de Lleida. Es un material docente de libre distribucin, que puede descargarse en el siguiente enlace: http://www.criptored.upm.es/guiateoria/gt_m001a.htm

CRIPTOGRAFA
Rama inicial de las Matemticas y en la actualidad tambin de la Informtica y la Telemtica, que hace uso de mtodos y tcnicas con el objeto principal de cifrar, y por tanto proteger, un mensaje o archivo por medio de un algoritmo, usando una o ms claves. Esto dar lugar a diferentes tipos de sistemas de cifra, denominados criptosistemas, que nos permiten asegurar los aspectos bsicos de la seguridad informtica:
la confidencialidad o secreto del mensaje. la integridad del mensaje y autenticidad del emisor as como el no repudio mutuo entre emisor (cliente) y receptor (servidor).

MS DEFINICIONES
Un trmino ms genrico es criptologa: el compendio de las tcnicas de cifra, conocido como criptografa, y aquellas tcnicas de ataque conocidas como criptoanlisis. Cifra o cifrado: Tcnica que, en general, protege o proporciona autentidad a un documento o usuario al aplicar un algoritmo criptogrfico. Sin conocer una clave especfica o secreta, no ser posible descifrarlo o recuperarlo. Criptograma: Documento cifrado. Se detona como C. Criptoanlisis: El arte de descifrar criptogramas. Criptgrafo: mquina o artilugio para cifrar. Criptlogo: persona que trabaja de forma legtima para proteger la informacin creando algoritmos criptogrficos. Criptoanalista: persona cuya funcin es romper algoritmos de cifra en busca de debilidades, la clave o del texto en claro. Texto en claro: documento original. Se denota como M. Claves: datos (llaves) privados/pblicos que permiten cifrar un documento y descifrar el correspondiente criptograma.

CONFIDENCIALIDAD / INTEGRIDAD
CRIPTOSISTEMA C Mensaje Cifrado MEDIO TRANSMISIN C

EMISOR

RECEPTOR

CIFRADOR

DESCIFRADOR

CUALQUIER MEDIO DE TRANSMISIN ES INSEGURO (VULNERABLE) Confidencialidad: Interceptacin del mensaje por un intruso. Integridad: Usurpacin de identidad por un intruso.

CIFRADO/DESCIFRADO
Bajo un punto de vista filosfico, podemos entender un cifrador/descifrador como una caja negra en la que entran y salen bits. La forma de manipular los bits (algoritmo de cifrado) junto con el tipo de claves que se utilicen permitir conseguir un sistema informtico seguro (confidencialidad, integridad, autenticidad).

M 10101010

CIFRADOR

C 01010101

K 11111111

CRIPTOANLISIS
Quin puede tener inters en descifrar los criptogramas? Criptlogos (universidades o empresas privadas):
Buscan las debilidades de los algoritmos de cifrado/descifrado o de las claves. Intento de mejorar los sistemas actuales. Proponen mejoras a los algoritmos o nuevos algoritmos de cifrado.

Criptoanalistas Intentan descifrar criptogramas para robar informacin, manipularla o usurpar identidades en beneficio propio (acceso a bancos, compras por internet, etc.) Unos cuantos ordenadores o sistemas dedicados basados en FPGAs son suficientes para intentar romper un criptograma. Con Internet, es relativamente fcil hacer que miles de ordenadores se dediquen a descifrar claves mientras la CPU est en reposo.

REQUISITOS DE SEGURIDAD
El algoritmo de cifrado y descifrado deber ser rpido y fiable. No debe existir retardo debido al cifrado o descifrado. La seguridad del sistema deber residir solamente en el secreto de una clave y no en las funciones de cifra. La fortaleza del sistema se entender como la imposibilidad computacional (tiempo de clculo en aos que excede cualquier valor razonable) de romper la cifra o encontrar una clave secreta a partir de otros datos de carcter pblico.

Fortaleza de la cifra: tipos de ataques


Conociendo el algoritmo de cifra, el criptoanalista intentar romper la cifra en uno de estos escenarios: 1. Contando nicamente con el criptograma. 2. Contando con texto en claro conocido. 3. Eligiendo un texto en claro. 4. A partir de texto cifrado elegido. ATAQUE POR FUERZA BRUTA 5. Buscando todas combinaciones posibles de claves. Un algoritmo de cifra ser fuerte si, conociendo su funcionamiento o cdigo, conociendo el texto cifrado y conociendo el texto en claro, el ataque a la clave de cifra secreta es computacionalmente muy difcil.

Hitos histricos en la criptografa


La criptografa clsica abarca desde tiempos inmemoriales hasta la mitad del siglo XX. El punto de inflexin en esta clasificacin la marcan tres hechos relevantes: - En el ao 1948 se publica el estudio de Claude Shannon sobre la Teora de la Informacin. - En 1974 aparece el estndar de cifra DES. - Y en el ao 1976 se publica el estudio realizado por Whitfield Diffie y Martin Hellman sobre la aplicacin de funciones matemticas de un solo sentido a un modelo de cifra, denominado cifrado con clave pblica.

CLASIFICACIN DE CRIPTOSISTEMAS
Segn el tratamiento del mensaje:
Cifrado en Bloque (64 128 bits) Cifrado en flujo (cifrado bit a bit)

Segn el tipo de claves: Cifrado con clave secreta (Sistemas Simtricos)


Cifrado con clave pblica (Sistemas Asimtricos)

CIFRADO EN BLOQUE Y EN FLUJO


CIFRADO EN BLOQUE: -Elevada difusin de los elementos en el criptograma. -Inmune: imposible introducir bloques extraos sin detectarlo. -Baja velocidad de cifrado al tener que leer antes todo el bloque completo. -Propenso a errores de cifra: un error se propagar por todo el bloque. CIFRADO EN FLUJO: -Alta velocidad de cifra al no tener en cuenta otros elementos. -Resistente a errores: la cifra es independiente en cada elemento. -Baja difusin de elementos en el criptograma. -Vulnerable: pueden alterarse los elementos por separado.

CLASIFICACIN DE CRIPTOSISTEMAS
Sistemas Simtricos: existe una nica clave secreta compartida por emisor y receptor. La clave permite el cifrado y el descifrado, con lo que la seguridad de este tipo de sistemas radica en mantener dicha clave en secreto. Ej. Algoritmo DES y TripleDES entre otros. Sistemas Asimtricos: Cada usuario crea un par de claves, una privada y otra pblica, inversas dentro de un cuerpo finito. Lo que se cifra en emisin con una clave, se descifra en recepcin con la clave inversa. La seguridad del sistema reside en la dificultad computacional de descubrir la clave privada a partir de la pblica. Para ello, usan funciones matemticas de un solo sentido o con trampa.

CRIPTOSISTEMAS SIMTRICOS
Mensaje Cifrado MEDIO TRANSMISIN CRIPTOGRAMA CIFRADOR DESCIFRADOR

EMISOR

RECEPTOR

k, Clave Secreta Integridad

INTRUSO

k, Clave Secreta Confidencialidad

La integridad y la confidencialidad se logran si se protegen las claves en el cifrado y en el descifrado (claves secretas).

CRIPTOSISTEMAS ASIMTRICOS (I)


CIFRADO CON CLAVE PBLICA DEL EMISOR USUARIO A EMISOR C Mensaje Cifrado MEDIO TRANSMISIN USUARIO B C RECEPTOR

CIFRADOR

DESCIFRADOR

Clave Pblica del Usuario B

INTRUSO

Clave Privada del Usuario B

Las claves son inversas dentro de un cuerpo. La clave privada debe ser secreta.

CRIPTOSISTEMAS ASIMTRICOS (II)


CIFRADO CON CLAVE PRIVADA DEL EMISOR USUARIO A EMISOR C Mensaje Cifrado MEDIO TRANSMISIN USUARIO B C RECEPTOR

CIFRADOR

DESCIFRADOR

Clave Privada del Usuario A

INTRUSO

Clave Pblica del Usuario A

Las claves son inversas dentro de un cuerpo. La clave privada debe ser secreta.

SIMTRICO O ASIMTRICO?
Los sistemas de clave pblica son muy lentos pero tienen un fcil intercambio de clave y cuentan con firma digital. Los sistemas de clave secreta son muy rpidos pero carecen de lo anterior. Qu hacer?
Cifrado de la informacin: Usaremos sistemas de clave secreta Firma e intercambio de clave de sesin: Usaremos sistemas de clave pblica

SISTEMAS DE CIFRA EN FLUJO (I)


Recordando la propuesta de cifrador Hecha por Vernam en 1917,los cifradores de flujo usarn:
Un algoritmo de cifra basado en la funcin XOR. Una secuencia cifrante binaria y pseudoaleatoria denominada S y que se obtiene a partir una clave secreta K compartida por emisor y receptor, y un algoritmo generador determinstico. El mismo algoritmo para el descifrado debido el carcter involutivo de la funcin XOR.
Secuencia Cifrante S Mensaje Cifrado C Clave K

Clave K

Algoritmo Determinstico

Algoritmo Determinstico

Mensaje en Claro M

Mensaje en Claro M

SISTEMAS DE CIFRA EN FLUJO (II)


Caractersticas de la secuencia cifrante S
Perodo:
La clave deber ser tanto o ms larga que el mensaje. En la prctica se usar una semilla K de unos 120 a 250 bits en cada extremo del sistema para generar perodos superiores a 1035. La distribucin de bits de unos (1s) y ceros (0s) deber ser uniforme para que represente a una secuencia pseudoaleatoria.

Distribucin de bits:

Las rachas, es decir, la secuencia de dgitos iguales entre dos dgitos distintos, debern seguir una distribucin estadstica de forma que la secuencia cifrante S tenga un comportamiento de clave aleatoria o pseudoaleatoria.
Secuencia S de periodo T = 15

111101011001000
Racha de 4 1s Racha de 3 0s

SISTEMAS DE CIFRA EN FLUJO (III)


Autocorrelacin fuera de fase AC(k) de una secuencia S de periodo T desplaza k bits hacia la izquierda: AC(k) = (Aciertos Fallos)/T

111101011001000 111010110010001

Si k = 1

T = 15, Aciertos = 7 (), Fallos = 8 (), AC(1) = (7-8)/15 = -1/15 Para el ejemplo anterior, AC(k) es constante para cualquier k Para que una secuencia cifrante S podamos considerarla segura y apropiada para una cifra, adems de cumplir con la distribucin de rachas vista anteriormente, deber presentar una autocorrelacin fuera de fase AC(k) constante.

GENERADORES DE SECUENCIAS
Utilizando registros de desplazamiento (SHRs) podemos construir los siguientes tipos de generadores de secuencias cifrantes:
LFSR: Registros de desplazamiento realimentados linealmente. NLFSR: Registros de desplazamiento realimentados no linealmente.
Funcin de Realimentacin

1 SHR

Valor Inicial = Semilla

GENERADORES LINEALES LFSR (I)


a(t) = C1a(t-1) C2a(t-2) C3a(t-3) ... Cna(t-n) C1 S1 S2 C2 S3 SHR a derechas Ci={0,1}, dependiendo si hay o no conexin de celda, Cn = 1 Polinomio asociado: f(x) = Cnxn + Cn-1xn-1 + .... + C2x2 + C1x + 1 Una nica funcin XOR, Periodo T = 2n-1 Polinomio asociado: f(x) = x4 + x3 + x2 + x + 1 LFSR 4 etapas C1 S1 C2 S2 S3 C3 S4 C4 Si C3 Sn-1 Cn-1 Sn Cn = 1 Si

GENERADORES LINEALES LFSR (II)


En funcin del tipo de polinomio asociado podemos hablar de:
LFSR con polinomios factorizables. No sern criptogrficamente interesantes. LFSR con polinomios irreducibles No sern criptogrficamente interesantes. LFSR con polinomios primitivos. - Generan una secuencia cifrante de inters criptogrfico con perodo T = 2n 1. - Hay 2n bits 1 y 2n-1 bits 0. - El vector binario de las celdas pasa por todos los estados excepto la cadena de ceros que est prohibida. Distribucin tpica de rachas. - Los aciertos (A) sern iguales a 2n-1 1 [AC(k) constante]. Inconveniente: Conociendo 2n bits de la secuencia, es posible conocer el polinomio generador y por tanto reconstruir toda la secuencia.

GENERADORES LINEALES LFSR (IV)


Para aumentar la complejidad lineal de los LFSRs, se hacen operaciones no lineales (suma y multiplicacin) sobre varios LFSRs.
S1

Generador primitivo con n1 celdas

Si Generador primitivo con n2 celdas

S2 Suma o Multiplicacin

ALGORITMOS DE CIFRADO EN FLUJO


Sistemas ms conocidos:
A5: Algoritmo no publicado propuesto en 1994. Cifrado del enlace entre el abonado y la central de un telfono mvil (celular) tipo GSM. Cada trama de conversacin entre A y B tiene 228 bits, de los cuales 114 son en sentido A B y otros 114 en sentido B A. El generador entregar los 228 bits pseudoaleatorios para la cifra de cada trama. Con cerca de 130 millones de usuarios en Europa y otros100 millones de usuarios en el resto del mundo en 1999, el sistema A5/1 sucumbi en diciembre de ese ao a un ataque realizado por Alex Biryukov, Adi Shamir y David Wagner. RC4: Algoritmo de RSA Corp. desarrollado en el ao 1987, usado en Lotus Notes. Posteriormente se usa en el navegador de Netscape desde 1999 y luego en otros navegadores ms actuales. No es pblico. SEAL: Algoritmo propuesto por IBM en 1994.

Vous aimerez peut-être aussi