Diese Präsentation wurde erfolgreich gemeldet.
Wir verwenden Ihre LinkedIn Profilangaben und Informationen zu Ihren Aktivitäten, um Anzeigen zu personalisieren und Ihnen relevantere Inhalte anzuzeigen. Sie können Ihre Anzeigeneinstellungen jederzeit ändern.

Capítulo 6: Criptografía de clave pública

448 Aufrufe

Veröffentlicht am

Material del curso de criptografía impartido a alumnos de la carrera de ITC del ITESM Campus Morelia en el 2010.

Veröffentlicht in: Technologie
  • Als Erste(r) kommentieren

  • Gehören Sie zu den Ersten, denen das gefällt!

Capítulo 6: Criptografía de clave pública

  1. 1. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal CRIPTOGRAFIA DE CLAVE PUBLICA Juan Manuel Garc´ıa Garc´ıa 30 de septiembre de 2010 Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  2. 2. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Clave p´ublica Conceptos b´asicos Criptosistemas de clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Generaci´on de claves Cifrado y descifrado Ejemplo Criptosistema de ElGamal Generaci´on de claves Cifrado Descifrado Ejemplo Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  3. 3. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Conceptos b´asicos Criptosistemas de clave p´ublica Conceptos b´asicos Clave de cifrado y descifrado son distintas. La clave de cifrado es denominada clave p´ublica. La clave de descifrado es la clave privada. Resuelve el problema de la distribuci´on de claves. Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  4. 4. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Conceptos b´asicos Criptosistemas de clave p´ublica Criptosistemas de clave p´ublica Algunos criptosistemas de clave p´ublica son: Protocolo de intercambio de claves de Diffie-Hellman Criptosistemas RSA Criptosistema ElGamal Criptosistemas basados en curvas el´ıpticas Criptosistema Paillier Criptosistema Cramer-Shoup Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  5. 5. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Protocolo de Diffie-Hellman Propuesto por Diffie y Hellman fue el inicio de la criptograf´ıa de clave p´ublica. Se trata de un protocolo para la distribuci´on de claves secretas a trav´es de un canal inseguro. Como par´ametros del sistema se eligen un n´umero primo p y un entero g, ra´ız primitiva m´odulo p, comunes a todos los usuarios. Como clave privada, cada usuario elige un elemento s ∈ Zp−1. Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  6. 6. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Cuando dos usuarios A y B, con claves privadas sA y sB, quieren establecer una clave secreta com´un, el protocolo es el siguiente: 1. A calcula kA = gsA (m´od p), 2. B calcula kB = gsB (m´od p), 3. A y B se intercambian kA y kB a trav´es del canal inseguro, 4. A calcula k = ksA B = gsB sA (m´od p), 5. B calcula k = ksB A = gsAsA (m´od p), La clave secreta se obtiene a partir de k. Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  7. 7. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Generaci´on de claves Cifrado y descifrado Ejemplo Generaci´on de claves RSA Sean p y q dos primos diferentes elegidos aleatoriamente y sea n = pq. La funci´on de Euler de n est´a dada por φ(n) = (p − 1)(q − 1). Se elige un n´umero 1 < e < φ(n) tal que gcd(e, φ(n)) = 1, y obteniendo d como d = e−1 (m´od φ(n)). Entonces, d es el exponente privado y e es el exponente p´ublico. Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  8. 8. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Generaci´on de claves Cifrado y descifrado Ejemplo Cifrado y descifrado La funci´on de cifrado de un mensaje M, donde 0 ≤ M < n, es E(M) = Me (m´od n) La funci´on de descifrado de un texto cifrado C es D(C) = Cd (m´od n) Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  9. 9. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Generaci´on de claves Cifrado y descifrado Ejemplo Ejemplo: Generaci´on de claves Sean p = 23 y q = 67, entonces n = 23 · 67 = 1541 y φ(n) = 22 · 66 = 1452. El exponente p´ublico e es elegido de forma tal que 1 < e < φ(n) y gcd(e, φ(n)) = gcd(e, 1452) = 1 . Por ejemplo, e = 7 satisface estas condiciones. Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  10. 10. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Generaci´on de claves Cifrado y descifrado Ejemplo Ejemplo: Generaci´on de claves Entonces, el exponente privado d es calculado como d = e−1 (m´od φ(n)) = 7−1 (m´od 1452) = 415 utilizando el algoritmo extendido de Euclides. Entonces la clave p´ublica es el par (e, n) = (7, 1541) y la clave privada es d = 415. Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  11. 11. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Generaci´on de claves Cifrado y descifrado Ejemplo Ejemplo: Cifrado y descifrado Supongamos que el mensaje en plano es M = 25. El mensaje cifrado es C = 257 m´od 1541 = 1416 . Del mensaje cifrado C = 1416 obtenemos el mensaje descifrado M = 1416415 m´od 1541 = 25. Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  12. 12. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Generaci´on de claves Cifrado y descifrado Ejemplo Ejercicios 1. Sean p = 1009 y q = 3001, entonces n = 3028009. Generar un par de claves RSA. 2. Con la clave p´ublica cifrar el mensaje M = 1942. 3. Romper el mensaje C = 769763 si fue cifrado mediante RSA con la clave p´ublica (e, n) = (263, 2772221), utilizando el m´etodo ρ de Pollard. Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  13. 13. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Generaci´on de claves Cifrado Descifrado Ejemplo Generaci´on de clave Cada entidad A debe hacer lo siguiente: 1. Generar un primo grande p y un generador g del grupo multiplicativo Z∗ p de los enteros m´odulo p. 2. Seleccionar un entero aleatorio a, 1 ≤ a ≤ p − 2, y calcular ga m´od p. 3. La clave p´ublica de A es (p, g, ga); la clave privada es a. Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  14. 14. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Generaci´on de claves Cifrado Descifrado Ejemplo Cifrado B cifra un mensaje dirigido a A. B hace lo siguiente: 1. Obtener la clave p´ublica (p, g, ga) aut´entica de A. 2. Representar el mensaje como un entero m en el rango {0, 1, . . . , p − 1}. 3. Seleccionar un entero aleatorio k, 1 ≤ k ≤ p − 2. 4. Calcular γ = gk m´od p y δ = m · (ga)k m´od p. 5. Enviar el mensaje cifrado c = (γ, δ) a A. Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  15. 15. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Generaci´on de claves Cifrado Descifrado Ejemplo Descifrado Para recuperar el mensaje en texto plano m de c, A hace lo siguiente: 1. Usar la clave privada a para calcular γp−1−am´od (Nota: γp−1−a = γ−a = g−ak). 2. Recuperar m = (γ−a) · δ m´od p. Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  16. 16. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Generaci´on de claves Cifrado Descifrado Ejemplo Ejemplo: Generaci´on de claves 1. La entidad A selecciona el primo p = 2357 y un generador g = 2 de Z∗ 2357. 2. A elige la clave privada a = 1751 y calcula ga m´od p = 21751 m´od 2357 = 1185. 3. La clave p´ublica de A es (p = 2357, g = 2, ga = 1185). Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  17. 17. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Generaci´on de claves Cifrado Descifrado Ejemplo Ejemplo: Cifrado Para cifrar un mensaje m = 2035, B selecciona un entero aleatorio k = 1520 y calcula γ = 21520 m´od 2357 = 1430 y δ = 2035 · 11851520 m´od 2357 = 697. B env´ıa γ = 1430 y δ = 697 a A. Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  18. 18. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Generaci´on de claves Cifrado Descifrado Ejemplo Ejemplo: Descifrado Para descifrar, A calcula γp−1−a = 1430605 m´od 2357 = 872, y recupera m calculando m = 872 · 697 m´od 2357 = 2035. Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA
  19. 19. Outline Clave p´ublica Protocolo de Diffie-Hellman Criptosistema RSA Criptosistema de ElGamal Generaci´on de claves Cifrado Descifrado Ejemplo Ejercicios 1. Si la clave p´ublica de El Gamal de un usuario es (p, g, ga) = (2011, 3, 1415), cifrar el mensaje m = 333. 2. Si el mensaje cifrado c = (243, 1352) lo fue con la clave p´ublica previa, romper el cifrado utilizando b´usqueda exhaustiva de logaritmo discreto. Juan Manuel Garc´ıa Garc´ıa CRIPTOGRAFIA DE CLAVE PUBLICA

×