Lección 2: Sistemas de Cifra con Clave
Secreta
Fausto Montoya Vitini
[email protected]
Consejo Superior de Investigaciones Científicas
Profesor de Investigación
Madrid, España, octubre 2010
Video intypedia002es © intypedia 2010 Creative Commons
Los tipos de criptografía
Criptografía
Simétrica
Asimétrica
Bloque
Flujo
Madrid, España, octubre 2010
Video intypedia002es © intypedia 2010 Creative Commons
2
Funcionamiento del cifrado simétrico
• Se utiliza la misma clave para cifrar y descifrar
Texto claro
Cifrar
EMISOR
Clave
Texto
cifrado
Des-
cifrar
Texto claro
RECEPTOR
Madrid, España, octubre 2010
Video intypedia002es © intypedia 2010 Creative Commons
3
Cifrado en bloque I
• El texto en claro se cifra en secuencias de bits
o bloques de tamaño fijo
• El tamaño de bloque suele oscilar entre 64 y
256 bits.
• Nunca deben cifrarse los bloques individual e
independientemente, sino encadenados, de
manera que el cifrado de cada bloque
dependa de todos los bloque que lo preceden.
Madrid, España, octubre 2010
Video intypedia002es © intypedia 2010 Creative Commons
4
Cifrado en bloque II
Transformación
inicial
n vueltas
Operaciones
criptográficas
Algoritmo de
expansión de clave
Transformación final
Madrid, España, octubre 2010
Video intypedia002es © intypedia 2010 Creative Commons
5
Cifrado en bloque III
• Transformación inicial
– Aleatoriza los datos de entrada y puede añadir
complejidad a los datos.
• Vueltas de cifrado
– Función no lineal complicada de los datos y la
clave.
– Puede consistir en una sola operación muy
compleja o en la sucesión de varias
transformaciones simples.
Madrid, España, octubre 2010
Video intypedia002es © intypedia 2010 Creative Commons
6
Cifrado en bloque IV
• Transformación final
– Sirve para que las operaciones de cifrado y
descifrado sean simétricas.
• Algoritmo de expansión de clave
– Convierte la clave de usuario en un conjunto de
subclaves que pueden estar constituidas por
varios cientos de bits en total.
– Conviene que sea unidireccional.
– Conocer una subclave no debe permitir deducir
las demás.
Madrid, España, octubre 2010
Video intypedia002es © intypedia 2010 Creative Commons
7
Propiedades necesarias para un buen
algoritmo de cifrado en bloque
• Confusión
– Un pequeño cambio en la clave debería producir un cambio del 50%
del texto cifrado resultante.
– Un atacante haciendo una búsqueda exhaustiva de claves no recibirá
ninguna señal de que está acercándose a la clave correcta.
• Difusión
– Un pequeño cambio en el texto en claro debería producir un cambio
del 50% del texto cifrado resultante.
– Oculta las relaciones estadísticas entre el texto claro y el texto cifrado.
• Completitud
– Cada bit del texto cifrado dependerá de cada bit de la clave.
– El atacante no podrá obtener partes válidas de la clave mediante
ataques de “divide y vencerás”.
Madrid, España, octubre 2010
Video intypedia002es © intypedia 2010 Creative Commons
8
Cifrado en flujo I
• El texto en claro se cifra bit a bit.
• Se utiliza una secuencia cifrante (si) para
determinar si cada bit del texto claro (mi) se
cambia o se deja sin cambiar.
Cifrado: ci = mi + si
Descifrado: mi = ci + si
• La secuencia cifrante se crea mediante un
algoritmo determinista de generación de
números pseudoaleatorios a partir de una
semilla, que constituye la clave secreta.
Madrid, España, octubre 2010
Video intypedia002es © intypedia 2010 Creative Commons
9
Cifrado en flujo II
Clave
Clave
Algoritmo
determinista
Secuencia cifrante
si
+
ci
Texto
cifrado
ci
Texto claro
mi
EMISOR
+
si
mi
Algoritmo
determinista
Texto claro
RECEPTOR
Madrid, España, octubre 2010
Video intypedia002es © intypedia 2010 Creative Commons
10
Ataque de fuerza bruta (o búsqueda
exhaustiva de claves)
• Un algoritmo está bien diseñado si la forma más simple de
ataque es la búsqueda exhaustiva de claves.
• Los ataques de fuerza bruta o de búsqueda exhaustiva de
claves consisten en probar una a una todas las posibles
combinaciones de la clave.
• Para una clave de n bits, el número total de claves posibles (o
el tamaño del espacio de claves) es igual a 2n.
• En promedio, habrá que probar la mitad de claves hasta dar
con la correcta.
• Hoy para que el ataque sea computacionalmente irrealizable
se recomienda una longitud mínima de 128 bits de clave.
Madrid, España, octubre 2010
Video intypedia002es © intypedia 2010 Creative Commons
11
Comparación entre el cifrado en bloque y
cifrado en flujo
• Ambos tipos de algoritmos son muy rápidos, adecuados por
tanto para cifrar grandes volúmenes de datos, pero los de
flujo son incluso más veloces.
• Los algoritmos de flujo pueden cifrar datos producidos a
ráfagas sin esperar a que estén los bloques completos.
• En los cifrados de flujo nunca se debe reutilizar la misma clave
para cifrar dos textos.
• Las longitudes de clave oscilan entre los 32 y 256 bits.
• Ambos presentan el problema de distribución de la clave:
¿cómo hacer que el emisor y receptor acuerden una misma
clave secreta de cifrado?
Madrid, España, octubre 2010
Video intypedia002es © intypedia 2010 Creative Commons
12
Madrid, España, octubre 2010
Video intypedia002es © intypedia 2010 Creative Commons
Contacto:
[email protected]
Comentarios de: Lección 2: Sistemas de Cifra con Clave Secreta (0)
No hay comentarios