1.04k likes | 1.41k Views
Criptografía. Kρύπτω (kryptos) – Oculto Escritura secreta No se oculta el mensaje Cifrar Transcribir en guarismos, letras o símbolos, de acuerdo con una clave, un mensaje cuyo contenido se quiere ocultar. Amenazas a un mensaje. Mensaje. Mensaje. Alice. Bob. Mensaje.
E N D
Criptografía • Kρύπτω (kryptos)– Oculto • Escritura secreta • No se oculta el mensaje • Cifrar • Transcribir en guarismos, letras o símbolos, de acuerdo con una clave, un mensaje cuyo contenido se quiere ocultar.
Amenazas a un mensaje
Mensaje Mensaje Alice Bob
Mensaje Mensaje escuchado sin autorización (eavesdropping) Alice Bob Eve
Mensaje interceptado Mensaje Mallory Alice Bob
Mensaje modificado Mensaje Mensaje Mallory Alice Bob
Mensaje fabricado Alice Bob Mensaje “Alice”
Idea básica Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Encryption Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Plaintext Ciphertext Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Dencryption Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Ciphertext Plaintext
Idea básica m c Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Cifrado Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Mensaje original Criptograma c = E(k,m) c m Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Descifrado Esta es la clase De Seguridad Informática en El Tecnológico De Monterrey Criptograma Mensaje orignal m = D(k,c)
Ecuación de consistencia(cifradores simétricos) m E(k,m) m=D(k,E(k,m)) D(k,E(k,m)) m
Principios básicos de seguridad • Confidencialidad • Privacidad, mensajes secretos • Integridad • Mensaje no cambia en tránsito • Disponibilidad • Autenticación • Validar la identidad del emisor • No repudio • No se puede negar haber enviado el mensaje • No se puede negar haber recibido el mensaje
Cesar (ROT 3) n = 3 50 AC
ROT 13 n = 13
Análisis de frecuencias Inglés Español Problema con cifradores de sustitución monoalfabéticos
Análisis de frecuencia • Le costo la cabeza a la reina Mary de Escocia
Cifradores polialfabéticos • Leon Alberti 1460s • Propuso múltiples alfabetos para cifrar y alternar el uso de allos para cifrar un mensaje • Blaise de Vigenère 1586 • Implemento el cifrador que lleva su nombre
Ejemplo ABCDEFGHIJKLMNOPQRSTUVWXYZ Alfabeto original DEFGHIJKLMNOPQRSTUVWXYZABC Alfabeto cifrado 1 NOPQRSTUVWXYZABCDEFGHIJKLM Alfabeto cifrado 2 JAVAXJALA Mensaje en claro: MDYDAMDOD Mensaje cifrado con alfabeto cifrado 1: Mensaje cifrado con alfabeto cifrado 1: MNYNAWDYD Mensaje cifrado con 2 alfabetos:
“One-time Pad” • El cifrador perfecto • La llave es una secuencia aleatoria de caracteres (bits) • Llave y mensaje tienen la misma longitud • Para combatir el análisis de frecuencia • Dos problemas • Absoluta sincronización entre emisor y receptor • Número de llaves ilimitado (distribución)
Cifrado simétrico y asimétrico Llave Privada Llave Pública
Cifrado simétrico y asimétrico Llave Privada Llave Pública
Cifrados de sustitución • Cada letra se cambia por otra letra o símbolo • A → C, B → D, ......... • Cesarci = E(pi) = pi + 3 • General • ci = E(pi,n) = pi + n mod 26
Cifrados de sustitución • Cada letra se cambia por otra letra o símbolo • A → C, B → D, ......... • Cesarci = E(pi) = pi + 3 • General • ci = E(pi,n) = pi + n mod 26
Cifrado Monoalfabético • Cada letra del texto en claro se convierte en la misma letra en el texto cifrado • Usando 3 como llave • ABCDEFGHIJKLMNOPQRSTUVWWXYZ • defghijklmnopqrstuvwwxyzabc • Usando “palabra” como llave • ABCDEFGHIJKLMNOPQRSTUVWWXYZ • palbrcdefghijkmnoqstuvwwxyz
Cifrado Polialfabético • Cada letra del texto en claro no es reemplazada por la misma letra en el texto cifrado • Cifrado de Vigenère: • C = P + K mod 26 • Usando “secreto” como llave • Texto en claro ESTEMENSAJEESFACIL • Llave secretosecretosecr • Texto cifrado wwvvqxbkelviltsgkc
Cifrados de tranposición • Los símbolos del mensaje no cambian, sino que son reacomodados • SEGURIDAD → GSARDIDEU • PERMUTACIONES • Transposición por columnas ESTEM ENSAJ EESMA SDIFI CILDE DESCI FRARA EEESC DFSNE DIERT SSILS AEAMF DCRMJ AIEIA
Cifrados secuenciales y de bloques Stream Cipher Block Cipher
Algoritmo seguro • Basado en conceptos matemáticos sólidos • Ha sido analizado por gente competente • Ha resistido el paso del tiempo • Principios básicos: • Confusión • Difusión
Principios • Confusión • Relación no evidente (compleja) entre mensaje claro/ llave y mensaje cifrado • ¿Qué pasa con el texto cifrado si cambio un carácter del texto en claro?. No se puede predecir el cambio • Evitar patrones claros • Difusión • Dispersar la información del texto claro en todo el mensaje cifrado • El interceptador requiere acceso a mucha información para tratar de descifrar el mensaje original
Cifrados secuenciales y de bloques • Secuenciales • (+) Buena velocidad de transformación • (+) Bajo propagación de error • (-) Baja difusión • (-) Suceptible a inserciones malignas • Bloques • (+) Alta difusión • (+) Inmunidad a inserciones malignas • (-) Lentitud en el cifrado • (-) Alta propagación de errores
Algoritmos criptográficos • La mayoría usa aritmética binaria • Más fácil
DES (Data Encryption Standard) • 1973: NBS (ahora NIST) llama a concurso para un cifrador comercial • Concebido para uso público (comercial) • NSA directamente involucrada • “Debilidades intencionales” (?) • Llave pequeña (56 bits) y bloques de 64 bits • IBM concursa con Lucifer • Algoritmo de Horst Feistel desarrollado a principios de los 70s en IBM • Cifrador de bloque y llave privada (simétrica) • Originalmente de las llave de 128 bits y bloques de 128 bits • Emigrado alemán, 1934 • 1976: NBS adopta el cifrador de IBM como estándar • 1997: Es atacado con éxito (fuerza bruta) • 2000: NIST cambia a AES
DES • Cifrador de bloques • Opera en bloques de datos de 64 bits • Llave de 64 bits • Realmente es de 56 bits • Los 8 bits restantes se usan como paridad • 16 rondas de sustituciones y permutaciones determinadas por cajas S (S-Boxes) I cajas P (P-Boxes) • El mismo algoritmo para descifrar
Estructura general de DES • IP: Initial Permutation • FP: Final Permutation • IP y FP son inversas • Opera sobre bloques de 64 bits • F: Función Feistel
Función Feistel Una para cada una de las rondas. Se sacan del “key schedule” Expansión y Permutación 48 bits Cajas S (S box) “Substitution” 6 bits entrada 4 bits salida 32 bits
S1 Entrada: 101100 Renglón: 1yyyy0 Columna: x0110x Salida: 0010 (2)
Generación de las “subkeys” • PC1 (Permutation Choice 1) • 64 bits a 56 bits • Permutación • 2 mitades de 28 bits • Rotadas independientemente • 1 ó 2 posiciones • PC2 (Permutation Choice 2) • 56 bits de entrada • 48 bits de salida
Generación de las “subkeys” • PC1 (Permutation Choice 1) • 64 bits a 56 bits • Permutación • 2 mitades de 28 bits • Rotadas independientemente • 1 ó 2 posiciones • PC2 (Permutation Choice 2) • 56 bits de entrada • 48 bits de salida
64 bits 56 bits 28 bits 28 bits 1 ó 2 posiciones 1 ó 2 posiciones 28 bits 28 bits 48 bits 56 bits 1 ó 2 posiciones 1 ó 2 posiciones 48 bits 56 bits 1 ó 2 posiciones 1 ó 2 posiciones 48 bits 56 bits