Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Criptografia: Conceptos básicos e implementación con software libre

1,569 views

Published on

  • Be the first to comment

Criptografia: Conceptos básicos e implementación con software libre

  1. 1. Criptografía: conceptos básicos eimplementación con software libreJosé Luis Bolaños HerazoIngeniero de Sistemas de la Universidad de CartagenaPlinio Puello MarrugoDocente de Tiempo Completo de la Universidad de Cartagena
  2. 2. Comunicación Segura
  3. 3. Protección de Archivos
  4. 4. Criptografía• Criptografía es una herramienta poderosa• Es la base para muchos mecanismos de seguridad• Es confiable si se implementa adecuadamente• No implementar algoritmos por nuestra cuenta
  5. 5. Criptografía• Firma digital• Comunicación Anónima• Elección Anónima• Subasta Privada• Comprar
  6. 6. Criptografía
  7. 7. Ciencia de Varios Pasos3 pasos:• Definir la amenaza• Proponer una Construcción• Probar que la construcción bajo la amenaza, lleva consigo un problema difícil de resolver
  8. 8. HistoriaCifrado por sustitución• Cifrado Cesar
  9. 9. HistoriaCifrado por sustitución• Cifrado Cesar
  10. 10. Historia• Máquina de rotor• Máquina con múltiples rotores
  11. 11. Historia• Máquina con múltiples rotores
  12. 12. Cifrado Seguro• El cifrado no debe revelar ninguna información sobre el texto• Conociendo el algoritmo sea imposible descifrar el mensaje
  13. 13. Estándar de encriptación de datos• DES: # keys = 256 , Tamaño de bloques = 64 bits• AES (2001)
  14. 14. Cifrado Simétrico
  15. 15. Stream Cipher
  16. 16. Stream CipherCompuerta XOR 𝑐 𝐸 𝑚, 𝑘 𝑐= 𝑚⊕ 𝑘 𝑚 𝐷 𝑐, 𝑘 𝑚 𝐷(𝐸 𝑚, 𝑘 , 𝑘) 𝑚 𝐷(𝑚 ⊕ 𝑘, 𝑘) 𝑚 𝑚⊕ 𝑘⊕ 𝑘 𝑚 𝑚
  17. 17. Stream Cipher 𝑐1 𝑚1 ⊕ 𝑘 𝑐2 𝑚2 ⊕ 𝑘𝑐1 ⊕ 𝑐2 = 𝑚1 ⊕ 𝑘 ⊕ 𝑚2 ⊕ 𝑘 𝑐1 ⊕ 𝑐2 = 𝑚1 ⊕ 𝑚2
  18. 18. Stream Cipher• Proyecto Venona• MS-PPTP• Encriptación de discos (DVD,CD,BlueRay)
  19. 19. Block Cipher
  20. 20. Expansión de llaves
  21. 21. CBC con Random IVCBC : Cipher Block ChainingIV : Inicialization vector
  22. 22. CBC con nonce
  23. 23. Ctr-mode randomCtr-mode : Counter Mode
  24. 24. Nonce ctr-mode
  25. 25. Integridad• Proteger Archivos en el disco duro• Proteger publicidad en páginas webIntegridad de los Mensajes: MAC (MessageAuthentication Code)
  26. 26. Integridad
  27. 27. Integridad• CBC_MAC
  28. 28. Integridad• NMACNMAC : NEST MAC
  29. 29. Integridad• NMAC
  30. 30. Integridad• NMAC – Ataque de extensión en la cascada
  31. 31. Integridad• PMAC PMAC : Parallelizable MAC
  32. 32. Encriptado Autenticado
  33. 33. Encriptado Autenticado• Encriptar después MAC• Mac después Encriptar
  34. 34. Estándar MAC• GCM: CTR mode encryption después CW- MAC• CCM: CBC-MAC después CTR mode• EAX: CTR mode encryption después CMAC
  35. 35. Encriptación de Disco con XTSTrueCrypt, Bestcrypt,…
  36. 36. Intercambio de Llaves
  37. 37. Protocolo Diffie-Hellman
  38. 38. Ataque Man-in-Middle en el protocolo Deffie-Hellman
  39. 39. Llave Pública
  40. 40. Llave Pública
  41. 41. RSAGeneración de claves• Cada usuario elige dos números primos distintos 𝑝 𝑦 𝑞 .• Por motivos de seguridad, estos números deben escogerse de forma aleatoria y deben tener una longitud en bits parecida. Se pueden hallar primos fácilmente mediante test de primalidad.• Se calcula 𝑛 = 𝑝𝑞.• Se usa como el módulo para ambas claves, pública y privada.• Se calcula , donde es la función 𝜑(𝑛) = (𝑝 − 1) (𝑞 − 1) .• Se escoge un entero positivo menor que 𝜑(𝑛), que sea coprimo con 𝜑(𝑛). – 𝑒 Se da a conocer como el exponente de la clave pública. – Si se escoge un 𝑒 con una suma encadenada corta, el cifrado será más efectivo.• Se determina un 𝑑 (mediante aritmética modular) que satisfaga la congruencia 𝑑 = 𝑒 −1 𝑚𝑜𝑑 𝜑(𝑛)., es decir, que sea el multiplicador modular inverso de 𝑒 𝑚𝑜𝑑 𝜑(𝑛). Ecuación ∶ 𝑛 = 𝑝. 𝑞
  42. 42. Herramientas de Software Libre PyCrypto TrueCrypt

×