Encriptación Simétrica, Asimétrica e Híbrida Presentado por: por: Sang Guun Yoo, Yoo, Ph.D.
Objetivos de la Clase • Al fina finall de la la clas clase, e, ust usted ed podr podrá á res respon ponde der: r: – ¿Cuáles son los objetivos principales principales de la seguridad? 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 encriptación y cómo es el funcionamiento de cada uno de ellos? ell os?
Contenido de la Clase Objetivos de la Seguridad
Encriptación
Tipos de Encriptación
Encriptación Simétrica Objetivos de la Seguridad
Encriptación y conceptos básicos
Encriptación Asimétrica (de llave pública)
Encriptación Híbrida
Encriptación Híbrida (Sobre Digital)
Beneficios de la Encriptación • A travé través s de de la encrip encriptac tación ión puedo puedo gara garanti ntizar zar:: – Confidencialidad 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 q ue se conozcan los datos necesarios para su interpretación.
Clave Secreta
Docum. Secreto
Clave Secreta
Docum. Secreto
Bob
Alice
Atacante
La encriptación garantiza la confidencialidad de la información
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 q ue se conozcan los datos necesarios para su interpretación.
Clave Secreta
Clave Secreta
Docum. Secreto
Bob
Alice
Modificado
Atacante
La encriptación ayuda verificar la integridad del mensaje
Conceptos Básicos de Encriptación Clave Secreta
Docum. Secreto
Bob
Alice
Definiciones
Clave Secreta
Docum. Secreto
Texto en claro Docum. Secreto
Clave Secreta
Docum. Secreto
Texto cifrado (encriptado)
Encriptación
Llave
Docum. 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úb públi lica ca - 1 privada privada (secreta) (secreta)
Encriptación Simétrica Idea Principal: Una sola llave compartida
Encriptación Simétrica • Desc Descif ifre re la sigu siguie ient nte e fra frase se
CJFÑWFÑJEPT UPEPT
Encriptación Simétrica • Desc Descif ifre re la sigu siguie ient nte e fra frase se
CJFÑWFÑJEPT UPEPT BIENVENIDOS TODOS Secreto: Para decodificar, seleccionar la letra anterior del alfabeto
Encriptación Simétrica • Fue Fue el único único tipo tipo de de encr encripta iptació ción n hasta hasta fines fines de 1970 1970 (cuando se inventó la encriptación de llave pública) • Es más más rápi rápido do que que la la encr encrip ipta tació ción n asimét asimétric rica a • Se usa usa la la misma misma llave llave para para encri encripta ptarr y para para desenc desencrip riptar tar (la razón de su nombre) Llave Docum. Secreto
Docum. Secreto
Algoritmo de desencriptación
Algoritmo de Encriptación
Bob
Alice
Encriptación Simétrica • Una ejem ejempl plo o bási básico co de encri encripta ptació ción n simétrica: utilización de XOR Texto en claro:
01000001
Llave:
11001101
Texto cifrado (Texto (T exto XOR Llave)
10001100
Texto cifrado (Texto (T exto XOR Llave)
Letra “A” en ASCII
Letra “Œ” en ASCII
Llave: 1 1 0 0 1 1 0 1 Text exto o en claro:
Texto cifrado: 10001100
Bob
10001100
Alice
01000001
Encriptación Simétrica • Algo Algorit ritmo mos s de Enc Encrip riptac tació ión n Simét Simétric rica a más usados Algoritmo
Tamaño de la llave
Usado en
(Advance (Advanced d Encryption Encryption Standard)
128, 192, 256 bits
El más más usado usado en la actualidad (estándar para la mayoría de productos)
RC4
40 - 2048 2048 bit bits s
Usado en el protocolo WEP de la red red inalámbrica inalámbrica (WiFi)
112, 168 bits bits
Usado por Microsoft para encriptar contenido en OneNote y Outlook
1 - 448 448 bit bits s
Usado en dispositivos ligeros. No es muy usado en la actualidad
AES
Triple DES (Triple Data Encryption Standard)
Blowfish
Encriptación Simétrica • Dos tip tipo os de ata ataques ques:: – Criptoanálisis • Analiza Analiza la natural naturaleza eza del del algoritmo algoritmo para determ determinar inar la la llave o el mensaje
– Ataque de Fuerza Bruta (Brute (Brute Force attack) • Intenta Intenta repeti repetidam damente ente hasta hasta descifrar descifrar el el mensaje mensaje Tamaño de la Llave (en bits)
Número de combinación de llaves
Tiempo req Tiempo requerid uerido o (si 1 desencriptación por s)
Tiempo requerido (si 106 desencriptaciones 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 simp simple le eje ejerci rcicio cio de encr encrip iptac tació ión n/ desencriptación – AES Crypt: Una Una aplicación simple que permite encriptar archivos • https: https://w //www ww.ae .aescr scrypt ypt.co .com/ m/
Encriptación Simétrica • Existe isten n 3 requ requer erim imie ient ntos os – Un algoritmo seguro seguro de encriptación/desencr encriptación/desencriptación iptació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 seguro (p.ej.: AES)
Algoritmos seguro (p.ej.: AES)
Alice
Bob
Quit Quito o - Ecua Ecuado dor r
Seúl Seúl - Co Core rea a
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 •
Encri Encripta ptació ción n asimé asimétri trica ca elim elimina ina el el problem problema a de compar compartir tir la llave llave secreta de manera segura – Cada usuario crea su propia propia llave pública pública y privada – Comparte la llave pública pública (no es secreto) – Guarda la llave privada (sí es secreto)
•
Supon Supongam gamos os que que Bob quier quiere e enviar enviar inform informaci ación ón confi confiden dencia ciall a Alic Alice e
Pública Alice
Pública Alice
Pública Alice
Bob
Alice Pública Alice
Atacante
Privada Alice
Encriptación Asimétrica • Para ara env envío ío de men mensa saje jes s: – El transmisor usa la llave llave pública del receptor para encriptar – El receptor usa su llave llave privada para desencriptar
Docum. Secreto
Pública Alice
Algoritmo de Encriptación Asimétrica
Privada Alice
Docum. Secreto
Algoritmo de desencriptación
Bob
Alice Pública Alice
Atacante
Encriptación Asimétrica • Algori Algoritm tmos os de Encr Encript iptac ación ión Asimé Asimétri trica ca – RSA • Desarr Desarroll ollado ado por por Ron Rivest, Rivest, Adi Adi Shamir Shamir y Len Len Adleman en MIT en 1977 (publicado (publicado en 1978) • El más más utili utilizad zado o hasta hasta el el momento momento
– Elliptic Curve Cryptography (ECC) • Un algorit algoritmo mo que intenta intenta solucionar solucionar las las limitacion limitaciones es del RSA (lentitud (lentitud y tamaño de las llaves) • Su popul populari aridad dad está está en en crecim crecimien iento to
Encriptación Híbrida Idea Principal: Mezcla la encriptación simétrica y asimétrica
Encriptación Híbrida / Sobre Digital • Encr ncript iptació ación n sim simét étri rica ca – Ventaja: Es Es rápido – Desventaja: Es difícil compartir compartir de manera segura la llave llave secreta
• Encr Encrip ipta taci ción ón asimé asimétr tric ica a (de llav llave e públi pública ca)) – Ventaja: Resuelve Resuelve el problema de compartición de llaves, usando usando la llave pública – Desventaja: Es lenta
RSA AES
Encriptación Híbrida / Sobre Digital • Combin Combinaci ación ón de las las encr encript iptac acion iones es simét simétric rica a y asimé asimétri trica ca Docum. Secreto
Llave simétrica randómica
Encriptación
Desencriptación
Simétrica
Simétrica
Encriptación
Asimétrica
Llave simétrica randómica
Desencriptación
Asimétrica
Docum. Secreto
Llave simétrica randómica
Privada Alice
Bob
Pública Alice
Alice
Resumen 1. Objetivos de la Seguridad
Encriptación Seguridad 1 llave compartida entre los usuarios
Disponibilidad
2 llaves por usuario: - 1 públic pública a - 1 privada privada (secreta (secreta))
2. Tipos de Encriptación Simétrica (privada) Encriptación Asimétrica (de llave pública)
Híbrida (Sobre Digital)
Pensamiento para la Próxima Clase • ¿Es ¿Es todo todo per perfec fecto to con con la la solu solució ción n híbr híbrid ida? a? • Problem Problema: a: ¿Cómo ¿Cómo Bob puede puede estar estar seguro seguro que la llave pública que qu e recibió es de Alice y no del atacante? Soy Alice!!!
Pública Alice Pública Alice
Pública Alice
Privada Alice
Bob
Atacante
Ejercicio •
El padre padre dese desea a que que el test testam ament ento o pued pueda a ser leíd leído o cuando cuando los los tres tres hijos estén reunido.
•
Utilic Utilice e los conce concepto ptos s de cripto criptogra grafí fía a apren aprendid didos os para para logra lograrr esto esto
Hijo 1
Hijo 2
Testamento Encriptado
Hijo 3
Algoritmo RSA
Algoritmo RSA • El nombr nombre e se se deb debe e a sus sus inv inven entor tores es::
Algoritmo RSA • Publicado en:
Algoritmo RSA • Por Por prime primera ra vez, vez, los autores autores mencio mencionad nados, os, a través través de la la publicación mencionada dieron la siguiente idea PriKey Alice
PubKey Alice Mensaje
Mensaje Mensaje encriptado
Algoritmo de Encriptación Asimétrica
Algoritmo de desencriptación
PriKey Alice Mensaje
PubKey Alice Mensaje
Mensaje encriptado Algoritmo de Encriptación Asimétrica
Algoritmo de desencriptación
Algoritmo RSA
• Idea básica – La multiplicación de números inversos es siem pre igual a cero
– Ejemplo: • Mens ensaje aje = 7 • 7 x 328 = 2296 (El número número 7 está oculto) oculto) • 2296 x
=7
Algoritmo RSA • En RSA – Encriptación: me mod n = c – Decriptación: cd mod n = m • m = me mensaje • c = men mensa saje je cifra cifrado do • (me mod n)d mod n = m
– Llave pública = (e ( e, n ) – Llave privada = d
Algoritmo RSA • En RSA – Está basado en Prime Factorization (multiplicación de números primos) • 15 = 3 * 5 • 255 255 = 3 * 5 *17 *17 • Es difícil: difícil: #primo1 #primo1 * #primo2 #primo2 = 6,700,283 6,700,283 • Es fácil fácil multiplica multiplicarr 2 números números primos: primos: 1889 * 3547 = 6,700,283
Algoritmo RSA •
Un ejemplo de Llave Pública (4096 bits)
Algoritmo RSA • Un ejem ejempl plo o de Llave Llave Públ Públic ica a (4096 (4096 bits) bits)
#primo1 * #primo2 =
Algoritmo RSA • Encr Encriiptación: me mod n = c • Dec Decrip riptación: ón: cd mod n = m – m = mensaje – c = mensaje cifrado
• Ejem Ejempl plo o (Eje (Ejerc rcic icio io en cla clase se)) – 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 • Decript iptación: cd mod n = m – m = mensaje – c = mensaje cifrado cifrado
• Ejem Ejempl plo o (Eje (Ejerc rcic icio io en en clas clase) e) – – – –
m = 42 p = 61, q = 53, e =17 n = 3233, d=2753 Calcular c (encriptación) (encriptación) • c=4217 mod mod 3233 3233 = 2557 2557
– Calcular m en en base a c • m=25572753 mod mod 3233 3233 = 42 42
https://www.wolframalpha.com /
Algoritmo RSA Encriptación: me mod n = c Decriptación: c d mod n = m m = mensaje c = mensaje cifrado (me mod n)d mod n = m
Llave pública = (e (e, n) Llave privada = d
• Cómo calcular las Llaves e, n, d • Pasos: 1. Escog Escoger er 2 números números primos primos grande grandes s (p, (p, q) y calc calcula ularr n 2. Calcular (Función φ de Euler) 3. Esc scog oger er expon ponente entes seyd
Algoritmo RSA • Cómo calcular las Llaves e, n, d • Pasos: 1. Escoger Escoger 2 números números primos primos grandes grandes (p, (p, q) y calcular calcular n • n=p*q • Qué tan tan largo debe debe ser p y q? P.ej.: P.ej.: 2048 bits bits • Ejemplo: Ejemplo: (con números números pequeño pequeños s para para ilustraci ilustración) ón) – p = 5, q = 11 11 – n = 5 * 11 11 = 55
2. Calcu lcular lar (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 Escoger expone exponentes ntes e y d • Se escog escoge e un enter entero o positiv positivo o e que 1
• Eje 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 Escoger expone exponentes ntes e y d • d1 d3 d5
Encontrar d que satisfaga e * d mod (n) = 1
(n) = 40 e=7
d2
(n)=40
d4
1
d1/d3= 40/ 40/7 7 = 5 (sin de decimales)
d1
7
d2
1
d3
5
d4
35
d5
d1/d3= 7/5 = 1 (sin de decimales)
d6
d5*d3= 5*7 = 35
d7
d5*d4= 5*1 = 5
d6
d5*d3= 1*5=5
d7
d5*d4= 1*35=35
d8
d1-d6= 40–35= 5
d9
d2-d7= 40–5=35
d8
d1-d6= 7–5= 2
d9
d2-d7= 1–35=-34
2
Cuando es númer o negativo: -34 mod (n) = 6
5
35
Algoritmo RSA • Cómo calcular las Llaves e, n, d • Pasos: (p=5, q=11, n=55, (n)=40, e=7) 3. Escoger Escoger expone exponentes ntes 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/ 7/5 = 1 (sin de decimales)
d5
d1/d3= 5/ 5/2 = 2 (sin de decimales)
d6
d5*d3= 1*5=5
d7
d5*d4= 1*35=35
d6
d5*d3= 2*2=4
d7
d5*d4= 2*6=12
d8
d1-d6= 7–5= 2
d9
d2-d7= 1–35=-34
d8
d1-d6= 5–4= 1
d9
d2-d7= 35–12=23
2
Cuando es númer o negativo: -34 mod (n) = 6
Cuando es 1, Finalizado. d9 es d
d=23
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 privada (d) Encriptación: me mod n = c Decriptación: cd mod n = m • m = mensaj saje • c = men mensa saje je cifr cifrad ado o
– Ejemplo (Ejercicio (Ejercicio en clase) • m = 42 Encriptación con llave pública
Encriptación Encriptació n con llave privada
c=427 mod 55 = 48 m=4823 mod 55 = 42
c=4223 mod 55 = 3 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 AES and Blowfish: Symmetric key cryptography algori algorithm thms s simulat simulation ion based based performa performance nce analisys analisys”, ”, Interna Internatio tional nal Journal Journal of emerging emerging technol technology ogy and Innovat Innovative ive Researc Research, h, 2011 2011 – A. Naddem et al., “A performance Comparison Compar ison of Data Encryption Algorithms”, Conference on Information and communication technologies, 2005