Contenido Sistemas criptogrficos Generalidades Definiciones Evolucin Relleno de trfico Encripcin bsica Encripcin Simtrica DES y Triple DES IDEA AES Otros Encripcin Asimtrica COAST Definiciones Criptologa ( del griego criptos = oculto y logos = tratado): nombre genrico con el que se designan dos disciplinas opuestas y a la vez complementarias: criptografa y criptoanlisis. Criptografa: Se ocupa del diseo de procedimientos para cifrar, es decir, para enmascarar una determinada informacin de carcter confidencial. Escritura secreta Criptoanlisis: Se ocupa de romper esos procedimientos de cifrado para as recuperar la informacin original Definiciones Criptografa Cifrado: Transformacin de los datos a nivel de bits o caracteres Codificacin: Reemplazo de una palabra por otra o por smbolos. Ej. Lenguaje Navajo Criptologa Elementos Algortmo de encripcin (C) Algortmo de Desencripcin (D) Clave (k) Formulacin C = E k (P) P = D k (C) D k ( E k (P) ) = P Evolucin Algoritmo secreto, no existencia de clave Algoritmo secreto, clave secreta Algoritmo conocido, clave secreta Algoritmo conocido, parte de la clave conocida Relleno de trfico Los mensajes encriptados deben tener informacin adicional para despistar (relleno de trfico- Traffic Padding) y tiempo de validez Algoritmo de encripcin Generador continuo de datos aleatorios Llave Entrada discontinua de texto plano Salida continua de texto cifrado Tcnicas de encripcin/desencripcin Criptografa Convencional Criptografa de clave secreta Criptografa de llaves pblicas http://www.williamstallings.com/Crypt-Tut/Crypto%20Tutorial%20-%20JERIC.html Criptografa convencional/tradicional Tcnicas Sustitucin: Establecer una correspondencia entre las letras del alfabeto en el que est escrito el mensaje original y los elementos de otro conjunto (del mismo alfabeto o de otro) El criptoanlisis busca letras o silabas mas usadas para romper la encripcin Transposicin: Colocar los smbolos del mensaje original en un orden distinto Criptografa convencional/tradicional Sustitucin Cifrado del Cesar Es tambin conocido como cifrado por desplazamiento, es una de las tcnicas de codificacin ms simples y ms usadas. Es un tipo de cifrado por sustitucin en el que una letra en el texto original es reemplazada por otra letra que se encuentra tres posiciones ms adelante en el alfabeto.
Por ejemplo, la A sera sustituida por la D (situada 3 lugares a la derecha de la A ),
Criptografa convencional/tradicional Sustitucin Cifrado del Cesar si habia algn asunto que deseaba mantener en secreto, utilizaba un cdigo de forma que resultara imposible captar el sentido de cuanto escribia. Para quienes deseen sabe ms, dire que sustituia la primera letra del alfabeto, , por la cuarta letra, , y as sucesivamente con todas las dems La regla (algortmo) era sustituir las letras del mensaje por 3 letras adelante del mismo alfabeto Cada letra se reemplaza por otra a b c d e z d e f g h c Texto plano: cade Texto Encriptado: fdgh Criptografa convencional/tradicional Sustitucin Cifrado Monoalfabtico A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Criptografa convencional/tradicional Sustitucin Cifrado Masn A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Ej: Errar es de humanos pero mas humano es echarle la culpa al otro Criptografa convencional/tradicional Sustitucin
El criptosistema de Vignere El sistema de cifrado de Vigenre (en honor al criptgrafo francs del mismo nombre) es un sistema polialfabtico o de sustitucin mltiple. Este tipo de criptosistemas aparecieron para sustituir a los monoalfabticos o de sustitucin simple, basados en el Caesar, que presentaban ciertas debilidades frente al ataque de los criptoanalistas relativas a la frecuencia de aparicin de elementos del alfabeto. El principal elemento de este sistema es la llamada Tabla de Vigenre, una matriz de caracteres cuadrada Criptografa convencional/tradicional Tabla 20.1: Tableau Vignere a b c d e f g h i j k l m n o p q r s t u v w x y z A a b c d e f g h i j k l m n o p q r s t u v w x y z B b c d e f g h i j k l m n o p q r s t u v w x y z a C c d e f g h i j k l m n o p q r s t u v w x y z a b D d e f g h i j k l m n o p q r s t u v w x y z a b c E e f g h i j k l m n o p q r s t u v w x y z a b c d F f g h i j k l m n o p q r s t u v w x y z a b c d e G g h i j k l m n o p q r s t u v w x y z a b c d e f H h i j k l m n o p q r s t u v w x y z a b c d e f g I i j k l m n o p q r s t u v w x y z a b c d e f g h J j k l m n o p q r s t u v w x y z a b c d e f g h i K k l m n o p q r s t u v w x y z a b c d e f g h i j L l m n o p q r s t u v w x y z a b c d e f g h i j k M m n o p q r s t u v w x y z a b c d e f g h i j k l N n o p q r s t u v w x y z a b c d e f g h i j k l m O o p q r s t u v w x y z a b c d e f g h i j k l m n P p q r s t u v w x y z a b c d e f g h i j k l m n o Q q r s t u v w x y z a b c d e f g h i j k l m n o p R r s t u v w x y z a b c d e f g h i j k l m n o p q S s t u v w x y z a b c d e f g h i j k l m n o p q r T t u v w x y z a b c d e f g h i j k l m n o p q r s U u v w x y z a b c d e f g h i j k l m n o p q r s t V v w x y z a b c d e f g h i j k l m n o p q r s t u W w x y z a b c d e f g h i j k l m n o p q r s t u v X x y z a b c d e f g h i j k l m n o p q r s t u v w Y y z a b c d e f g h i j k l m n o p q r s t u v w x Z z a b c d e f g h i j k l m n o p q r s t u v w x y
Criptografa convencional/tradicional La clave del sistema de cifrado de Vigenre es una palabra de letras, , del alfabeto utilizado anteriormente; esta palabra es un elemento del producto cartesiano ( veces), que es justamente el alfabeto del criptosistema de Vigenre. De esta forma, el mensaje a cifrar en texto claro ha de descomponerse en bloques de elementos - letras - y aplicar sucesivamente la clave empleada a cada uno de estos bloques, utilizando la tabla anteriormente proporcionada.
Veamos un ejemplo de aplicacin del criptosistema de Vigenre: queremos codificar la frase La abrumadora soledad del programador utilizando la clave prueba. En primer lugar, nos fijamos en la longitud de la clave: es de seis caracteres, por lo que descomponemos la frase en bloques de longitud seis; aunque el ltimo bloque es de longitud tres, esto no afecta para nada al proceso de cifrado: laabru madora soleda ddelpr ograma dor Criptografa convencional/tradicional Ahora, aplicamos a cada bloque la clave prueba y buscamos los resultados como entradas de la tabla de Vigenre: laabru madora soleda ddelpr ograma dor prueba prueba prueba prueba prueba pru arufsu brxhsa igfiea suyoqr exmena sgm
Por ejemplo, la primera `a' del texto cifrado corresponde a la entrada , o, equivalentemente, de la tabla de Vigenre. Finalmente, vemos que el texto cifrado ha quedado
arufsu brxhsa igfiea suyoqr exmena sgm.
Criptografa convencional/tradicional Este mtodo de cifrado polialfabtico se consideraba invulnerable hasta que en el S.XIX se consiguieron descifrar algunos mensajes codificados con este sistema, mediante el estudio de la repeticin de bloques de letras: la distancia entre un bloque y su repeticin suele ser mltiplo de la palabra tomada como clave.
Una mejora sobre el cifrado de Vigenre fu introducida por el sistema de Vernam, utilizando una clave aleatoria de longitud igual a la del mensaje; la confianza en este nuevo criptosistema hizo que se utilizase en las comunciaciones confidenciales entre la Casa Blanca y el Kremlin, hasta, por lo menos, el ao 1987. Criptografa convencional/tradicional Sustitucin Cifrado de Vigenre
Clave: abretesesamoabretes mensaje: estamosdescubiertos cifrado: ETKEFSKHWSOIBJVWMSK K/T a b c d e I m o r s t u a A B C D E I M O R S T U b B C D E F J N P S T U V e E F G H I M Q S V W X Y m M N O P Q U Y A D E F G o O P Q R S W A C F G H I r R S T W V Z D F I J K L s S T U V W A E G J K L M t T U V W X B F H K L M N Criptografa convencional/tradicional Transposicin La scitala espartana una vara de la que se preparaban dos ejemplares idnticos y alrededor de la cual se envolvia una tira de pergamino o de papiro. El mensaje se escriba a lo largo del bastn, se retiraba la cinta y se enviaba al destinatario, que tena en su poder la segunda copia del bastn. Al colocar la cinta, apareca el mensaje
Tomado de : Vida de los hombres ilustres de Grecia y Roma - Plutarco Criptografa convencional/tradicional Transposicin La scitala espartana
M E N S A J I T O S Criptografa convencional/tradicional Transposicin Permutacin de texto, cambiar la posicin de las letras en una frase
S E G U R O 5 1 2 6 4 3 S E G U R I D A D _ D E R E D E S A Texto plano: SEGURIDAD DE REDES Texto Encriptado: EAEGDDIEARDSSDRU_ E Criptografa convencional/tradicional Transposicin Ejemplo Clave: encriptado Texto plano: Permutar el texto a partir de la clave secreta Texto cifrado: ????????? Texto Encriptado: R D E A R T R_R A E B P L P L E U X I L T E A A C E _ _ S C T T R A A M E T C E A O _ V _ E N C R I P T A D O 4 6 2 9 5 8 10 1 3 7 P E R M U T A R - E L - T E X T O - A _ P A R T I R - D E - L A - C L A V E - S E C R E T A - A B C Criptografa convencional/tradicional Transposicin Ejemplo Clave: encriptado Texto cifrado: I I E R A P A V O O S R O D E E E T I S E S S X S M I M N T A X O I O A O D S O C S P P B Texto plano: ????????? Criptografa convencional/tradicional Transposicin Ejemplo Clave: encriptado Texto cifrado: I I E R A P A V O O S R O D E E E T I S E S S X S M I M N T A X O I O A O D S O C S P P B Texto plano: ????????? Texto Encriptado: EXPOSICIONES DE SISTEMAS OPERATIVOS PROXIMO SABADO E N C R I P T A D O 4 6 2 9 5 8 10 1 3 7 E X P O S I C I O N E S - D E - S I S T E M A S - O P E R A T I V O S - P R O X I M O - S A B A D O Criptografa convencional/tradicional Estenografa - Esteganografa Embeber dentro de un texto, imagen o sonido otro tipo de informacin Del griego stegos, escritura oculta o escritura encubierta Puede ser: Algunos de los datos del texto, imagen o sonido son el verdadero mensaje Algunos de los bits del texto, imagen o sonido son el verdadero mensaje
Criptografa convencional/tradicional Estenografa - Esteganografa Ejemplo en texto Presin de curas en pitalito logro un debate al importante manifiesto propuesto. ATN reporto esto. Criptografa convencional /tradicional Estenografa - Esteganografa Criptografa de llaves secretas Se basa en: Encriptar informacin usando: Algoritmo de Encripcin/desencripcin Clave/llave secreta Desencriptar un texto encriptado usando: Algoritmo de Encripcin/Desencripcin Clave/llave secreta usada durante la encripcin El origen y el destino deben ponerse de acuerdo en la clave/llave secreta Criptografa de llaves secretas Texto Algoritmo de Encripcin/ Desencrpcin Texto Cifrado Algoritmo de Encripcin/ Desencrpcin Texto Clave Origen Destino Criptografa de llaves secretas Algoritmos DES Triple DES IDEA Blowfish SAFER AES Diffie-Hellman
Algoritmo DES (Data Encryption Standar) Simtrico Fue el estndar de encripcin oficial del gobierno americano para informacin no confidencial Desarrollado por IBM El algoritmo toma bloques de 64 bits y los permuta 16 veces de diferentes maneras (de la misma manera en ambos extremos). Su mayor debilidad es su clave de tan solo 56 bits Restringido a USA 1976 - 1997 Algoritmo DES (Data Encryption Standard) L i = D i-1
D i = L i-1 f(D i-1 , K i ) K i = 48 de los 56 bits de la clave C l a v e
d e
5 6
b i t s
Texto Original 64 bits Permutacin inicial L i D i
L i D i
Texto Cifrado Permutacin final Algoritmo DES (Data Encryption Standard)
16 7 20 21 29 12 28 17 1 15 23 26 5 18 31 10 2 8 24 14 32 27 3 9 19 13 30 6 22 11 4 25 L i - 1 R i - 1
L i R i
E generation Substitucin Permutacin 48 bits de la clave Algoritmo DES La clave L i - 1 R i - 1
L i R i
E generation Substitucin Permutacin 48 bits de la clave Algoritmo Tripe DES Cifrar Cifrar Descifrar M C K1 K2 K1 Descifrar Descifrar Cifrar M C K1 K2 K1 Algoritmo IDEA Algoritmo de encripcin convencional orientado a bloques
Desarrollado en el Instituro Federal Suizo de Tecnologa por Xuejia Lai y James Massey
Bloques de 64bits
Llave de 128 bits
Algoritmo IDEA Algoritmo IDEA- Transposicin Algoritmo SAFER Robert Massey (uno de los creadores de IDEA). Claves de 128 bits Maneja bloques de 64 bits divididos en segmentos de 8 bits 6 a 8 iteraciones Operaciones XOR ( ) AND ( ) y= 45 x mod 257 (45) y= log 15 x (log) Las subclaves se generan a partir de rotaciones de los bits de la clave y XOR con una funcin basada en la iteracin actual. Algoritmo SAFER Algoritmo AES (Advanced Encryption Standard) Nuevo estndar de encripcin oficial del gobierno americano para informacin no confidencial Convocatoria (1997) Algoritmo simtrico por bloques Algoritmo Pblico Claves de 128, 192 y 256 bits Implementacin por Sw y por Hw Escogencia en el 2000 y puesta en funcionamiento 2001. AEA (Advanced Encryption Algorithm) Autor : Rijndael (Joan Daemen y Vincent Rijmen) Algoritmo AES (Advanced Encryption Standard) Claves variables (128, 192, 256 bits ) 40% mas rpido que triple DES Con claves de 128 bits=3 x 10 38 claves,requiere una mquina con 1 billn de procesadores en paralelo, cada uno con capacidad de evaluar 10 12 claves por segundo y tardara 10 10 aos en analizar todas las posibilidades Escrito en lenguaje C Entre 10 y 14 iteraciones (claves y bloques de 128 bits o claves de 256 bits y bloques de 128 bits El algoritmo toma bloques de 128 bits y partes de la clave de 128 bits y los opera Maneja S-box (del estilo de DES, pero solo una) Algoritmo AES (Advanced Encryption Standard) Algoritmo Se tienen matrices de 4x4 caracteres (de datos y de clave) Sustitucin: haciendo usos de s-box
Rotacin a la izquierda
Mezclar los bits usando multiplicacin de matrices
XOR con la clave Algoritmo AES (Advanced Encryption Standard) http://home.ecn.ab.ca/~jsavard/crypto/co040401.htm Criptografa de llaves simtricas La seguridad de la encripcin tradicional depende de : Privacidad y secreto de la clave No importa el conocimiento del algoritmo sino de la clave Problema: distribucin de la clave Algoritmo Diffie Hellman Autores Whitfield Diffie y Martin Hellman 1976 Para intercambio de llaves simtricas Se basa en la dificultad de factorizar nmeros grandes Primeros pasos en los mecanismos de llaves asimtricas Request for Comments: 2631
Algoritmo Diffie Hellman http://www.htmlweb.net/seguridad/cripto/cripto_9.html Criptografa de llaves pblicas Se basa en: un algoritmo de Encripcin/Desencripcin Un juego de llaves por usuario Llave Pblica (conocida por cualquier persona) Llave Privada (conocida SOLO por el dueo) Puede ser usado para Encriptar de Informacin Autenticar informacin (no repudio de origen) Encriptar y autenticar (no repudio de origen) Nota: Siempre garantiza no modificacin Criptografa de llaves pblicas Encriptar Informacin Texto Algoritmo de encripcin Texto Cifrado Algoritmo de desencripcin Texto Clave Pblica Origen Destino Clave PRIVADA Repositorio Pblico Criptografa de llaves pblicas Autenticacin (no repudio) Texto Algoritmo de encripcin Texto Cifrado Algoritmo de desencripcin Texto Clave Privada Origen Destino Clave pblica Repositorio Pblico Criptografa de llaves pblicas Encripcin + Autenticacin Texto Algoritmo de encripcin Texto Cifrado Texto Clave Pblica de B Origen A Destino B Repositorio Pblico T e x t o
C i f r a d o
Algoritmo de encripcin Clave Privada de A Algoritmo de desencripcin Clave Pblica de A Algoritmo de desencripcin Clave Privada de B Algoritmo RSA (Rivers, Shamir & Adleman) Algoritmo de llaves pblicas Genera las llaves con base al producto de dos nmero primos de 256 bits cada uno El fundamento de la seguridad de este sistema reside en la dificultad tcnica de factorizar nmeros primos de gran magnitud http://www.rsa.com/rsalabs/node.asp?id=2093
Algoritmo RSA (Rivers, Shamir & Adleman) Se toman dos numeros primos suficientemente grandes, sean p y q (10 100 ) Sea n = p * q y z = (p-1)*(q-1) Se elige un nmero d, menor que n y primo relativo con z, es decir, d y z tienen factor comn solo a 1 Se debe encontrar un nmero e, de tal forma que: ( d * e - 1 ) sea divisible por z o ( e * d ) mod z = 1 e y d son exponentes pblico y privado, entonces (n,e) es la clave pblica (n,d) es la clave privada Para encriptar y desencriptar C = P e mod n P = C d mod n Algoritmo RSA (Rivers, Shamir & Adleman) Como funciona ? Se generan las llaves Se coloca la llave pblica en un CA o se enva a destino Se guarda la Privada Si alguien quiere mandarme un mensaje encriptado usa mi llave pblica Cuando llegue el mensaje, se desencripta con mi llave privada Comparativo de la encripcin convencional y la pblica Convencional o simtrica Para Trabajar requiere Algoritmos y claves idnticas en ambos extremos Se comparten claves Para seguridad requiere La Clave debe mantenerse secreta Debe ser imposible o al menos impracticable descifrar elmensaje sin conocer la clave El conocimiento del algoritmo y una parte del texto cifradono debe permitir deducir la clave Pblica o asimtrica Para trabajar requiere Un nico algoritmo es usado con un par de claves para encripcin y otro para desencripcin El enviador y el receptor deben tener c/u una de las claves del par Para seguridad requiere Una de las 2 claves es secreta Debe ser imposible o al mnos impracticable descifrar el mensaje sin conocer la clave El conocimiento del algoritmo, una parte del texto cifrado y una clave no debe permitir deducir la otra clave En resumen Encripcin simtrica C = E k (P) P = D k (C) D k ( E k (P) ) = P La clave est en mantener en secreto la llave de encripcin/desencripcin En resumen Encripcin asimtrica Encripcin Origen(A) Destino(B) C = E kPuB (P) P = D kPrB (C) Autenticacin (no repudio) Origen(A) Destino(B) C = E kPrA (P) P = D kPuA (C) Encripcin / Autenticacin (no repudio) Origen(A) Destino(B) C = E kPrA (E kPuB (P)) P = D kPuA (D kPrB (C)) C = E kPuB (E kPrA (P)) P = D kPrB (D kPuA (C)) C = E kPrA (E kPuB (P)) P = D kPrB (D kPuA (C)) C = E kPuB (E kPrA (P)) P = D kPuA (D kPrB (C))