Criptografía Grado en Ingeniería Informática

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Criptografía Grado en Ingeniería Informática"

Transcripción

1 Criptografía Grado en Ingeniería Informática Departamento Matemática Aplicada I. Estas notas corresponden a la transcripción de las transparencias utilizadas durante las clases de Criptografía, y contienen todos los datos relevantes de las mismas. Su uso está permitido, únicamente, en las pruebas correspondientes a la evaluación alternativa. 1

2 Chapter 1 Introducción Por qué es importante la seguridad? Siempre hay adversarios. Siempre hay ataques Ataques pasivos Ataques activos Objetivos de la seguridad Privacidad Integridad Disponiblidad Autenticación de usuario No repudio Firma Cómo conseguir los objetivos? Mecanismos de seguridad. Criptografía: Conjunto de técnicas matemáticas que permiten proteger la información en presencia de adversarios 1.1 Conceptos básicos Primer objetivo: privacidad Distintos ataques Ataque de solo texto cifrado. Objetivo: texto en claro y clave Ataque de texto claro conocido. Objetivo: la clave Ataque de texto claro elegido. Objetivo: la clave Ataque de texto cifrado elegido. Objetivo: la clave Ataque de texto elegido. Objetivo: la clave. Buscamos sistemas resistentes a este nivel. El atacante. Conocimiento, recursos y capacidad Seguridad computacional: Coste > beneficio. Tiempo excesivo. 2

3 Chapter 2 Fundamentos 2.1 Un paseo por la antigüedad Ocultación de la información. Herodoto informa del uso de la esteganografía en informes de Grecia a Persia (tatuajes en cabezas rapadas, tablillas de cera, etc.). Gente sin prisa. No es criptografía 2.2 Los primeros sistemas AC: Los hebreos usan simples criptosistemas de sustitución. El sistema Atbash: cada letra se sustituye por su simétrica en el alfabeto: 400 AC: La Escítala: A Z, B Y... Y B, Z A Usada en la guerra entre Atenas y Esparta. El cifrado se basaba en la alteración del mensaje original mediante la inclusión de símbolos innecesarios que desaparecían al enrollar el mensaje en un rodillo de longitud y grosor. Aún sabiendo la técnica utilizada, si no se tenían las dimensiones exactas, un interceptor tenía difícil su criptoanálisis Figure 2.1: La escítala espartana AC: Los romanos desarrollan nuevos sistemas de cifrado, como el llamado de César. Uno de los sistemas de César era desplazar cada carácter del alfabeto 3 posiciones: A D, B E, C F... 3

4 2.2.1 Cifrado por desplazamiento Es generalización de la clave de César. Se establece una correspondencia entre letras y números: 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 La clave es un número entero. Se cifra sumando a cada letra del texto en claro el valor de la clave: G + V = B = 02 Ejemplo de cifrado: Un ataque de fuerza bruta: Figure 2.2: Disco de cifras AT AQUE AL AMANECER +3 dwdtxhcdñcdodphf hu Clave Resultado 1 dwdtxhcdñcdodphf hu cvcswgbcnbcñcogegt 2 dwdtxhcdñcdodphf hu bubrvf abmabnbñf df s 3 dwdtxhcdñcdodphf hu ataquealamanecer Se podría automatizar el ataque de fuerza bruta, o es indispensable la intervención de un agente inteligente que reconozca que ya se ha descifrado el mensaje? Más debilidades: Basta conocer un carácter y su cifrado para obtener la clave, si sabemos que A se transforma en D, entonces la clave es D - A, es decir 4-1 = 3. La longitud del texto, la frecuencia de los caracteres y sus repeticiones en el texto claro se conservan en el texto cifrado. Se pueden ahorrar muchas de las pruebas del ataque de fuerza bruta si hacemos una tabla con los caracteres más frecuentes de un texto en claro similar al esperado y los comparamos con los más frecuentes en el texto cifrado. 4

5 2.2.2 Cifrado afín Es una generalización del cifrado por desplazamiento en el que la transformación de cifrado es una aplicación afín x y = a x + b donde a es primo con n (el tamaño del alfabeto). El descifrado se hace con la función inversa Si usamos un alfabeto de 64 caracteres: y x = a 1 (y b) } <>=+-*/ % & o +,;.:+?! Con clave 15, 3 ciframos: AT AQUE AL AMANECER q!qpmncq, cqfqtn n3 Para un ataque de fuerza bruta necesitamos sólo 2048 intentos, y en uno de ellos está la solución! Con dos caracteres y sus transformados es probable que obtengamos la clave Cifrado por sustitución Lo más avanzado hasta el siglo XI. La revolución en el tamaño del espacio de claves! Con un alfabeto de 64 caracteres el número de claves posibles es Y si examináramos 1000 claves por segundo necesitaríamos siglos! Cada clave es una permutación del alfabeto. Si el alfabeto es de n caracteres hay n! claves. Demasiadas! Es imposible un ataque de fuerza bruta. Aparentemente inviolable. Durante siglos se utilizó confiando en su seguridad. Como la clave es grande se suele recurrir a facilitarla, lo que debilita el sistema 5

6 Además Aunque hasta el siglo XV en Europa se tenía por totalmente seguro! Primer criptoanálisis descubierto por el gran matemático Al-Kindi. Desconocido en occidente durante siglos! Método del análisis de frecuencias. Una manera de resolver un mensaje cifrado, si sabemos en qué lengua está escrito, es encontrar un texto llano diferente escrito en la misma lengua y que sea lo suficientemente largo para llenar una hoja, y luego contar cuántas veces aparece cada letra. A la letra que aparece con más frecuencia la llamamos primera, a la siguiente en frecuencia la llamamos segunda, a la siguiente la llamamos tercera, y así sucesivamente, hasta que hayamos cubierto todas las letras que aparecen en la muestra de texto llano. Luego observamos el texto cifrado que queremos resolver y clasificamos sus símbolos de la misma manera. Encontramos el símbolo que aparece con más frecuencia y lo sustituimos con la forma de la letra primera de la muestra de texto llano, el siguiente símbolo más corriente lo sustituimos por la forma de la letra segunda, y el siguiente en frecuencia lo cambiamos por la forma de la letra tercera, y así sucesivamente, hasta que hayamos cubierto todos los símbolos del criptograma que queremos resolver. Ideas básicas del análisis de frecuencias: La longitud del mensaje es la misma. Si hacemos una lista contando cuántas veces aparece cada carácter en el texto cifrado, la lista de números será la misma que en el texto en claro, aunque en otro orden. Igual que antes se puede hacer para grupos de caracteres. Pueden identificarse grupos característicos, letras repetidas, etc. Encontrando algunas correspondencias (vocales, letras más frecuentes, etc.) se puede encontrar rápidamente el texto en claro. Figure 2.3: Frecuencias de las letras en un texto típico en español e inglés. Fragmento de un mensaje bailado A B C D E F D E G H I C J K L M G H I C F K B I N K Ñ C O K B K P A Q E A C N K 6

