Introducción a la criptografía Introducción (I...

42
Adquisición y Tratamiento de Datos 1 Introducción a la criptografía Introducción (I) Inicialmente la seguridad no fue un problema tenido en cuenta en las redes de ordenadores. Sin embargo, en la actualidad las redes transportan información sensible como: Operaciones bancarias. Compras (tarjetas de crédito). Etc. Es necesario por tanto resolver la seguridad de las redes.

Transcript of Introducción a la criptografía Introducción (I...

Page 1: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 1

Introducción a la criptografía

Introducción (I)

• Inicialmente la seguridad no fue un problema tenido en cuenta en las redes de ordenadores.

• Sin embargo, en la actualidad las redes transportan información sensible como:– Operaciones bancarias.– Compras (tarjetas de crédito).

– Etc.

• Es necesario por tanto resolver la seguridad de las redes.

Page 2: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 2

Introducción a la criptografía

Introducción (II)• Existen cuatro áreas de seguridad interrelacionadas:

– El secreto.• Mantener la información fuera del alcance de los no autorizados.

– La validación de identificación.• Asegurar la identidad del otro lado del canal de comunicación.

– El control de integridad.• Asegurar que los mensajes recibidos no han sido manipulados por el

camino.

– El no repudio.• Firmar un mensaje de igual forma que se firma un documento.

Page 3: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 3

Introducción a la criptografía

Secreto (I)• El secreto en la red y en las comunicaciones esta ligado

al cifrado (codificación) de los mensajes.• En el cifrado:

– Los mensajes a cifrar se conocen como texto normal– Se transforman mediante una función parametrizada por una

clave.– El texto que se obtiene se conoce como texto cifrado.– La transmisión se realiza mediante el texto cifrado.– Si un intruso captura el texto cifrado no puede descifrarlo al

no conocer el algoritmo y/o la clave.

• La persona que descifra mensajes sin conocer la clave se llama criptoanalista y a la técnica se la llama criptoanálisis.

Page 4: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 4

Introducción a la criptografía

Secreto (II)

• A partir de ahora:– C=Ek(P): El cifrado del texto P con el algoritmo E

utilizando la clave k da el texto cifrado C.

– P=Dk(C): El descifrado del texto C con el algoritmo D utilizando la clave k da el texto normal P.

– Por tanto Dk(Ek(P))=P

• En la actualidad se supone que el secreto debe mantenerse si un criptoanalista conoce E (y D si es distinta) y no conoce la clave k.

Page 5: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 5

Introducción a la criptografía

Rellenos de una sola vez (I)

• Un cifrado inviolable se conoce desde hace tiempo: Los rellenos de una sola vez.– Se escoge una cadena de bits al azar como clave.– Se traduce el texto a su ASCII.– Se realiza la operación lógica XOR, bit a bit entre la

clave y el texto.

A B A XOR B 0 0 0 0 1 1 1 0 1 1 1 0

Page 6: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 6

Introducción a la criptografía

Rellenos de una sola vez (II)• El texto resultante no puede descifrarse por:

– Cada texto candidato posible a haber sido cifrado tiene la misma probabilidad.

– El texto cifrado no proporciona al criptoanalista ninguna información:

• Cada letra.• Digrama: Combinación de dos letras.• Trigrama: Combinación de tres letras.

– Aparecen con igual frecuencia.

• Su problema es que solo puede cifrarse la longitud de la clave como máximo.

Page 7: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 7

Introducción a la criptografía

Rellenos de una sola vez (III)• Ejemplo:

Codificación cifrada (hex) 31 0B 58 01 01 00 0F 1C 01 13 13 44 08 Texto de cifrado E n u n l u g a r d Codificación ASCII (hex) 45 6E 20 75 6E 20 6C 75 67 61 72 20 64 Codificación ASCII (hex) 74 65 78 74 6F 20 63 69 66 72 61 64 6F Texto original t e x t o c i f r a d o

Texto original t e x t o c i f r a d o Codificación ASCII (hex) 74 65 78 74 6F 20 63 69 66 72 61 64 6F Texto de cifrado E n u n l u g a r d Codificación ASCII (hex) 45 6E 20 75 6E 20 6C 75 67 61 72 20 64 Codificación cifrada (hex) 31 0B 58 01 01 00 0F 1C 01 13 13 44 08

Page 8: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 8

Introducción a la criptografía

Criptografía clásica

• Se basa en:– Algoritmos sencillos.

– Claves muy largas.

• Sus técnicas son:– Cifrado por sustitución.

– Cifrado por trasposición.

Page 9: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 9

Introducción a la criptografía

Cifrado por sustitución (I)• Se basa en:

– Sustituir cada letra o grupo de letras por otra letra o grupo de letras.

• Uno de los más antiguos conocidos. Cifrado de Cesar.– Cambiar la a por la D, la b por la E, etc.– La palabra ataque se convierte en DWDTXH.

• Una generalización mínima es cambiar la letra por la situada k posiciones, con lo que k es la clave de cifrado.

Page 10: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 10

Introducción a la criptografía

Cifrado por sustitución (II)• Generalización del cifrado por sustitución:

– Establecer una correspondencia biunívoca entre las letras del alfabeto y cualquier permutación de las mismas.

• Ejemplo: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 zQ W E R T Y U I O P A S D F G H J K L Z X C V B N M

• Este sistema se llama sustitución monoalfabética.

• La clave es la cadena de 26 letras por la que se sustituyen las letras del alfabeto.

Page 11: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 11

Introducción a la criptografía

Cifrado por sustitución (III)• Teóricamente es seguro, pues existen 26! =

4x1026 posibilidades.

• Puede descifrarse utilizando las propiedades estadísticas de los lenguajes naturales.

• En cada lenguaje existen una letras, digramas, trigramas, etc., más frecuentes.

• Analizando el texto se pueden buscar esas ocurrencias y encontrar la clave sin necesidad de buscar todas las posibilidades.

Page 12: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 12

Introducción a la criptografía

Cifrado por sustitución (IV)• Frecuencia en castellano:

Letra Frecuencia Letra Frecuencia Letra Frecuencia Letra Frecuencia e 16.78 a 11.96 o 8.69 l 8.37 s 7.88 n 7.01 d 6.87 r 4.94 u 4.80 i 4.15 t 3.31 c 2.92 p 2.76 m 2.12 Digrama Frecuencia Digrama Frecuencia Digrama Frecuencia de 778 la 460 el 339 en 302 se 119 un 98 no 74 su 64 al 63 es 47 Trigrama Frecuencia Trigrama Frecuencia Trigrama Frecuencia que 289 los 196 del 156 las 114 por 110 con 82 una 78 mas 36 sus 27 han 19

Page 13: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 13

Introducción a la criptografía

Cifrado por sustitución (V)• Texto a descifrar:Q DTRORQ JXT SGL QHXFZTL RT ZTGKOQ, TFXFEOQRGL RT

HKQEZOEQL, TZE., LTQF TSQWGKQRGL, LT EGSGEQKQF TF TS

EGKKTLHGFROTFZT QHQKZQRG. HQKQ CTK SGL XSZODGL

RGEXDTFZGL HXTLZGL TF SQ HQUOFQ COLOZQ TS QHQKZQRG RT

QCOLGL.

• Frecuencia de aparición de las letras:Letra Frecuencia Letra Frecuencia Letra Frecuencia Letra Frecuencia

Q 11.85 T 10.43 G 8.06 L 7.58 F 5.21 R 5.21 Z 5.21 K 4.74 O 4.74 E 3.79 H 3.79 S 3.79 X 2.84 C 1.42 D 1.42 J 0.47 U 0.47 W 0.47

Page 14: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 14

Introducción a la criptografía

Cifrado por sustitución (VI)• Texto cifrado.Q DTRORQ JXT SGL QHXFZTL RT ZTGKOQ, TFXFEOQRGL RT HKQEZOEQL, TZE., LTQF TSQWGKQRGL, LT EGSGEQKQF TF TS EGKKTLHGFROTFZT QHQKZQRG. HQKQ CTK SGL XSZODGL RGEXDTFZGL HXTLZGL TF SQ HQUOFQ COLOZQ TS QHQKZQRG RT QCOLGL.

• Analizando frecuencias y digramas T es e y Q es a.a DeRORa JXe SGL aHXFZeL Re ZeGKOa, eFXFEOaRGL Re HKaEZOEaL, eZE., LeaF eSaWGKaRGL, Le EGSGEaKaF eF eS EGKKeLHGFROeFZe aHaKZaRG. HaKa CeK SGL XSZODGL RGEXDeFZGL HXeLZGL eF Sa HaUOFa COLOZa eS aHaKZaRG Re aCOLGL.

• Analizando el digrama Re con de, R es d.a DedOda JXe SGL aHXFZeL de ZeGKOa, eFXFEOadGL de HKaEZOEaL, eZE., LeaF eSaWGKadGL, Le EGSGEaKaF eF eS EGKKeLHGFdOeFZe aHaKZadG. HaKa CeK SGL XSZODGL dGEXDeFZGL HXeLZGL eF Sa HaUOFa COLOZa eS aHaKZadG de aCOLGL.

• Analizando el trigrama JXe con que, J es q y X es u.a DedOda que SGL aHuFZeL de ZeGKOa, eFuFEOadGL de HKaEZOEaL, eZE., LeaF eSaWGKadGL, Le EGSGEaKaF eF eS EGKKeLHGFdOeFZe aHaKZadG. HaKa CeK SGL uSZODGL dGEuDeFZGL HueLZGL eF Sa HaUOFa COLOZa eS aHaKZadG de aCOLGL.

Page 15: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 15

Introducción a la criptografía

Cifrado por sustitución (VII)• Analizando el trigrama SGL con los, S es l, G es o y L es s.a DedOda que los aHuFZes de ZeoKOa, eFuFEOados de HKaEZOEas, eZE., seaF

elaWoKados, se EoloEaKaF eF el EoKKesHoFdOeFZe aHaKZado. HaKa CeK los ulZODos

doEuDeFZos HuesZos eF la HaUOFa COsOZa el aHaKZado de aCOsos.

• Analizando el digrama eF con en, F es n.a DedOda que los aHunZes de ZeoKOa, enunEOados de HKaEZOEas, eZE., sean

elaWoKados, se EoloEaKan en el EoKKesHondOenZe aHaKZado. HaKa CeK los ulZODos

doEuDenZos HuesZos en la HaUOna COsOZa el aHaKZado de aCOsos.

• Con el texto legible, Z es t, O es i, H es p, E es c y K es r.a Dedida que los apuntes de teoria, enunciados de practicas, etc., sean

elaWorados, se colocaran en el correspondiente apartado. para Cer los ultiDos

docuDentos puestos en la paUina Cisita el apartado de aCisos.

• Analizando las palabras reconocibles D es m, etc.a medida que los apuntes de teoria, enunciados de practicas, etc., sean

elaborados, se colocaran en el correspondiente apartado. para ver los ultimos

documentos puestos en la pagina visita el apartado de avisos.

Page 16: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 16

Introducción a la criptografía

Cifrado por trasposición (I)• Se basa en:

– Reordenar las letras del texto en función de una clave.– Un ejemplo es la trasposición columnar:

• Una clave indica el orden en que se alteran las columnas del texto.

• Ejemplo:en junio tenemos examen de atd

• Utilizando como clave la palabra peso:p e s o3 1 4 2e n j un i o te n e mo s e xa m e nd e a td x x x

• Obtenemos el texto cifrado:NINSMEXUTMXNTXENEOADDJOEEEAX

Page 17: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 17

Introducción a la criptografía

Cifrado por trasposición (II)

• Para descifrarlo:– Se comprueba que la frecuencia de las letras es la adecuada al

idioma.– Se intenta obtener el número de columnas existentes:

• Adivinar una posible palabra existente en el texto y buscar su aparición:

• JUNIO:– 2 columnas: JNO y UI.

– 3 columnas: JI.– 4 columnas: JO.

• Encontramos JO: Cuatro columnas.

Page 18: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 18

Introducción a la criptografía

Cifrado por trasposición (III)N U E J

I T N O

N M E E

S X O E

M N A E

E T D A

X X D X

• Reordenar las columnas:– Examinando todos los pares de columnas.

– Buscando la frecuencia de aparición de digramas, trigramas, etc.N E J U

I N O T

N E E M

S O E X

M A E N

E D A T

X D X X

Page 19: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 19

Introducción a la criptografía

Cifrado por trasposición (IV)

N E J U E J U N E N J U

I N O T N O T I N I O T

N E E M E E M N E N E M

S O E X O E X S O S E X

M A E N A E N M A M E N

E D A T D A T E D E A T

X D X X X X D X D X X X

Page 20: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 20

Introducción a la criptografía

Criptografía moderna (I)• Se basa en:

– Algoritmos complicados.– Claves cortas.

• Utiliza dos dispositivos de bloques básicos:– Cajas P.– Cajas S.

Caja P

Caja S

3 a 8 8 a 3

Cifrado de producto

P1 P2 P3

S1

S2

S3

S4

S5

S6

S7

S8

Page 21: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 21

Introducción a la criptografía

Criptografía moderna (II)

• Se divide en:– Clave privada:

• La clave de cifrado y descifrado es la misma (o se deriva una de otra).

• Debe mantenerse en secreto.

– Clave pública.• La clave de cifrado y descifrado son distintas.

• Puede hacerse pública la clave de cifrado mientras se mantenga en secreto la clave de descifrado.

Page 22: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 22

Introducción a la criptografía

Cifrado DES (I)• Fue desarrollado a principios de los 70.

• Se basa en el algoritmo Lucifer de IBM de 112 bits de clave.

• Utiliza una clave de 56 bits.

• Se desarrollo para poder ser implementado en un circuito electrónico de los años 70.

• El texto normal se cifra en bloques de 64 bits, utilizando los 56 bits de clave dando un texto cifrado de 64 bits.

Page 23: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 23

Introducción a la criptografía

Cifrado DES (II)

Transposición inicial

Iteración 1

Iteración 2

Iteración 16

Intercambio de 32 bits

Transposición inversa

64 bits de texto normal

64 bits de texto cifrado

Clave de 56 bits.

32 bits Li 32 bits Ri

Li-1 Ri-1

Li-1 op f(Ri-1,Ki)

Page 24: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 24

Introducción a la criptografía

Cifrado DES triple (I)• La velocidad de los circuitos electrónicos

actuales:– Permite descifrar el algoritmo DES probando las

claves.

• Los ordenadores actuales:– Pueden descifrar el algoritmo en un tiempo

razonable.

• El algoritmo DES no es seguro.

Page 25: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 25

Introducción a la criptografía

Cifrado DES triple (II)• Solución: Cifrar 3 veces con DES.

E D E

K1 K2 K1

P C D E D

K1 K2 K1

C P

• Se utilizan dos claves de 56 bits.

• Se utiliza EDE en lugar de EEE porque: – Da igual utilizar la función en cifrado o descifrado, la

seguridad es la misma.

– Permite utilizar dos claves K1 y K2, y haciendo K1=K2 tenemos el algoritmo DES.

Page 26: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 26

Introducción a la criptografía

Cifrado IDEA (I)

• Utiliza una clave de 128 bits.– La clave genera 52 subclaves de 16 bits.

• 6 para cada una de las 8 iteraciones.• 4 para la transformación final.

• Cifra en bloques de 64 bits como DES.

• Utiliza aritmética de 16 bits sin signo.– Fácilmente implementable en computadores.

Page 27: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 27

Introducción a la criptografía

Cifrado IDEA (II)

Iteración 1

Iteración 2

Iteración 7

Iteración 8

Transformación

64 bits de texto normal

64 bits de texto cifrado

X

# # # #

X + +

# #

X

+

+

X

K1 K2 K3 K4

K5

K6

Cuatro bloques de entrada de 16 bits

Cuatro bloques de salida de 16 bits

Suma módulo 216 de 16 bits

Multiplicación módulo 216+1 de 16 bits

OR EXCLUSIVO de 16 bits

+

X

#

Page 28: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 28

Introducción a la criptografía

Cifrado AES (I)

• En 1997 se propuso el desarrollo de un nuevo algoritmo de cifrado: AES.

• AES es:– Público.– Utiliza criptografía de clave simétrica con bloques de

128 bits.– Permite claves de 128, 192 y 256 bits.– Puede ser implementado por software o hardware.

Page 29: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 29

Introducción a la criptografía

Cifrado AES (II)• AES opera en matrices de datos de 4x4 realizando:

– Una sustitución no lineal de cada byte de la matriz por otro byte de acuerdo a una tabla.

– Una transposición donde las filas son rotadas.– Un mezclado de columnas con otras mediante una transformación

lineal.– Una combinación del resultado con la clave.

• AES utiliza:– 10 rondas para claves de 128 bits.– 12 rondas para claves de 192 bits.– 14 rondas para claves de 256 bits.– Una ronda final donde el mezclado de columnas se sustituye por

otra combinación del resultado con la clave.

Page 30: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 30

Introducción a la criptografía

Cifrado RSA (I)

• En 1976, investigadores de Stanford propusieron una clase nueva de criptosistema:– Las claves de cifrado y descifrado eran diferentes.– El algoritmo de cifrado, con clave E y el de

descifrado, con clave D, debían cumplir:• D(E(P))=P• Es difícil deducir D de E.• E no puede descifrarse mediante prueba.

Page 31: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 31

Introducción a la criptografía

Cifrado RSA (II)• El funcionamiento es el siguiente:

– Tenemos dos algoritmos E y D que cumplen lo anterior.

– A escoge una clave de cifrado EA y de descifrado DA.

– B escoge otra clave de cifrado EB y de descifrado DB.

– E, D, EA y EB son públicos.

• A quiere enviar un mensaje P a B:– Con EB calcula EB(P) y lo envía a B.

– B lo recibe y calcula DB(EB(P)) y obtiene P.

– Nadie más que B puede descifrar el mensaje.

• Un algoritmo que cumple la propiedad propuesta es el RSA.

Page 32: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 32

Introducción a la criptografía

Cifrado RSA (III)• El RSA se basa en:

– Escoger dos números primos grandes p y q mayores de 10100.

– Calcular n=p*q y z=(p-1)*(q-1).– Seleccionar un primo d respecto a z (un número sin

factores comunes con z).– Encontrar e tal que (e*d)%z = 1.– El texto se cifra en bloques de k bits de forma que

0<2k<n.– Para cifrar calculamos C=Pe%n.– Para descifrar calculamos P=Cd%n.

Page 33: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 33

Introducción a la criptografía

Cifrado RSA (IV)• La parte pública de la clave es (e,n).

• La parte privada de la clave es (d,n).

• La dificultad consiste en factorizar números grandes como n.– Si se factoriza n se puede obtener z, y con z y e se

obtiene d mediante el algoritmo de Euclides.– En la actualidad, suponiendo un tiempo de

instrucción de 1 nanosegundo, se requieren 4 millones de años para factorizar un número de 200 dígitos.

Page 34: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 34

Introducción a la criptografía

Cifrado RSA (V)• Ejemplo:

– Tomemos p=3 y q=11, entonces n=33 y z=20.– Tomemos d=7, entonces (7*e)%20=1 -> e=3.

Texto original (P) Cifrado (C) Texto descifrado (P) Carácter Valor P3 P3(mod 33) C7 C7(mod 33) Carácter

e 5 125 26 8031810176 5 e n 14 2744 5 78125 14 n r 19 6859 28 13492928512 19 r i 9 729 3 2187 9 i q 18 5832 24 4586471424 18 q u 22 10648 22 2494357888 22 u e 5 125 26 8031810176 5 e

• Ejemplo de sustitución monoalfabética pues p y q son muy

pequeños.• Si p y q son del orden de 10100, el bloque de cifrado es de 664

bits.

Page 35: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 35

Introducción a la criptografía

Validación de identificación• Permite que dos personas Alfa y Beta comprueben que

el otro es quién dice ser.• El procedimiento general es:

– Alfa y Beta intercambian mensajes:• Entre ellos.

• Con un centro de distribución de claves.

– Al final del proceso Alfa esta seguro que habla con Beta y viceversa.

– Poseen una clave secreta de cifrado para intercambiar los mensajes.

– Un intruso Gamma, no puede interferir el proceso y suplantar a Alfa o Beta o capturar la clave secreta de cifrado.

Page 36: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 36

Introducción a la criptografía

Protocolo de autenticación Kerberos• Todo usuario:

– Se identifica ante Kerberos.– Acuerda una clave criptográfica K propia para él.

A

B

Na, ID(A), ID(B)

Kb(K,L,ID(A)) K(ID(A),Ta)

1

2

3

4

Ka(K,L,Na,ID(B)) Kb(K,L,ID(A))

K(Ta+ )1

Kerberos

Page 37: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 37

Introducción a la criptografía

Compendios de mensajes

• Permiten comprobar la validez de un mensaje.

• La idea general es utilizar una función de dispersión unidireccional que cumpla:– Dado P es fácil calcular MD(P).– Dado MD(P) no es posible obtener P.– No es posible encontrar P<>P’ tal que

MD(P)=MD(P’).• Por ello la dispersión debe ser como mínimo de 128 bits.

Page 38: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 38

Introducción a la criptografía

Compendio MD5• Es la quinta función de una serie de funciones de

dispersión diseñadas por Ron Rivest.• El algoritmo es:

– Se coge el mensaje original P y se rellena hasta que su tamaño sea 448 módulo 512.

– Se añade la longitud del mensaje como un entero de 64 bits, con lo que la longitud final es múltiplo de 512 bits.

– Se inicializa un buffer de 128 bits con un valor fijo.– Se toma el mensaje en bloques de 512 bits y se mezclan con

el buffer actual de 128 bits junto con una tabla construida a partir de la función seno.

– Cuando se acaban los bloques el valor del buffer es el MD5 del mensaje original, MD5(P).

Page 39: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 39

Introducción a la criptografía

Compendio SHA• Fue desarrollado por la NSA.• El algoritmo es:

– Se coge el mensaje original P y se rellena hasta que su tamaño sea 448 módulo 512.

– Se añade la longitud del mensaje como un entero de 64 bits, con lo que la longitud final es múltiplo de 512 bits.

– Se inicializa un buffer de 160 bits con un valor fijo.– Se toma el mensaje en bloques de 512 bits y se mezclan con

el buffer actual de 160 bits:• Utiliza 80 rondas para cada bloque de entrada.• Cada 20 rondas modifica las funciones de mezcla del bloque y del

buffer.

– Cuando se acaban los bloques el valor del buffer es el SHA del mensaje original, SHA(P).

Page 40: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 40

Introducción a la criptografía

Firma digital

• Una firma digital debe cumplir:– El receptor pueda verificar la identidad del emisor.

• Una computadora de un banco necesita saber que la otra computadora es quién dice ser.

– El emisor no pueda repudiar el mensaje enviado.• Si se compra una tonelada de oro y cae el precio, el cliente

puede decir que el no mando comprar la tonelada de oro.

– El receptor no pueda confeccionar el mensaje.• Si se compra una tonelada de oro y sube el precio, el

banco puede decir que el cliente solo pidió un kilo de oro.

Page 41: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 41

Introducción a la criptografía

Firma de clave secreta

• Todo usuario:– Se identifica ante la autoridad X.– Acuerda una clave secreta K propia para él.

A

A, KA(B,RA,t,P)

KB(A,RA,t,P,KX(A,t,P))

BX

• El problema es que X debe leer todos los mensajes.

Page 42: Introducción a la criptografía Introducción (I ...informatica.uv.es/estguia/ATD/apuntes/teoria/presentaciones/... · Adquisición y Tratamiento de Datos 1 Introducción a la criptografía

Adquisición y Tratamiento de Datos 42

Introducción a la criptografía

Firma de clave pública• Un usuario utiliza, por ejemplo, RSA y genera una

clave pública y una privada.

• Problemas:– A puede decir que le han robado su clave privada DA.– A puede cambiar las claves y entonces lo que ya ha firmado

no es valido.– Se requiere una autoridad que controle estos casos.

Clave privada de A, DA

Clave pública de B, EB

Clave privada de B, DB

Clave pública de A, EA

Computadora de A Computadora de B Línea de transmisión

P P

EB(DA(P)) DA(P) DA(P)