Este documento presenta los conceptos básicos de la criptografía, incluyendo criptosistema, esteganografía, criptoanálisis y seguridad en sistemas informáticos. Define un criptosistema como una quintupla que incluye los conjuntos de mensajes sin cifrar y cifrados, claves, y las funciones de cifrado y descifrado. Explica brevemente la esteganografía como ocultar información y el criptoanálisis como analizar sistemas criptográficos.
1. Criptograf´ y Seguridad
ıa
Manuel J. Lucena L´pez
o
mlucena@ujaen.es
Departamento de Inform´tica
a
Universidad de Ja´n
e
25 de febrero de 2010
Manuel Lucena (Dpto. Inform´tica)
a Criptograf´ y Seguridad
ıa 25 de febrero de 2010 1 / 11
Datos de la Asignatura
Nombre: Criptograf´ y Seguridad.
ıa
´
Codigo: 5265.
´
Titulacion: Ingenier´ T´cnica en Inform´tica de Gesti´n (1997).
ıa e a o
´
Caracter: Optativo.
Curso: 3o .
Cuatrimestre: 2o .
´
Creditos LRU: 3 te´ricos y 3 pr´cticos.
o a
´
Creditos ECTS: 2.4 te´ricos y 2.4 pr´cticos.
o a
Manuel Lucena (Dpto. Inform´tica)
a Criptograf´ y Seguridad
ıa 25 de febrero de 2010 2 / 11
2. Datos del Profesorado
Profesor: Manuel J. Lucena L´pez.
o
e-mail: mlucena@ujaen.es
Despacho: A3-112.
´
Telefono: 953 21 28 86
Web: http://wwwdi.ujaen.es/∼mlucena
Tutor´
ıas:
Lunes, de 10:30 a 12:30.
Jueves, de 10:30 a 12:30.
Viernes, de 11:30 a 13:30.
Manuel Lucena (Dpto. Inform´tica)
a Criptograf´ y Seguridad
ıa 25 de febrero de 2010 3 / 11
Objetivos
Conocer las principales bases te´ricas de la Criptograf´
o ıa.
Diferenciar entre Criptograf´ Sim´trica y Asim´trica.
ıa e e
Conocer la estructura, propiedades y ´mbito de aplicaci´n de los
a o
principales algoritmos criptogr´ficos.
a
Identificar los principales riesgos de seguridad de un sistema
inform´tico.
a
Manuel Lucena (Dpto. Inform´tica)
a Criptograf´ y Seguridad
ıa 25 de febrero de 2010 4 / 11
3. Programa de la Asignatura
Programa Te´rico:
o
1. Introducci´n.
o
2. Conceptos B´sicos sobre Criptograf´
a ıa.
3. Bases Te´ricas de la Criptograf´
o ıa.
4. Algoritmos Criptogr´ficos.
a
5. Aplicaciones Criptogr´ficas.
a
Programa Pr´ctico:
a
Trabajo de car´cter pr´ctico, grupos de 3 a 5 personas.
a a
Manuel Lucena (Dpto. Inform´tica)
a Criptograf´ y Seguridad
ıa 25 de febrero de 2010 5 / 11
Criterios de Evaluaci´n
o
Teor´ (60 %) y Pr´cticas (40 %).
ıa a
Se considera como presentado si se hace el examen o se entregan las
pr´cticas.
a
Si se aprueba una parte y otra no, se guarda la nota hasta septiembre.
Teor´ Examen escrito.
ıa:
30 preguntas objetivas (50 %).
6 preguntas de respuesta breve, a elegir 5 (50 %).
Pr´cticas:
a
Reuniones peri´dicas de seguimiento, al menos 4.
o
Tema libre, acordado por escrito con el profesor.
Entrega de memoria, c´digo fuente, ejecutables, etc.
o
Exposici´n al final del cuatrimestre.
o
Manuel Lucena (Dpto. Inform´tica)
a Criptograf´ y Seguridad
ıa 25 de febrero de 2010 6 / 11
4. Memoria de Pr´cticas
a
Se entregar´ en formato CD:
a
Rotular en el disco el curso acad´mico, n´mero de grupo, nombres de
e u
los integrantes, t´
ıtulo de la aplicaci´n y nombre de la asignatura.
o
Organizar en carpetas. No usar espacios, tildes, etc. en los nombres de
carpetas/archivos.
Documentos en formatos est´ndar: pdf, OpenDocument, html, etc.
a
Elementos:
´
Indice de contenidos.
Descripci´n de los detalles de implementaci´n y de las decisiones de
o o
dise˜o tomadas.
n
Documentaci´n relativa a los algoritmos que se implementen.
o
Gu´ breve del c´digo fuente.
ıa o
Descripci´n de la estructura de directorios, prop´sito de cada archivo.
o o
Manual de usuario de la aplicaci´n.
o
Manuel Lucena (Dpto. Inform´tica)
a Criptograf´ y Seguridad
ıa 25 de febrero de 2010 7 / 11
Calificaci´n de las pr´cticas
o a
Se valorar´n los siguentes elementos, con los siguientes pesos relativos:
a
Relativos a la aplicaci´n:
o
Calidad del c´digo fuente (legibilidad, dise˜o, etc.): 2.
o n
Correcto funcionamiento: 2.
Aspecto visual y usabilidad de la aplicaci´n: 1.
o
Relativos a la documentaci´n:
o
Aspecto general (limpieza, orden, claridad): 1.
´
Indice (presencia, claridad y utilidad de ´ste): 1.
e
Manual (claridad, organizaci´n, completitud): 2.
o
Discusi´n cr´
o ıtica de todos los aspectos relevantes: 2.
Manuel Lucena (Dpto. Inform´tica)
a Criptograf´ y Seguridad
ıa 25 de febrero de 2010 8 / 11
5. Bibliograf´
ıa
B´sica:
a
M. Lucena, Criptograf´ y Seguridad en Computadores, 4o Edici´n.
ıa o
Alfred J. Menezes, Paul C. Van Oorschot y Scott A. Vanstone.
Handbook of Applied Cryptography. CRC Press 1996.
Complementaria:
P. Caballero, Introducci´n a la Criptograf´ 2o edici´n. RA-MA.
o ıa, o
B. Schneier, Applied Cryptography. Second Edition. J. Wiley & Sons.
William Stallings, Fundamentos de Seguridad en Redes. Aplicaciones
y Est´ndares, 2o ed. Pearson Educaci´n, 2003.
a o
Manuel Lucena (Dpto. Inform´tica)
a Criptograf´ y Seguridad
ıa 25 de febrero de 2010 9 / 11
Otros datos
Horarios:
Teor´ Jueves, de 12:30 a 13:30, y viernes, de 13:30 a 14:30.
ıa:
Pr´cticas: Martes de 10:30 a 12:30 y de 12:30 a 14:30.
a
Aulas:
Teor´ Aula 2, edificio A-4.
ıa:
Pr´cticas: Laboratorio 2 (dependencia 174, edificio A-3).
a
Manuel Lucena (Dpto. Inform´tica)
a Criptograf´ y Seguridad
ıa 25 de febrero de 2010 10 / 11
6. M´s informaci´n en:
a o
http://wwwdi.ujaen.es/∼mlucena
Manuel Lucena (Dpto. Inform´tica)
a Criptograf´ y Seguridad
ıa 25 de febrero de 2010 11 / 11
7. Criptograf´ y Seguridad en Computadores
ıa
Tema 1. Introducci´n
o
Manuel J. Lucena L´pez
o
mlucena@ujaen.es
Departamento de Inform´tica
a
Universidad de Ja´n
e
17 de septiembre de 2008
Manuel Lucena (Dpto. Inform´tica)
a 1. Introducci´n
o 17 de septiembre de 2008 1/6
¿Qu´ es la Criptograf´
e ıa?
Definici´n (Diccionario de la Real Academia):
o
“Arte de escribir con clave secreta o de un modo enigm´tico”
a
La necesidad de transmitir informaci´n corre paralela con la de
o
protegerla.
Hace a˜os que dej´ de ser un considerada un arte.
n o
Conjunto de t´cnicas que tratan sobre la protecci´n —ocultamiento frente
e o
a observadores no autorizados— de la informaci´n.
o
Disciplinas: Teor´ de la Informaci´n, Teor´ de N´meros,
ıa o ıa u
Complejidad Algor´ ıtmica, etc.
Manuel Lucena (Dpto. Inform´tica)
a 1. Introducci´n
o 17 de septiembre de 2008 2/6
8. Objetivo de la Criptograf´
ıa
Protecci´n de la Informaci´n
o o
Alterar la informaci´n para que aquellos que pretendan recuperarla sin
o
la debida autorizaci´n, se enfrenten a un problema intratable.
o
La autorizaci´n suele ser una pieza de informaci´n llamada clave.
o o
Preservaci´n de la Integridad de la Informaci´n
o o
Detecci´n de posibles alteraciones.
o
Certificaci´n del origen de la misma =⇒ Firma Digital.
o
Manuel Lucena (Dpto. Inform´tica)
a 1. Introducci´n
o 17 de septiembre de 2008 3/6
Historia de la Criptograf´
ıa
La Criptograf´ nace con la escritura.
ıa
Referencias desde varios siglos antes de Jesucristo.
Tradicionalmente, los cifrados se hac´ a mano.
ıan
Los intentos de descifrado tambi´n se hac´ a mano.
e ıan
La Criptograf´ moderna, como la Inform´tica, nace en la II Guerra
ıa a
Mundial.
Cifrados Enigma y de Lorenz.
Proyecto Colossus.
La Criptograf´ militar ha estado por delante de la Criptograf´ civil
ıa ıa
durante d´cadas.
e
Manuel Lucena (Dpto. Inform´tica)
a 1. Introducci´n
o 17 de septiembre de 2008 4/6
9. ¿Qu´ no es Criptograf´
e ıa?
Seguridad a trav´s de la oscuridad
e
Si mantenemos en secreto nuestras t´cnicas de cifrado, ser´n m´s
e a a
seguras. Falso.
Cualquier persona o equipo es capaz de dise˜ar un sistema que ´l
n e
mismo no sea capaz de romper.
Es necesario que las t´cnicas de cifrado sean conocidas.
e
Al atacante hay que suponerle un conocimiento completo del sistema.
Desconfiar de soluciones secretas o milagrosas...
Manuel Lucena (Dpto. Inform´tica)
a 1. Introducci´n
o 17 de septiembre de 2008 5/6
N´meros Grandes
u
Probabilidad de ser fulminado por un rayo (por d´ 1 entre 9.000.000.000 (233 ).
ıa):
Probabilidad de ganar la Loter´ Primitiva: 1 entre 13.983.816 (223 ).
ıa
Probabilidad de ganar la Primitiva y caer fulminado por un rayo el mismo d´ 1 entre 256 .
ıa:
Edad del Planeta Tierra: 109 (230 ) a˜os.
n
Edad del Universo: 1010 (234 ) a˜os.
n
Un a˜o: 244 millon´simas de segundo.
n e
N´mero de ´tomos en el Planeta Tierra: 1051 (2170 ).
u a
N´mero de ´tomos en la V´ L´ctea: 1067 (2223 ).
u a ıa a
N´mero de ´tomos en el Universo (excl. materia oscura): 1077 (2255 ).
u a
Manuel Lucena (Dpto. Inform´tica)
a 1. Introducci´n
o 17 de septiembre de 2008 6/6
10. Criptograf´ y Seguridad en Computadores
ıa
Tema 2. Conceptos B´sicos
a
Manuel J. Lucena L´pez
o
mlucena@ujaen.es
Departamento de Inform´tica
a
Universidad de Ja´n
e
8 de marzo de 2009
Manuel Lucena (Dpto. Inform´tica)
a 2. Conceptos B´sicos
a 8 de marzo de 2009 1 / 13
Criptosistema
´
Indice
Criptosistema
Esteganograf´
ıa
Criptoan´lisis
a
Seguridad en Sistemas Inform´ticos
a
Manuel Lucena (Dpto. Inform´tica)
a 2. Conceptos B´sicos
a 8 de marzo de 2009 2 / 13
11. Criptosistema
Definici´n de Criptosistema
o
Criptosistema:
Qu´
ıntupla (M, C , K , E , D), donde:
M: Conjunto de todos los posibles mensajes sin cifrar.
C : Conjunto de todos los posibles mensajes cifrados, o criptogramas.
K : Conjunto de claves que se pueden emplear en el criptosistema.
E : Conjunto de transformaciones de cifrado. Existe una
transformaci´n diferente Ek para cada valor posible de la clave k.
o
D: Conjunto de transformaciones de descifrado.
Todo criptosistema ha de cumplir:
Dk (Ek (m)) = m
Manuel Lucena (Dpto. Inform´tica)
a 2. Conceptos B´sicos
a 8 de marzo de 2009 3 / 13
Criptosistema Tipos de Criptosistemas
Tipos de Criptosistemas
Sim´tricos (o de llave privada)
e
Emplean la misma clave k tanto para cifrar como para descifrar.
Problema: distribuci´n de claves.
o
Asim´tricos (o de llave p´blica)
e u
Emplean una doble clave (kp , kP ).
kp se conoce como clave privada y kP se conoce como clave p´blica.
u
Una de ellas sirve para cifrar, y la otra para descifrar.
No solo permiten cifrar la informaci´n, sino firmarla digitalmente.
o
Manuel Lucena (Dpto. Inform´tica)
a 2. Conceptos B´sicos
a 8 de marzo de 2009 4 / 13
12. Criptosistema Claves D´biles
e
Claves D´biles
e
En un criptosistema, puede haber elementos de K que produzcan
transformaciones de cifrado f´ciles de romper.
a
No es algo necesariamente malo. Muchos criptosistemas poseen
claves d´biles.
e
Es dif´ demostrar que un criptosistema no tiene claves d´biles.
ıcil e
Suelen ser muy pocas en relaci´n con el n´mero total de posibles
o u
claves.
Lo ideal es conocerlas y evitarlas.
Manuel Lucena (Dpto. Inform´tica)
a 2. Conceptos B´sicos
a 8 de marzo de 2009 5 / 13
Esteganograf´
ıa
´
Indice
Criptosistema
Esteganograf´
ıa
Criptoan´lisis
a
Seguridad en Sistemas Inform´ticos
a
Manuel Lucena (Dpto. Inform´tica)
a 2. Conceptos B´sicos
a 8 de marzo de 2009 6 / 13
13. Esteganograf´
ıa
Esteganograf´
ıa
Consiste en ocultar en el interior de una informaci´n, aparentemente
o
inocua, otro tipo de informaci´n (cifrada o no).
o
Tanto o m´s antigua que la propia Criptograf´
a ıa.
Permite burlar sistemas de censura, en los que el atacante se limita a
destruir el mensaje si lo considera sospechoso.
Con la enorme cantidad de datos que nos rodean, la esteganograf´
ıa
adquiere un potencial pr´cticamente ilimitado.
a
Manuel Lucena (Dpto. Inform´tica)
a 2. Conceptos B´sicos
a 8 de marzo de 2009 7 / 13
Criptoan´lisis
a
´
Indice
Criptosistema
Esteganograf´
ıa
Criptoan´lisis
a
Seguridad en Sistemas Inform´ticos
a
Manuel Lucena (Dpto. Inform´tica)
a 2. Conceptos B´sicos
a 8 de marzo de 2009 8 / 13
14. Criptoan´lisis
a
Criptoan´lisis
a
Consiste en descifrar uno o m´s mensajes sin conocer la clave
a
correspondiente (romper el criptosistema).
Posibilidades:
Descifrar mensajes sin hacer uso de la clave.
Recuperar la clave a partir de un n´mero de mensajes cifrados.
u
No se considera criptoan´lisis:
a
Probar todas las posibles claves (fuerza bruta).
Descubrir el algoritmo de cifrado, cuando este era secreto.
Ataque
Un ataque es cualquier t´cnica que nos permite romper un criptosistema
e
m´s r´pido que mediante la fuerza bruta.
a a
Manuel Lucena (Dpto. Inform´tica)
a 2. Conceptos B´sicos
a 8 de marzo de 2009 9 / 13
Criptoan´lisis
a
Compromiso entre Criptosistema y Criptoan´lisis
a
Pr´cticamente todos los criptosistemas pueden ser rotos con el suficiente
a
esfuerzo computacional.
Cuanto m´s complejo es un algoritmo de cifrado, m´s costosa es su
a a
implantaci´n.
o
No es lo mismo proteger una informaci´n ef´
o ımera, que otra a m´s
a
largo plazo.
Se busca un compromiso entre el coste (econ´mico, computacional,
o
de almacenamiento...) del criptosistema y el coste necesario para
romperlo.
Hoy d´ disponemos de algoritmos cuyo coste de rotura excede al de
ıa
la capacidad de c´mputo existente en el planeta.
o
Manuel Lucena (Dpto. Inform´tica)
a 2. Conceptos B´sicos
a 8 de marzo de 2009 10 / 13
15. Seguridad en Sistemas Inform´ticos
a
´
Indice
Criptosistema
Esteganograf´
ıa
Criptoan´lisis
a
Seguridad en Sistemas Inform´ticos
a
Manuel Lucena (Dpto. Inform´tica)
a 2. Conceptos B´sicos
a 8 de marzo de 2009 11 / 13
Seguridad en Sistemas Inform´ticos
a
Seguridad
La seguridad de la informaci´n es mucho m´s compleja que el simple
o a
uso de t´cnicas de cifrado.
e
Los escenarios y requerimientos variar´n en funci´n de que la
a o
computadora se encuentre aislada o interconectada, sea fija o port´til,
a
etc.
Algunas cuestiones de Seguridad:
Seguridad f´
ısica.
Seguridad de los canales de comunicaciones.
Control de acceso a los datos.
Autentificaci´n.
o
No repudio.
Anonimato.
Manuel Lucena (Dpto. Inform´tica)
a 2. Conceptos B´sicos
a 8 de marzo de 2009 12 / 13
16. Seguridad en Sistemas Inform´ticos
a
Tipos de Autentificaci´n
o
Autentificar: comprobar la autenticidad de algo.
Una pieza de informaci´n (un mensaje).
o
Un usuario (contrase˜a).
n
Un dispositivo.
Manuel Lucena (Dpto. Inform´tica)
a 2. Conceptos B´sicos
a 8 de marzo de 2009 13 / 13
17. Criptograf´ y Seguridad en Computadores
ıa
Tema 3. Bases Te´ricas de la Criptograf´
o ıa
Manuel J. Lucena L´pez
o
mlucena@ujaen.es
Departamento de Inform´tica
a
Universidad de Ja´n
e
29 de marzo de 2009
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 1 / 41
Teor´ de la Informaci´n
ıa o
´
Indice
Teor´ de la Informaci´n
ıa o
Complejidad Algor´
ıtmica
Aritm´tica Modular
e
Curvas El´
ıpticas
N´meros Aleatorios
u
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 2 / 41
18. Teor´ de la Informaci´n
ıa o Cantidad de Informaci´n
o
Cantidad de Informaci´n de un Suceso
o
La observaci´n de un suceso aumenta nuestro conocimiento sobre el
o
universo, es decir proporciona informaci´n.
o
Ejemplo
Una bolsa con nueve bolas negras y una blanca.
Sacamos una bola blanca, ¿Cu´nta informaci´n aporta ese suceso?
a o
¿Y si ahora sacamos una bola negra?
El primer suceso aporta mucha informaci´n, porque era muy poco
o
probable.
El segundo suceso no aporta ninguna informaci´n, porque ya
o
sab´ıamos lo que iba a ocurrir.
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 3 / 41
Teor´ de la Informaci´n
ıa o Cantidad de Informaci´n
o
Cantidad de Informaci´n de un Suceso
o
Caracter´
ısticas de cantidad de Informaci´n
o
Es mayor cuanto menos probable es el suceso en cuesti´n.
o
Es siempre mayor o igual que cero.
Siendo V una variable aleatoria, xi un suceso y P(xi ) su probabilidad
asociada, la Cantidad de Informaci´n de xi se define como:
o
Ii = − log2 (P(xi ))
Si P(xi ) = 1 −→ Ii = 0.
Si P(xi ) = 0 −→ Ii = ∞.
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 4 / 41
19. Teor´ de la Informaci´n
ıa o Entrop´
ıa
Entrop´
ıa
Definici´n
o
Suma ponderada de las cantidades de informaci´n de todos los posibles
o
estados de una variable aleatoria V :
n
H(V ) = − i=1 P(xi ) log2 [P(xi )]
Propiedades
1. 0 ≤ H(V ) ≤ log2 N
2. H(V ) = 0 ⇐⇒ ∃i tal que P(xi ) = 1 y P(xj ) = 0 ∀j = i
3. H(x1 , x2 . . . xn ) = H(x1 , x2 . . . xn , xn+1 ) si P(xn+1 ) = 0
Se mide en bits.
La entrop´ de una variable aleatoria es el no medio de bits necesarios
ıa
para codificar cada uno de sus estados.
Proporciona el l´
ımite te´rico de compresi´n de la informaci´n.
o o o
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 5 / 41
Teor´ de la Informaci´n
ıa o Entrop´
ıa
Entrop´
ıa
Ejemplos:
Moneda al aire:
1 1 1 1
H(M) − [ log2 ( ) + log2 ( )] = 1 bit
2 2 2 2
Moneda trucada (60 % cara, 40 % cruz):
H(Mt ) = −(0,6 log2 (0,6) + 0,4 log2 (0,4)) = 0,970 bits
Bolsa con nueve bolas negras y una blanca:
H(B) = −(0,9 log2 (0,9) + 0,1 log2 (0,1)) = 0,468 bits
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 6 / 41
20. Teor´ de la Informaci´n
ıa o Entrop´ Condicionada
ıa
Entrop´ Condicionada
ıa
Entrop´ de una distribuci´n conjunta de dos variables (X , Y ):
ıa o
n m
H(X , Y ) = − P(xi , yj ) log2 (P(xi , yj ))
i=1 j=1
Entrop´ de la distribuci´n de X condicionada a un valor de Y :
ıa o
n
H(X /Y = yj ) = − P(xi /yj ) log2 (P(xi /yj ))
i=1
Entrop´ Condicionada de X sobre Y :
ıa
n m
H(X /Y ) = − P(xi , yj ) log2 (P(xi /yj ))
i=1 j=1
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 7 / 41
Teor´ de la Informaci´n
ıa o Entrop´ Condicionada
ıa
Propiedades de la Entrop´ Condicionada
ıa
Ley de Entrop´ Totales
ıas
H(X , Y ) = H(X ) + H(Y /X )
Si X e Y son variables independientes:
H(X , Y ) = H(X ) + H(Y )
Teorema de Disminuci´n de la Entrop´
o ıa
La entrop´ de una variable X condicionada por otra Y es menor o igual a
ıa
la entrop´ de X , alcanz´ndose la igualdad si y s´lo si las variables X e Y
ıa a o
son independientes.
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 8 / 41
21. Teor´ de la Informaci´n
ıa o Cantidad de Informaci´n entre dos Variables
o
Cantidad de Informaci´n entre dos Variables
o
La cantidad de informaci´n que la variable X contiene sobre Y se define
o
como:
I (X , Y ) = H(Y ) − H(Y /X )
Al medir la incertidumbre sobre Y , puede que obtengamos valores
distintos seg´n conozcamos el valor de X o no.
u
Si conocemos X , puede que la incertidumbre de Y no var´ o que
ıe,
disminuya.
Esa posible disminuci´n de incertidumbre (entrop´ es la cantidad de
o ıa),
informaci´n entre X e Y .
o
Propiedades:
1. I (X , Y ) = I (Y , X )
2. I (X , Y ) ≥ 0
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 9 / 41
Teor´ de la Informaci´n
ıa o Criptosistema Seguro de Shannon
Criptosistema Seguro de Shannon
Criptosistema que cumple: I (C , M) = 0
C : Variable aleatoria que representa el criptograma enviado.
M: Variable aleatoria que representa el mensaje en claro.
Conocer el valor concreto de C (el criptograma) no modifica la
incertidumbre sobre el texto en claro al que corresponde.
Imposible de romper, incluso disponiendo de capacidades de c´mputo
o
(memoria y procesamiento) infinitas.
No suelen resultar pr´cticos: la clave debe ser al menos tan larga
a
como el mensaje.
Ejemplo: One-time pads (cuadernos de un solo uso), empleados en la
I Guerra Mundial.
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 10 / 41
22. Teor´ de la Informaci´n
ıa o Redundancia
Redundancia
LPT D M CS S P RT C L R
El mensaje puede reconstruirse con facilidad.
La informaci´n que falta puede recuperarse de los s´
o ımbolos que
quedan.
Esto implica que los s´
ımbolos transportan informaci´n repetida:
o
redundancia.
Los lenguajes humanos son redundantes.
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 11 / 41
Teor´ de la Informaci´n
ıa o Redundancia
Medidas de Redundancia
´
Indice de un lenguaje para mensajes de longitud k:
Hk (M)
rk =
k
´
Indice absoluto de un lenguaje de m s´
ımbolos:
log2 (mk ) k log2 (m)
R= = = log2 m
k k
Redundancia de un lenguaje:
D =R −r
´
Indice de redundancia:
D
I =
R
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 12 / 41
23. Teor´ de la Informaci´n
ıa o Desinformaci´n y Distancia de Unicidad
o
Desinformaci´n y Distancia de Unicidad
o
Desinformaci´n
o
Entrop´ condicionada del conjunto M de posibles mensajes sobre el
ıa
conjunto C de posibles criptogramas.
Es m´xima, H(M/C ) = H(M), para criptosistemas seguros de
a
Shannon.
Si H(M/C ) = 0, conocer un criptograma reduce nuestra
incertidumbre sobre el mensaje a cero (lo podemos recuperar).
Tambi´n sobre K como H(K /C ): conocimiento que ganamos sobre la
e
clave k conocido el criptograma c.
Distancia de unicidad
Cantidad de texto cifrado que reduce la incertidumbre sobre K a cero.
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 13 / 41
Teor´ de la Informaci´n
ıa o Confusi´n y Difusi´n
o o
Confusi´n y Difusi´n
o o
Confusi´n
o
Oculta la relaci´n entre c y m.
o
Operaci´n b´sica: sustituci´n.
o a o
Difusi´n
o
Diluye la redundancia del texto claro reparti´ndola a lo largo del texto
e
cifrado.
Operaci´n b´sica: transposici´n.
o a o
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 14 / 41
24. Complejidad Algor´
ıtmica
´
Indice
Teor´ de la Informaci´n
ıa o
Complejidad Algor´
ıtmica
Aritm´tica Modular
e
Curvas El´
ıpticas
N´meros Aleatorios
u
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 15 / 41
Complejidad Algor´
ıtmica
Complejidad Algor´
ıtmica
Algoritmo
Secuencia finita y ordenada de instrucciones elementales que, dados los
valores de entrada de un problema, en alg´n momento finaliza y devuelve
u
la soluci´n.
o
Complejidad Algor´
ıtmica
Permite medir el esfuerzo computacional para resolver un problema,
independientemente de la m´quina que empleemos para ello.
a
Tres alternativas: mejor caso, caso promedio y peor caso.
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 16 / 41
25. Complejidad Algor´
ıtmica
Clases de Complejidad
Clase P: Problemas de decisi´n que pueden ser resueltos en tiempo
o
polinomial.
Clase NP: Problemas para los que una respuesta afirmativa puede ser
verificada en tiempo polinomial, a partir de un certificado.
Clase co-NP: Problemas para los que una respuesta negativa puede
ser verificada en tiempo polinomial, a partir de un certificado.
La clase NPC es un subconjunto de NP, en el que todos sus
elementos pueden reducirse unos a otros.
Los problemas NP-duros son la versi´n computacional de los
o
problemas de la clase NPC. Ejemplo: problema de la mochila.
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 17 / 41
Complejidad Algor´
ıtmica
Clases de Complejidad
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 18 / 41
26. Complejidad Algor´
ıtmica Algoritmos Probabil´
ısticos
Algoritmos Probabil´
ısticos
Son algoritmos que dan una respuesta, pero con una probabilidad de
error.
Para algunos problemas, son mucho m´s r´pidos que los algoritmos
a a
deterministas.
Tienen sus propias clases de complejidad.
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 19 / 41
Aritm´tica Modular
e
´
Indice
Teor´ de la Informaci´n
ıa o
Complejidad Algor´
ıtmica
Aritm´tica Modular
e
Curvas El´
ıpticas
N´meros Aleatorios
u
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 20 / 41
27. Aritm´tica Modular
e Definici´n
o
Definici´n de Aritm´tica Modular
o e
Dados tres n´meros a, b, c ∈ N, decimos que a es congruente con b
u
m´dulo n, y se escribe:
o
a ≡ b (m´d n)
o
si cumplen:
a = b + kn, para alg´n k ∈ Z
u
Zn contiene los n´meros que van de 0 a n − 1.
u
Propiedades para la suma: asociativa, conmutativa, elemento neutro y
elemento sim´trico.
e
Propiedades para el producto: asociativa, conmutativa y elemento
neutro.
Zn con la operaci´n suma es un grupo conmutativo.
o
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 21 / 41
Aritm´tica Modular
e Inversas en aritm´tica modular
e
Inversas en Zn
Existencia
a tiene inversa m´dulo n solo si a y n son primos entre s´
o ı.
Si n es primo, Zn tiene estructura de cuerpo, ya que todos sus
elementos tienen inversa excepto el cero.
Funci´n de Euler φ(n)
o
Indica cu´ntos n´meros son primos relativos con n.
a u
Teoremas:
Si mcd(a, n) = 1, entonces aφ(n) ≡ 1 (m´d n).
o
(de Fermat): Si p es primo, ap−1 ≡ 1 (m´d p).
o
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 22 / 41
28. Aritm´tica Modular
e Inversas en aritm´tica modular
e
C´lculo de Inversas y Teorema Chino del Resto
a
C´lculo de Inversas
a
1. Usar la funci´n de Euler φ(n).
o
2. Usar el algoritmo extendido de Euclides, ya que:
En el ultimo paso, 1 = nui + avi .
´
En consecuencia, avi ≡ 1 (m´d n).
o
Teorema Chino del Resto
Dada una serie de ecuaciones en congruencias m´dulo p1 , p2 , ..., pr ,
o
siendo los pi primos relativos, de la forma:
x ≡ xi (m´d pi )
o
Si n = p1 · p2 · ... · pr , todas las ecuaciones tienen una unica soluci´n
´ o
com´n en [0, n − 1].
u
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 23 / 41
Aritm´tica Modular
e Exponenciaci´n y Logaritmos Discretos
o
Exponenciaci´n y Logaritmos Discretos
o
Algoritmo r´pido de exponenciaci´n
a o
Permite calcular potencias de forma eficiente.
Logaritmos Discretos
Problema inverso a la exponenciaci´n. Dados a,b y n, encontrar c tal
o
que:
a ≡ b c (m´d n).
o
Es un problema computacionalmente dif´ de resolver.
ıcil
Problema de Diffie-Hellman
Dados α, αa y αb , encontrar αab .
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 24 / 41
29. Aritm´tica Modular
e Factorizaci´n
o
Factorizaci´n
o
Problema inverso al de la multiplicaci´n.
o
Tambi´n es un problema dif´
e ıcil.
Algoritmos de factorizaci´n:
o
M´todo de Fermat.
e
M´todo p − 1.
e
M´todos cuadr´ticos. Se basan en la ecuaci´n:
e a o
x2 ≡ y2 (m´d n).
o
Por tanto, n|(x + y )(x − y ), por lo que n ha de tener factores comunes
con (x + y ) y (x − y ).
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 25 / 41
Aritm´tica Modular
e Tests de primalidad
Tests de primalidad
Para saber si un n´mero es primo, basta con intentar factorizarlo, lo
u
cual es muy ineficiente.
¿C´mo saber si un n´mero es primo?
o u
Algoritmos probabil´
ısticos:
Devuelven verdadero o falso con una probabilidad de fallo.
Lehmann (50 %), Rabin-Miller (25 %).
Ejecut´ndolos varias veces, la probabilidad de fallo se reduce
a
exponencialmente.
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 26 / 41
30. Aritm´tica Modular
e Anillos de Polinomios
Anillos de Polinomios
Definici´n:
o
Sea R un anillo conmutativo. Un polinomio con variable x sobre R se
define como:
f (x) = an x n + an−1 x n−1 + ... + a1 x + a0
con ai ∈ R.
El conjunto de polinomios R[x] tiene estructura de anillo conmutativo.
Los polinomios pueden ser descompuestos como productos de otros
polinomios.
Los polinomios irreducibles son an´logos a los n´meros primos.
a u
Podemos definir clases de equivalencia m´dulo f (x), an´logas a los
o a
conjuntos Zn .
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 27 / 41
Aritm´tica Modular
e Anillos de Polinomios
Polinomios en Zn
Podemos definir polinomios con coeficientes en Zn , particularmente
en Z2 :
Los polinomios pueden representarse mediante secuencias de bits.
Las sumas son operaciones or-exclusivo.
Los productos son desplazamientos y sumas.
Resultan muy eficientes para implementaciones hardware.
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 28 / 41
31. Curvas El´
ıpticas
´
Indice
Teor´ de la Informaci´n
ıa o
Complejidad Algor´
ıtmica
Aritm´tica Modular
e
Curvas El´
ıpticas
N´meros Aleatorios
u
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 29 / 41
Curvas El´
ıpticas Curvas El´
ıpticas en R
Curvas El´
ıpticas en R
Definici´n:
o
Una curva el´
ıptica sobre R es el conjunto de los puntos del plano (x, y )
que cumplen la ecuaci´n:
o
y 2 = x 3 + ax + b
a) b)
y 2 = x 3 − 5x + 1 y 2 = x 3 − 3x + 4
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 30 / 41
32. Curvas El´
ıpticas Curvas El´
ıpticas en R
Grupo de Curva El´
ıptica E (R)
Compuesto por todos los puntos de la curva, m´s un punto O, situado en
a
el infinito.
Definiremos una operaci´n suma con las siguientes propiedades:
o
r + O = O + r = r (elemento neutro).
∀r, ∃s tal que r + s = O (elemento sim´trico).
e
Sumar un punto p consigo mismo k veces ⇒ multiplicar p por el
entero k.
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 31 / 41
Curvas El´
ıpticas Curvas El´
ıpticas en R
Interpretaci´n Gr´fica de la Suma en E (R)
o a
Sumar r y s: Sumar p consigo mismo:
-t -t
p
s
r
t t
a) b)
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 32 / 41
33. Curvas El´
ıpticas Curvas el´
ıpticas en otros conjuntos
Curvas el´
ıpticas en otros conjuntos
En GF (n)
y 2 ≡ x 3 + ax + b (m´d n)
o
No tienen representaci´n gr´fica.
o a
La suma se efect´a mediante las expresiones anal´
u ıticas.
En GF (2n )
y 2 + xy ≡ x 3 + ax + b (m´d p(x))
o
En este caso, el conjunto base est´ compuesto por polinomios con
a
coeficientes en Z2 .
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 33 / 41
Curvas El´
ıpticas Logaritmos Discretos en Curvas El´
ıpticas
Problema de los Logaritmos Discretos en Curvas El´
ıpticas
Sea p un punto de una curva el´
ıptica.
Sea p el conjunto {O, p, 2p, 3p,. . . }.
Para todo q ∈ p , debe existir un entero k tal que
kp = q
Problema de los Logaritmos Discretos en Curvas El´
ıpticas
Hallar k ∈ N tal que q = kp.
Es un problema dif´ apto para su uso en Criptograf´
ıcil, ıa.
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 34 / 41
34. N´meros Aleatorios
u
´
Indice
Teor´ de la Informaci´n
ıa o
Complejidad Algor´
ıtmica
Aritm´tica Modular
e
Curvas El´
ıpticas
N´meros Aleatorios
u
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 35 / 41
N´meros Aleatorios
u
Importancia de los N´meros Aleatorios en Criptograf´
u ıa
Es fundamental poder generar valores impredecibles y sin relaci´n
o
estad´
ıstica entre ellos.
Claves de sesi´n.
o
N´meros primos para las claves privadas.
u
...
Generadores tradicionales
Generan secuencias que superan los test estad´
ısticos de aleatoriedad.
Son predecibles. ⇐ Inadmisible
Son reproducibles. ⇐ Inadmisible
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 36 / 41
35. N´meros Aleatorios
u Generadores aleatorios
Secuencias Pseudoaleatorias
Secuencias Estad´
ısticamente Aleatorias
Pasan los tests estad´
ısticos de aleatoriedad.
Predecibles y reproducibles a partir de porciones peque˜as de la
n
secuencia.
Secuencias Criptogr´ficamente Aleatorias
a
Calcular el siguiente valor de la secuencia a partir de una porci´n
o
arbitraria de la misma resulta intratable.
Usan informaci´n secreta de inicializaci´n y estado.
o o
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 37 / 41
N´meros Aleatorios
u Generadores aleatorios
Secuencias Aleatorias
Una secuencia es totalmente aleatoria si no puede reproducirse de manera
fiable.
Una computadora es determinista (predecible).
Fuentes externas de aleatoriedad:
Conversores A/D (tarjetas de sonido).
Actividad de dispositivos externos (disco duro).
Actividad del usuario.
Dispositivos hardware espec´ıficamente dise˜ados.
n
...
Podemos mezclar varias fuentes externas de aleatoriedad.
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 38 / 41
36. N´meros Aleatorios
u Generadores aleatorios
Clasificaci´n de las secuencias aleatorias
o
Secuencias Aleatorias
(no reproducibles)
Secuencias Pseudoaleatorias
(reproducibles)
Secuencias
Criptográficamente
Aleatorias
Secuencias
Estadísticamente
Aleatorias
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 39 / 41
N´meros Aleatorios
u Generadores aleatorios
Eliminaci´n del Sesgo
o
Normalmente, p(1) = 0,5 + d y p(0) = 0,5 − d.
Mediante bits de paridad
Agrupar la secuencia de n en n bits y tomar la paridad.
log2 (2 )
Si n > , el sesgo resultante es inferior a .
log2 (2d)
M´todo de Von Neumann
e
Agrupar los bits de dos en dos. Descartar los pares 00 y 11.
Asignar un 1 al par 10 y un 0 al par 01.
Los bits de la salida son equiprobables.
Funciones resumen
Conociendo la entrop´ de la secuencia original.
ıa
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 40 / 41
37. N´meros Aleatorios
u Generadores aleatorios
Generadores Aleatorios
X9.17
A partir de una semilla s0 , los valores gi de la secuencia se calculan:
gn = DES(k, DES(k, t) ⊕ sn )
sn+1 = DES(k, DES(k, t) ⊕ gn )
Blum Blum Shub
Sean p y q n´meros primos tales que p ≡ 3(m´d 4) y q ≡ 3(m´d 4),
u o o
y n = p · q:
s0 = (x 2 )(m´d n)
o
2 )(m´d n)
si+1 = (si o
Manuel Lucena (Dpto. Inform´tica)
a 3. Bases Te´ricas
o 29 de marzo de 2009 41 / 41
38. Criptograf´ y Seguridad en Computadores
ıa
Tema 4. Algoritmos Criptogr´ficos
a
1a Parte: Criptograf´ Cl´sica
ıa a
Manuel J. Lucena L´pez
o
mlucena@ujaen.es
Departamento de Inform´tica
a
Universidad de Ja´n
e
17 de septiembre de 2008
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 1 / 19
Introducci´n
o
´
Indice
Introducci´n
o
Cifrados de Sustituci´n
o
Cifrados de Transposici´n
o
M´quinas de Rotores
a
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 2 / 19
39. Introducci´n
o
La Criptograf´ Cl´sica
ıa a
Abarca desde los inicios de la escritura hasta la II Guerra Mundial.
Caracter´
ısticas
Comprende t´cnicas de cifrado que pueden ser ejecutadas a mano.
e
Considerada en ocasiones como un pasatiempo o un reto intelectual.
Sus algoritmos pueden romperse con recursos computacionales
relativamente modestos, seg´n los est´ndares actuales.
u a
Empleada por Julio C´sar, Leonardo Da Vinci, Edgar Allan Poe,
e
Arthur Conan Doyle, Francis Bacon, etc.
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 3 / 19
Cifrados de Sustituci´n
o
´
Indice
Introducci´n
o
Cifrados de Sustituci´n
o
Cifrados de Transposici´n
o
M´quinas de Rotores
a
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 4 / 19
40. Cifrados de Sustituci´n
o
Cifrados de Sustituci´n
o
Se basan en cambiar unos s´
ımbolos del alfabeto por otros: confusi´n.
o
Tipos
Monoalfab´ticos: la sustituci´n es siempre la misma, a lo largo de
e o
todo el texto.
Polialfab´ticos: la sustituci´n de cada s´
e o ımbolo depende de su posici´n
o
en el texto claro.
Dispositivo de cifrado monoalfab´tico empleado por el
e Cifrado monoalfab´tico dibujado por Conan Doyle para
e
Ej´rcito Confederado de los EE.UU.
e The adventure of the dancing men.
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 5 / 19
Cifrados de Sustituci´n
o Cifrados Monoalfab´ticos
e
Cifrados Monoalfab´ticos
e
Algoritmo de C´sar
e
Cada s´
ımbolo c del criptograma se calcula a partir de cada s´
ımbolo m
del mensaje original seg´n la funci´n: c = (m + 3) m´d 26.
u o o
El conjunto K de claves tiene un unico elemento.
´
Sustituci´n af´
o ın
Funci´n de cifrado para un alfabeto de N s´
o ımbolos:
E(a,b) (m) = (a · m + b) m´d N.
o
Dos par´metros: a y b.
a
Si a = 1 y b = 3, tenemos el algoritmo de C´sar.
e
Cifrado Monoalfab´tico General
e
La transformaci´n es arbitraria.
o
Tenemos N! posibles claves.
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 6 / 19
41. Cifrados de Sustituci´n
o Cifrados Monoalfab´ticos
e
Criptoan´lisis de Cifrados Monoalfab´ticos
a e
Las propiedades estad´
ısticas del texto claro se conservan en el
criptograma.
Las letras m´s frecuentes en el criptograma corresponder´n con los
a a
s´
ımbolos m´s frecuentes del idioma original.
a
Basta con emparejar el histograma de frecuencias del criptograma con
el del idioma original.
Distancia de Unicidad
H(K ) log2 (N!)
S= =
D D
D: redundancia del lenguaje empleado en el mensaje original.
N: es el n´mero de s´
u ımbolos del lenguaje.
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 7 / 19
Cifrados de Sustituci´n
o Cifrados Polialfab´ticos
e
Cifrados Polialfab´ticos
e
Se basan en una aplicaci´n c´
o ıclica de d cifrados monoalfab´ticos
e
diferentes.
Cifrado de Vigen`re
e
Clave: K = {k0 , k1 , . . . kd−1 }.
Funci´n de cifrado: Ek (mi ) = mi + k(i
o m´d d)
o (m´d n)
o
Criptoan´lisis
a
Conociendo el valor de d, aplicamos an´lisis de frecuencias a cada
a
subconjunto de los s´
ımbolos del mensaje por separado.
Para conocer d, aplicamos el m´todo de Kasiski.
e
1. Buscar subcadenas repetidas de tres o m´s s´
a ımbolos.
2. Medir las distancias si que las separan.
3. d: m´ximo com´n divisor de los si .
a u
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 8 / 19
42. Cifrados de Sustituci´n
o Cifrados de Sustituci´n Homof´nica
o o
Cifrados de Sustituci´n Homof´nica
o o
Caracter´
ısticas
Hacen corresponder a un s´ ımbolo del texto claro varios s´
ımbolos
posibles del texto cifrado, de forma aleatoria.
Tratan de aplanar el histograma de frecuencias, dificultando el
criptoan´lisis.
a
En la pr´ctica, reducen o eliminan la redundancia del mensaje cifrado,
a
al hacer todos sus s´
ımbolos equiprobables.
Inconvenientes
Necesitamos un alfabeto de salida mayor que el de entrada.
Es dif´ conseguir un histograma totalmente plano.
ıcil
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 9 / 19
Cifrados de Transposici´n
o
´
Indice
Introducci´n
o
Cifrados de Sustituci´n
o
Cifrados de Transposici´n
o
M´quinas de Rotores
a
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 10 / 19
43. Cifrados de Transposici´n
o
Cifrados de Transposici´n
o
Se basan en cambiar de lugar los s´
ımbolos del mensaje: difusi´n.
o
Ejemplo: el Escitalo.
Normalmente, se toma el mensaje en bloques de n s´
ımbolos y se
reordena de alguna forma.
1 2 3 4 5
Texto claro: El perro de San Roque no tiene
E L P E
rabo. R R O D
E S A N
Clave: {3, 2, 5, 1, 4}. R O Q U
Texto cifrado: “ Osonealr r irednu eoere et p E N O
T I E N E
aqonb”. R A B O
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 11 / 19
Cifrados de Transposici´n
o Criptoan´lisis de los cifrados de Transposici´n
a o
Criptoan´lisis de los cifrados de Transposici´n
a o
Las frecuencias relativas de los s´
ımbolos se conservan. El enfoque
empleado en los cifrados de sustituci´n no sirve.
o
Podemos analizar las frecuencias de pares y tripletas de s´
ımbolos.
Muchos pares y ternas de s´
ımbolos nunca aparecen en los lenguajes
humanos.
Conociendo el valor de n, tenemos n! posibles claves.
Aplicaremos un enfoque basado en la fuerza bruta.
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 12 / 19
44. M´quinas de Rotores
a
´
Indice
Introducci´n
o
Cifrados de Sustituci´n
o
Cifrados de Transposici´n
o
M´quinas de Rotores
a
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 13 / 19
M´quinas de Rotores
a La M´quina Enigma
a
La M´quina Enigma
a
Inventada en 1923 por Arthur Scherbius.
Adoptada por el ej´rcito del III Reich durante la II Guerra Mundial.
e
La clave viene dada por la posici´n inicial de una serie de rotores.
o
M´quina Enigma
a Rotor de una Enigma
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 14 / 19
45. M´quinas de Rotores
a La M´quina Enigma
a
Funcionamiento de Enigma
Tres rotores m´viles.
o
Un reflector.
Rotores y reflector llevan contactos
internamente.
Al pulsar una tecla, se forma un circuito
que ilumina una letra.
Los rotores giran tras cada pulsaci´n.
o
La posici´n no se repite hasta haber
o
tecleado 263 = 17,576 caracteres.
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 15 / 19
M´quinas de Rotores
a La M´quina Enigma
a
Mejoras a Enigma
Se hicieron diversas mejoras: aumento del n´mero de rotores, rotores
u
intercambiables, etc.
El clavijero o stecker:
Detalle del clavijero (stecker).
Intercambia hasta diez caracteres antes y despu´s de los rotores.
e
Aumenta hasta 1017 el n´mero de posibles claves.
u
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 16 / 19
46. M´quinas de Rotores
a La M´quina Enigma
a
La Bomba de Turing
Ideada por Alan Turing, bas´ndose en el cicl´metro
a o
de Rejewsky, R´zycki y Zygalski
o
Formada por muchas m´quinas Enigma
a
encadenadas, lo que anulaba el stecker.
Necesitaba del empleo de pivotes.
Enigma no puede codificar una letra en s´ misma.
ı
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 17 / 19
M´quinas de Rotores
a La M´quina Enigma
a
Consideraciones Te´ricas sobre Enigma
o
Un rotor es una permutaci´n π del alfabeto de entrada.
o
Todas las letras tienen imagen, y no puede haber dos letras con la
misma imagen.
−1
La permutaci´n π3 asociada al reflector cumple que π3 = π3 .
o
Permutaci´n que produce la m´quina:
o a
−1 −1 −1
πtotal = π0 , π1 , π2 , π3 , π2 , π1 , π0
Otras m´quinas de Rotores
a
Purple, Sigaba, etc.
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 18 / 19
47. M´quinas de Rotores
a El cifrado de Lorenz
El Cifrado de Lorenz
Se hac´ con la m´quina SZ40, m´s compleja que Enigma.
ıa a a
Permit´ codificar teletipos.
ıa
Simulaba un cifrado seguro de Shannon.
Roto por Colossus, el primer ordenador programable, dise˜ado por el
n
Dr. Tommy Flowers.
M´quina de Lorenz
a Colossus
Manuel Lucena (Dpto. Inform´tica)
a 4a. Criptograf´ Cl´sica
ıa a 17 de septiembre de 2008 19 / 19
48. Criptograf´ y Seguridad en Computadores
ıa
Tema 4. Algoritmos Criptogr´ficos
a
2a Parte: Cifrados por Bloques
Manuel J. Lucena L´pez
o
mlucena@ujaen.es
Departamento de Inform´tica
a
Universidad de Ja´n
e
20 de abril de 2009
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 1 / 28
Introducci´n
o
´
Indice
Introducci´n
o
El algoritmo DES
El algoritmo IDEA
Algoritmo AES
Modos de Operaci´n
o
Criptoan´lisis
a
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 2 / 28
49. Introducci´n
o
Introducci´n
o
Algoritmos de Cifrado por Bloques
Dividen el mensaje en bloques de igual tama˜o, y los cifran por separado.
n
Para hacer un buen sistema de cifrado, la sustituci´n ser´ suficiente.
o ıa
Sin embargo, codificar tablas de sustituci´n grandes es complicado.
o
En la pr´ctica, se mezclan operaciones de sustituci´n con otras de
a o
transposici´n.
o
Cifrado de Producto
Combinaci´n m´s o menos compleja de operaciones simples de
o a
sustituci´n y transposici´n.
o o
Estructura denominada red de sustituci´n-permutaci´n.
o o
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 3 / 28
Introducci´n
o Redes de Feistel
Redes de Feistel
Dividen el bloque en dos mitades, L y
R.
Combinan los bloques con una serie de
valores Ki , empleando una funci´n
o
arbitraria f .
Para descifrar, basta emplear la misma
red, invirtiendo el orden de los Ki .
Muchos algoritmos usan esta
estructura: DES, Lucifer, FEAL,
CAST, Blowfish, etc.
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 4 / 28
50. Introducci´n
o Cifrados con estructura de Grupo
Cifrados con estructura de Grupo
Definici´n:
o
Decimos que un cifrado tiene estructura de grupo si:
∀ k1 , k2 , M ∃ k3 tal que Ek2 (Ek1 (M)) = Ek3 (M)
No es una propiedad deseable.
Generalmente, resulta muy dif´ demostrar que un algoritmo posee
ıcil
(o carece de) esta estructura.
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 5 / 28
Introducci´n
o S-Cajas
S-Cajas
Son la unidad b´sica de sustituci´n.
a o
Una S-Caja de m × n bits tiene m bits de entrada y n bits de salida.
m puede ser menor, mayor o igual que n.
Ejemplos de S-Caja individual y de agrupaci´n de S-Cajas.
o
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 6 / 28
51. El algoritmo DES
´
Indice
Introducci´n
o
El algoritmo DES
El algoritmo IDEA
Algoritmo AES
Modos de Operaci´n
o
Criptoan´lisis
a
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 7 / 28
El algoritmo DES
El algoritmo DES
DES: Data Encryption Standard.
Est´ndar para documentos no clasificados en EE.UU. desde 1976
a
hasta finales de los 90.
Longitud de bloque: 64 bits. Longitud efectiva de clave: 56 bits.
Estructura: Red de Feistel con 16 rondas.
Una permutaci´n inicial y otra final, inversa de la primera.
o
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 8 / 28
52. El algoritmo DES
Funci´n f de DES
o
Esquema de la funci´n f en DES.
o
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 9 / 28
El algoritmo DES
Generaci´n de los valores Ki
o
Generaci´n de los Ki en DES.
o
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 10 / 28
53. El algoritmo DES Claves d´biles en DES
e
Claves d´biles en DES
e
Claves d´biles: Todos los Ki son iguales ⇒ Ek (Ek (M)) = M.
e
Claves semid´biles: Generan secuencias con solo dos valores distintos
e
de Ki .
Claves Semid´biles
e
Clave Clave tras EP1
01FE01FE01FE01FE AAAAAAA AAAAAAA
FE01FE01FE01FE01 5555555 5555555
Claves D´biles
e 1FE01FE00EF10EF1 AAAAAAA 5555555
Clave Clave tras EP1 E01FE01FF10EF10E 5555555 AAAAAAA
0101010101010101 0000000 0000000 01E001E001F101F1 AAAAAAA 0000000
1F1F1F1F0E0E0E0E 0000000 FFFFFFF E001E001F101F101 5555555 0000000
E0E0E0E0F1F1F1F1 FFFFFFF 0000000 1FFE1FFE0EFE0EFE AAAAAAA FFFFFFF
FEFEFEFEFEFEFEFE FFFFFFF FFFFFFF FE1FFE1FFE0EFE0E 5555555 FFFFFFF
011F011F010E010E 0000000 AAAAAAA
1F011F010E010E01 0000000 5555555
E0FEE0FEF1FEF1FE FFFFFFF AAAAAAA
FEE0FEE0FEF1FEF1 FFFFFFF 5555555
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 11 / 28
El algoritmo DES Variantes de DES
Variantes de DES
DES m´ltiple:
u
Se aplica el algoritmo DES varias veces sobre el mismo bloque.
Funciona porque DES no tiene estructura de grupo.
−1
Ejemplo: C = Ek1 (Ek2 (Ek1 (M)))
Longitud efectiva de clave: hasta 168 bits.
Esta estrategia se puede aplicar a cualquier algoritmo.
DES con subclaves independientes:
Permite claves de hasta 16 × 48 = 768 bits.
En la pr´ctica, no es mucho m´s dif´ de criptoanalizar que DES
a a ıcil
est´ndar.
a
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 12 / 28
54. El algoritmo DES Variantes de DES
Variantes de DES
DES generalizado:
Se emplea una red de Feistel generalizada, que divide el bloque en n
trozos de 32 bits.
No mejora sustancialmente la seguridad.
DES con S-Cajas alternativas:
Modificando las S-Cajas.
Cuando se desarroll´ el criptoan´lisis diferencial, a inicios de los 90, se
o a
descubri´ que las S-Cajas de DES son resistentes frente a este ataque.
o
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 13 / 28
El algoritmo IDEA
´
Indice
Introducci´n
o
El algoritmo DES
El algoritmo IDEA
Algoritmo AES
Modos de Operaci´n
o
Criptoan´lisis
a
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 14 / 28
55. El algoritmo IDEA
El algoritmo IDEA
International Data Encryption Algorithm.
Desarrollado en 1992.
Bloque: 64 bits. Clave: 128 bits.
Optimizado para su implementaci´n en microprocesadores modernos.
o
Se basa en las siguientes operaciones:
XOR.
Suma m´dulo 216 .
o
Producto m´dulo 216 + 1.
o
En este caso, 216 se representa con el cero.
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 15 / 28
El algoritmo IDEA Estructura de IDEA
Estructura de IDEA
Se divide el bloque en cuatro partes de 16 bits: X1 , X2 , X3 y X4 .
Se calculan 52 subclaves:
Las 8 primeras dividiendo la clave en 8 trozos de 16 bits.
El resto, desplazando 25 bits sucesivamente y volviendo a dividir.
Cifrado: se aplican las 52 subclaves en 8 rondas.
Descifrado: se aplican los opuestos o inversas en distinto orden, con el
mismo algoritmo.
Ronda Subclaves de Cifrado Subclaves de Descifrado
−1 −1
1 Z1 Z2 Z3 Z4 Z5 Z6 Z49 −Z50 −Z51 Z52 Z47 Z48
−1 −1
2 Z7 Z8 Z9 Z10 Z11 Z12 Z43 −Z45 −Z44 Z46 Z41 Z42
−1 −1
3 Z13 Z14 Z15 Z16 Z17 Z18 Z37 −Z39 −Z38 Z40 Z35 Z36
−1 −1
4 Z19 Z20 Z21 Z22 Z23 Z24 Z31 −Z33 −Z32 Z34 Z29 Z30
−1 −1
5 Z25 Z26 Z27 Z28 Z29 Z30 Z25 −Z27 −Z26 Z28 Z23 Z24
−1 −1
6 Z31 Z32 Z33 Z34 Z35 Z36 Z19 −Z21 −Z20 Z22 Z17 Z18
−1 −1
7 Z37 Z38 Z39 Z40 Z41 Z42 Z13 −Z15 −Z14 Z16 Z11 Z12
−1 −1
8 Z43 Z44 Z45 Z46 Z47 Z48 Z7 −Z9 −Z8 Z10 Z5 Z6
−1 −1
Final Z49 Z50 Z51 Z52 Z1 −Z2 −Z3 Z4
Manuel Lucena (Dpto. Inform´tica)
a 4b. Cifrados por Bloques 20 de abril de 2009 16 / 28