Criptografía de clave privada: Cifrado de Vernam o “one-time pad” Mensaje: DEAD 1101 1110 1010...
-
Upload
eugenio-barrientos -
Category
Documents
-
view
227 -
download
0
Transcript of Criptografía de clave privada: Cifrado de Vernam o “one-time pad” Mensaje: DEAD 1101 1110 1010...
![Page 1: Criptografía de clave privada: Cifrado de Vernam o “one-time pad” Mensaje: DEAD 1101 1110 1010 1101 Clave: BEEF 1011 1110 1110 1111 Cifrado: 0110 0000.](https://reader036.fdocuments.es/reader036/viewer/2022082614/5665b4581a28abb57c90b772/html5/thumbnails/1.jpg)
Criptografía de clave privada: Cifrado de Vernam o “one-time pad”
Mensaje: DEAD 1101 1110 1010 1101
Clave: BEEF 1011 1110 1110 1111
Cifrado: 0110 0000 0100 0010 = 6042
=
Clave: BEEF 1011 1110 1110 1111
Mensaje: 1101 1110 1010 1101 = DEAD
Cifrado: 6042 0110 0000 0100 0010
=
Ejemplo:
Alicia
Bob
6042
Canal
público
Tiempo
![Page 2: Criptografía de clave privada: Cifrado de Vernam o “one-time pad” Mensaje: DEAD 1101 1110 1010 1101 Clave: BEEF 1011 1110 1110 1111 Cifrado: 0110 0000.](https://reader036.fdocuments.es/reader036/viewer/2022082614/5665b4581a28abb57c90b772/html5/thumbnails/2.jpg)
Problemas
• El emisor y el receptor necesitan obtener de manera segura copias de la clave y mantenerlas seguras.
• Es seguro sólo si la clave es tan larga como el mensaje que hay que cifrar.
• La clave no puede volver a usarse.
No es práctico para uso general.
![Page 3: Criptografía de clave privada: Cifrado de Vernam o “one-time pad” Mensaje: DEAD 1101 1110 1010 1101 Clave: BEEF 1011 1110 1110 1111 Cifrado: 0110 0000.](https://reader036.fdocuments.es/reader036/viewer/2022082614/5665b4581a28abb57c90b772/html5/thumbnails/3.jpg)
“One-time pad” soviético capturado por el MI5
Ejemplo
![Page 4: Criptografía de clave privada: Cifrado de Vernam o “one-time pad” Mensaje: DEAD 1101 1110 1010 1101 Clave: BEEF 1011 1110 1110 1111 Cifrado: 0110 0000.](https://reader036.fdocuments.es/reader036/viewer/2022082614/5665b4581a28abb57c90b772/html5/thumbnails/4.jpg)
• Encriptación:– M = mensaje– KU = clave pública del emisor– Cifrado: C = E(M, KU)
• Desencriptación:– C = cifrado– KR = clave (secreta) privada del receptor– Mensaje original: M = D(C, KR)
Criptografía de clave pública
![Page 5: Criptografía de clave privada: Cifrado de Vernam o “one-time pad” Mensaje: DEAD 1101 1110 1010 1101 Clave: BEEF 1011 1110 1110 1111 Cifrado: 0110 0000.](https://reader036.fdocuments.es/reader036/viewer/2022082614/5665b4581a28abb57c90b772/html5/thumbnails/5.jpg)
El algoritmo de Rivest, Shamir y Adleman
![Page 6: Criptografía de clave privada: Cifrado de Vernam o “one-time pad” Mensaje: DEAD 1101 1110 1010 1101 Clave: BEEF 1011 1110 1110 1111 Cifrado: 0110 0000.](https://reader036.fdocuments.es/reader036/viewer/2022082614/5665b4581a28abb57c90b772/html5/thumbnails/6.jpg)
• Seleciona dos números primos p y q• Calcula n = p q• Calcula (n) = (p-1)(q-1)• Seleciona e tal que 1 < e < (n) y mcd((n), e) = 1• Calcula d tal que d e mod (n) = 1• La clave pública es {e, n}• La clave privada es {d, n}
El algoritmo RSA
![Page 7: Criptografía de clave privada: Cifrado de Vernam o “one-time pad” Mensaje: DEAD 1101 1110 1010 1101 Clave: BEEF 1011 1110 1110 1111 Cifrado: 0110 0000.](https://reader036.fdocuments.es/reader036/viewer/2022082614/5665b4581a28abb57c90b772/html5/thumbnails/7.jpg)
• Mensaje: M
• Cifrado: C = Me mod n
• Mensaje: M = Cd mod n
El algoritmo RSA
![Page 8: Criptografía de clave privada: Cifrado de Vernam o “one-time pad” Mensaje: DEAD 1101 1110 1010 1101 Clave: BEEF 1011 1110 1110 1111 Cifrado: 0110 0000.](https://reader036.fdocuments.es/reader036/viewer/2022082614/5665b4581a28abb57c90b772/html5/thumbnails/8.jpg)
• Selecciona dos números primos p =7 y q =17• Calcula n = p q = 119• Calcula (n) = (p-1)(q-1) = 96• Selecciona e tal que 1 < e < (n) y mcd((n), e) = 1,
e.g., e = 5• Calcula d tal que d e mod (n) = 1, d = 77• La clave pública es {e, n} = {5, 119}• La clave privada es {d, n} = {77, 119}
El algoritmo RSA (ejemplo)
![Page 9: Criptografía de clave privada: Cifrado de Vernam o “one-time pad” Mensaje: DEAD 1101 1110 1010 1101 Clave: BEEF 1011 1110 1110 1111 Cifrado: 0110 0000.](https://reader036.fdocuments.es/reader036/viewer/2022082614/5665b4581a28abb57c90b772/html5/thumbnails/9.jpg)
• Mensaje: M = 19
• Cifrado: C = Me mod n = 195 mod 119 = 66
• Mensaje: M = Cd mod n = 6677 mod 119 = 19
El algoritmo RSA (ejemplo)
![Page 10: Criptografía de clave privada: Cifrado de Vernam o “one-time pad” Mensaje: DEAD 1101 1110 1010 1101 Clave: BEEF 1011 1110 1110 1111 Cifrado: 0110 0000.](https://reader036.fdocuments.es/reader036/viewer/2022082614/5665b4581a28abb57c90b772/html5/thumbnails/10.jpg)
• Factoriza n, que es público, y así obtienes p y q• Calcula (n) = (p-1)(q-1)• Calcula d tal que d e mod (n) = 1 (e es público)• La clave privada es KR = {d, n}
Para romper RSA
![Page 11: Criptografía de clave privada: Cifrado de Vernam o “one-time pad” Mensaje: DEAD 1101 1110 1010 1101 Clave: BEEF 1011 1110 1110 1111 Cifrado: 0110 0000.](https://reader036.fdocuments.es/reader036/viewer/2022082614/5665b4581a28abb57c90b772/html5/thumbnails/11.jpg)
• Factoriza 119, que es público, y así obtienes 7 y 17 • Calcula (119) = (7-1)(17-1) = 96• Calcula d tal que d 5 mod = 1 (5 es público), d = 77• La clave privada es KR = {77, 119}
Rompiendo RSA (ejemplo)
![Page 12: Criptografía de clave privada: Cifrado de Vernam o “one-time pad” Mensaje: DEAD 1101 1110 1010 1101 Clave: BEEF 1011 1110 1110 1111 Cifrado: 0110 0000.](https://reader036.fdocuments.es/reader036/viewer/2022082614/5665b4581a28abb57c90b772/html5/thumbnails/12.jpg)
• 1976 – Propuesta por Diffie y Hellman.
– Se basa en la dificultad de calcular logaritmos discretos (resolver ax = b mod n para x).
• 1977 – Algoritmo RSA desarrollado por Rivest, Shamir y Adleman.
– Se basa en la dificultad de factorizar números grandes.
– RSA129 (129 dígitos) publicado como desafío.
• 1994 – RSA129 roto con 1600 ordenadores en red.
• 1999 – RSA140 roto con 185 ordenadores en red en 8,9 años-CPU.
• 1999 – RSA155 (clave de 512 bits) roto con 300 ordenadores en red.
• 2002 – RSA recomiendan claves de 1024 bits.
Historia (pública) de la criptografía de clave pública