criptografia asimetrica - rsa

Post on 20-Jan-2015

9.178 Views

Category:

Technology

7 Downloads

Preview:

Click to see full reader

DESCRIPTION

Unos pequeños apuntes sobre el algorito de cifrado RSA

TRANSCRIPT

Criptografía Asimétrica

Seguridad Informática

Jesse

Padilla Agudelo

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

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

4

Criptografía Simétrica

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

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

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

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.

8

Criptografía Asimétrica

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

9

Criptografía Asimétrica

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

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

Lectura

• Firma Digital• SSL (Secure Sockets Layer)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

29

Preguntas!

• Contacto a jpadillaa@gmail.com

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

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

31

Gracias

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

top related