7 Figure 2.4: Arthur Conan Doyle. Asignamos arbitrariamente letras a los símbolos del mensaje completo El mensaje cifrado con sustitución: ABCDEFDEFEDKCNAJ... Otro ejemplo, Sobre el tesoro del capitán Kidd (Edgar Allan Poe El escarabajo de oro ) ))6*;4826)4-+.)4-+);8o 6*; o))85;1-+(;:-+*8+83(8 8)5*+;46(;88*96*? ;8)*-+(;485) ;5*+2:*-+(;4956*2(5* 4)8++8*; );)6+8)4-+-+;1(-+ 9;48081;8 :8-+1;48+85;4) *81(-+9;48;(88;4(-+?34;48) ;:188;-+?; 2.3 Cifrados por transposición En los cifrados por transposición se reordena el texto en claro (nótese que en las sustituciones se reordena el alfabeto). Los caracteres del texto cifrado son los mismos que en el texto en claro. 1. Ejemplo 1. Se escribe en filas y se lee por columnas: uunnn unsss nmcap uncifrado iunin usandotra omeaf nsposicio queda dspvs nsimpleco roile nnuevecol xatce umnasxxxx cxdri coxoa oolx 7

8 2. Ejemplo 2. Camino: LAOSNAOVDRCNN AVNTUMCEOLOIT CESENIONPOMCE LCIECNNIOSUAS queda NTESA USOIN NCEIC LCALA OSNAO VDRCN ICMOP NOINE SEVNT UMCEO LO (Cuatro carriles y camino espiral en sentido de las agujas del reloj, empezando por la esquina superior derecha) 3. Ejemplo 3. Transposición de columnas: Igual que el primero, pero el orden de las letras de una palabra clave determina el orden de las columnas. Criptoanálisis se basa en : Detección de anagramas. Análisis de frecuencias. Combinado con sustitución se crean criptosistemas mucho más fuertes puesto que: La sustitución rompe los anagramas. La transposición rompe la aparición de palabras reconocibles del texto en claro. Transposición + sustitución fueron fundamentales en las máquinas de rotor de los años veinte. Sistemas polialfabéticos, se utilizan distintas sustituciones dependiendo de la posición del carácter 2.4 Cifrado de Vigenere Publicado por Blaise de Vigenere en su libro Traicté des Chiffres de Notable ejemplo efectivo de un sistema polialfabético. Llamado le chiffre indéchiffrable. Aproximadamente en 1850, Lewis Carroll opinó que era irrompible. Criptoanálisis publicado en 1854 (Babbage). En 1863 se utilizó como sistema de cifrado en la guerra civil americana. En un ejemplar del Scientific American de 1917 apareció un artículo asegurando que era inviolable. Dos versiones, la repetitiva y la que usaba un sistema llamado autoclave. Estudiaremos antes la primera. La clave es una palabra o una frase. Se divide el texto en claro en bloques de la misma longitud que la clave (excepto el último que puede ser menor). 8

9 Cada bloque se cifra aplicando a cada carácter un desplazamiento de valor el correspondiente carácter de la clave. Supongamos que con el alfabeto de 64 caracteres de antes y usando como clave la palabra CLAVE, queremos cifrar el texto AT AQUEALAMANECER Separamos el texto en bloques de 5 caracteres y aplicamos la clave: A T A Q U E A L A M A N E C E R C L A V E C L A V E C L A V E C D 4 B ) Z H M M W Q D Y F Y J U Es claro que para descifrar basta invertir la operación: D - C = A, 4 - L = T, etc. Para facilitar el cifrado y descifrado se usaba la llamada tabla de Vigenere. Figure 2.5: Tabla de Vigenere. El método de autoclave fue un auténtico precursor de algunos sistemas actuales: Para cifrar el primer bloque se usa la clave. Para cada bloque siguiente se usa el resultado de cifrar el bloque anterior: A T A Q U E A L A M A N E C E R C L A V E D 4 B ) Z I 5 N { ( J D 4 B ) Z I 5 N { ( J - R U 9

10 Introduce más complejidad, pero se rompe de forma similar al repetitivo, aunque la idea es genial! Seguridad: Espacio de claves muy grande. No es viable un ataque de fuerza bruta. Resistente al análisis de frecuencias. Muy débil ante un ataque de texto cifrado conocido. Basta conocer un fragmento del texto claro correspondiente: Si sabemos que el texto en claro contiene la palabra ATAQUE y con cada bloque de 6 caracteres del texto cifrado hacemos la diferencia encontraremos en alguno de ellos un fragmento de la clave (que podemos probar en el resto del mensaje) D 4 B ) Z H - A T A Q U E C L A V E C 2.5 Criptoanálisis 1. Determinación de la longitud de la clave. 2. Reducción a un cifrado por desplazamiento. 3. Determinación de la clave. 4. Obtención del texto en claro. Herramientas Test de Kasiski. ìndice de coincidencia. ìndice de coincidencia de dos textos. Requisitos. Es necesario que la razón entre la longitud del texto cifrado y la longitud de la clave sea suficientemente grande. Test de Kasiski: la incidencia de las coincidencias Segmentos repetidos de texto claro cifrados con la misma parte de la clave dan lugar a segmentos iguales de texto cifrado. Gran número de estas coincidencias ocurrirán entre segmentos iguales separados una distancia múltiplo de la longitud de la clave. Kasiski propone buscar coincidencias de grupos de 3 o 4 caracteres para minimizar las colisiones debidas al azar. Procedimiento para el test de Kasiski: Obtenemos la lista de las distancias entre bloques coincidentes. La mayoría de esos números son múltiplos de cierto número n. 10

11 Si el texto es suficientemente largo debe haber pocas distancias no múltiplos de n: las descartamos, atribuyéndolas al azar. El máximo común divisor de los números resultantes es probablemente la longitud de la clave. El índice de coincidencia: Invariante por sustitución (y en particular por desplazamiento) Si el texto es aleatorio y suficientemente grande: p i 1/N IC N 1/N 2 = 1/N Cada idioma tiene un IC característico, aunque dependiente de la naturaleza del texto (científico, literario, etc.) Indice de coincidencia de dos textos: Probabilidad de que al elegir al azar un carácter en cada texto, ambos sean iguales. i=1 IC(T 1, T 2 ) = x p(x, T 1 ) p(x, T 2 ) Si a dos textos se les aplica la misma sustitución, el IC no varía p(x, T ) = p(σ(x), σ(t )) Ejemplo: X = (a, b, c, d), σ 1 (x) = x + 1 mod 4, si T 1 = baca, entonces σ 1 (T 1 ) = cdbd. La propiedad fundamental dice que p(a, baca ) = p(b, cdbd ) = 2 4 En general, si X es un alfabeto, T 1, T 2 son textos y σ 1 es una permutación, IC(σ 1 (T 1 ), σ 1 (T 2 )) = x X p(x, σ 1(T 1 )) p(x, σ 1 (T 2 )) = = σ p(σ 1(x) σ 1(X) 1(x), σ 1 (T 1 )) p(σ 1 (x), σ 1 (T 2 )) = x X p(x, T 1) p(x, T 2 ) = IC(T 1, T 2 ). En nuestro ejemplo, si T 1 = baca y T 2 = adcc, tenemos que σ 1 (T 1 ) = cdbd y σ 1 (T 2 ) = badd, con lo que IC(T 1, T 2 ) = = 0, 25 IC(σ 1 (T 1 ), σ 1 (T 2 )) = = 0, 25 Sin embargo, el IC es muy sensible a sustituciones distintas, si a dos textos se les aplican distintas sustituciones, el IC varía mucho. En nuestro ejemplo anterior, si definimos σ 2 = x + 2 mod 4, tenemos σ 1 (T 1 ) = cdbd y σ 1 (T 2 ) = cbaa, con lo que IC(T 1, T 2 ) = = 0, 25 (como antes) IC(σ 1 (T 1 ), σ 2 (T 2 )) = = 0, 1875 Indice de coincidencia de un (único) texto, es la probabilidad de que al tomar al azar dos caracteres en el texto, resulten iguales. IC(T ) = x p(x, T ) 2 El IC de un texto aleatorio en un alfabeto de N caracteres es 11

12 IC(T ) = x p(x, T ) 2 = N ( 1 N )2 = 1 N Si N = 27, este valor es 0,037. El IC de un texto nada aleatorio, como T = (x 0, x 0,..., x 0 ) es N 1 IC(T ) = p(x 0, T ) 2 + p(x i, T ) 2 = (N 1) 0 2 = 1 i=1 Español Inglés Francés Italiano Alemán Ruso 0,0775 0,0667 0,0778 0,0738 0,0762 0,0529 Uso del IC en el criptoanálisis del criptosistema de Vigenere: 1. Etapa 1 del criptoanálisis: determinación de la longitud de la clave. Mediante el test de Kasiski buscamos un valor probable para m, la longitud de la clave. Estimamos el IC del texto en claro, calculándolo sobre un texto que suponemos similar. Dividimos el texto cifrado en m columnas F 1,..., F m y si la longitud de la clave es m y nuestra estimación del IC es buena, el IC de cada fila F i debe ser aproximadamente igual al estimado. Si todo va bien sabemos ahora que el texto se ha cifrado con una clave desconocida k 1,..., k m. 2. Etapa 2 del criptoanálisis: desplazamientos entre los caracteres de la clave. Para cada columna C i : F i está cifrada con el valor k i mod m Definimos unos desplazamientos (que no conocemos) i = k 1 k i mod m Podríamos desplazar todas las filas para obtener F 1, F 2,..., F m, todas cifradas con k 1 : F 1 está cifrado con k 1. Para i > 1, F i está cifrado con k i (desconocido). F i k i sería el texto en claro (si conociéramos k i ). F i = F i + i = F i k i + k 1 estaría cifrado con k 1 (si conociéramos el valor de i Y ahora... ataque de fuerza bruta sobre los i. Cuántos i hay que probar? Si el alfabeto es de N caracteres y la clave es de longitud m, hay que probar m 1 desplazamientos con 0 i < N N (m 1) pruebas. Si N = 27 y m = 16 son solo 405 pruebas. Cómo sabemos que hemos encontrado i? Probamos todos los valores posibles hasta encontrar el que haga que IC(F i ) IC(F 1 ) 12

13 3. Etapa 3 del criptoanálisis: reducción a un cifrado por desplazamiento Sustituimos las filas F i por las correspondientes F i, volvemos a fusionar las filas en un solo texto y... ya tenemos todo el texto cifrado por un desplazamiento de k Fin del criptoanálisis Y ahora, fuerza bruta para buscar k 1. Encontrado k 1 ya tenemos el texto en claro y, conocidos los desplazamientos, podemos calcular la clave completa: k 1, k 2 = k 1 1,..., k m = k 1 m 2.6 Cifrado XOR Reinventado constantemente por los aficionados, atraídos por su sencillez. Como Vigenere, pero cambiando las sumas y restas por la operación lógica o exclusivo (XOR) de bits. Supongamos que como antes, queremos cifrar el texto ATAQUEALAMANECER usando como clave la palabra CLAVE. Separamos el texto en bloques de 5 caracteres y aplicamos la clave: A T A Q U E A L A M A N E C E R C L A V E C L A V E C L A V E C B X E R F M M U H B B D S O Como XOR es involutiva, el descifrado es igual que el cifrado. Criptoanálisis: Igual que en Vigenere, el test de Kasiski puede encontrar la longitud probable de la clave. Aplicar XOR con el mismo carácter a todo un texto es en realidad aplicarle una permutación del alfabeto, por lo que el índice de coincidencia puede ser utilizado para el criptoanálisis. El proceso es entonces igual que el de Vigenere. Es probable que la razón entre la longitud del texto cifrado y la longitud de la clave tenga que ser algo mayor en XOR. 2.7 Criptosistema de Hill Por ejemplo cifrando con una matriz 3 3 Texto en claro: e, n, u (2, 13, 21) Para el descifrado y = M x = w v x 13

14 = Muy débil ante ataques de texto en claro conocido Ataque mediante Gauss-Jordan (Texto claro texto cifrado ) diagonalizacion (Matriz unidad Clave) Tras diagonalizar: e n u w v x n l u i d q g a r d d o d e l i t q a m a j g o n c h g j i a d e y m g c u y f v c o n o u ñ t m b r r l l La clave es la traspuesta de la matriz de la esquina superior. Es muy probable que conozcamos algo de texto en claro y su cifrado. Otros ataques al criptosistema de Hill no requieren conocer un texto en claro. Y ahora, una duda: Es que todos los criptosistemas son vulnerables? e n u 14

15 Chapter 3 La búsqueda de la perfección Existen sistemas irrompibles +Cómo podemos demostrarlo? 3.1 Teoría de la información Introducida por Claude Shannon a finales de los años cuarenta, permite efectuar un estudio formal de la seguridad de los algoritmos criptográficos. Cuantifica conceptos como cantidad de información, entropía o secreto. Introduce la noción de secreto perfecto. Cantidad de información de un mensaje: Ante varios mensajes, el que tenga una menor probabilidad será el que contenga una mayor cantidad de información. Si la probabilidad de un mensaje m es p(m), entonces la cantidad de información de m se define como I(m) = log 2 (p(m)) Si la probabilidad de un mensaje es 1, entonces la cantidad de información de ese mensaje es 0. Si la probabilidad de un mensaje se acerca a 0, entonces la cantidad de información se acerca a. Entropía: Mide la cantidad de información que lleva una señal. Si simplificamos suponiendo que la señal es una cadena de caracteres en español, la entropía mide la aleatoriedad de la cadena. Depende de la distribución de probabilidad de los caracteres e indica lo plana que es: plana equivale a alta entropía y ocurre cuando todos los valores tienen probabilidades similares, mientras que es poco plana cuando algunos valores son mucho más probables que otros. 15

16 Con alta entropía es difícil poder predecir cuál es el próximo valor que va a presentarse, ya que todos los valores son igualmente probables. La medida de información debe ser proporcional (continua). Es decir, un cambio pequeño en una de las probabilidades de aparición de uno de los elementos de la señal debe cambiar poco la entropía. Si todos los elementos de la señal son igualmente probables, entonces la entropía será máxima. La entropía también está relacionada con el límite teórico para la compresión de datos. Una buena contraseña debe tener entropía alta. La entropía de un mensaje M = m 1,... m n se define como la suma ponderada de las cantidades de información de sus posibles estados: Tiene las siguientes propiedades: H(M) = n p(m i ) log 2 (p(m i )) 1. 0 H(M) log 2 (n) (valor que se da para n caracteres equiprobables). 2. H(M) = 0 existe un j con p(m j ) = 1 y el resto con probabilidad 0. Ejemplo: M puede tomar tres estados: m 1, m 2, m 3 con probabilidades respectivas i=1 p(m 1 ) = 50% p(m 2 ) = 25% p(m 3 ) = 25% E(M) = 1 2 log log log = = 1, 5 Entropía y codificación M = mensaje de longitud n. L = límite máximo de compresión para M eligiendo un codificador símbolo a símbolo, de forma óptima. L = n H(M) Entropía condicional M = mensaje que puede tomar los valores m 1,..., m n. Si conocemos un valor m k : H(M m k ) = n p(m = m j m k ) log 2 p(m = m j m k ) Incertidumbre Y = mensaje que puede tomar los valores y 1,..., y m. La incertidumbre de un mensaje X conocido un valor de Y es: j=1 H(X Y ) = m H(X Y = y j ) p(y = y j ) j=1 La incertidumbre satisface las siguientes propiedades: H(X X) = 0. 16

17 Si X e Y son independientes, H(X Y ) = H(X). H(X Y ) H(X). Entropía máxima mayor incertidumbre en el mensaje. Se da cuando todos sus n estados tienen la misma probabilidad. H(M) max = log 2 (n) Ratio absoluta de un lenguaje: Es la entropía del lenguaje suponiendo los N caracteres igualmente probables: R = H(X) = x p(x) log 1 2(x) = sum x N log 2 1 N = N 1 N log 2 N = log 2 N N = 27 = R = 4, 75 Ratio verdadera Como las letras no tienen igual probabilidad, la ratio verdadera baja mucho. Pruebas empíricas dan para el español: 1, 2 r 1, 5 Redundancia: La redundancia de un lenguaje es la diferencia entre su ratio absoluta y su ratio verdadera: D = R r En español se estima que 3, 25 D 3, 55. Empíricamente se halla que en un lenguaje con redundancia 3,2 bastaría con un texto cifrado de 25 caracteres para romper un cifrado por sustitución. Distancia de unicidad Mínima cantidad de texto cifrado para que un atacante con capacidad ilimitada pueda encontrar la clave. Si la clave K es aleatoria la distancia de unicidad viene dada por la fórmula H(K)/D Ejemplo (desplazamiento): Con 26 claves, H(K) = log , 70, luego H(K)/D 1, 38 Ejemplo (sustitución): Con un alfabeto de 27 caracteres, H(K) = log 2 27! 93, 13, luego H(K)/D 27, 39. Ejemplo (Vigenere o XOR): Clave de longitud d y alfabeto de n caracteres: H(K) D = log 2 n d = d D log 2 n Con n = 27 y d = 10, H(K)/D 14. Secreto Es la incertidumbre del mensaje en claro conocido el mensaje cifrado. Secreto perfecto: Un criptosistema tiene secreto perfecto si el conocimiento del texto cifrado no proporciona ninguna información sobre el texto en claro. Secreto perfecto es mucho más que computacionalmente seguro 17

18 3.2 Cifrado de Vernam Existe algún cifrado con secreto perfecto? Vernam propuso uno consistente en XOR simple (o Vigenere) en el que la clave: 1. Se genera aleatoriamente. 2. Es tan larga como el texto en claro. 3. Se usa una sola vez (para cada texto en claro se genera una clave nueva). Las tres condiciones son completamente necesarias. Tiene secreto perfecto. a1ofkgdygfñuvñjox1p88+ý3o1qnykp-í7qmn(ihqn con dos claves diferentes puede corresponderse con: LANZAMIENTO DE MISILES A LAS 16:00 HORAS NO REGAR LAS PLANTAS MIENTRAS SEA DE DIA Hay claves para descifrar en cualquier texto claro: C texto cifrado, T texto en claro. Si k = C T entonces C k = C C T = T. En OTP no hay cota para la entropía de la clave por lo que su distancia de unicidad es infinita. Por qué no usar siempre OTP? Problemas: Generación de claves verdaderamente aleatorias. Distribución de claves. 18

19 Chapter 4 Números seudoaleatorios Problema de la generación de claves grandes suficientemente aleatorias (por ejemplo para el cifrado de Vernam) Secuencias criptográficamente válidas: Impredecibles e irreproducibles. Uso de fuentes hardware: Reloj del sistema. Fluctuaciones en el giro de un disco duro. Fuentes defectuosas que emiten ruido. Dispositivos específicos. Fuentes no válidas: Bits de un CD o DVD. Otras fuentes públicas de información. Soluciones más seguras: mezcla de métodos hardware y software. Se puede usar algún sistema de cifrado simétrico: El Generador X9.17 usa DES. Uso de otros cifrados simétricos. Los generadores seudoaleatorios parten de una pequeña cantidad de información: semilla, clave,... de tal modo que el conocimiento de esa información permite generar la secuencia completa. Algunos usos en Criptografía de estas secuencias seudoaleatorias son: Generación de claves y contraseñas. Claves para criptosistemas en flujo Vectores de inicialización Protección de contraseñas (salt). Desafíos en pruebas de conocimiento cero. Valores aleatorios en firmas digitales 19

20 Relleno de paquetes Los generadores seudoaleatorios se pueden dividir en tres clases: buenos, malos, y muy malos (y usuarios muy descuidados) La generación de números aleatorios es demasiado importante como para ser dejada al azar. Descuido en la línea de comandos Con más cuidado echo off for /l % a in ( ) do(echo % random off & setlocal EnableDelayedExpansion for /L % %a in ( ) do (echo!random!) SQL Las condiciones para que una secuencia binaria se considere criptográficamente segura son 1. Periodo suficientemente grande. 2. Distribución uniforme: los unos y ceros en cualquier muestra deben distribuirse aproximadamente al 50%. 3. Imprevisible: con una muestra de la secuencia debe ser imposible poder predecir el bit siguiente. 4. Fácil, rápido y barato: eficiencia, coste computacional, consumo de recursos, apto para hardware, etc. 4.1 Generadores por desplazamiento de registros retroalimentados (FSR) Los registros de desplazamiento retroalimentados (feedback shift registers, o FSR en inglés) son la base de muchos generadores de secuencia para cifrados de flujo. Se utilizan n celdas. En cada iteración se calcula una función f sobre el contenido de las n celdas y el resultado se asigna a la última, desplazando a las anteriores Dependiendo de la función utilizada se dividen en NLFSR (Non-Lineal Feedback Shift Register), que usan una función no lineal. LFSR (Lineal Feedback Shift Register), que usan una función lineal. Son sencillos y rápidos y proporcionan un buen grado de aleatoriedad, por lo que son muy utilizados. En un LFSR la función es del tipo f(b n,..., b 1 ) = n a j b j j=1 20

21 Pero como las operaciones de bits son en Z 2, cada a i = 0, 1 y f consiste en hacer con alguno de los bits (no hay multiplicaciones). Un ejemplo de LFSR paso a paso: f(x, y, z, t) = 0 x + 1 y + 1 z + 0 t mod 2 ( con los bits centrales), si el bloque inicial es b 0 = 1010, la sucesión de bloques obtenidos es b 1 = 0101, b 2 = 1011, b 3 = 0111, b 4 = 1110, b 5 = 1100, b 6 = 1001, b 7 = 0010, b 8 = 0101, b 9 = 1011, como b 2 = b 9 el periodo de esta sucesión es Generadores de congruencias lineales (LCG) x i+1 = (a x i + b) mod m Es frecuente elegir m de la forma 2 k, así la operación módulo consiste en poner los k bits más significativos a 0, y no requiere divisiones (equivale a hacer desplazamientos) x = 0 i=n 1 b i 2 i = k i=n 1 b i 2 i + 0 i=k 1 b i 2 i = 0 i=k 1 El periodo de esta sucesión es m (máximo) si yo sólo si se verifican 1 1. b es primo con m. 2. Si p es primo y divide a m, p divide a a Si m es múltiplo de 4, a 1 es múltiplo de 4. LCG y LFSR son los más usados: Biblioteca estándar de C y C++. Línea de comandos (Microsoft) Unix b i 2 i mod 2 k Unas observaciones: Las funciones random se inicializan a veces con valores tomados del reloj, ratón, pulsaciones, etc. Pueden resultar elecciones muy malas: la generación de números aleatorios es demasiado importante como para ser dejada al azar. Existen implementaciones más seguras 4.3 Algunos errores famosos RANDU. IBM (1960) x 0 impar. (se normalizan en [0,1] dividiendo por 2 31 ). Alcanza RANDU el período máximo? 1 Knuth, 1969 x i+1 = ( ) x i mod 2 31 x i+1 = (65539 x i + 0) mod

22 1. No. 0 no es primo con Si. 2 es el único primo que divide a 2 31, y también divide a No es múltiplo de 4, pero no lo es. Test espectral: Se buscan correlaciones interpretando cada s valores consecutivos como vectores en un espacio de dimensión s, intentando encontrar estructuras geométricas. Tomamos el conjunto de vectores (que se solapan): L s = { x n = (x n,..., x n+s 1 ) : n 0} y buscamos hiperplanos paralelos que contengan los vectores de L s. Si se encuentran es que hay correlaciones. Parece que todo está bien, pero si giramos la representación tridimensional... Figure 4.1: Todos los puntos en el mismo hiperplano. Por qué? x n+2 = ( ) x n+1 = ( ) 2 x n = ( ) x n = ( ) x n = = (6 ( ) 9) x n = 6 ( ) x n 9 x n = 6 x n+1 9 x n Cada terna de valores (x n, x n+1, x n+2 ) está en un plano, el z = 6y 9x (con más precisión, en 15 trozos de un plano, por trabajar en Z 2 31 Cómo de importante es esto? Experimentos que se diseñen usando muestras aleatorias con un mal generador,áconcluirán que hay correlaciónáentre las variables, pero no es que realmente exista, sino porque los números de entrada no son suficientemente aleatorios. Y en la Criptografía? La falsa seguridad es peor que el conocimiento de que no hay seguridad Windows 2000 y XP investigadores israelíes publicaron un análisis criptográfico sobre el algoritmo usado por Microsoft para generar números aleatorios y descubrieron que contenía serios problemas en su implementación. 22

23 El estudio revelaba (entre otros fallos) que es relativamente sencillo predecir los resultados del generador conociendo uno de sus estados internos y así como las claves de sesión usadas para cifrar información Debian Un error debido más bien al descuido que a un mal diseño. 14 de mayo de 2008: Debian ha sufrido un grave revés [... ] su generador de números aleatorios es predecible. Las claves generadas ya no son seguras [... ] esto tendrá por muchos años una importante repercusión y numerosos efectos colaterales en otros paquetes y distribuciones Generadores tipo Fibonacci x n = (x n r x n s ) mod m Estos generadores presentan varios inconvenientes La fórmula generadora correlaciona x n, x n r y x n s, luego no son independientes! No son criptográficamente seguros. Uno de los más famosos de este tipo es el generador sustractivo de Knuth: 1. Se inicializa m = 10 9, s 1 = 1, s 0 (semilla) con 0 s 0 < m 2. s 2,..., s 54 calculados como s i+1 = s i s i 1 mod m. 3. Reordenamos: para k = 0,..., 54 x k = s (34(k+1) mod 55) Y ahora empezamos a generar números, para k 55, x k = x k 55 x k 24 mod m El generador sustractivo de Knuth genera uniformemente valores entre 0 y m 1 y es fácil de calcular: nunca se multiplica ni se divide, ni siquiera para hallar el valor módulo m; sin embargo, la fórmula generadora correlaciona las términos x k, x k 55, x k 24, que no son independientes. Dos usos notables del generador sustractivo de Knuth son la clase Random en.net y la clase Random en Java. 4.5 El generador Blum Blum Shub Lenore Blum, Manuel Blum y Michael Shub (basada en factorización) Un generador sencillo y de gran seguridad 1. Se eligen dos primos grandes p, q ambos congruentes con 3 módulo 4, con mcd(φ(p 1), φ(q 1)) pequeño (para que el periodo sea largo) y hacemos m = p q 23

24 2. Se toma como semilla un entero grande s primo con m y se calcula una sucesión: x 0 = s 2 mod n; x i+1 = x 2 i mod n i 0 En la práctica se toman los bits menos significativos de cada x n Se puede calcular directamente cualquier valor mediante mod (p 1)(q 1) x i = x 2i 0 mod m. Si se eligen pocos bits de cada término de la sucesión, entonces predecir el valor de un término es tan difícil como factorizar n. Este generador Es bueno (criptográficamente seguro), es bonito y sencillo, pero... sufre dos inconvenientes: es caro y lento! (requiere aritmética de enteros grandes). 4.6 Generador X9.17 Semilla y claves: s 1 = semilla. k = clave. D = 64 bits elegidos del reloj del sistema. E(k, X) = cifrado de X con la clave k mediante el criptosistema E. x i = E(k, E(k, D) s i ) s i+1 = E(k, x i E(k, D)) Más sobre generadores seudoaleatorios puede encontrarse en The art of Computer Programming de Donald Knuth, o Handbook of Applied Cryptography de Menezes, van Oorschot y Vanstone. Y para terminar, una idea: Podríamos usar un buen generador seudoaleatorio para acercarnos a OTP? 24

25 Chapter 5 Cifrado en flujo El objetivo consiste en, usando un buen generador seudoaleatorio, obtener una clave de periodo suficientemente largo para aproximarnos a la seguridad de OTP. Para ello podemos actuar de dos modos: 5.1 Modo síncrono. La secuencia seudoaleatoria (flujo) se calcula independientemente del texto en claro y del texto cifrado; sólo depende de la clave. Figure 5.1: Modo síncrono. Aquí F () es la función generadora de estado s i es el estado en el paso i, s 0 es el estado inicial (que en muchos casos es la clave k). G() es la función generadora de la sucesión aleatoria, que depende del estado s i. 25

26 m i y c i son la i-ésima porción del texto claro y cifrado respectivamente, por medio de or exclusivo. En este modo 1. El emisor y el receptor deben estar sincronizados para que el texto pueda descifrarse. Si durante la transmisión se pierde o inserta algún bit, el receptor ya no estará aplicando xor con la misma secuencia, por lo que el resto del mensaje no se descifrará. 2. Si se altera un bit del criptograma, la sincronización no se pierde, pero el texto claro se verá modificado en la misma posición. Esta característica podría permitir a un atacante cambiar el mensaje, si conoce qué bits debe alterar. 3. Si un atacante conociese parte del texto claro, podría sustituirlo por otro sin que lo advirtiese el destinatario. 5.2 Modo asíncrono Asíncrono (auto-sincronizado): la secuencia seudoaleatoria generada es función de la semilla y de una cantidad fija de los bits anteriores del cifrado. Donde k es la clave, m i y c i son la i-ésima porción del texto claro y cifrado respectivamente y w es una funciýon reversible. Los valores c t, c t+1,..., c 1 constituyen el estado inicial del generador. Este modo: Figure 5.2: Modo asíncrono. 1. Es resistente a la pérdida o inserción de información, ya que se sincroniza automáticamente, cuando llegan t bloques correctos de forma consecutiva. 2. Dispersa las propiedades estadísticas del texto claro a lo largo de todo el mensaje cifrado: cada elemento del mensaje influye en todo el cifrado. 3. En general son más resistentes frente a ataques basados en la redundancia del texto en claro. 26

27 5.3 Seguridad Las debilidades esenciales de estos generadores son Uso repetido de la misma inicialización Repetición de la misma secuencia cifrante. aunque existen otros ataques más avanzados, como Ataques de correlación Ataques algebraicos Criptoanálisis diferencial Algunos usos actuales de criptosistema de flujo RC4 (Ronald Code 4) Ronald Rivest Secreto Roto en 2001 ( S. Fluhrer, I. Mantin y A. Shamir). Se puede encontrar la clave si la inicialización cumple unas condiciones muy comunes y se interceptan el suficiente número de mensajes. Esto incluye a la mayoría de los productos que lo usan. La versión no oficial de RC4 es legal, pero no puede ser utilizada con el nombre de RC4 (ARCFOUR, ARC4, Alleged-RC4). RSA Security nunca ha liberado el algoritmo de RC4. RC4 es parte de los protocolos de cifrado más comunes como WEP, WPA para tarjetas wireless y TLS. Increíble velocidad y simplicidad. Necesita pocos recursos. La implementación software y hardware es muy sencilla. GSM. A5/1 es usado en Europa y los Estados Unidos; un algoritmo de cifrado más débil, A5/2 es usado en países que no son considerados de confianza para tener un cifrado fuerte. A5/1 fue desarrollado en 1987, cuando GSM no era considerado aún para su uso en Europa, por su parte A5/2 fue desarrollado en Intentos de mantenerlo en secreto. Roto rápidamente. Algoritmos que lo rompen en tiempo real en 2006 (Eli Biham y Nathan Keller). CSS. Content Scrambling System Seguridad por oscuridad. Algoritmo propietario. 2. Roto en 1999 por un equipo noruego (MoRE: Masters of Reverse Engineering). Programa DeCSS, que se salta la protección CSS. 3. Cada disco DVD está cifrado mediante una clave única de solo 40 bits: la fuerza bruta es factible. 4. Cada DVD se cifra con una clave de 40 bits que se oculta cifrándola con una clave propia de cada fabricante autorizado (de equipo o programa reproductor). Consecuencia: la clave del disco está grabada en el DVD unas 400 veces, una vez por cada fabricante autorizado: con poco esfuerzo los autores de DeCSS encontraron unas 170 claves en pocas horas. Y ahora, de nuevo la duda: +Es que todos los criptosistemas son vulnerables? 27

28 Chapter 6 Criptografía simétrica moderna Criptosistemas simétrícos Figure 6.1: Criptosistema simétrico. Simétrico clave secreta compartida. El emisor y el receptor deben conocer la clave Todos los sistemas clásicos de cifrado son simétricos. Una pregunta para responder más adelante: +puede ser de otra manera? Ventajas La seguridad depende sólo del secreto de la clave. Son muy rápidos. Los sistemas con un gran espacio de claves son muy seguros. Inconvenientes Es complicado establecer un sistema de distribución y gestión de claves eficiente entre emisor y receptor. Carecen de firma digital y de otros servicios. 28

29 6.1 Cifrado por bloques Una gran parte de los algoritmos de cifrado simétrico operan dividiendo el mensaje que se pretende codificar en bloques de tamaño fijo, y aplican sobre cada uno de ellos una combinación de operaciones de confusión (sustituciones) y de difusión (transposiciones). Estos algoritmos se denominan, en general, cifrados por bloques. Recordemos que la confusión consiste en tratar de ocultar la relación que existe entre el texto claro, el texto cifrado y la clave. Un buen mecanismo de confusión haría demasiado complicado extraer relaciones entre las tres cosas. Por su parte la difusión trata de repartir la influencia de cada bit del mensaje original lo más posible entre el mensaje cifrado Modos de operación En primer lugar, independientemente del método empleado para codificar, hemos de tener en cuenta lo que ocurre cuando la longitud de la cadena que queremos cifrar no es un múltiplo exacto del tamaño de bloque. Entonces tenemos que añadir información al final para que lo sea. El mecanismo más sencillo consiste en rellenar con ceros el último bloque que se codifica. Una vez hecho esto, existen dos modos principales de operación para algoritmos de cifrado por bloques Modo ECB (Electronic Codebook) es el método más sencillo y obvio de aplicar un algoritmo de cifrado por bloques. Simplemente se subdivide la cadena que se quiere codificar en bloques del tamaño adecuado y se cifran todos ellos empleando la misma clave. A favor de este método podemos decir que permite codificar los bloques independientemente de su orden, lo cual es adecuado para codificar bases de datos o ficheros en los que se requiera un acceso aleatorio. También es resistente a errores, pues si uno de los bloques sufriera una alteración, el resto quedaría intacto. Además, el cifrado es fácilmente paralelizable. Modo CBC (Cipher Book Chaining Mode) que incorpora un mecanismo de retroalimentación en el cifrado por bloques. Esto significa que la codificación de bloques anteriores condiciona la codificación del actual, por lo que será imposible sustituir un bloque individual en el mensaje cifrado. Esto se consigue efectuando una operación XOR entre el bloque del mensaje que queremos codificar y el último criptograma obtenido. Para cifrar el primer bloque, se emplea el denominado vector de inicialización (V.I.), conocido por ambos interlocutores Redes de Feistel En criptografía, el Cifrado de Feistel es un método de cifrado en bloque con una estructura particular. Debe su nombre al criptógrafo de IBM Horst Feistel. También es conocida comúnmente como Red de Feistel. Un gran número de algoritmos de cifrado por bloques lo utilizan, siendo el más conocido el algoritmo Data Encryption Standard (DES). Las redes de Feistel presentan la ventaja de ser reversibles por lo que las operaciones de cifrado y descifrado son idénticas, requiriendo únicamente invertir el orden de las subclaves utilizadas. El primer algoritmo basado en las redes de Feistel fue el algoritmo Lucifer, diseñado al amparo de IBM por Horst Feistel y Don Coppersmith a principios de la década del 1970, aunque la popularidad para este esquema llegó cuando el Gobierno Federal de los Estados Unidos adoptó el algoritmo DES como estándar para el cifrado de las comunicaciones gubernamentales. Este algoritmo derivaba del algoritmo Lucifer y también está constituido por una red de Feistel. La 29

30 naturaleza iterativa de estas redes hacía que la implementación del algoritmo en hardware fuera sencillo. Se divide el mensaje en bloques de tamaño N, notados A B y se procesa cada bloque en n rondas usando: Una clave K que se divide en n subclaves: k 1,..., k n. Una función f (no necesariamente invertible) que en la ronda i toma la subclave k i y N/2 bits y retorna N/2 bits. siguiendo el siguiente esquema: Figure 6.2: Ronda i de un cifrado de Feistel A i+1 = B i f(a i, k i ) B i+1 = A i El descifrado funciona de manera análoga, a partir de A i+1 B i+1 podemos recuperar A i B i si conocemos la clave k i, sin más que hacer 6.2 DES Historia: B i = A i+1 B i+1 = A i 1973: En EEUU la NBS (National Bureaux of Standards) convocó un concurso público para buscar un algoritmo criptográfico estándar. 1974: La NSA (National Security Agency) declaró desierto el primer concurso y refinando las especificaciones eligió una variante de Lucifer que llamó DES (Data Encryption Standard). 1976: DES se adoptó como estándar y se autorizó su uso en las comunicaciones no clasificadas del gobierno. Durante más de 25 años DES ha sido el estándar para bancos y comercio electrónico. 30

31 Especificaciones del concurso DES: El nivel de seguridad computacional debe ser alto. El algoritmo debe ser fácil de entender y deberá estar especificado en todos sus detalles. La seguridad del sistema no debe verse afectada por la publicación y divulgación del algoritmo. Debe estar disponible para cualquier usuario. Deberá poder usarse en diferentes aplicaciones. Fácil implementación en hardware. Debe incorporar capacidades de validación. Debe ser exportable. Pero... Secreto: En realidad la NSA quería que los detalles fuesen secretos. Limitaciones legales: La NSA impuso una limitación en la longitud de la clave: los 128 bits de Lucifer se quedaron en 64 (que son 56 efectivos ya que al ser datos de 8 bits, se conoce el bit de paridad). Así el espacio de claves es pequeño: , Claves débiles: Existen familias de claves llamadas débiles y semidébiles que deben ser evitadas. DES no es un grupo. Triple DES se beneficia de ello: Se usan 2 claves DES: k1 y k2 y se hace un producto de tres Bastante seguro por el tamaño efectivo de su clave: 112 bits. Sigue siendo válido actualmente. Es el propuesto en SET y se encuentra como una opción en PGP. La historia de DES como estándar: Se adoptó como estándar en El NIST lo certificó en 1987 y En esos años se estandarizó como algoritmo de cifrado. Usado sobre todo en el cifrado de la información de transacciones entre un cajero y el banco. En 1997 NIST no certificó DES y convocó un concurso internacional para buscar un nuevo estándar mundial denominado AES (Advanced Encryption Standard). Entre 1997 y 1999 DES se enfrentó a tres desafíos conocidos como DES Challenge impulsados por la compañía RSA. 31

32 A mediados de julio de 1998, una empresa sin ánimo de lucro, llamada EFF (Electronic Frontier Foundation), logró fabricar una máquina capaz de descifrar un mensaje DES en menos de tres días. Curiosamente, pocas semanas antes, un alto cargo de la NSA había declarado que dicho algoritmo seguía siendo seguro, y que descifrar un mensaje resultaba aún excesivamente costoso, incluso para organizaciones gubernamentales. DES-Cracker costó menos de euros. DES Challenge I (29 de enero de 1997): Se rompe en 96 días con de ordenadores en Internet que evalúan millones de clave por segundo. Hubo que recorrer el 25% del espacio de claves. DES Challenge II-1 (13 de enero de 1998): Se rompe en 39 días con un ataque distribuido (distributed.net) que llega a evaluar millones de claves por segundo y recorre el 88% del espacio de claves. DES Challenge II-2 (13 de julio de 1998): Electronic Frontier Foundation (EFF) crea el DES Cracker con una inversión de dólares y en 56 horas rompió la clave evaluando millones de claves por segundo. DES Challenge III: El último desafío propuesto por RSA mostró la capacidad de un ataque distribuido: usando los tiempos muertos de procesador de máquinas conectadas a Internet que con un programa cliente trabajaban en una parte del espacio de claves. 18 de enero de 1999: unión de la máquina DESCracker y distributed.net con ordenadores conectados en Internet y rompen la clave en 22 horas, evaluando millones de claves por segundo tras recorrer el 22% del espacio de claves. Pero... DES, actualmente: En 1998 la NSA seguía declarando que DES era seguro, que romperlo era demasiado costoso incluso para grandes organizaciones. En realidad el problema de DES no es de diseño, sino que su clave se hizo muy corta. DES sigue siendo hoy día muy utilizado en aplicaciones (por ejemplo cajeros automáticos). Hay mucha resistencia a abandonarlo porque ha sobrevivido mucho tiempo. Se prefieren variantes antes que confiar en algoritmos nuevos y para permitir aprovechar las implementaciones por hardware existentes de DES. 6.3 AES Historia: En 1997 el NIST (National Institute of Standards and Technology, antes NBS) no certificó DES y convocó un concurso público para un nuevo estándar: AES (Advanced Encryption Standard). Ganó el algoritmo RIJNDAEL (Vincent Rijmen y Joan Daemen, Bélgica) que desde el año 2000 es el nuevo estándar de cifrado del siglo XXI. Es de libre distribución, disponible desde finales del año El proceso completo de selección, revisión y estudio de todos los candidatos del concurso fue público y abierto. Prácticamente por primera vez, participó toda la comunidad criptográfica mundial. Esto hace que Rijndael sea muy digno de confianza. 32

33 En octubre de 2000 el NIST (National Institute for Standards and Technology) anunciaba oficialmente la adopción del algoritmo Rijndael (pronunciado más o menos como reindal) como nuevo Estándar Avanzado de Cifrado (AES) para su empleo en aplicaciones criptográficas no militares, culminando así un proceso de más de tres años, encaminado a proporcionar a la comunidad internacional un nuevo algoritmo de cifrado potente, eficiente, y fácil de implementar. AES es un sistema de cifrado por bloques, diseñado para manejar longitudes de clave y de bloque variables, ambas comprendidas entre los 128 y los 256 bits. Realiza varias de sus operaciones internas a nivel de byte, interpretando éstos como elementos de un cuerpo de Galois GF (2 8 ). El resto de operaciones se efectúan en términos de registros de 32 bits. Sin embargo, en algunos casos, una secuencia de 32 bits se toma como un polinomio de grado inferior a 4, cuyos coeficientes son a su vez polinomios en GF (2 8 ). AES, a diferencia de algoritmos como DES, no posee estructura de red de Feistel. En su lugar se ha definido cada ronda como una composición de cuatro funciones invertibles diferentes, formando tres capas, diseñadas para proporcionar resistencia frente a criptoanálisis lineal y diferencial. Cada una de las funciones tiene un propósito preciso: La capa de mezcla lineal (funciones DesplazarFila y MezclarColumnas) permite obtener un alto nivel de difusión a lo largo de varias rondas. La capa no lineal (función ByteSub) consiste en la aplicación paralela de S-cajas con propiedades óptimas de no linealidad. La capa de adición de clave es un simple or-exclusivo entre el estado intermedio y la subclave correspondiente a cada ronda. Características: No es de tipo Feistel. Muy adaptado para los procesadores de 8 bits usados en tarjetas inteligentes y arquitecturas de 32 bits. Tamaño de clave y de bloque variables: 128, 192 y 256 bits (independientemente). Usa aritmética de polinomios sobre cuerpos de Galois, que se traducen en operaciones modulares a nivel de byte y de palabras de 4 bytes. Número de etapas flexible según necesidades. Utiliza un conjunto de S-Boxes con valores precalculados para facilitar los cálculos aritméticos. Rijndael es más versátil que la versión estandarizada. AES opera modificando bloques de 128 bits representados en una matriz de 4 4 bytes, que llama estado. Cada ronda (excepto la última) consiste en cuatro pasos: La ronda final reemplaza la fase MixColumns por otra instancia de AddRoundKey. 1. SubBytes - Sustitución de bits: Sustitución no lineal donde cada byte del estado es reemplazado con otro según una tabla: Esta transformación es una sustitución no lineal que se aplica a cada byte de la matriz de estado, mediante una S-caja 8 8 invertible, que se obtiene componiendo dos transformaciones: 1. Cada byte es considerado como un elemento del GF (2 8 ) que genera el polinomio irreducible m(x) = x 8 + x 4 + x 3 + x + 1, y sustituido por su inversa multiplicativa. El valor cero queda inalterado. 33

34 Figure 6.3: Subbytes. 2. El siguiente paso consiste en aplicar la siguiente transformación afín en GF (2), si x 0, x 1,..., x 7 los bits del byte correspondiente, su imagen será y 0, y 1,..., y 7 y 0 y 1 y 2 y 3 y 4 y 5 y 6 y 7 == x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 + La función inversa sería la aplicación de la inversa de la S-caja correspondiente a cada byte de la matriz de estado. 2. ShiftRows Desplazamiento de filas: Los bytes de cada fila del estado se rotan de manera cíclica hacia la izquierda un número de lugares diferente para cada fila. La función inversa será, obviamente, un desplazamiento de las filas de la matriz de estado el mismo número de posiciones, pero a la derecha. 3. MixColumns - Mezcla de columnas: Cada columna del estado se multiplica por un polinomio constante c(x). Así se mezclan los 4 bytes de la columna con una transformación lineal. 4. AddRoundKey - Cálculo de las subclaves: Cada byte del estado se combina mediante XOR con una subclave. Las subclaves se derivan de la clave de cifrado usando un proceso iterativo

35 Figure 6.4: ShiftRows. Figure 6.5: MixColumns. Figure 6.6: AddRoundKey. 35

36 Chapter 7 Intercambio de claves Intercambio de claves A través de un canal abierto, dos interlocutores que no poseen ningún conocimiento secreto común, necesitan compartir una clave secreta. Las mismas ideas que dieron origen a la Criptografía de clave pública aportaron soluciones a este antiguo problema. Primera solución: Diffie y Hellman propusieron en 1976 un método que basa su seguridad en el problema del logaritmo discreto. Hay actualmente muchos otros protocolos de intercambio de claves, algunos perfeccionando el de D-H y otros basados en nuevas ideas. A y B se envían mensajes usando un canal abierto y consiguen compartir un secreto K que sólo es conocido por ellos: 1. Eligen y publican un primo adecuado p y un generador g, 2 g p 2 del grupo multiplicativo de Z p. 2. A elige un secreto x, 1 x p 2 y envía a B el mensaje g x mod p. 3.. B elige un secreto y, 1 y p 2 y envía a A el mensaje g y mod p. 4. B recibe g x y calcula la clave compartida como K = (g x ) y mod p 5. A recibe g y y calcula la clave compartida como Un ejemplo artificialmente pequeño: K = (g y ) x mod p 1. A y B eligen y publican un primo adecuado p = 71 y un generador g = 21 del grupo multiplicativo dez A elige un secreto x = 46 y envía a B el mensaje g x mod p = mod 71 = 9. 36

37 3. B elige un secreto y = 57 y envía a A el mensaje g y mod p = mod 71 = B recibe g x = 9 y calcula la clave compartida como K = (g x ) y mod p = 9 57 mod 71 = A recibe g y y calcula la clave compartida como Seguridad: K = (g y ) x mod p = mod 71 = 16. Si un atacante interceptara toda la comunicación, llegaría a conocer los valores de p, g, g x y g y. Para encontrar K necesita conocer uno de los valores x, y. Su dificultad es que para hallar x tiene que calcular el logaritmo discreto en Z p de g x de base g, y éste es un problema intratable (análogamente para y). Se podría aumentar la seguridad mediante el uso de un grupo sobre el que el PLD fuese más duro: por ejemplo, el grupo multiplicativo de un cuerpo finito o el grupo de una curva elíptica. Es seguro ante ataques pasivos, pero se necesitarán mejoras para protegerse de ataques activos: Ataque de intercepción y suplantación: A elige un secreto x, 1 x p 2 y envía a B el mensaje g x mod p. C intercepta g x mod p, elige un z con 1 z p 2 y envía a B el valor g z mod p. B elige un secreto y, 1 y p 2 y envía a A el mensaje g y mod p. C intercepta g y mod p, y envía a B el valor g z mod p. B recibe g z y calcula la clave compartida como K = (g z ) y mod p A recibe g z y calcula la clave compartida como K = (g z ) x mod p C calcula también la clave compartida haciendo K = (g x ) z mod p 7.1 Ataques El protocolo es sensible a ataques activos del tipo Meet-in-the-middle. Si la comunicación es interceptada por un tercero, éste se puede hacer pasar por el emisor cara al destinatario y viceversa, ya que no se dispone de ningún mecanismo para validar la identidad de los participantes en la comunicación. Así, el hombre en el medio podría acordar una clave con cada participante y retransmitir los datos entre ellos, escuchando la conversación en ambos sentidos. Una vez establecida la comunicación simétrica el atacante tiene que seguir en medio interceptado y modificando el tráfico para que no se den cuenta. Para evitar este tipo de ataque se suele usar una o más de las siguientes técnicas: 37

38 Control de tiempos. Autenticación previa de las partes. Autenticación del contenido. 7.2 Autenticación e integridad Necesidad de autenticación: Al ataque anterior (y a otros) son susceptibles también todos los todos los criptosistemas de clave pública que hemos visto. La debilidad clave es la dificultad de autenticación y de integridad, en varios sentidos: Autenticación de la identidad del emisor del mensaje. Autenticación de la identidad del que recibe el mensaje. Verificación de la integridad del mensaje, etc. Las soluciones vendrán de una combinación de las técnicas estudiadas. Este estudio nos llevará a los conceptos de funciones resumen, certificados, firma, etc. 38

39 Chapter 8 Clave pública Si la clave es pública cualquiera puede descifrar,... o no? Idea fundamental: Asimetría separación de claves: una pública que cifra y otra privada que descifra. Dos ejemplos: 1. El cartero fiel: Clave pública: mi dirección. Clave privada: la llave de mi buzón. 2. El fabricante de cajas de seguridad: Clave pública: una caja abierta, que se bloquea al cerrarla. Clave privada: mi llave de la caja. Cifrado y descifrado asimétrico: la clave pública la tienen todos, la clave privada sólo la tiene el destinatario: Figure 8.1: Clave pública. Ni el mismo emisor puede descifrar! Los algoritmos asimétricos poseen dos claves diferentes en lugar de una, K p y K P, denominadas clave privada y clave pública. Una de ellas se emplea para codificar, mientras que la otra se usa 39

CRIPTOGRAFÍA 5º CURSO DE INGENIERÍA INFORMÁTICA

CRIPTOGRAFÍA 5º CURSO DE INGENIERÍA INFORMÁTICA CRIPTOGRAFÍA 5º CURSO DE INGENIERÍA INFORMÁTICA Criptografía simétrica E.T.S.I. Informática Universidad de Sevilla Curso 2007/2008 CRIPTOSISTEMAS SIMÉTRICOS Simétríco clave secreta compartida por Mensaje

Más detalles

Capítulo 12 Cifrado Simétrico en Bloque

Capítulo 12 Cifrado Simétrico en Bloque Capítulo 12 Cifrado Simétrico en Bloque Seguridad Informática y Criptografía Ultima actualización del archivo: 01/03/06 Este archivo tiene: 119 diapositivas v 4.1 Material Docente de Libre Distribución

Más detalles

(CAST5, BLOWFISH,AES, AES192, AES256, TWOFISH)

(CAST5, BLOWFISH,AES, AES192, AES256, TWOFISH) Unidad 2 2.2 Criptografia Simetrica 2.2.1 Sistema de Encriptamiento de Información (DES) y 3DES 2.2.2 Practicas de encriptación con algoritmos simetricos (CAST5, BLOWFISH,AES, AES192, AES256, TWOFISH)

Más detalles

Métodos Encriptación. Tópicos en Sistemas de Computación Módulo de Seguridad

Métodos Encriptación. Tópicos en Sistemas de Computación Módulo de Seguridad Métodos Encriptación Tópicos en Sistemas de Computación Módulo de Seguridad Temario Introducción Breve historia Algoritmos simétricos Algoritmos asimétricos Protocolos seguros Ejemplos Introducción Porqué

Más detalles

CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA

CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA CRIPTOGRAFÍA SIMÉTRICA Y ASIMÉTRICA Para generar una transmisión segura de datos, debemos contar con un canal que sea seguro, esto es debemos emplear técnicas de forma que los datos que se envían de una

Más detalles

ALGORITMOS DE ENCRIPTACIÓN, DESENCRIPTACIÓN - EVALUACIÓN Y VERIFICACIÓN

ALGORITMOS DE ENCRIPTACIÓN, DESENCRIPTACIÓN - EVALUACIÓN Y VERIFICACIÓN ALGORITMOS DE ENCRIPTACIÓN, DESENCRIPTACIÓN - EVALUACIÓN Y VERIFICACIÓN 4.1.- Criptografía 4.2.- Algoritmos de Encriptación Simétricos 4.3.- Algoritmos de Encriptación Asimétricos 4.4.- Implementación

Más detalles

3. Algoritmo DES (Data Encription Standard)

3. Algoritmo DES (Data Encription Standard) 3. Algoritmo DES (Data Encription Standard) 3.1. Fundamentos Cifrado por bloques (block cipher) Opera sobre un bloque de texto plano de n bits para producir un texto cifrado de n bits. Tipicamente, la

Más detalles

Tema 11 Introducción a la Criptografía

Tema 11 Introducción a la Criptografía Bloque IV AUDITORÍA EN EL DESARROLLO DE SOFTWARE Tema 11 Introducción a la Criptografía Tema 11 Introducción a la Criptografía 1/ Índice Índice Conceptos básicos Criptosistemas simétricos Criptosistemas

Más detalles

D.E.S. (Data Encryption Standard) Cifrado Convencional ANTECEDENTES

D.E.S. (Data Encryption Standard) Cifrado Convencional ANTECEDENTES D.E.S. (Data Encryption Standard) Cifrado Convencional ANTECEDENTES Horst Feistel (IBM) Cómo usar sustitución monoalfabética y obtener un criptosistema aceptable? Incorporación de transposición Cambio

Más detalles

Semana 13: Encriptación. Cifrado simétrico

Semana 13: Encriptación. Cifrado simétrico Semana 13: Encriptación Cifrado simétrico Aprendizajes esperados Contenidos: Características y principios del cifrado simétrico Algoritmos de cifrado simétrico Encriptación Simétrica En la encriptación

Más detalles

D.E.S. (Data Encryption Standard) Cifrado Convencional

D.E.S. (Data Encryption Standard) Cifrado Convencional D.E.S. (Data Encryption Standard) Cifrado Convencional ANTECEDENTES Horst Feistel (IBM) Cómo usar sustitución monoalfabética y obtener un criptosistema aceptable? Incorporación de transposición Cambio

Más detalles

Dra. Elsa Estévez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur

Dra. Elsa Estévez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur Controles de Entorno Dra. Elsa Estévez Departamento de Ciencias e Ingeniería de la Computación Universidad Nacional del Sur 2do. Cuatrimestre 2010 Contenido Controles Criptográficos Definiciones Técnicas

Más detalles

TALLER DE DETECTIVES: DESCIFRANDO MENSAJES SECRETOS. 1. Introducción

TALLER DE DETECTIVES: DESCIFRANDO MENSAJES SECRETOS. 1. Introducción TALLER DE DETECTIVES: DESCIFRANDO MENSAJES SECRETOS charamaria@gmail.com Resumen. Notas del taller para estudiantes Taller de Detectives: descifrando mensajes secretos dictado durante el tercer festival

Más detalles

Apuntes de Seguridad I

Apuntes de Seguridad I Apuntes de Seguridad I Objetivos La seguridad informática abarca áreas que van desde la protección de los dispositivos físicos (hardware), hasta la protección de información que se encuentra físicamente

Más detalles

SISTEMAS DE TRANSMISIÓN Y REDES INALÁMBRICAS INTRODUCCIÓN

SISTEMAS DE TRANSMISIÓN Y REDES INALÁMBRICAS INTRODUCCIÓN INTRODUCCIÓN Criptografía proviene del griego y significa Escritura secreta. Se debe hacer una distinción entre cifrados y códigos: Un cifrado es una transformación carácter a carácter o bit a bit, sin

Más detalles

Redes de comunicaciones actuales permiten la conectividad de un gran número de usuarios. Explosión de servicios que necesitan la transmisión de datos

Redes de comunicaciones actuales permiten la conectividad de un gran número de usuarios. Explosión de servicios que necesitan la transmisión de datos Redes de comunicaciones actuales permiten la conectividad de un gran número de usuarios. Explosión de servicios que necesitan la transmisión de datos por estas redes: necesidad de protección de la información.

Más detalles

Algoritmos de cifrado Definir el problema con este tipo de cifrado

Algoritmos de cifrado Definir el problema con este tipo de cifrado Criptografía Temario Criptografía de llave secreta (simétrica) Algoritmos de cifrado Definir el problema con este tipo de cifrado Criptografía de llave pública (asimétrica) Algoritmos de cifrado Definir

Más detalles

Las condiciones que debe reunir una comunicación segura a través de Internet (o de otras redes) son en general las siguientes:

Las condiciones que debe reunir una comunicación segura a través de Internet (o de otras redes) son en general las siguientes: Componentes de seguridad Las condiciones que debe reunir una comunicación segura a través de Internet (o de otras redes) son en general las siguientes: Confidencialidad: evita que un tercero pueda acceder

Más detalles

Capítulo 8 Teoría de la Complejidad Algorítmica

Capítulo 8 Teoría de la Complejidad Algorítmica Capítulo 8 Teoría de la Complejidad Algorítmica Seguridad Informática y Criptografía Ultima actualización del archivo: 01/03/06 Este archivo tiene: 31 diapositivas v 4.1 Material Docente de Libre Distribución

Más detalles

Redes de Ordenadores 3º Doble Tit. Informática y Telemática. Trabajo

Redes de Ordenadores 3º Doble Tit. Informática y Telemática. Trabajo Redes de Ordenadores 3º Doble Tit. Informática y Telemática Trabajo Avances en factorización entera: es completamente seguro el RSA? Victor Gonzalez Amarillo 0. Índice Introducción 3 Antecedentes: clasificación

Más detalles

Descripción del algoritmo DES (Data Encryption Standard)

Descripción del algoritmo DES (Data Encryption Standard) Descripción del algoritmo DES (Data Encryption Standard) Jorge Sánchez Arriazu diciembre de 1999 DES Introducción DES (Data Encryption Standard, estándar de cifrado de datos) es un algoritmo desarrollado

Más detalles

CRIPTOGRAFIA DE CLAVE SECRETA. El emisor y el receptor conocen y usan la misma clave secreta para cifrar y descifrar mensajes.

CRIPTOGRAFIA DE CLAVE SECRETA. El emisor y el receptor conocen y usan la misma clave secreta para cifrar y descifrar mensajes. CRIPTOSISTEMA RSA CRIPTOGRAFIA DE CLAVE SECRETA El emisor y el receptor conocen y usan la misma clave secreta para cifrar y descifrar mensajes. Problemas de este método El emisor y el receptor deben ponerse

Más detalles

Bases de la Firma Electrónica: Criptografía

Bases de la Firma Electrónica: Criptografía Bases de la Firma Electrónica: Criptografía Definiciones Técnica de convertir un texto en claro (plaintext) en otro llamado criptograma (ciphertext), cuyo contenido es igual al anterior pero sólo pueden

Más detalles

CryptoByn: Un sistema de Encriptación basado en la aleatoriedad

CryptoByn: Un sistema de Encriptación basado en la aleatoriedad CryptoByn: Un sistema de Encriptación basado en la aleatoriedad Autor: Diego Sarmentero Abstract La criptología consiste en el estudio de los sistemas de cifrado, teniendo como objectivo ocultar el contenido

Más detalles

Cifrado One Time Pad El método de cifrado inviolable

Cifrado One Time Pad El método de cifrado inviolable Cifrado One Time Pad El método de cifrado inviolable One Time Pad El método de cifrado inviolable El cifrado One Time Pad (OTP, libreta de un solo uso) es un método de cifrado muy sencillo y, sin embargo,

Más detalles

BLOWFISH,AES, AES192, AES256, TWOFISH)

BLOWFISH,AES, AES192, AES256, TWOFISH) Unidad 2 CRIPTOGRAFIA 2.1 Sistemas Criptograficos clasicos 2.1.1 Sustitución Monoalfabetica (Cifrario de Cesar) 2.1.2 Sustitución Polialfabetica (Cifrario Vigenere) 2.1.3 Tranposición 2.2 Criptografia

Más detalles

TEMA 3 Representación de la información

TEMA 3 Representación de la información TEMA 3 Representación de la información Álvarez, S., Bravo, S., Departamento de Informática y automática Universidad de Salamanca Introducción Para que el ordenador ejecute programas necesita dos tipos

Más detalles

Introducción a la Criptografía. Reinaldo Mayol Arnao 1

Introducción a la Criptografía. Reinaldo Mayol Arnao 1 Introducción a la Criptografía Reinaldo N. Mayol Arnao 15/10/2012 Reinaldo Mayol Arnao 1 Qué es la criptografía? Arte de escribir con clave secreta o de un modo enigmático 1. Una definición mas exacta

Más detalles

Capítulo 5. CRIPTOGRAFÍA

Capítulo 5. CRIPTOGRAFÍA Capítulo 5. CRIPTOGRAFÍA Autor: Índice de contenidos 5.1. PRINCIPIOS DE CRIPTOGRAFÍA 5.2. TIPOS DE ALGORITMOS DE CIFRADO 5.2.2. Criptografía a simétrica 5.2.3. Criptografía a de clave asimétrica 5.2.4.

Más detalles

Servidor Criptográfico Software. CRIPTOlib/RSA V3.0. Servidor Criptográfico Software. Indra Diciembre de 2.002

Servidor Criptográfico Software. CRIPTOlib/RSA V3.0. Servidor Criptográfico Software. Indra Diciembre de 2.002 Servidor Criptográfico Software CRIPTOlib/RSA V3.0 Servidor Criptográfico Software Indra Diciembre de 2.002 Índice Índice Í N D I C E Pág. 1 INTRODUCCIÓN...4 2 EVOLUCIÓN DE LOS SISTEMAS DE SEGURIDAD...8

Más detalles

Criptografía Básica. Reinaldo Mayol Arnao Centro de Tecnologías de Información Universidad de Los Andes 2006

Criptografía Básica. Reinaldo Mayol Arnao Centro de Tecnologías de Información Universidad de Los Andes 2006 Criptografía Básica Centro de Tecnologías de Información Universidad de Los Andes 2006 Objetivos La autenticación: Proporciona certeza de la identidad de la fuente de la información, servicios, servidores

Más detalles

CRIPTOGRAFIA. Qué es, usos y beneficios de su utilización. Universidad Nacional del Comahue

CRIPTOGRAFIA. Qué es, usos y beneficios de su utilización. Universidad Nacional del Comahue CRIPTOGRAFIA Qué es, usos y beneficios de su utilización Introducción Antes, computadoras relativamente aisladas Hoy, computadoras en redes corporativas conectadas además a Internet Transmisión de información

Más detalles

Titulación: Ingeniero en Informática. Curso 5º - Cuatrimestral (2007-2008) Javier Jarauta Sánchez Rafael Palacios Hielscher José María Sierra

Titulación: Ingeniero en Informática. Curso 5º - Cuatrimestral (2007-2008) Javier Jarauta Sánchez Rafael Palacios Hielscher José María Sierra Seguridad Informática Capítulo 04: Criptografía simétrica Titulación: Ingeniero en Informática. Curso 5º - Cuatrimestral (2007-2008) Javier Jarauta Sánchez Rafael Palacios Hielscher José María Sierra Tema

Más detalles

Mecanismos de protección. Xavier Perramon

Mecanismos de protección. Xavier Perramon Mecanismos de protección Xavier Perramon Mecanismos de protección Índice Introducción... 5 Objetivos... 6 1. Conceptos básicos de criptografía... 7 1.1 Criptograía de clave simétrica................................

Más detalles

Introducción a la criptografía y sus aplicaciones. José Angel de Bustos Pérez

Introducción a la criptografía y sus aplicaciones. José Angel de Bustos Pérez Introducción a la criptografía y sus aplicaciones José Angel de Bustos Pérez Versión 1,1 ii Prefacio El origen de este documento fue un trabajo que tuve que entregar para una asignatura sobre criptografía

Más detalles

Cuaderno de notas del OBSERVATORIO LA CRIPTOGRAFÍA DESDE LA ANTIGUA GRECIA HASTA LA MÁQUINA ENIGMA

Cuaderno de notas del OBSERVATORIO LA CRIPTOGRAFÍA DESDE LA ANTIGUA GRECIA HASTA LA MÁQUINA ENIGMA Cuaderno de notas del OBSERVATORIO Instituto Nacional de Tecnologías de la Comunicación LA CRIPTOGRAFÍA DESDE LA ANTIGUA GRECIA HASTA LA MÁQUINA ENIGMA Del griego criptos (oculto) y logos (tratado), la

Más detalles

Certificados Digitales y su utilización en Entornos Clínicos

Certificados Digitales y su utilización en Entornos Clínicos La Informática de la Salud: Punto de Encuentro de las Disciplinas Sanitarias Certificados Digitales y su utilización en Entornos Clínicos Reche Martínez, D.; García Linares, A.J.; Richarte Reina, J.M.

Más detalles

Representación de Datos. Una Introducción a los Sistemas Numéricos

Representación de Datos. Una Introducción a los Sistemas Numéricos Representación de Datos Una Introducción a los Sistemas Numéricos Tipos de Datos Datos Texto Número Imagen Audio Video Multimedia: Información que contiene números, texto, imágenes, audio y video. Como

Más detalles

Capítulo 7 Teoría de los Números

Capítulo 7 Teoría de los Números Capítulo 7 Teoría de los Números Seguridad Informática y Criptografía Ultima actualización del archivo: 01/03/06 Este archivo tiene: 75 diapositivas v 4.1 Material Docente de Libre Distribución Dr. Jorge

Más detalles

Criptografía. Por. Daniel Vazart P.

Criptografía. Por. Daniel Vazart P. Criptografía Por. Daniel Vazart P. Que es? La finalidad de la criptografía es, en primer lugar, garantizar el secreto en la comunicación entre dos entidades (personas, organizaciones, etc.) y, en segundo

Más detalles

Sistema de mensajería instantánea punto a punto mediante cifrado por intercambio de clave de sesión.

Sistema de mensajería instantánea punto a punto mediante cifrado por intercambio de clave de sesión. Sistema de mensajería instantánea punto a punto mediante cifrado por intercambio de clave de sesión. Soler ETIS Consultor: Antoni Martínez Ballesté 10 de enero de 2006 INDICE 1 Especificación del problema...

Más detalles

Seguridad matemática en la Sociedad de la Información

Seguridad matemática en la Sociedad de la Información Pino T. Caballero Gil Profesora Titular de Ciencias de la Computación e Inteligencia Artificial Departamento de Estadística, Investigación Operativa y Computación Universidad de La Laguna Introducción

Más detalles

Tema 2. La Información y su representación

Tema 2. La Información y su representación Tema 2. La Información y su representación 2.1 Introducción. Un ordenador es una máquina que procesa información. La ejecución de un programa implica la realización de unos tratamientos, según especifica

Más detalles

Criptografía Algoritmos Simétricos Algoritmos Asimétricos Firma electrónica y algoritmos Protocolos SSL, TLS OpenSSL. Criptografía

Criptografía Algoritmos Simétricos Algoritmos Asimétricos Firma electrónica y algoritmos Protocolos SSL, TLS OpenSSL. Criptografía Criptografía Víctor Bravo, Antonio Araujo 1 1 Fundación Centro Nacional de Desarrollo e Investigación en Tecnologías Libres Nodo Mérida CENDITEL, 2008 Licencia de Uso Copyright (c), 2007. 2008, CENDITEL.

Más detalles

Titulación: Ingeniero en Informática. Curso 5º - Cuatrimestral (2007-2008) Javier Jarauta Sánchez Rafael Palacios Hielscher José María Sierra

Titulación: Ingeniero en Informática. Curso 5º - Cuatrimestral (2007-2008) Javier Jarauta Sánchez Rafael Palacios Hielscher José María Sierra Seguridad Informática Capítulo 05: Criptografía asimétrica Titulación: Ingeniero en Informática. Curso 5º - Cuatrimestral (2007-2008) Javier Jarauta Sánchez Rafael Palacios Hielscher José María Sierra

Más detalles

802.11 (WiFi) Wireless LAN WEP. Funcionamiento WEP RC4

802.11 (WiFi) Wireless LAN WEP. Funcionamiento WEP RC4 802.11 (WiFi) Wireless LAN WEP Wired Equivalent Privacy Sistema de conexión a red sin hilos. 802.11: hasta 1 Mbps 802.11b: el más extendido, hasta 11 Mbps 802.11a: hasta 54 Mbps Frecuencia: sobre los 2,4

Más detalles

Cifrado de datos transparente (TDE)

Cifrado de datos transparente (TDE) Cifrado de datos transparente (TDE) Dirigido a: Administradores de Bases de Datos Área: Bases de Datos Autor: Pablo F. Dueñas Servicios Profesionales Danysoft Introducción Una de las principales preocupaciones

Más detalles

Beneficios de WGABackup Online www.wiaccess.es Con el progresivo y cada vez más necesario uso de los ordenadores tanto en el trabajo como en casa, vemos como aumenta nuestra dependencia de la información

Más detalles

Capítulo 2: El protocolo WEP. Capítulo 2. El protocolo WEP

Capítulo 2: El protocolo WEP. Capítulo 2. El protocolo WEP Capítulo 2 El protocolo WEP 23 Capítulo 2: El protocolo WEP 2.0 Introducción La seguridad es un aspecto que cobra especial relevancia cuando hablamos de redes inalámbricas. Para tener acceso a una red

Más detalles

CONCEPTOS BÁSICOS DE INFORMÁTICA. REPRESENTACIÓN DE LA INFORMACIÓN.

CONCEPTOS BÁSICOS DE INFORMÁTICA. REPRESENTACIÓN DE LA INFORMACIÓN. INDICE. CONCEPTOS BÁSICOS DE INFORMÁTICA. REPRESENTACIÓN DE LA INFORMACIÓN. TÉRMINOS BÁSICOS DE LA INFORMÁTICA. REPRESENTACIÓN INTERNA DE LA INFORMACIÓN. El SISTEMA BINARIO DE NUMERACION. El sistema decimal

Más detalles

R-IV. Números Aleatorios. Método de Monte- Carlo. Números Aleatorios. Números Aleatorios 8 -

R-IV. Números Aleatorios. Método de Monte- Carlo. Números Aleatorios. Números Aleatorios 8 - R-IV Método de Monte- Carlo Elemento Central en la Simulación digital. Definición formal controvertida. Elemento esencial en muchas áreas del conocimiento Ingeniería, Economía, Física, Estadística, etc.

Más detalles

Criptografía binaria block ciphers y funciones de hash

Criptografía binaria block ciphers y funciones de hash Criptografía binaria block ciphers y funciones de hash Carlos Sarraute Core Security Technologies Jornadas de Criptografía y Códigos Autocorrectores 20 al 24 de noviembre 2006 Mar del Plata Agenda Introducción

Más detalles

EL LENGUAJE DE LAS COMPUTADORAS

EL LENGUAJE DE LAS COMPUTADORAS EL LENGUAJE DE LAS COMPUTADORAS Una computadora maneja sus instrucciones por medio de un sistema numérico binario, que es el más simple de todos al contar con sólo dos símbolos para representar las cantidades.

Más detalles

Generación de Números Pseudoaleatorios usados en Sistemas Criptográficos

Generación de Números Pseudoaleatorios usados en Sistemas Criptográficos Generación de Números Pseudoaleatorios usados en Sistemas Criptográficos jesus@seguridata.com.mx Generación de Números Pseudoaleatorios usados en Sistemas Criptográficos jesus@seguridata.com Resumen En

Más detalles

VULNERABILIDADES CRIPTOGRÁFICAS. Por Alexandre Ramilo Conde y Pablo Prol Sobrado

VULNERABILIDADES CRIPTOGRÁFICAS. Por Alexandre Ramilo Conde y Pablo Prol Sobrado VULNERABILIDADES CRIPTOGRÁFICAS Por Alexandre Ramilo Conde y Pablo Prol Sobrado 1. Cifrado Simétrico a. DES b. AES Índice 2. Cifrado Asimétrico a. RSA b. DSA 3. Funciones Hash a. MD5 b. SHA-0 y SHA-1 c.

Más detalles

Estudio del algoritmo de cifrado Rijndael. Comparativa entre los algoritmos de cifrado DES y Rijndael

Estudio del algoritmo de cifrado Rijndael. Comparativa entre los algoritmos de cifrado DES y Rijndael UNIVERSIDADE DA CORUÑA FACULTAD DE INFORMÁTICA DEPARTAMENTO DE TECNOLOGÍAS DE LA INFORMACIÓN Y LAS COMUNICACIONES PROYECTO DE FIN DE CARRERA DE INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN Estudio del

Más detalles

Seguridad de la información

Seguridad de la información Seguridad de la información Se entiende por seguridad de la información a todas aquellas medidas preventivas y reactivas del hombre, de las organizaciones y de los sistemas tecnológicos que permitan resguardar

Más detalles

EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos

EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos EIE 446 - SISTEMAS DIGITALES Tema 2: Sistemas de Numeración, Operaciones y Códigos Nombre del curso: Sistemas Digitales Nombre del docente: Héctor Vargas Fecha: 1 er semestre de 2011 INTRODUCCIÓN El sistema

Más detalles

Julio César Mendoza T. Ingeniería de Sistemas Quito

Julio César Mendoza T. Ingeniería de Sistemas Quito 46 Julio César Mendoza T. Ingeniería de Sistemas Quito 47 RESUMEN En el presente artículo se presenta una breve introducción a la criptografía sin profundizar en las matemáticas que soportan los algoritmos

Más detalles

Tema 2: Sistemas de representación numérica

Tema 2: Sistemas de representación numérica 2.1 Sistemas de Numeración Definiciones previas Comenzaremos por definir unos conceptos fundamentales. Existen 2 tipos de computadoras: Analógicas: actúan bajo el control de variables continuas, es decir,

Más detalles

C A P Í T U L O VI APLICATIVO. 6.1 Algoritmos de Generación de Firmas Digitales. 6.2 Utilización, manejo e implementación. 6.3 Estudio de Alternativas

C A P Í T U L O VI APLICATIVO. 6.1 Algoritmos de Generación de Firmas Digitales. 6.2 Utilización, manejo e implementación. 6.3 Estudio de Alternativas C A P Í T U L O VI APLICATIVO 6.1 Algoritmos de Generación de Firmas Digitales 6.2 Utilización, manejo e implementación 6.3 Estudio de Alternativas 6.4 Desarrollo e implementación 6.5 Comparación entre

Más detalles

Introducción. Algoritmos

Introducción. Algoritmos Introducción La firma digital es una herramienta que permite garantizar la autoría e integridad de los documentos digitales, posibilitando que éstos gocen de una característica que únicamente era propia

Más detalles

SEGURIDAD EN SISTEMAS DE INFORMACION. TEMA 2 - parte 2. Criptografia asimétrica

SEGURIDAD EN SISTEMAS DE INFORMACION. TEMA 2 - parte 2. Criptografia asimétrica SEGURIDAD EN SISTEMAS DE INFORMACION TEMA 2 - parte 2. Criptografia asimétrica FJRP, FMBR. SSI, 2010 15 de marzo de 2010 1. Conceptos básicos Propuesta por Diffie y Hellman en 1976. Aproximación completamente

Más detalles

e-commerce Objetivo e-commerce

e-commerce Objetivo e-commerce Presenta: UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO FACULTAD DE CONTADURIA Y ADMINISTRACIÓN Sitios web comerciales Tema II Comercio Electrónico 2.4 Elementos del e-commerce y seguridad. ING. y M.A. RENÉ

Más detalles

SEGURIDAD EN LA RED: FIREWALLS Y ENCRIPTACIÓN

SEGURIDAD EN LA RED: FIREWALLS Y ENCRIPTACIÓN SEGURIDAD EN LA RED: FIREWALLS Y ENCRIPTACIÓN ARISO Alumnes: JUAN ANTONIO FERNÁNDEZ ALEJANDRO RÍOS BLANCO Diciembre del 2001. Introducción a la seguridad. Con la introducción de los computadores, la seguridad

Más detalles

ARQUITECTURA DE LAS COMPUTADORAS PRACTICA

ARQUITECTURA DE LAS COMPUTADORAS PRACTICA ARQUITECTURA DE LAS COMPUTADORAS PRACTICA SISTEMAS NUMÉRICOS INTRODUCCIÓN TEÓRICA: Definimos Sistema de Numeración como al conjunto de reglas que permiten, con una cantidad finita de símbolos, representar

Más detalles

CRIPTO 101- RSA y la aritmética modular I

CRIPTO 101- RSA y la aritmética modular I RSA y la aritmética modular Boletín ENIGMA del Taller de Criptografía de Arturo Quitantes Sierra CRIPTO 101- RSA y la aritmética modular I Durante siglos, uno de los mayores problemas de la criptografía

Más detalles

CRIPTOlib/RSA. Manual de Usuario. Versión 3.0. Windows/Unix

CRIPTOlib/RSA. Manual de Usuario. Versión 3.0. Windows/Unix CRIPTOlib/RSA Versión 3.0 Windows/Unix Manual de Usuario INDRA 30 de octubre de 2014 ÍNDICE 1. INTRODUCCIÓN... 1-1 2. EVOLUCIÓN DE LOS SISTEMAS DE SEGURIDAD... 2-1 2.1. Criptografía de clave secreta o

Más detalles

Soluciones de los ejercicios de la primera Unidad. Dr. Jorge Martín Dr. José Antonio Carrillo

Soluciones de los ejercicios de la primera Unidad. Dr. Jorge Martín Dr. José Antonio Carrillo Soluciones de los ejercicios de la primera Unidad Dr. Víctor Hernández Dr. Jorge Martín Dr. José Antonio Carrillo 5 de marzo de 0 Índice general Ejercicio.. Manejo del formalismo de los sucesos.............

Más detalles

Criptografía, certificado digital y firma digital. Guía básica de supervivencia. En Internet nadie sabe quién está al otro lado

Criptografía, certificado digital y firma digital. Guía básica de supervivencia. En Internet nadie sabe quién está al otro lado Criptografía, certificado digital y firma digital. Guía básica de supervivencia (adaptación de información extraída de http://www.cert.fnmt.es/popup.php?o=faq) En Internet nadie sabe quién está al otro

Más detalles

3. ARITMÉTICA MODULAR. 3.1. Congruencias de números enteros. Águeda Mata y Miguel Reyes, Dpto. de Matemática Aplicada, FI-UPM.

3. ARITMÉTICA MODULAR. 3.1. Congruencias de números enteros. Águeda Mata y Miguel Reyes, Dpto. de Matemática Aplicada, FI-UPM. 3.1. Congruencias de números enteros Definición de congruencia Dado un número entero fijo p>1 y dos números enteros cualesquiera a, b Z, sedicequea es congruente con b módulo p, yseindicaa b (mod p), si

Más detalles

ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES

ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES ANEXO 2: REPRESENTACION DE LA INFORMACION EN LOS COMPUTADORES SISTEMA DE NUMERACIÓN BASE 2 El sistema de numeración binario es el conjunto de elementos {0, 1} con las operaciones aritméticas (suma, resta,

Más detalles

ENCRIPTACIÓN. 8.1. Criptología

ENCRIPTACIÓN. 8.1. Criptología Capítulo 8 ENCRIPTACIÓN En toda esta discusión acerca de la codificación, no se ha mencionado lo que se popularmente se supone es el propósito de codificar: Seguridad. Hasta ahora se ha considerado la

Más detalles

Procedimientos de Cifrado en flujo. Amparo Fúster Sabater Instituto de Física Aplicada C.S.I.C. amparo@iec.csic.es

Procedimientos de Cifrado en flujo. Amparo Fúster Sabater Instituto de Física Aplicada C.S.I.C. amparo@iec.csic.es Procedimientos de Cifrado en flujo Amparo Fúster Sabater Instituto de Física Aplicada C.S.I.C. amparo@iec.csic.es Contenido Operaciones binarias Del cifrado Vernam al cifrado en flujo Secuencias cifrantes

Más detalles

Semana 14: Encriptación. Cifrado asimétrico

Semana 14: Encriptación. Cifrado asimétrico Semana 14: Encriptación Cifrado asimétrico Aprendizajes esperados Contenidos: Características y principios del cifrado asimétrico Algoritmos de cifrado asimétrico Funciones de hash Encriptación Asimétrica

Más detalles

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03.

INFORMÁTICA. Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial. Curso 2013-2014. v1.0 (05.03. INFORMÁTICA Práctica 5. Programación en C. Grado en Ingeniería en Electrónica y Automática Industrial Curso 2013-2014 v1.0 (05.03.14) A continuación figuran una serie de ejercicios propuestos, agrupados

Más detalles

Protección de la información y gestión de claves José Manuel Huidobro Moya Ingeniero de Telecomunicación

Protección de la información y gestión de claves José Manuel Huidobro Moya Ingeniero de Telecomunicación AUTORES CIENTÍFICO-TÉCNICOS Y ACADÉMICOS Protección de la información y gestión de claves José Manuel Huidobro Moya Ingeniero de Telecomunicación L a criptología es la ciencia que estudia e investiga todo

Más detalles

Integrantes: Manuel Ramírez Carlos Polanco Bernardo Farías Profesor: Agustín J. González

Integrantes: Manuel Ramírez Carlos Polanco Bernardo Farías Profesor: Agustín J. González Integrantes: Manuel Ramírez Carlos Polanco Bernardo Farías Profesor: Agustín J. González Introducción WLAN es una amplia red inalámbrica que permite conectar un equipo a la red para acceder a Internet,

Más detalles

Maria José González/ Dep. Tecnología

Maria José González/ Dep. Tecnología Señal analógica es aquella que puede tomar infinitos valores para representar la información. Señal digital usa solo un número finito de valores. En los sistemas binarios, de uso generalizado en los circuitos

Más detalles

Implementación Hardware del Estandar de Encriptación Avanzado (AES) en una FPGA

Implementación Hardware del Estandar de Encriptación Avanzado (AES) en una FPGA Implementación Hardware del Estandar de Encriptación Avanzado (AES) en una FPGA Jorge Alberto Celi Méndez, Ing. Ronald Alberto Ponguillo Intriago Facultad de Ingeniería en Electricidad y Computación Escuela

Más detalles

Materia: Informática. Nota de Clases Sistemas de Numeración

Materia: Informática. Nota de Clases Sistemas de Numeración Nota de Clases Sistemas de Numeración Conversión Entre Sistemas de Numeración 1. EL SISTEMA DE NUMERACIÓN 1.1. DEFINICIÓN DE UN SISTEMA DE NUMERACIÓN Un sistema de numeración es un conjunto finito de símbolos

Más detalles

ALGEBRA LINEAL. Héctor Jairo Martínez R. Ana María Sanabria R.

ALGEBRA LINEAL. Héctor Jairo Martínez R. Ana María Sanabria R. ALGEBRA LINEAL Héctor Jairo Martínez R. Ana María Sanabria R. SEGUNDO SEMESTRE 8 Índice general. SISTEMAS DE ECUACIONES LINEALES.. Introducción................................................ Conceptos

Más detalles

Capítulo 12: Indexación y asociación

Capítulo 12: Indexación y asociación Capítulo 12: Indexación y asociación Conceptos básicos Índices ordenados Archivos de índice de árbol B+ Archivos de índice de árbol B Asociación estática Asociación dinámica Comparación entre indexación

Más detalles

Código Nº 1 de Radiobúsqueda

Código Nº 1 de Radiobúsqueda Rec. UIT-R M.584-2 1 RECOMENDACIÓN UIT-R M.584-2 CÓDIGOS Y FORMATOS DE RADIOBÚSQUEDA (Cuestión UIT-R 12/8) Rec. UIT-R M.584-2 (1982-1986-1997) Resumen Esta Recomendación describe códigos y formatos que

Más detalles

Introducción a la Seguridad en Sistemas Informáticos

Introducción a la Seguridad en Sistemas Informáticos Introducción a la Seguridad en Sistemas Informáticos Francisco Rodríguez-Henríquez CINVESTAV-IPN Depto. de Ingeniería Eléctrica Sección de Computación Motivación y Antecedentes Modelo simplificado de Cifrado

Más detalles

Representación de la Información en una Computadora

Representación de la Información en una Computadora Representación de la Información en una Computadora Sistemas de Numeración El sistema de numeración que utiliza el hombre es el sistema decimal (de base 10). Lo creamos en forma natural porque tenemos

Más detalles

Seminario Internet y Buscadores NAVEGACIÓN SEGURA Y HERRAMIENTAS DE MOTORES DE BUSQUEDA

Seminario Internet y Buscadores NAVEGACIÓN SEGURA Y HERRAMIENTAS DE MOTORES DE BUSQUEDA Seminario Internet y Buscadores NAVEGACIÓN SEGURA Y HERRAMIENTAS DE MOTORES DE BUSQUEDA Santa Cruz de la Sierra, Bolivia Realizado por: Ing. Juan Carlos Castro Chávez 1 Indice Navegacion segura Criptografía

Más detalles

Generación de números aleatorios

Generación de números aleatorios Generación de números aleatorios Marcos García González (h[e]rtz) Verano 2004 Documento facilitado por la realización de la asignatura Métodos informáticos de la física de segundo curso en la universidad

Más detalles

La seguridad en la red: verdades, mentiras y consecuencias Aproximación práctica a la criptografía aplicada

La seguridad en la red: verdades, mentiras y consecuencias Aproximación práctica a la criptografía aplicada La seguridad en la red: verdades, mentiras y consecuencias Aproximación práctica a la criptografía aplicada 1 2 Aproximación práctica a la criptografía aplicada 1- Qué es la criptografía aplicada 2- Propiedades:

Más detalles

SERVICIOS DE RED E INTERNET TEMA 4: INSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS WEB

SERVICIOS DE RED E INTERNET TEMA 4: INSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS WEB SERVICIOS DE RED E INTERNET TEMA 4: INSTALACIÓN Y ADMINISTRACIÓN DE SERVICIOS WEB Nombre: 1. Protocolo HTTPS Hyper Text Transfer Protocol Secure (en español: Protocolo seguro de transferencia de hipertexto),

Más detalles

Práctica 5. Curso 2014-2015

Práctica 5. Curso 2014-2015 Prácticas de Seguridad Informática Práctica 5 Grado Ingeniería Informática Curso 2014-2015 Universidad de Zaragoza Escuela de Ingeniería y Arquitectura Departamento de Informática e Ingeniería de Sistemas

Más detalles

Lección 12 Seguridad y criptografía. Universidad de Oviedo / Dpto. de Informática

Lección 12 Seguridad y criptografía. Universidad de Oviedo / Dpto. de Informática Lección 12 Seguridad y criptografía Seguridad Los sistemas distribuidos son más inseguros que los centralizados por que exponen más la información. Un sistema distribuido tiene más puntos atacables. Contrapartida:

Más detalles

1. INTRODUCCION. -ATAQUES A LA SEGURIDAD: Qué acciones pueden comprometer la seguridad de la información que

1. INTRODUCCION. -ATAQUES A LA SEGURIDAD: Qué acciones pueden comprometer la seguridad de la información que TEMA 7: TECNOLOGIAS Y SERVICIOS DE SEGURIDAD EN INTERNET 1. INTRODUCCION Los requisitos en seguridad de la información manejada dentro de una organización han evolucionado sustancialmente en las últimas

Más detalles

Seminario Seguridad en desarrollo del Software. Tema: Criptografía I. Autor: Leudis Sanjuan

Seminario Seguridad en desarrollo del Software. Tema: Criptografía I. Autor: Leudis Sanjuan Seminario Seguridad en desarrollo del Software Tema: Criptografía I Autor: Leudis Sanjuan Qué es criptografía? La criptografía es el nombre genérico con el que se designan dos disciplinas opuestas y a

Más detalles

ENCRIPTACIÓN EN LA COMUNICACIÓN DE INFORMACIÓN ELECTRÓNICA. UNA PROPUESTA DIDÁCTICA

ENCRIPTACIÓN EN LA COMUNICACIÓN DE INFORMACIÓN ELECTRÓNICA. UNA PROPUESTA DIDÁCTICA ENCRIPTACIÓN EN LA COMUNICACIÓN DE INFORMACIÓN ELECTRÓNICA. UNA PROPUESTA DIDÁCTICA Bernal García, Juan Jesús juanjesus.bernal@upct.es Martínez María Dolores, Soledad María soledad.martinez@upct.es Sánchez

Más detalles

Criptografía: Técnica y Aplicaciones.

Criptografía: Técnica y Aplicaciones. Ingeniería Informática (INF). 4 º curso. 1. Conceptos Básicos sobre Criptografía. (Introducción a la Criptología). 1.1 Conceptos básicos: Términos y notación. La palabra criptografía proviene de la unión

Más detalles

DESCRIPCIÓN POLINOMIAL DE LOS SISTEMAS DE CIFRADO DES Y AES

DESCRIPCIÓN POLINOMIAL DE LOS SISTEMAS DE CIFRADO DES Y AES Unidad Iztapalapa Departamento de Matemáticas Maestría en Matemáticas Aplicadas e Industriales DESCRIPCIÓN POLINOMIAL DE LOS SISTEMAS DE CIFRADO DES Y AES Tesis que para obtener el grado de Maestro en

Más detalles

FUNDAMENTOS DE INFORMATICA

FUNDAMENTOS DE INFORMATICA FUNDAMENTOS DE INFORMATICA TEMAS QUE SE TRATARÁN: Arquitectura Interna Sistemas Operativos Programación en Visual Basic Bases de Datos Redes e Internet 1 FUNDAMENTOS DE INFORMATICA Tema 1: Arquitectura

Más detalles

Estructuras de Almacenamiento RAID RAID. Nivel FísicoF. Índice. Requisitos Almacenamiento. Nivel Lógico Modelo Entidad-Relación y Modelo Relacional

Estructuras de Almacenamiento RAID RAID. Nivel FísicoF. Índice. Requisitos Almacenamiento. Nivel Lógico Modelo Entidad-Relación y Modelo Relacional Estructuras de Almacenamiento Nivel FísicoF Nivel Lógico Modelo Entidad-Relación y Modelo Relacional El nivel en el que se deben mover los usuario es el nivel lógico El objetivo de un sistema de bases

Más detalles

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016!

!!!!!!!! !!!!! Práctica!4.! Programación!básica!en!C.! ! Grado!en!Ingeniería!!en!Electrónica!y!Automática!Industrial! ! Curso!2015H2016! INFORMÁTICA Práctica4. ProgramaciónbásicaenC. GradoenIngenieríaenElectrónicayAutomáticaIndustrial Curso2015H2016 v2.1(18.09.2015) A continuación figuran una serie de ejercicios propuestos, agrupados por

Más detalles