Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego...

25
Class4crypt Videoclases de criptografía aplicada Class4crypt c4c10.1 - © jorgeramio 2020 Profesor Dr. Jorge Ramió A. Clase c4c10.1 Criptografía asimétrica y analogía de los candados Madrid, martes 3 de marzo de 2020

Transcript of Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego...

Page 1: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Class4cryptVideoclases de criptografía aplicada

Class4crypt c4c10.1 - © jorgeramio 2020

Profesor Dr. Jorge Ramió A.

Clase c4c10.1Criptografía asimétrica y analogía de los candados

Madrid, martes 3 de marzo de 2020

Page 2: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Temario

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 2

• Módulo 1: Principios básicos de la seguridad

• Módulo 2: Matemáticas discretas en la criptografía

• Módulo 3: Complejidad algorítmica en la criptografía

• Módulo 4: Teoría de la información en la criptografía

• Módulo 5: Fundamentos de la criptografía clásica y moderna

• Módulo 6: Algoritmos de criptografía clásica

• Módulo 7: Cifra simétrica en flujo

• Módulo 8: Cifra simétrica en bloque

• Módulo 9: Funciones hash en la criptografía

• Módulo 10: Cifra asimétrica

• Módulo11: Otros temas relacionados

• Temario: http://www.criptored.upm.es/descarga/Class4cryptc4c0.1_Presentacion.pdf

Page 3: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 3

¡COMENZAMOS!

Page 4: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Módulo 10. Criptografía asimétrica

Lección 10.1. Criptografía asimétrica y la analogía de los candados

1. Buscando enviar un secreto en un medio de transmisión inseguro

2. Primer escenario con un único candado del receptor

3. Segundo escenario con dos candados, de emisor y de receptor

4. En criptografía el orden es importante

5. Soluciones al problema de enviar un secreto en un medio de transmisión inseguro

Class4crypt c4c10.1

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 4

Page 5: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Analogía de la cifra con los candados

• Todos sabemos que un candado tiene dos estados, o está abierto o está cerrado

• La operación de cerrar un candado la puede hacer cualquier persona, basta con bajar la clavija hasta escuchar un clic

• En cambio, la operación de abrir ese candado requiere que se tenga una llave. Y no cualquier llave, sino la llave específica de ese candado

• Podríamos decir que la operación de cerrar un candado es una operación pública (la de cifrar), en tanto que la operación de abrir ese candado será una operación privada (la de descifrar)

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 5

Page 6: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Necesidad de intercambiar un secreto

• Alicia y Bernardo, que viven en sendos castillos del siglo XV, muy a su pesar físicamente separados, desean enviarse mensajes secretos, pero saben que el medio de transmisión es, por definición, inseguro

• Van a plantear dos métodos para alcanzar este objetivo, contando con una caja muy segura (a prueba de balas, fuego, etc.) y sendos candados

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 6

Alicia Bernardo

Page 7: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Primer escenario: un solo candado

• Alicia le entrega a Bernardo una caja y un candado, ambos abiertos, para que lo use Bernardo cuando desee enviarle a ella un mensaje secreto

• Bernardo genera ese mensaje secreto, lo mete en la caja y cierra la caja con el candado de Alicia, y se lo entrega a un mensajero para que se lo lleva a Alicia

• Cuando Alicia recibe la caja, lo único que debe hacer es usar la llave que sólo ella tiene de ese candado, por ser suyo, y abrirla para leer el mensaje secreto de Bernardo

• Parece que todo funciona bien, pero las cosas no serán lo que parecen cuando trasladamos este escenario a los sistemas de cifra

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 7

Page 8: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Los candados y la cifra del César versión 1

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 8

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

F G H I J K L MNÑ O P Q R S T U V W X Y Z A B C D E

AliciaBernardo

Mensaje secreto n o s v a m o s m a ñ a n a

Cifrado Bernardo R T X A F Q T X Q F S F R F

Descifrado Alicia n o s v a m o s m a ñ a n a

Alfabeto de cifra de Alicia ci = mi + 5 mod 27, conocido por Bernardo

• Todo marcha bien si Bernardo conoce el alfabeto de cifra de Alicia

• Pero, ¿cómo se lo ha enviado? Necesitamos superar este inconveniente

Page 9: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Segundo escenario: dos candados

• Alicia introduce su mensaje secreto en una caja muy resistente, la cierra con su candado y se la entrega a un mensajero que se la lleva a Bernardo

• Cuando la caja llega a Bernardo, este añade su propio candado y el mensajero va de vuelta donde Alicia con la caja, ahora cerrada con los dos candados

• Alicia abre su candado, y el mensajero vuelve con la caja hacia Bernardo

