Fundamentosdecriptografia PDF
Fundamentosdecriptografia PDF
Fundamentosdecriptografia PDF
I t d ió a la
l
Criptografía
Llave
a) Encriptado o cifrado de datos
Proceso de
" Hola " " 3#4tr@(/k "
cifrado
Texto claro Texto cifrado
Llave
b) Desencriptado o descifrado de datos
Proceso de
" 3#4tr@(/k " " Hola "
descifrado
Texto cifrado Texto claro
Componentes de la Seguridad de
Datos en un Sistema Criptográfico
Privacidad o confidencialidad
confidencialidad:: Estar seguro que un
mensajej o una conversaciónió no puedad ser descifrada
d if d
por un tercero.
tercero.
Integridad
g de datos
datos:: La información del mensaje
j no
puede
d ser cambiado
b d en ell proceso de
d envío.
envío
í .
Autenticación (remitente y la persona que va a recibir
el correo,, p
pueden confirmar la identifica
identifica--ción y el
origen del mensaje)
mensaje)..
No-repudiación (el remitente no puede reclamar que
No-
no es el remitente)
remitente)..
Función 1 a 1 (Existe una y solo una función que nos
lleva del dominio X [texto claro] al dominio de Y
[texto cifrado] y viceversa)
viceversa)..
Criptoanálisis
Objetivo:
j recuperar
p el texto claro sin tener
acceso a la llave de cifrado.
Un intento
U te to de criptoanálisis
c ptoa á s s es llamado
a ado un
u
ataque..
ataque
Clásica,
Clásica convencional,
convencional simétrica o de
clave secreta
Criptografía clásica
• Cifrados por sustitución
• Cifrados por transposición
• Rellenos de una sola vez
Criptografía moderna
• Algoritmos simétricos
• Algoritmos asimétricos
Criptografía
p g clásica
Atbash
Cifrado del César
Métodos de cifrado monoalfabéticos
Métodos de cifrado polialfabéticos
Criptografía
p g clásica …
• Cifrados por sustitución …
gato
t tzgl
t l
Criptografía
p g clásica …
• Cifrados por sustitución …
a b c d e f g h i j k l m n o p q r s t u v w x y z
d e f g h i j k l m n o p q r s t u v w x y z a b c
gato jdwr
Criptografía
p g clásica …
• Cifrados por sustitución …
Métodos de cifrado monoalfabéticos
• Sustituyen cada letra por otra que ocupa la misma posición en
un alfabeto desordenado y esta correspondencia se mantiene a
lo largo de todo el mensaje. Así se consiguen tantas claves
como posibilidades de alfabetos hay.
• El p
problema está en cómo recordar la clave ((el alfabeto
desordenado).
• El mejor sistema de criptoanálisis para romper el algoritmo es
el estadístico. Se puede romper vía análisis de frecuencia de
letras
Criptografía
p g clásica …
• Cifrados por sustitución …
• El p
procedimiento es el siguiente:
g
SEGURIDAD SEGURIDA
• Se añaden
ñ al final de la palabra las restantes letras del
alfabeto (sin duplicar letras).
SEGURIDABCFHJKLMNOPQTVWXYZ
Criptografía
p g clásica …
• Cifrados por sustitución …
Métodos de cifrado monoalfabéticos …
• Se ordenan en una matriz cuya primera fila es la palabra clave
SEGUR I DA
BCFH JK LM
NOPQTVWX
YZ
• El nuevo alfabeto se lee por columnas y se alinea con el original:
a b c d e f g h i j k l m n o p q r s t u v w x y z
s b n y e c o z g f p u h q r j t i k v d l w a m x
• Un ejemplo
j p típico
p es el Cifrado de Vigènere:
g
- Se basa en una tabla con un alfabeto por cada letra del
abecedario
• Método:
é
- Ejemplo:
Clave:
ADIOS
Texto claro :
ESTO ES CRIPTOLOGIA
Clave sec.:
ADIO SA DIOSADIOSAD
Criptograma:
EVBC WK FZEHTRTCYID
gato gdbe
Criptografía
p g clásica …
• Cifrados por transposición
5 3 1 2 4
Ejemplo:
E s t e
o Texto normal: e s u n
“Este es un trabajo para la
t r a b
asignatura de Redes"
a j o p
Clave: Video a r a l
Texto cifrado:
a a s i
R e d e
s
Criptografía clásica …
(México y la 1era. Guerra Mundial)
• El telegrama Zimmerman
• El telegrama Zimmerman …
“Tenemos la intención de comenzar la guerra submarina sin restricciones a partir del primero
de febrero. Se intentará, no obstante, que los Estados Unidos se mantengan neutrales.
Para el caso de que no sea posible lograrlo, ofrecemos a México una alianza sobre las
siguientes bases: guerra conjunta, tratado de paz conjunto, generosa ayuda financiera y
acuerdo por nuestra parte de que Méjico podrá reconquistar los territorios de Tejas,
Nuevo Méjico y Arizona perdidos en el pasado. Dejo los detalles a su excelencia. Sírvase
usted
t d comunicar
i llo anteriormente
t i t di
dicho
h all presidente,
id t en ell más
á absoluto
b l t secreto,
t tan
t
pronto como la declaración de guerra contra Estados Unidos sea algo seguro, y sugiérale
que invite inmediatamente, por iniciativa propia, a Japón para unirse y que haga de
intermediario entre nosotros y Japón. Sírvase advertir al presidente que el uso despiadado
de nuestros submarinos ofrece ahora la perspectiva de que Inglaterra sea forzada a la paz
en pocos meses.
Acuse recibo. Zimmermann. Fin del telegrama.”
Criptografía
p g clásica …
• Rellenos de una sola vez
M
Mensaje
j s e c r e t o
18 5 3 17 5 20 15 (posición alfabética)
OTP -15 8 1 12 19 5 6 (desplazamiento)
----------------------------------------------------------
3 13 4 3 24 25 21 (nueva posición) ó
c m d c x y u (mensaje encriptado)
Es 100
100%% seguro
g si el OTP se usa una sola vez
y se compone de números aleatorios no prepre--
decibles..
decibles
Criptografía
p g clásica …
• Rellenos de una sola vez
‘A’
‘A’
‘P’
Texto claro 1 0 0 1 0 1 1
Llave de flujo 0 1 0 1 1 0 1
Texto cifrado (XOR) 1 1 0 0 1 1 0
Llave de flujo 0 1 0 1 1 0 1
Texto claro (XOR) 1 0 0 1 0 1 1
while (length--
(length--)) {
x++;
++ sx = state[x];
t t [ ] y ++= sx;
sy = state[y]; state[y] = sx; state[x] = sy;
*data++ ^= state[ (sx+sy) & 0xFF ];
}
Criptografía
p g Moderna …
Cifradores de flujo…
RC4…
• Es extremadamente rápido.
• Se usa en SSL, Lotus Notes, cifrado de password en
Windows, MS Access, Adobe Acrobat, PPTP, Oracle
Secure SQL, …
Se suele usar de manera que hace posible recuperar la
llave de cifrado.
cifrado
Todos los productos de Microsoft que lo usan lo han
implementado mal al menos una vez.
• Demuestra qque un cifrador no p
puede ser usado como
caja negra mágica.
• Recomendación: evitarlo ya que es fácil equivocarse.
Criptografía
p g Moderna …
Cifradores de Bloque
• Cifran un bloque de datos de tamaño fijo con una llave
de cifrado de tamaño fijo.
• Se originan a comienzo de los 70’s en IBM, que
desarrollaba sistemas seguros para los Bancos.
Bancos
• El primero conocido fue Lucifer, con llave y bloque de
128 bits.
Nunca fue seguro en ninguna de sus versiones
I llave D
f()
f()
cifrado
Criptografía
p g Moderna …
Cifradores de Bloque…
• Función f() es una transformación simple,
simple no
necesariamente reversible.
• Cada p
paso se llama un round.
• Mientras más rounds se tengan, más seguro es
(hasta un cierto límite).
• El más
á famoso ejemplo de este diseño es DES:
16 rounds.
Llave de 56 bits.
Bloque de 64 bits (I,D = 32 bits).
Criptografía
p g Moderna …
DES (Data Encryption Standard)
• En 1972
1972, NBS (National Bureau of Standards),
Standards) ahora NIST
(National Institute of Standards and Technology) inicia un
programa para proteger datos en los computadores y lograr
la transmisión segura de datos en una red.
• E
En mayo de
d 1973,
1973 NBS publica
bli un requerimiento
i i t ded un
algoritmo criptográfico que:
Ofrezca un alto nivel de seguridad,
Se especifique completamente y sea entendible,
La seguridad dependa sólo de la llave,
Debe estar disponible para todos los usuarios,
Debe ser eficiente, implementable electrónicamente a un costo
razonable,
Debe ser factible de validar y se debe poder exportar
• Ningún algoritmo presentado cumplía todo esto.
Historia de DES
DES…
En agosto
g de 1974,, se publica
p un segundo
g
llamado:
• IBM presentó a Lucifer.
• Aparentemente cumplía con todo.
todo
• NBS le pide a la NSA (National Security Agency) ayuda
en la evaluación de la seguridad del algoritmo.
• En
E marzo ded 1975,
1975 NBS publica
bli ell algoritmo
l it (modificado
( difi d
por la NSA) y pide comentarios
Muchos comentarios sospechaban de la NSA (cambio del
largo de la llave de 112 a 56 bits
bits, detalles del algoritmo)
• En noviembre de 1976, DES es adoptado como un
estándar federal en los EE.UU.
Rol de la NSA en DES
Mucho tiempo
p después,
p , se supo
p que:
q
• Hubo un malentendido entre la NSA y la NBS.
• La NSA pensó que DES se iba a implementar en
hardware solamente.
solamente
• El estándar habla de hardware, pero la publicación del
algoritmo era tan detallada que permitió implementarlo
en software.
software
• Off the record, NSA dijo que DES fue uno de los errores
más grandes que cometió y que nunca habría dejado
que se publicara si hubiesen sabido que se iba a
implementar en software.
• Ahora el mundo tenía un algoritmo sancionado como
seguro por la NSA
NSA, algo inédito.
inédito
Revisiones de DES
Cada 5 años,, NBS debía ratificar a DES como
estándar o proponer cambios:
• En 1983, DES fue ratificado sin problemas.
• En 1987,, la NSA dijo
j q
que no iba a ratificar el estándar y
propuso reemplazarlo por una serie de algoritmos
secretos que sólo estarían disponible en hardware
controlado. Los bancos reclamaron que el uso de DES
era masivo y no podía ser reemplazado.
reemplazado Fue ratificado
pero NBS dijo que sería la última ratificación…
• En 1993, NBS (ahora llamada NIST) se ve obligada a
ratificar nuevamente DES al no haber alternativa. En
esta ratificacion aparece el llamado 3DES o triple-
triple-DES,
con una seguridad de 2168 y empleado actualmente
como standard bancario.
DES…
DES
Existen 4 formas “oficiales” (FIPS PUB 81) de
extender DES ppara cifrar más de 64 bits:
• ECB (Electronic Code Book): cada bloque de 64 bits se
cifra individualmente. Dos bloques en claro idénticos
generan el mismo bloque
g q cifrado.
• CBC (Cipher Block Chaining): se hace XOR de cada
bloque con el bloque cifrado anterior antes de cifrar. Al
primer bloque
p q se le hace xor con un valor secreto inicial
de 64 bits. Dos bloques en claro idénticos no generan el
mismo bloque cifrado. Es más robusto que ECB.
• CFB ((Cipher
p Feedback Block)) y OFB ((Output
p Feedback
Block) permiten cifrar “n” bits donde n es arbitrario con
una extensión del DES original.
Cifrado de Llave Pública
Nuevo paradigma de cifrado publicado en 1976.
Basado en la Teoríaí de Números.
ú
Seguridad de estos algoritmos se basa en
dificultad de factorizar números grandes.
grandes
Varios algoritmos de este tipo han sido
inventados, pero sólo unos pocos han
demostrado ser seguros hasta ahora.
Dos llaves: una pública y una privada (secreta)
• Todo lo que se cifra con una llave sólo se puede
descifrar con la otra llave.
RSA es el más conocido.
• Rivest, Shamir y Adleman (1978, MIT)
RSA
Llave p
pública y privada
p se obtienen de números
primos grandes (100-
(100-200 dígitos y más).
Quebrar RSA equivale a factorizar el productos de
d de
dos d estos
t números
ú primos.
i
Para generar ambas llaves, se escogen 2
números primos grandes aleatorios p y q (del
mismo tamaño).
Se calcula el producto n = pq
Φ(n)=(p - 1)(q - 1) ya que p y q son primos
Se escoge la llave de cifrado e tal que:
• e < (p - 1)(q – 1) y es primo relativo de (p – 1)(q – 1)
RSA vs. DES
Las llaves RSA (512, 1024, 2048 bits) son mucho
más grandes que las llaves DES
• Una llave RSA de 1024 bits equivale más o menos a una
llave 3DES (112 bits) en cuanto a la dificultad en
adivinar la llave.
RSA en software es 100 veces más lento que DES
• Nunca podrá ser tan rápido como DES por los algoritmos
i
involucrados
l d y ell tamaño
t ñ de
d las
l llaves.
ll
• RSA no se puede usar directamente para cifrar tráfico en
una red de alta velocidad (10, 100 Mbps o más).
MD5 (Message Digest)
Es una versión mejorada de MD4 (1990) que Ron
Rivest (de RSA) presentó en 1992.
1992
MD5 procesa el mensaje en bloques de 512 bits
que se dividen en 16 sub-
sub-bloques de 32 bits c/u.
El resultado son 4 números de 32 bits que se
concatenan para entregar el valor de hash de 128
bits.
bits
El mensaje original se expande para tener un
largo múltiple de 512 bits menos 64.
• El relleno es un bit en 1 seguido de bits en 0.
• Al final se agregan 64 bits que representan el largo del
mensaje, lo que deja el largo en un múltiple de 512 bits.
Introducción
I t d ió a la
l
Criptografía