rm ática
ad Info
Segurid
rafí a
i pto g
Cr
Jesse
elo
Padilla Agud
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.
2
2 Métodos para encriptar mensajes:
• CRIPTOGRAFIA DE CLAVE SIMÉTRICA
• CRIPTOGRAFIA DE CLAVE ASIMÉTRICA
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.
• 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.
4
Criptografía Simétrica
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
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:
– Llave pública que cualquiera puede solicitar y conocer, y
– Llave 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.
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).
7
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
Criptografía Asimétrica
• 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.
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
Criptografía Asimétrica
9
Criptografía Asimétrica
10
Criptografía Asimétrica
• Algoritmos para Criptografía Asimétrica
• RSA
• DSA
• El Gamal
• Criptografía de curva elíptica
• Entre otros.
11
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
Lectura
• Firma Digital
• SSL (Secure Sockets Layer)
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.
13
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
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.
14
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
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.
15
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
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.
16
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
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.
17
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
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.
18
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
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.
19
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
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.
20
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
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.
21
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
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:
22
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
Criptografía Asimétrica: RSA
def egcd(a,b):
u, u1 = 1, 0
v, v1 = 0, 1 Implementación en
while b:
q = a // b Python del Algoritmo de
u, u1 = u1, u - q * u1 Euclides Extendido y el
v, v1 = v1, v - q * v1
a, b = b, a - q * b
Calculo de la Llave Privada
return u, v, a
def modInverse(e,n):
return egcd(e,n)[0]%n
d = modInverse(e,fi_n) 23
print 'La Clave privada es: ', d
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
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. 24
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
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.
25
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
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
26
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
Criptografía Asimétrica: EJEMPLO RSA
• Paso 4: Seleccionar e como primo relativo de
• e = 5009
• Paso 5: Calculard, 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
27
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
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
28
• = 6663
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
Criptografía Asimétrica: EJEMPLO RSA
• Paso 7: desciframos
• 54407128, 6663
• Para descifraraplicamos la formula:
29
Jesse Padilla Agudelo
Ingeniero Electrónico
Especialista en Gestión de Redes de
Preguntas!
• Contacto a [email protected]
30
Jesse Padilla Agudelo
Ingeniero Electrónico Especialista en
Gestión de Redes de Datos
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
31
Jesse Padilla Agudelo Ingeniero Electrónico
Especialista en Gestión de Redes de Datos
Gracias
32
Jesse Padilla Agudelo Ingeniero
Electrónico Especialista en
Gestión de Redes de Datos