• Bernardo abre su candado y ahora puede leer el mensaje secreto de Alicia

• El secreto siempre ha estado bien protegido durante su transmisión

• Si suponemos que cerrar el candado corresponde a cifrar y abrir el candado corresponde a descifrar, ¿podríamos asociar esto con la criptografía?

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 9

Page 10: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Los candados y la cifra del César versión 2

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 10

El secreto dentro de la caja ha estado siempre protegido en sus viajes

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

C D E F G H I J K L M N Ñ O P Q R S T U V WX Y Z A B

Alfabeto de cifra de Bernardo: ci = mi + 2 mod 27

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

F G H I J K L MNÑ O P Q R S T U V W X Y Z A B C D E

Alfabeto de cifra de Alicia: ci = mi + 5 mod 27

Mensaje secreto n o s v a m o s m a ñ a n a

Paso 1: Alicia cierra su candado (cifra) R T X A F Q T X Q F S F R F

Paso 2: Bernardo cierra su candado (cifra) T V Z C H S V Z S H U H T H

Paso 3: Alicia abre su candado (descifra) o q u x c ñ q u ñ c p c o c

Paso 4: Bernardo abre su candado (descifra) n o s v a m o s m a ñ a n a

Page 11: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Los candados y la cifra por decimación

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 11

Nuevamente el secreto dentro de la caja ha estado siempre protegido… pero ¿funcionará siempre?

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

A F K O T Y D I NR W B G L P U Z E J Ñ S X C H M Q V

Alfabeto de cifra de Bernardo: ci = 5*mi mod 27

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

A C E G I K M Ñ P R T V X Z B D F H J L N O Q S U WY

Alfabeto de cifra de Alicia: ci = 2*mi mod 27

Mensaje secreto n o s v a m o s m a ñ a n a

Paso 1: Alicia cierra su candado (cifra) Z D L Q A X D L X A B A Z A

Paso 2: Bernardo cierra su candado (cifra) V O B E A M O B M A F A V A

Paso 3: Alicia abre su candado (descifra) l u ñ c a g u ñ g a p a l a

Paso 4: Bernardo abre su candado (descifra) n o s v a m o s m a ñ a n a

Page 12: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Los candados y la cifra afín

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 12

Ahora no se recupera el secreto…

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

G S F R E Q D P C O B Ñ A N Z M Y L X K W J V I U H T

Alfabeto de cifra de Bernardo: ci = 13mi + 6 mod 27

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

R W B G L P U Z E J Ñ S X C H M Q V A F K O T Y D I N

Alfabeto de cifra de Alicia: ci = 5mi + 18 mod 27

Mensaje secreto n o s v a m o s m a ñ a n a

Paso 1: Alicia cierra su candado (cifra) C M F T R X M F X R H R C R

Paso 2: Bernardo cierra su candado (cifra) F A Q W X U A Q U X P X F X

Paso 3: Alicia abre su candado (descifra) s r p b m g r p g m f m s m

Paso 4: Bernardo abre su candado (descifra) b d h k o a d h a o c o b o

Page 13: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Cifrado de Alicia (comprobación)

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 13

• Software Criptoclásicos v2.1: http://www.criptored.upm.es/software/sw_m001c.htm

Page 14: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Cifrado de Bernardo (comprobación)

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 14

Page 15: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Descifrado de Alicia (comprobación)

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 15

Page 16: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Descifrado de Bernardo (comprobación)

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 16

Page 17: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

La importancia de los inversos

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 17

• En la cifra por sustitución simple monoalfabética con algoritmos del tipo César (desplazamiento puro) y de decimación (multiplicación pura), se recupera siempre el secreto, debido a que los inversos aditivo y multiplicativo cumplen su función

• En el primer caso se desplaza + 5 (Alicia) y después + 2 (Bernardo), un total de 7 espacios. Al descifrar se hace - 5 (Alicia) y después - 2 (Bernardo), obteniendo texto en claro por concepto del inverso aditivo

• En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando su cifra, y Bernardo luego ha usado inv (2, 27) = 14, eliminando por su parte su cifra, inversos multiplicativos

• En resumen, se ha multiplicado el texto en claro por 10 = 5*2 en la cifra, y en el descifrado se ha multiplicado por los inversos 11*14 mod 27 = 154 mod 27 = 19 que es precisamente el inv (10, 27)

• En la cifra afín y, muy importante, en la cifra asimétrica, esto ya no se cumple…

Page 18: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Algo falla, hay que perfeccionarlo

• De lo anterior podría deducirse que el enfoque de los candados para enviar un secreto no funcionaría en la criptografía real, pero no es así

