Encriptación Simétrica,
Asimétrica e Híbrida
Presentado por: Sang Guun Yoo, Ph.D.
Objetivos de la Clase
• Al final de la clase, usted podrá responder:
– ¿Cuáles son los objetivos principales de la seguridad?
– ¿Qué es la encriptación y cómo ésta puede asegurar
algunos de los objetivos de la seguridad?
– ¿Cuáles son los diferentes tipos de encriptación y cómo
es el funcionamiento de cada uno de ellos?
Contenido de la Clase
Objetivos de la Tipos de Encriptación
Encriptación Híbrida
Seguridad Encriptación
Encriptación
Simétrica
Encriptación
Encriptación Híbrida
Objetivos de
y conceptos (Sobre
la Seguridad Encriptación
básicos Digital)
Asimétrica (de
llave pública)
Beneficios de la Encriptación
• A través de la encriptación puedo garantizar:
– Confidencialidad
– Integridad (en parte)
Seguridad
Disponibilidad
Conceptos Básicos de Encriptación
• Encriptación es el proceso mediante el cual cierta información es cifrada
(transformada) de forma que el resultado sea ilegible a menos que se
conozcan los datos necesarios para su interpretación.
Clave Clave
Secreta Docum. Docum.
Secreto Secreto Secreta
Bob Alice
La encriptación
garantiza la
confidencialidad de
la información
Atacante
Conceptos Básicos de Encriptación
• Encriptación es el proceso mediante el cual cierta información es cifrada
(transformada) de forma que el resultado sea ilegible a menos que se
conozcan los datos necesarios para su interpretación.
Clave Docum.
Clave
Secreta Secreto Secreta
Bob Alice
Modifi-
La encriptación
cado ayuda verificar la
integridad del
mensaje
Atacante
Conceptos Básicos de Encriptación
Clave Docum. Docum. Clave
Secreta Secreto Secreto Secreta
Bob Alice
Definiciones
Docum. Clave
Secreto Secreta
Texto en Texto cifrado Llave
claro (encriptado)
Docum. Docum.
Secreto Encriptación Secreto Desencriptación
Tipos de Encriptación
1 llave compartida
entre los usuarios
Simétrica
(privada)
Encriptación
Asimétrica
(de llave pública)
2 llaves por usuario:
- 1 pública
- 1 privada (secreta)
Encriptación Simétrica
Idea Principal:
Una sola llave compartida
Encriptación Simétrica
• Descifre la siguiente frase
CJFÑWFÑJEPT UPEPT
Encriptación Simétrica
• Descifre la siguiente frase
CJFÑWFÑJEPT UPEPT
BIENVENIDOS TODOS
Secreto: Para decodificar, seleccionar la
letra anterior del alfabeto
Encriptación Simétrica
• Fue el único tipo de encriptación hasta fines de 1970
(cuando se inventó la encriptación de llave pública)
• Es más rápido que la encriptación asimétrica
• Se usa la misma llave para encriptar y para desencriptar
(la razón de su nombre)
Llave
Docum. Docum.
Secreto Secreto
Algoritmo de
Algoritmo de
desen-
Encriptación
criptación
Bob Alice
Encriptación Simétrica
• Una ejemplo básico de encriptación
simétrica: utilización de XOR
Texto 10001100
Texto en 01 0 0 0 0 0 1 Letra “A” en
cifrado
claro: ASCII
(Texto XOR
Llave: 11001101 Llave)
Texto 10001100 Letra “Œ” en Llave: 11001101
cifrado ASCII
(Texto XOR Texto en 01000001
Llave) claro:
Texto cifrado:
10001100
Bob Alice
Encriptación Simétrica
• Algoritmos de Encriptación Simétrica más
usados
Algoritmo Tamaño de la llave Usado en
AES El más usado en la
(Advanced Encryption 128, 192, 256 bits actualidad (estándar para la
Standard) mayoría de productos)
Usado en el protocolo WEP
RC4 40 - 2048 bits de la red inalámbrica (WiFi)
Triple DES Usado por Microsoft para
(Triple Data Encryption 112, 168 bits encriptar contenido en
Standard) OneNote y Outlook
Usado en dispositivos
Blowfish 1 - 448 bits ligeros. No es muy usado
en la actualidad
Encriptación Simétrica
• Dos tipos de ataques:
– Criptoanálisis
• Analiza la naturaleza del algoritmo para determinar la llave o
el mensaje
– Ataque de Fuerza Bruta (Brute Force attack)
• Intenta repetidamente hasta descifrar el mensaje
Tamaño de la Número de Tiempo requerido Tiempo requerido (si
Llave combinación de llaves (si 1 desencriptación por 106 desencriptaciones
(en bits) s) por s)
32 232 232 s = 71.5 min 1.54 horas
56 256 256 s = 2316.6 años 50.04 horas
128 2128 2128 s=1.09 x 1025 años 1.09 x 1019 años
168 2168 2168 s=1.2 x 71037 años 1.2 x 1031 años
Encriptación Simétrica
• Un simple ejercicio de encriptación /
desencriptación
– AES Crypt: Una aplicación simple que permite
encriptar archivos
• https://www.aescrypt.com/
Encriptación Simétrica
• Existen 3 requerimientos
– Un algoritmo seguro de encriptación/desencriptación
– Una llave segura (difícil de adivinar)
– El transmisor y el receptor deben compartir la llave de
manera segura ¿Cómo asegurar esto?
Llave Llave
Algoritmos Algoritmos
seguro seguro
(p.ej.: AES) (p.ej.: AES)
Bob Alice
Seúl - Corea Quito - Ecuador
Atacante
Encriptación Asimétrica
(Encriptación de Llave Pública)
Idea Principal:
Usa 2 llaves: 1 pública y 1 privada
Encriptación Asimétrica
• Encriptación asimétrica elimina el problema de compartir la llave
secreta de manera segura
– Cada usuario crea su propia llave pública y privada
– Comparte la llave pública (no es secreto)
– Guarda la llave privada (sí es secreto)
• Supongamos que Bob quiere enviar información confidencial a Alice
PúblicaAlice
PúblicaAlice
PúblicaAlice
Bob Alice
PrivadaAlice
PúblicaAlice
Atacante
Encriptación Asimétrica
• Para envío de mensajes:
– El transmisor usa la llave pública del receptor para encriptar
– El receptor usa su llave privada para desencriptar
Docum. Docum.
PúblicaAlice
Secreto PrivadaAlice Secreto
Algoritmo de Algoritmo de
Encriptación des-
Asimétrica encriptación
Bob Alice
PúblicaAlice
Atacante
Encriptación Asimétrica
• Algoritmos de Encriptación Asimétrica
– RSA
• Desarrollado por Ron Rivest, Adi Shamir y Len
Adleman en MIT en 1977 (publicado en 1978)
• El más utilizado hasta el momento
– Elliptic Curve Cryptography (ECC)
• Un algoritmo que intenta solucionar las limitaciones
del RSA (lentitud y tamaño de las llaves)
• Su popularidad está en crecimiento
Encriptación Híbrida
Idea Principal:
Mezcla la encriptación simétrica y
asimétrica
Encriptación Híbrida / Sobre Digital
• Encriptación simétrica
– Ventaja: Es rápido
– Desventaja: Es difícil compartir de manera segura la llave secreta
• Encriptación asimétrica (de llave pública)
– Ventaja: Resuelve el problema de compartición de llaves, usando
la llave pública
– Desventaja: Es lenta
RSA
AES
Encriptación Híbrida / Sobre Digital
• Combinación de las encriptaciones simétrica y asimétrica
Docum. Encriptación Desencriptación Docum.
Secreto Simétrica Simétrica Secreto
Llave
simétrica Llave
Llave
randómica Encriptación Desencriptación simétrica
simétrica
Asimétrica randómica
Asimétrica randómica
PrivadaAlice
Bob
PúblicaAlice Alice
Resumen
1. Objetivos de la Seguridad
Encriptación
Seguridad
1 llave 2 llaves por usuario:
compartida entre - 1 pública
Disponibilidad los usuarios - 1 privada (secreta)
2. Tipos de Encriptación
Simétrica
(privada)
Encriptación Híbrida
Asimétrica (Sobre Digital)
(de llave pública)
Pensamiento para la Próxima Clase
• ¿Es todo perfecto con la solución híbrida?
• Problema: ¿Cómo Bob puede estar seguro que
la llave pública que recibió es de Alice y no del
atacante?
Soy Alice!!!
PúblicaAlice
PúblicaAlice
PúblicaAlice
PrivadaAlice
Bob Atacante
Ejercicio
• El padre desea que el testamento pueda ser leído cuando los tres
hijos estén reunido.
• Utilice los conceptos de criptografía aprendidos para lograr esto
Hijo 1 Hijo 2 Hijo 3
Testamento
Encriptado
Algoritmo RSA
Algoritmo RSA
• El nombre se debe a sus inventores:
Algoritmo RSA
• Publicado en:
Algoritmo RSA
• Por primera vez, los autores mencionados, a través de la
publicación mencionada dieron la siguiente idea
PubKeyAlice PriKeyAlice
Mensaje Mensaje
Mensaje encriptado
Algoritmo de Algoritmo de
Encriptación des-
Asimétrica encriptación
PriKeyAlice PubKeyAlice
Mensaje Mensaje
Mensaje encriptado
Algoritmo de Algoritmo de
Encriptación des-
Asimétrica encriptación
Algoritmo RSA
• Idea básica
– La multiplicación de números inversos es siem
pre igual a cero
– Ejemplo:
• Mensaje = 7
• 7 x 328 = 2296 (El número 7 está oculto)
• 2296 x =7
Algoritmo RSA
• En RSA
– Encriptación: me mod n = c
– Decriptación: cd mod n = m
• m = mensaje
• c = mensaje cifrado
• (me mod n)d mod n = m
– Llave pública = (e, n)
– Llave privada = d
Algoritmo RSA
• En RSA
– Está basado en Prime Factorization
(multiplicación de números primos)
• 15 = 3 * 5
• 255 = 3 * 5 *17
• Es difícil: #primo1 * #primo2 = 6,700,283
• Es fácil multiplicar 2 números primos: 1889
* 3547 = 6,700,283
Algoritmo RSA
• Un ejemplo de Llave Pública (4096 bits)
Algoritmo RSA
• Un ejemplo de Llave Pública (4096 bits)
#primo1 * #primo2 =
Algoritmo RSA
• Encriptación: me mod n = c
• Decriptación: cd mod n = m
– m = mensaje
– c = mensaje cifrado
• Ejemplo (Ejercicio en clase)
– m = 42
– p = 61, q = 53, e =17
– n = 3233, d=2753
– Calcular c (encriptación)
– Calcular m en base a c (decriptación)
Algoritmo RSA
• Encriptación: me mod n = c
• Decriptación: cd mod n = m
– m = mensaje
– c = mensaje cifrado
• Ejemplo (Ejercicio en clase)
– m = 42 https://www.wolframalpha.com
– p = 61, q = 53, e =17 /
– n = 3233, d=2753
– Calcular c (encriptación)
• c=4217 mod 3233 = 2557
– Calcular m en base a c
• m=25572753 mod 3233 = 42
Algoritmo RSA
Encriptación: me mod n = c
Decriptación: cd mod n = m
m = mensaje
c = mensaje cifrado
(me mod n)d mod n = m
Llave pública = (e, n)
Llave privada = d
• Cómo calcular las Llaves e, n, d
• Pasos:
1. Escoger 2 números primos grandes (p, q) y calcular
n
2. Calcular (Función φ de Euler)
3. Escoger exponentes e y d
Algoritmo RSA
• Cómo calcular las Llaves e, n, d
• Pasos:
1. Escoger 2 números primos grandes (p, q) y calcular n
• n=p*q
• Qué tan largo debe ser p y q? P.ej.: 2048 bits
• Ejemplo: (con números pequeños para ilustración)
– p = 5, q = 11
– n = 5 * 11 = 55
2. Calcular (Función φ de Euler)
• (n)=(p-1)(q-1)
• Ejemplo:
– (n) = (p-1)(q-1) = (5-1) (11-1) = 40
Algoritmo RSA
• Cómo calcular las Llaves e, n, d
• Pasos: (p=5, q=11, n=55, (n)=40)
3. Escoger exponentes e y d
• Se escoge un entero positivo e que
1<e<(n)
• e y (n) deben ser coprimos
– (n) no puede ser divisible por e
• Ejemplo:
–e = 7
Algoritmo RSA
• Cómo calcular las Llaves e, n, d
• Pasos: (p=5, q=11, n=55, (n)=40, e=7)
3. Escoger exponentes e y d
• Encontrar d que satisfaga e * d mod (n) = 1
d1 (n) = 40 d2 (n)=40 d1 7 d2 1
d3 e=7 d4 1 d3 5 d4 35
d5 d1/d3= 40/7 = 5 (sin decimales) d5 d1/d3= 7/5 = 1 (sin decimales)
d6 d5*d3= d7 d5*d4= d6 d5*d3= d7 d5*d4=
5*7 = 35 5*1 = 5 1*5=5 1*35=35
d8 d1-d6= d9 d2-d7= d8 d1-d6= d9 d2-d7=
40–35= 5 40–5=35 7–5= 2 1–35=-34
5 35 2 Cuando es númer
o negativo:
-34 mod (n) = 6
Algoritmo RSA
• Cómo calcular las Llaves e, n, d
• Pasos: (p=5, q=11, n=55, (n)=40, e=7)
3. Escoger exponentes e y d
• Encontrar d que satisfaga e * d mod (n) = 1
d1 7 d2 1 d1 5 d2 35
d3 5 d4 35 d3 2 d4 6
d5 d1/d3= 7/5 = 1 (sin decimales) d5 d1/d3= 5/2 = 2 (sin decimales)
d6 d5*d3= d7 d5*d4= d6 d5*d3= d7 d5*d4=
1*5=5 1*35=35 2*2=4 2*6=12
d8 d1-d6= d9 d2-d7= d8 d1-d6= d9 d2-d7=
7–5= 2 1–35=-34 5–4= 1 35–12=23
2 Cuando es númer Cuando es 1, d=23
o negativo: Finalizado.
-34 mod (n) = 6 d9 es d
Algoritmo RSA
• Cómo calcular las Llaves e, n, d
• Pasos: (p=5, q=11, n=55, (n)=40, e=7, d=23)
– Llave pública (e, n)
– Llave privada (d)
– Encriptación: me mod n = c
– Decriptación: cd mod n = m
• m = mensaje
• c = mensaje cifrado
– Ejemplo (Ejercicio en clase)
• m = 42
Encriptación con llave pública Encriptación con llave privada
c=427 mod 55 = 48 c=4223 mod 55 = 3
m=4823 mod 55 = 42 m=37 mod 55 = 42
Material Bibliográfico
• Libros
– W. Stallings, L. Brown, “Computer Security Principles and Practice”,
2nd Edition
– Network Security: Private Communication in a Public Work, 2nd
Edition
– W. Stallings, “Cryptography and Network Security Principles and
Practice”, 6th Edition
• Artículos
– J. Thakur et al., “DES, AES and Blowfish: Symmetric key cryptography
algorithms simulation based performance analisys”, International
Journal of emerging technology and Innovative Research, 2011
– A. Naddem et al., “A performance Comparison of Data Encryption
Algorithms”, Conference on Information and communication
technologies, 2005