Top Banner
CORPORACIÓN UNIVERSITARIA COMFACAUCA UNICOMFACAUCA EDUARDO SÁNCHEZ SANDOVAL DANIELA ANDREA FERNÁNDEZ CATACOLI SEGURIDAD INFORMÁTICA TÉCNICO PROFESIONAL EN SOPORTE DE INFRAESTRUCTURA DE TECNOLOGÍAS DE LA INFORMACIÓN
22

Rsa

Feb 19, 2017

Download

Technology

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Rsa

CORPORACIÓN UNIVERSITARIA COMFACAUCA UNICOMFACAUCA

EDUARDO SÁNCHEZ SANDOVALDANIELA ANDREA FERNÁNDEZ CATACOLI

SEGURIDAD INFORMÁTICA

TÉCNICO PROFESIONAL EN SOPORTE DE INFRAESTRUCTURA DE TECNOLOGÍAS DE LA INFORMACIÓN

Page 2: Rsa

CONTENIDO

Criptografía Criptografía Simétrica Criptografía Asimétrica RSA Características de RSA Cifrado RSA Ejemplos Cifrado y Descifrado RSA

Page 3: Rsa

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.

Page 4: Rsa

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.

Page 5: Rsa

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.

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).

Page 6: Rsa

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 7: Rsa

RSAEl algoritmo de clave pública RSA fue creado en 1978 por Rivest, Shamir y Adlman, y es el sistema criptográfico asimétrico más conocido y usado. Estos señores se basaron en el artículo de Diffie-Hellman sobre sistemas de llave pública, crearon su algoritmo y fundaron la empresa RSA Data Security Inc., que es actualmente una de las más prestigiosas en el entorno de la protección de datos.

Es el primer y más utilizado algoritmo de este tipo y es válido tanto para cifrar como para firmar digitalmente.

El sistema RSA se basa en el hecho matemático de la dificultad de factorizar números muy grandes. Para factorizar un número el sistema más lógico consiste en empezar a dividir sucesivamente éste entre 2, entre 3, entre 4,..., y así sucesivamente, buscando que el resultado de la división sea exacto, es decir, de resto 0, con lo que ya tendremos un divisor del número.

Page 8: Rsa

La seguridad de este algoritmo radica en el problema de la factorización de números enteros. Los mensajes enviados se representan mediante números, y el funcionamiento se basa en el producto, conocido, de dos números primos grandes elegidos al azar y mantenidos en secreto. Actualmente estos primos son del orden de 10200, y se prevé que su tamaño crezca con el aumento de la capacidad de cálculo de los ordenadores.

Como en todo sistema de clave pública, cada usuario posee dos claves de cifrado: una pública y otra privada. Cuando se quiere enviar un mensaje, el emisor busca la clave pública del receptor, cifra su mensaje con esa clave, y una vez que el mensaje cifrado llega al receptor, este se ocupa de descifrarlo usando su clave privada.

Se cree que RSA será seguro mientras no se conozcan formas rápidas de descomponer un número grande en producto de primos. La computación cuántica podría proveer de una solución a este problema de factorización.

Page 9: 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. 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.

CARACTERÍSTICAS DE RSA

Page 10: Rsa

Basado en la exponenciación modular de exponente y módulo fijos, el sistema RSA crea sus claves de la siguiente forma: Se buscan dos números primos lo suficientemente grandes: p y q (de entre 100 y 300

dígitos). Se obtienen los números n = p * q y Ø = (p-1) * (q-1). Se busca un número e tal que no tenga múltiplos comunes con Ø. Se calcula d = e-1 mod Ø, con mod = resto de la división de números enteros. 

Y ya con estos números obtenidos, n es la clave pública y d es la clave privada. Los números p, q y Ø se destruyen. También se hace público el número e, necesario para alimentar el algoritmo.

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.

Page 11: Rsa

Inicialmente es necesario generar aleatoriamente dos números primos grandes, a los que llamaremos p y q.

A continuación calcularemos n como producto de p y q: n = p * q Se calcula fi: fi(n)=(p-1)(q-1) Se calcula un número natural e de manera que MCD(e, fi(n))=1 , es decir e debe ser primo

relativo de fi(n).Es lo mismo que buscar un numero impar por el que dividir fi(n) que de cero como resto.

Mediante el algoritmo extendido de Euclides se calcula d: e.d mod fi(n)=1 Puede calcularse d=((Y*fi(n))+1)/e para Y=1,2,3,… hasta encontrar un d entero.

El par de números (e,n) son la clave pública. El par de números (d,n) son la clave privada. Cifrado: La función de cifrado es C = M^e mod n Descifrado: La función de descifrado es M = C^d mod n

CIFRADO RSA

Page 12: Rsa

EJEMPLO CIFRADO Y DESCIFRADO RSA (Con números pequeños)

Escogemos dos números primos, por ejemplo p=3 y q=11. n = 3 * 11 = 33 fi(n) = (3-1) * (11-1) = 20 Buscamos e: 20/1=0, 20/3=6.67. e=3 Calculamos d como el inverso multiplicativo módulo z de e, por ejemplo,

sustituyendo Y por 1,2,3,… hasta que se obtenga un valor entero en la expresión: d = ((Y * fi(n)) + 1) / e = ( Y * 20 + 1) / 3 = 21 / 3 = 7

e=3 y n=33 son la clave pública d=7 y n=33 son la clave privada Cifrado: Mensaje = 5, C = M^e mod n = 5^3 mod 33 = 26 Descifrado: M = C^d mod n = 26^7 mod 33 = 8031810176 mod 33 = 5

Page 13: Rsa

EJEMPLO CIFRADO 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.

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

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

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.

Page 14: Rsa

Se determina un (mediante aritmética modular) que satisfaga la congruencia Esto suele calcularse mediante el algoritmo de Euclides extendido. será nuestra clave privada.

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.

Page 15: Rsa

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

estará dado por la combinación lineal:

Page 16: Rsa

EJEMPLO CIFRADO Y DESCIFRADO 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

Page 17: 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

Page 18: 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 = 6663

Page 19: Rsa

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

Page 20: Rsa

El cálculo de estas claves se realiza en secreto en la máquina en la que se va a guardar la clave privada, y una vez generada ésta conviene protegerla mediante un algoritmo criptográfico simétrico.

En cuanto a las longitudes de claves, el sistema RSA permite longitudes variables, siendo aconsejable actualmente el uso de claves de no menos de 1024 bits (se han roto claves de hasta 512 bits, aunque se necesitaron más de 5 meses y casi 300 ordenadores trabajando juntos para hacerlo).

Page 21: Rsa

RSA basa su seguridad es ser una función computacionalmente segura, ya que si bien realizar la exponenciación modular es fácil, su operación inversa, la extracción de raíces de módulo Ø no es factible a menos que se conozca la factorización de e, clave privada del sistema.

RSA es el más conocido y usado de los sistemas de clave pública, y también el más rápido de ellos. Presenta todas las ventajas de los sistemas asimétricos, incluyendo la firma digital, aunque resulta más útil a la hora de implementar la confidencialidad el uso de sistemas simétricos, por ser más rápidos. Se suele usar también en los sistemas mixtos para encriptar y enviar la clave simétrica que se usará posteriormente en la comunicación cifrada.

Page 22: Rsa

Gracias!