criptografia asimetrica - rsa

31
Criptografía Asimétrica Seguridad Informát i ca Jesse Padilla Agudelo

Upload: jesse-padilla-agudelo

Post on 20-Jan-2015

9.182 views

Category:

Technology


7 download

DESCRIPTION

Unos pequeños apuntes sobre el algorito de cifrado RSA

TRANSCRIPT

Page 1: Criptografia Asimetrica - RSA

Criptografía Asimétrica

Seguridad Informática

Jesse

Padilla Agudelo

Page 2: Criptografia Asimetrica - RSA

2

Criptografía

• Es un conjunto de técnicas que permiten el enmascaramiento de mensajes de tal forma que solo el destino de una comunicación podrá interpretarlo.

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 3: Criptografia Asimetrica - RSA

3

Criptografía Simétrica

• Los métodos criptográficos tradicionales operan a partir de una palabra o frase llave, que sirve para codificar y descodificar información, el conocido password.

• Está llave debe ser conocida por los dos extremos de la comunicación, por lo que el punto débil de este método es justamente el proceso de difusión de la llave.

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 4: Criptografia Asimetrica - RSA

4

Criptografía Simétrica

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 5: Criptografia Asimetrica - RSA

5

Criptografía Asimétrica

• Por el contrario, la Criptografía de Clave Pública asigna a cada extremo de la comunicación un par de llaves, una pública que cualquiera puede solicitar y conocer, y otra privada, cuya seguridad es fundamental para el éxito de la codificación.

• Las llaves son una secuencia bastante larga de caracteres y números, generadas por un procedimiento matemático.

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 6: Criptografia Asimetrica - RSA

6

Criptografía Asimetrica

• Para enviar un mensaje seguro a una persona, se codifica con la clave pública del destinatario. El sistema garantiza que el mensaje resultante sólo puede ser descodificado con la clave privada del destinatario (confidencialidad).

• Como se tiene la seguridad de la identidad del destinatario gracias a su clave pública, nos aseguramos que el mensaje va al sitio correcto (autentificación).

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 7: Criptografia Asimetrica - RSA

7

Criptografía Asimétrica

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

• Clave privada: será custodiada por su propietario y no se dará a conocer a ningún otro.

• Clave pública: será conocida por todos los usuarios.• Esta pareja de claves es complementaria: lo que cifra una

SÓLO lo puede descifrar la otra y viceversa.

Page 8: Criptografia Asimetrica - RSA

8

Criptografía Asimétrica

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 9: Criptografia Asimetrica - RSA

9

Criptografía Asimétrica

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 10: Criptografia Asimetrica - RSA

10

Criptografía Asimétrica

• Algoritmos para Criptografía Asimétrica• RSA• DSA• El Gamal• Criptografía de curva elíptica• Entre otros.

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 11: Criptografia Asimetrica - RSA

Lectura

• Firma Digital• SSL (Secure Sockets Layer)

Page 12: Criptografia Asimetrica - RSA

12

Criptografía Asimétrica: RSA

• RSA (Rivest, Shamir y Adleman) • RSA es un sistema criptográfico de clave pública

desarrollado en 1977 en el MIT.

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 13: Criptografia Asimetrica - RSA

13

Criptografía Asimétrica: RSA

• Los mensajes enviados se representan numéricamente.

• El funcionamiento se basa en el producto, conocido, de dos números primos grandes elegidos aleatoriamente en secreto.

• Estos números primos son del orden de 10 a la 200, y en aumento.

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 14: Criptografia Asimetrica - RSA

14

Criptografía Asimétrica: RSA

• En RSA cada usuario posee dos claves de cifrado: una pública y otra privada.

• El emisor busca la clave pública del receptor al momento de enviarle un mensaje, cifra este con esa clave.

• Una vez que el mensaje cifrado llega al receptor, este se ocupa de descifrarlo usando su clave privada.

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 15: Criptografia Asimetrica - RSA

15

Criptografía Asimétrica: RSA

• Pasos:1. Se genera la clave Publica y la Clave Privada.2. Se cifra el mensaje usando la Clave Publica.3. Se descifra el mensaje usando la Clave Privada.

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 16: Criptografia Asimetrica - RSA

16

Criptografía Asimétrica: RSA

• Generación de la Clave Publica y de la Clave Privada:

1. Se eligen 2 números primos p y q, de forma aleatoria, del orden de 10 a 200, su longitud deberá ser similar en bits.

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 17: Criptografia Asimetrica - RSA

17

Criptografía Asimétrica: RSA

• Generación de la Clave Publica y de la Clave Privada:

