Criptografia: Conceptos básicos e implementación con software libre
-
Upload
pliniopuello -
Category
Documents
-
view
874 -
download
5
Transcript of Criptografia: Conceptos básicos e implementación con software libre
Criptografía: conceptos básicos e implementación con software libre
José Luis Bolaños Herazo Ingeniero de Sistemas de la Universidad de Cartagena Plinio Puello Marrugo Docente de Tiempo Completo de la Universidad de Cartagena
Comunicación Segura
Protección de Archivos
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
Criptografía
• Firma digital
• Comunicación Anónima
• Elección Anónima
• Subasta Privada
• Comprar
Criptografía
Ciencia de Varios Pasos
3 pasos:
• Definir la amenaza
• Proponer una Construcción
• Probar que la construcción bajo la amenaza, lleva consigo un problema difícil de resolver
Historia
Cifrado por sustitución • Cifrado Cesar
Historia
Cifrado por sustitución • Cifrado Cesar
Historia
• Máquina de rotor
• Máquina con múltiples rotores
Historia
• Máquina con múltiples rotores
Cifrado Seguro
• El cifrado no debe revelar ninguna información sobre el texto
• Conociendo el algoritmo sea imposible descifrar el mensaje
Estándar de encriptación de datos
• DES: # keys = 256 , Tamaño de bloques = 64 bits
• AES (2001)
Cifrado Simétrico
Stream Cipher
Stream Cipher Compuerta XOR
𝑐 𝐸 𝑚, 𝑘
𝑐 = 𝑚⊕ 𝑘
𝑚 𝐷 𝑐, 𝑘
𝑚 𝐷(𝐸 𝑚, 𝑘 , 𝑘)
𝑚 𝐷(𝑚⊕ 𝑘, 𝑘)
𝑚 𝑚⊕ 𝑘⊕ 𝑘
𝑚 𝑚
Stream Cipher
𝑐1 𝑚1⊕𝑘
𝑐2 𝑚2⊕𝑘
𝑐1⊕ 𝑐2 = 𝑚1⊕𝑘⊕𝑚2⊕𝑘
𝑐1⊕ 𝑐2 = 𝑚1⊕𝑚2
Stream Cipher
• Proyecto Venona
• MS-PPTP
• Encriptación de discos (DVD,CD,BlueRay)
Block Cipher
Expansión de llaves
CBC con Random IV
CBC : Cipher Block Chaining IV : Inicialization vector
CBC con nonce
Ctr-mode random
Ctr-mode : Counter Mode
Nonce ctr-mode
Integridad
• Proteger Archivos en el disco duro
• Proteger publicidad en páginas web
Integridad de los Mensajes: MAC (Message Authentication Code)
Integridad
Integridad
• CBC_MAC
Integridad
• NMAC
NMAC : NEST MAC
Integridad
• NMAC
Integridad
• NMAC – Ataque de extensión en la cascada
Integridad
• PMAC
PMAC : Parallelizable MAC
Encriptado Autenticado
Encriptado Autenticado
• Encriptar después MAC
• Mac después Encriptar
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
Encriptación de Disco con XTS
TrueCrypt, Bestcrypt,…
Intercambio de Llaves
Protocolo Diffie-Hellman
Ataq
ue M
an-in
-Mid
dle
en el p
roto
colo
Deffie-H
ellman
Llave Pública
Llave Pública
RSA
Generació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 ∶ 𝑛 = 𝑝. 𝑞
Herramientas de Software Libre
PyCrypto
TrueCrypt