• Habrá que usar funciones de una sola vía (one way functions)

• Como su nombre sugiere, una función de una sola vía es fácil de hacer pero muy difícil de deshacer. En otras palabras, las funciones de doble vía son reversibles, pero las funciones de una sola vía son irreversibles

• Entre estas funciones, se encuentra el problema del logaritmo discreto PLD, que es lo que usarán Diffie y Hellman en su protocolo de intercambio de clave para permitir el envío de un secreto entre dos usuarios separados físicamente

• El intercambio de clave de Diffie y Hellman se verá en la siguiente videoclase

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 18

Page 19: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

En la criptografía el orden es importante

• En criptografía hay que realizar las operaciones de forma inversa y en orden

• Es decir, si Alicia ha cerrado la caja con el candado que Bernardo le ha entregado abierto (operación de cifrado) para proteger ese mensaje secreto, la única opción es que a continuación de ello Bernardo use la llave de su candado para abrirlo (operación de descifrado), y recuperar así el secreto

• La solución será dividir una clave muy grande en dos partes: una parte muy pequeña que se dará a conocer a todo el mundo y que se llamará clave pública (la caja y el candado abierto), y la otra parte muy grande que guardará en secreto su dueño y que se llamará clave privada (la llave del candado)

• Quien no tenga una trampa o secreto que sólo conoce el dueño de la clave, no podrá deducir esa clave privada a partir del conocimiento de la clave pública

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 19

Page 20: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Conclusiones de la lección 10.1

• Si se comparte el candado abierto del destinatario, ello permite hacer una cifra a cualquiera, pero descifrar sólo podrá hacerlo quien posea la llave de ese candado. Sabiendo que el canal es inseguro, no tenemos cómo enviarle al destino nuestra clave de cifra, que será necesaria para cifrar el secreto

• En un escenario de cifrado con dos candados, a veces se recupera el secreto, como en la cifra sustitución por desplazamiento puro (ci = mi + b mod n) y con decimación pura (ci = a*mi mod n), pero para otras formas de cifra básica como la cifra afín (ci = a*mi + b mod n), ya no se recupera el secreto

• La analogía de los candados con la cifra, con operaciones de cifra públicas y operaciones de cifra privadas, requiere seguir en destino un orden inverso a las operaciones realizadas en origen para su correcto funcionamiento

• Habrá que usar funciones de un solo sentido como el PLD (Diffie y Hellman)

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 20

Page 21: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Antes de terminar, por favor colabora…

• Si, en general, te ha gustado el vídeo…

• Si has aprendido algo nuevo…

• Si has podido reforzar algún conocimiento que ya tenías…

• Entonces, por favor, ponle un “Me gusta” al vídeo

• Si deseas expresar alguna opinión sobre el contenido de esta clase o tienes alguna duda, hazlo aquí en YouTube. Todos los comentarios serán muy bien recibidos y las dudas contestadas a la mayor brevedad posible

• Muchas gracias

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 21

Page 22: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Lectura extra recomendada

• Lección 3: Sistemas de cifra con clave pública (intypedia, noviembre 2010)• https://www.youtube.com/watch?v=On1clzor4x4

• Documento Lección 3: Sistemas de cifra con clave pública (intypedia)• http://www.criptored.upm.es/intypedia/docs/es/video3/GuionIntypedia003.pdf

• One-way function (Wikipedia)• https://en.wikipedia.org/wiki/One-way_function

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 22

Fin de la lección

Page 23: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Otras videoclases del proyecto Class4crypt

• https://www.youtube.com/user/jorgeramio

• Más información en canal Twitter• https://twitter.com/class4crypt

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 23

Page 24: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Licencia y créditos

• Estas videoclases y la documentación utilizada en ellas, se encuentran bajo licencia CreativeCommons tipo CC BY-NC-ND 4.0

• Reconocimiento - No Comercial - Sin Obra Derivada

• Permite que otros puedan descargar esta obra y compartirla con otras personas, siempre que se reconozca su autoría, pero no se puede cambiar de ninguna manera su contenido ni se puede utilizar comercialmente

• Música:

• Enter_Blonde, Max Surla, Media Right Productions, YouTube Audio Library - Free Music https://www.youtube.com/audiolibrary/music?nv=1

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 24

Page 25: Class4crypt Aula Virtual de Criptografía · •En el segundo caso Alicia multiplica por 5, y luego Bernardo multiplica por 2. Al descifrar, Alicia ha usado inv (5, 27) = 11, eliminando

Class4crypt c4c10.1 - © jorgeramio 2020 Lección 10.1 - página 25

Martes 10/03/2020: una nueva videoclase

Hasta prontoCriptosaludos