2. Se calcula , donde es el modulo para ambas claves, Publica y Privada.

3. Se calcula donde es la función de Euler.

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 18: Criptografia Asimetrica - RSA

18

Criptografía Asimétrica: RSA

• Generación de la Clave Publica y de la Clave Privada:4. Se escoge un entero positivo menor que , que sea primo relativo de – se da a conocer como el exponente de la clave

pública.– Recomendación – será nuestra llave publica.

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 19: Criptografia Asimetrica - RSA

19

Criptografía Asimétrica: RSA

• Generación de la Clave Publica y de la Clave Privada:5. Se determina un (mediante aritmética modular) que satisfaga la congruencia – Esto suele calcularse mediante el algoritmo de

Euclides extendido.– será nuestra clave privada.

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 20: Criptografia Asimetrica - RSA

20

Criptografía Asimétrica: RSA

• Algoritmo de Euclides Extendido:• El algoritmo de Euclides es un método antiguo y

eficaz para calcular el máximo común divisor (MCD).• El algoritmo de Euclides extendido es una ligera

modificación que permite además expresar al máximo común divisor como una combinación lineal.

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 21: Criptografia Asimetrica - RSA

21

Criptografía Asimétrica: RSA

• Algoritmo de Euclides Extendido:• Dados números enteros, el MCD de estos números

estará dado por la combinación lineal:

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 22: Criptografia Asimetrica - RSA

22

Criptografía Asimétrica: RSA

def egcd(a,b):u, u1 = 1, 0v, v1 = 0, 1while b:

q = a // bu, u1 = u1, u - q * u1v, v1 = v1, v - q * v1a, b = b, a - q * b

return u, v, a

def modInverse(e,n):return egcd(e,n)[0]%n

d = modInverse(e,fi_n)print 'La Clave privada es: ', d

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Implementación en Python del Algoritmo de Euclides Extendido y el Calculo de la Llave Privada

Page 23: Criptografia Asimetrica - RSA

23

Criptografía Asimétrica: RSA

• Dada nuestra llave publica y nuestra llave privada , ya podemos iniciar el proceso de cifrado, que estará dado por:

• Donde es el mensaje original expresado de forma numérica.

• Y es el mensaje cifrado.• Se cifra con la llave publica.Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 24: Criptografia Asimetrica - RSA

24

Criptografía Asimétrica: RSA

• El proceso de descifrado, que estará dado por:

• Donde es el mensaje original expresado de forma numérica.

• Y es el mensaje cifrado.• Se descifra con la llave privada.

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 25: Criptografia Asimetrica - RSA

25

Criptografía Asimétrica: EJEMPLO RSA

• Cifrar el Mensaje “UCM” usando RSA.• Paso 1: Seleccionar dos números primos grandes.– p = 83– q = 89

• Paso 2: Calcular n– n = p*q = 83 * 89 = 7387

• Paso 3: Calcular

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 26: Criptografia Asimetrica - RSA

26

Criptografía Asimétrica: EJEMPLO RSA

• Paso 4: Seleccionar e como primo relativo de • e = 5009• Paso 5: Calcular d, podemos usar el código en Python

para automatizar el proceso, recordemos que este calcula el MCD entre e y inicialmente y luego a este le aplicamos modulo – d = 2753

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 27: Criptografia Asimetrica - RSA

27

Criptografía Asimétrica: EJEMPLO RSA

• Paso 6: Ciframos• Convertimos el texto UCM a numérico con su

equivalente en asccii.• UCM→ 85 – 67 – 77• Para Cifrar aplicamos la formula:

• = 5440• = 7128• = 6663Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 28: Criptografia Asimetrica - RSA

28

Criptografía Asimétrica: EJEMPLO RSA

• Paso 7: desciframos • 54407128, 6663• Para descifrar aplicamos la formula:

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 29: Criptografia Asimetrica - RSA

29

Preguntas!

• Contacto a [email protected]

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 30: Criptografia Asimetrica - RSA

30

Referencias

• RSA Laboratories. (2002). PKCS #1 v2.1: RSA Cryptography Standard. Estados Unidos.

• Davis, Tom. (2003). RSA Encryption. Geometer. Estados Unidos.

• Wikipedia Criptografía Asimétrica - http://goo.gl/4fVFp • Wikipedia RSA - http://goo.gl/sAo6c - http://goo.gl/JqAYG • Wikipedia Firma Digital - http://goo.gl/AVVVq • Matematicas.net - http://goo.gl/4V4mU

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos

Page 31: Criptografia Asimetrica - RSA

31

Gracias

Jesse Padilla Agudelo Ingeniero Electrónico Especialista en Gestión de Redes de Datos