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” . • Una definición mas exacta ( e ingenieril): 1 – Es un conjunto de técnicas – Basadas en argumentos matemáticos – Que tienen como objetivo modificar de manera sistemática un texto 2 – De manera que sólo pueda ser autenticado, validado en su integridad y comprendido3 sólo por aquellos que posean las condiciones y los conocimientos adecuados4. 15/10/2012 Reinaldo Mayol Arnao 2 Esquema Básico de Criptografía C= E (P) P= D (C) K K 15/10/2012 Reinaldo Mayol Arnao 3 A veces el tamaño si importa 15/10/2012 Tamaño de la Llave(bits) Número de Llaves posibles Tiempo de descifrado ( a 106 Operaciones /µs) 32 232 = 4.3 x 109 2.15 milliseconds 56 256 = 7.2 x 1016 10 hours 128 2128 = 3.4 x 1038 5.4 x 1018 years 168 2168 = 3.7 x 1050 5.9 x 1030 years Reinaldo Mayol Arnao 4 CRIPTOGRAFÍA DE CLAVE PRIVADA (SIMÉTRICA) 15/10/2012 5 Reinaldo Mayol Arnao ¿Qué significa “ cifrado de clave privada o Simétrico? • Si se utiliza una misma clave para cifrar y descifrar se habla de Cifrado Simétrico o de Clave Privada • Si se utilizan 2 llaves diferentes; una para cifrar y otra para descifrar se habla de Cifrado Asimétrico o de Clave Pública 15/10/2012 Reinaldo Mayol Arnao 6 Cifrado Simétrico 15/10/2012 Reinaldo Mayol Arnao 7 8 Número de llaves necesarias 109 Número 10 de 8 llaves 107 106 Reinaldo Mayol Arnao 104 105 103 Número de puntos finales (Aplicaciones) ALGORITMOS DE LLAVE SIMÉTRICA DES 15/10/2012 Reinaldo Mayol Arnao 9 Introducción • El DES nació como consecuencia del criptosistema LUCIFER, creado por Horst Feistel quien trabajaba en IBM, este criptosistema trabajaba sobre bloques de 128 bits, teniendo la clave igual longitud . 15/10/2012 Reinaldo Mayol Arnao 10 Introducción • Tras las modificaciones introducidas por el NSA (National Security Agency), consistentes básicamente en la reducción de la longitud de clave y de los bloques, DES cifra bloques de 64 bits, mediante permutación y sustitución y usando una clave de 56 bits. 15/10/2012 Reinaldo Mayol Arnao 11 Esquema General de DES 64 bits de texto plano 64 bits de la clave Permutación Selectiva EP1x Permutación Inicial 56 bits Ronda 1 Ronda 16 48 bits K1 48 bits K16 Permutación Selectiva EP2 Rotación Izq. Permutación Selectiva EP2 Rotación Izq. Intercambio (L↔R) Permutación Final ……. 15/10/2012 64 bits de texto cifradoReinaldo Mayol Arnao 12 D EBILIDADES El tamaño de la clave (56 bits) es insuficiente para detener un ataque de fuerza bruta (con un poco de suerte y bajo algunas condiciones) con las técnicas actuales. DE La estructura interna de las cajas S no ha sido publicada hasta la actualidad, por lo que se sospecha podrían contener algún tipo de “sorpresa” incluida por sus diseñadores DES Lentitud de aplicaciones por software REINALDO N. MAYOL ARNAO 15/10/2012 Reinaldo Mayol Arnao 13 DES “Recargado” • A pesar de su vulnerabilidad por el tamaño de las claves, el algoritmo no ha sido roto en mas de 30 años por ninguna otra razón. 15/10/2012 Reinaldo Mayol Arnao 14 15 ¿A UMENTANDO EL TAMAÑO DE LA CLAVE ? K1 P K2 C X K2 K1 C X P C=Ek2[Ek1[P]] P=Dk1[Dk2[C]] REINALDO N. MAYOL ARNAO 15/10/2012 Reinaldo Mayol Arnao PARECE QUE FUNCIONA PERO….. 15 16 Punto Medio 15/10/2012 REINALDO N. MAYOL ARNAO Si C=Ek2[Ek1[P]] entonces: X=Ek1[P]=Dk2[C] [1] Dado un par conocido C, P el ataque funciona de la siguiente forma: Se cifra P con cada una de las posibles 256 claves k1 Se descifra C con cada una de las posibles 256 claves k2 Por [1] tiene que existir un valor de X que haga válida la ecuación. Como se conocen las claves K1 y K2 que hicieron posible [1] se viola el algoritmo sin mayor esfuerzo que el destinado a violar DES. Reinaldo Mayol Arnao 16 Punto Medio 17 K11 C P K2,1 C X K1n P Las claves utilizadas fueron K1n y K2m C P REINALDO N. MAYOL ARNAO 15/10/2012 K1256 K2m Reinaldo Mayol Arnao K2 256 17 T RIPLE DES Ó 3DES Obviamente una forma de vencer al ataque de punto medio es colocar en cadena 3 etapas DES con claves diferentes, pero esto hace que el trabajo para manejar las claves, ahora de 56X3=168 bits se vuelva complicado Una solución es colocar tres etapas DES pero sólo utilizar 2 claves diferentes de forma que: C=Ek1[Dk2[Ek1[P]]] 15/10/2012 Reinaldo Mayol Arnao 18 3DES 15/10/2012 3DES con dos claves es una alternativa relativamente popular al DES y ha sido adoptada para el uso de las normas de manejo de claves ANS X9.17 y ISO 8732. Reinaldo Mayol Arnao 19 AES: RIJNDAEL 15/10/2012 Reinaldo Mayol Arnao 20 Rijndael Mecanismo de cifrado por bloques de 128, 192 y 256 bits Utiliza claves simétricas de igual tamaño Utiliza una serie de r etapas Las primeras r-1 etapas son similares y utilizan una serie de operaciones especiales La última etapa realiza sólo un subconjunto de las operaciones de las etapas anteriores 15/10/2012 Reinaldo Mayol Arnao 21 Funcionamiento de Rijndael ( 128bits) Texto Plano Etapa Inicial w[0,3] AddRoundKey Etapas 1-9 Byte Sub ByteSub ShiftRow MixCol AddRoundKey W[4,7] (4 palabras por etapa) Etapa Final AddRoundKey ByteSub ShiftRow 15/10/2012 Texto Cifrado w[40,43] Reinaldo Mayol Arnao 22 23 ¿Cómo funciona Rijndael? r-1 Etapas Etapa r Byte Sub: Sustitución de bytes Byte Sub ShiftRow: Desplazamiento de filas ShiftRow AddRoundKey MixCol: Multiplicación de columnas AddRoundKey: Xor con la llave 15/10/2012 Reinaldo Mayol Arnao Cifrado de Rijndael Sustituciones Desplazamiento de filas Multiplicación de Columnas XOR con la Clave 15/10/2012 Reinaldo Mayol Arnao 24 Rijndael • En cada ronda sólo la etapa “AddRoundKey” depende de la clave. • Por lo tanto cada etapa puede ser vista como un proceso de desorden de bits seguido por un XOR con la clave. • El algoritmo comienza y termina con etapas “Add RoundKey” 15/10/2012 Reinaldo Mayol Arnao 25 Otros Algoritmos de Cifrado Simétrico 15/10/2012 Algoritmo K Bloque Etapas Utilización IDEA 128 64 8 PGP Blowfish Hasta 448 64 16 Cifrado x Software RC5 Hasta 2048 64 Hasta 255 Cifrado x Software Reinaldo Mayol Arnao 26 Cifrado de Bloques • Hasta el momento hemos hecho el análisis suponiendo la existencia de un sólo bloque. • ¿Qué pasa si el mensaje a cifrar tiene mas del tamaño de un sólo bloque? • Una solución “ obvia” sería dividir el mensaje en bloques y cifrar cada uno individualmente. • Este tipo de esquema se denomina ECB ( Electronic CodeBook) 15/10/2012 Reinaldo Mayol Arnao 27 CBC (Cipher Block Chaining) IV K Bloque 1 Bloque 2 + + CIFRADOR CIFRADOR Cn-1 K + CIFRADOR ….. C1 15/10/2012 K Bloque n C2 Reinaldo Mayol Arnao Cn 28 Hasta este momento… • Quien no tenga la clave (K) no podrá leer el mensaje ( a no ser que se enfrente al problema del criptoanálisis). Tenemos CONFIDENCIALIDAD. • Si confiamos que sólo los extremos de una conversación conocen K y un mensaje puede ser CORRECTAMENTE descifrado podemos confiar que los extremos son los correctos. Casi tenemos AUTENTICIDAD DE LOS EXTREMOS 15/10/2012 Reinaldo Mayol Arnao 29 Pero… • ¿Sabemos si el texto es integro al recibirlo? NO. • ¿Qué hacemos con las claves? 15/10/2012 Reinaldo Mayol Arnao 30 Parte 1 CRIPTOGRAFÍA ASIMÉTRICA 15/10/2012 Reinaldo Mayol Arnao 31 Esquema de Funcionamiento 15/10/2012 Reinaldo Mayol Arnao 32 33 Reglas de Juego • El sistema funciona con un par de llaves, una para cifrar y otra para descifrar1 • Una clave es secreta y nunca es transmitida (Kp) • La otra clave es pública y puede ser difundida en la red sin peligro (Ku) • Si un documento es cifrado con una clave sólo puede ser descifrado con su pareja • Si un documento puede ser descifrado satisfactoriamente2 con una clave sólo puede haber sido cifrado con su pareja 15/10/2012 Reinaldo Mayol Arnao Ejemplo José José envía el mensaje cifrado con la Kp de Tx (José) Marcos Pero un extraño también puede leerlo, porque tiene la Ku (por algo es pública) Marcos descifra el mensaje utilizando la Ku de José 15/10/2012 Reinaldo Mayol Arnao 34 Ejemplo José José envía el mensaje cifrado con la Ku del Rx (Marcos) El extraño no puede descifrar el mensaje porque no tiene Kp de Marcos 15/10/2012 Reinaldo Mayol Arnao Marcos Marcos descifra el mensaje utilizando su Kp 35 36 Conclusiones • Si se cifra el mensaje con la Kp del Tx podría estimarse la autenticidad, pero no la confidencialidad. • Si se cifra el mensaje con la Ku del Rx podría garantizarse la confidencialidad pero no la autenticidad. • Ninguno de los esquemas garantiza la integridad de los datos Tx. 15/10/2012 Reinaldo Mayol Arnao Esquema para garantizar (por el momento) confidencialidad Texto Cifrado (C) Texto Plano ( P) Kp Ku destino destino C=EKuRx (P) 15/10/2012 P=DKpRx(C) Reinaldo Mayol Arnao 37 38 Hasta Ahora… • Tenemos un mecanismo para mantener las claves en ambientes distribuidos divulgando sólo una parte de la misma ( Ku). • Si el destino no ha divulgado su Kp el remitente puede estar seguro que nadie más puede leer y entender el mensaje 15/10/2012 Reinaldo Mayol Arnao 39 Pero… • Seguimos sin integridad. • Pareciera que si logramos autenticidad no podemos lograr confidencialidad. • Ya sabemos que RSA es ineficiente para valores grandes de M.1 15/10/2012 Reinaldo Mayol Arnao Parte 2 FUNCIONES RESUMEN 15/10/2012 Reinaldo Mayol Arnao 40 Funciones Resumen (Hash) 15/10/2012 Una función hash toma una entrada de longitud variable a una salida de longitud fija (96, 128 o 160 bits) Requisitos: No puede deducir la entrada de la salida. No puede generar una salida dada sin tener la misma entrada. No puede encontrar dos entradas que produzcan la misma salida. Cualquier cambio en la entrada cambia la salida. 41 Reinaldo Mayol Arnao Esquema del uso de las funciones hash ¿Son iguales? Usando Criptografía Simétrica K Privada Tx 15/10/2012 Ku Tx Reinaldo Mayol Arnao Usando Criptografía Asimétrica ¿Son iguales? 42 ¿Cómo lograr resúmenes Únicos? 43 • Imagine que un atacante logre conseguir 2 mensajes diferentes que den el mismo hash. • Podría interceptar el mensaje, cambiarlo, volver a ensamblar la estructura mensaje+hash y transmitirlo. • ¡El Rx no tendrá forma de darse cuenta de que el mensaje que ha recibido es falso ! • Si recuerda la paradoja del cumpleaños pareciera que ese es un camino adecuado. 15/10/2012 Reinaldo Mayol Arnao 44 La Paradoja del Cumpleaños • Según la teoría matemática, si reuniéramos a 23 personas1 en una habitación existe aproximadamente un 50% de posibilidades de que 2 de ellas cumplan años el mismo día. • Si en vez de 23 juntamos 75 la probabilidad sube al 99.9%. n ( n 1) 1 P 1 (1 ) 2 365 15/10/2012 Reinaldo Mayol Arnao ¿Por qué la paradoja del cumpleaños es importante? 45 • Simplemente porque podríamos tener 2 criptogramas iguales cuyo origen sean 2 M diferentes. • En un momento entenderemos esto con mas detalle. 15/10/2012 Reinaldo Mayol Arnao De nuevo la paradoja del cumpleaños 46 • Es mucho mas sencillo generar varios mensajes ( por ejemplo variaciones del mensaje fraudulento) y buscar que uno haga que: – Hash ( mensaje verdadero)=Hash ( mensaje falso) • Por ejemplo si el hash es de 64 bits habría 2 64 posibles valores, pero bastaría generar 2 32 para que apareciera uno que cumpliese con la condición anterior. • Entonces el secreto está en usar funciones hash que generen resúmenes suficientemente grandes. 15/10/2012 Reinaldo Mayol Arnao De nuevo: el tamaño si importa 47 • Entonces el tamaño de la función hash es importante para la fortaleza ante ataques de cumpleaños. • Un hash de 128 bits ( MD5) implica hacer 264 mensajes, pero hash de 160 bits implica 280 por ahora fuera de el rango posible por simple aplicación del LPC, sin embargo… 15/10/2012 Reinaldo Mayol Arnao De nuevo: el tamaño si importa 48 • Un grupo de investigadores ha demostrado que puede “ romper el algoritmo” en 263 operaciones, incluso por debajo del umbral razonable de fuerza bruta.( 280 ) – http://www.schneier.com/blog/archives/2005/08/new_ cryptanalyt.html 15/10/2012 Reinaldo Mayol Arnao SHA-1 15/10/2012 Reinaldo Mayol Arnao 49 Un bloque de la función Hsha •Cada función está compuesta por 4 etapas, cada una de 20 pasos. •Los valores iniciales de A, B, C, D, E son los siguientes: 15/10/2012 A,B,C,D A=67452301 B=EFCDAB89 C=98BADCFE D=10325476 PalabrasE=C3D2E1F0 del Buffer t Paso ( 0-19 F Función F S Rotación de k bits a la izq. W Palabra de 32 bits derivada de la 50 entrada del bloque Reinaldo Mayol Arnao Función Hsha A,B,C,D,E (E+ f (t,B,C,D)+S5(A)+Wt+Kt),A,S30(B),C,D W0 W2 Yq W8 W13 XOR Paso t Kt FUNCIÓN f 0-19 5A827999 (B&C)+(B&D) 20-39 6ED9EBA1 B xor C xor D 40-59 8F1BBCDC(B&C)+(B&D)+(C&D) 60-79 CA62C1D6 B xor C xor D 15/10/2012 Reinaldo Mayol Arnao S1 w0 w15 w16 Wt S 1 (Wt 16 Wt 8 Wt 3 ) 51 Ec.1 ¿Qué condiciones debe tener un buen algoritmo de hash? 52 • No deben existir 2 mensajes diferentes que posean igual hash.1 • Teniendo el valor del hash debe ser prohibitivo conseguir el mensaje original. • Teniendo M debe ser fácil calcular el hash. 15/10/2012 Reinaldo Mayol Arnao SHA-1 vs MD5 15/10/2012 Criterio MD5 SHA-1 Longitud de Salida 128 b 160 b Unidad de procesamiento 512 b 512 b Tamaño máximo del mensaje infinito 264-1 b Número de pasos 64 80 Endianness Big-Endian Little-Endian Reinaldo Mayol Arnao 53 54 No son las únicas… • MD5 y SHA no son las únicas funciones hash existentes, aunque si las mas utilizadas. • Tiger y Whirlpool son ejemplos de funciones que incluso han sido señaladas como posibles sustitutas de SHA. • Ambas funciones producen hashes mas grandes ( 512 y 192 bits respectivamente), por lo que en teoría son mas resistentes. • Sin embargo, hay razones para sospechar que no veremos en el futuro implementaciones masivas de ambos protocolos. 15/10/2012 Reinaldo Mayol Arnao Parte 3 FIRMAS DIGITALES 15/10/2012 Reinaldo Mayol Arnao 55 Firmas Digitales Documento Digitalmente Firmado Resumen del mensaje cifrado cifrado con la Kp del Remitente 15/10/2012 Reinaldo Mayol Arnao FIRMA DIGITAL 56 57 Hasta aquí • Si firmamos digitalmente un documento y luego el Rx verifica la firma podrá saber: – Si el Tx es quien dice ser pues de lo contrario no hubiese podido cifrar el hash con su Kp. – Si el mensaje no ha sido cambiado, pues de lo contrario el hash que se trasmitió ( y que fue calculado antes de salir) no podría ser igual que el que se calcula en el receptor. 1 – Podríamos fácilmente extender la seguridad al resto del mensaje cifrándolo también( ahora con la Ku de destino) 15/10/2012 Reinaldo Mayol Arnao Haciendo seguro todo el sistema Hash Mensaje en el Tx K E Mensaje Cifrado 15/10/2012 Mensaje Plano Rx Hash H EKptx Hash Calculado ¿Son iguales? D K Mensaje Cifrado Reinaldo Mayol Arnao Has hRx D Ku tx 58 59 Mezclando ambos mundos • Podríamos utilizar la criptografía simétrica para cifrar los mensajes con una clave K. Esto resolvería: 1- Confidencialidad 2- Eficiencia del mecanismo de cifrado. • Utilizar criptografía asimétrica para firmar digitalmente los mensajes, al fin y al cabo el hash es un número que cumple que 0<hash<n. Con esto tenemos: 3-Integridad y 4-Autenticidad. • PERO ¿Y LA CLAVE K ? ¿Cómo la pasamos entre un extremo y otro de la conexión? 15/10/2012 Reinaldo Mayol Arnao Haciendo seguro todo el sistema, de nuevo Reinaldo Mayol Arnao José y Marcos intercambia de forma segura una(s) llave(s) de sesión K y con ella cifran los mensajes José Hash Mensaje en el Tx K E Mensaje 15/10/2012 Cifrado Mensaje Plano Rx Hash H EKptx K Marcos Hash Calculado ¿Son iguales? D Mensaje Cifrado Has hRx D60Ku tx Algoritmo para el intercambio de llaves: Deffie-Hellman 61 • J y M seleccionan un grupo multiplicativo (con inverso) p y un generador de dicho primo, ambos valores públicos. • J genera un número aleatorio a y envía a M a mod p • M genera un número aleatorio b y envía a J b mod p • En el extremo de Marcos: • M calcula (a)b mod p = ab mod p y luego destruye b • En el extremo de José: • J calcula (b)a mod p = ba mod p y luego destruye a • El secreto compartido por J y M es el valor ab mod p=K • Con K se cifrarán los mensajes entre José y Marcos. 15/10/2012 Reinaldo Mayol Arnao 62 ¿Cuan fuerte es DH? •Un intruso que conozca las claves públicas p y e intercepte el valor a mod p que ha enviado A y el valor b mod p que ha enviado B no podrá descubrir los valores de a, de b y menos ab mod p ... •Salvo que se enfrente al Problema del Logaritmo Discreto (PLD) que se vuelve computacionalmente intratable para valores de p grandes. 15/10/2012 Reinaldo Mayol Arnao Todavía nos quedan cosas pendientes 63 • ¿Cómo hacemos para que todos tengan nuestras llaves públicas? • ¿Cómo informamos si hemos perdido nuestra llave privada? • ¿Cuando alguien nos envía su llave pública, que elementos tenemos para confiar el ella? • ¿Tenemos forma de limitar el uso que se le den a las llaves ? • ¿Si alguien se va de la empresa, como revocamos su llave? 15/10/2012 Reinaldo Mayol Arnao Parte 4 INFRAESTRUCTURA DE CLAVE PÚBLICA (PKI) 15/10/2012 Reinaldo Mayol Arnao 64 65 ¿Por qué? • Existe un mecanismo criptográfico para obtener los objetivos fundamentales de la seguridad... • Pero es necesario establecer un mecanismo para distribuir de manera segura las claves. • No podemos tener las claves de todos • Las claves cambian • Hace falta que alguien certifique quien es quien • Hace falta que alguien establezca para que se puede usar una clave 15/10/2012 Reinaldo Mayol Arnao 66 ¿Qué es una PKI? • Una PKI es una combinación de hardware y software, políticas, normas y procedimientos. • El objetivo fundamental es brindar el soporte para la ejecución de los procedimientos criptográficos estudiados. • Una PKI ofrece las condiciones para verificar la autenticidad de las Ku de los usuarios1 y regular su uso . • Se basa en la existencia de Autoridades Certificadoras (CA) establecidas en una configuración jerárquica2. 15/10/2012 Reinaldo Mayol Arnao 67 ¿Qué es una CA? • Entidad encargada de emitir y revocar certificados digitales. • La Autoridad de Certificación es un tipo particular de Prestador de Servicios de Certificación que legitima ante los terceros que confían en sus certificados la relación entre la identidad de un usuario y su clave pública. 15/10/2012 Reinaldo Mayol Arnao ¿Qué es un Certificado Digital? 15/10/2012 Reinaldo Mayol Arnao 68 La Jerarquía de CA Autoridades Certificados 15/10/2012 Reinaldo Mayol Arnao 69 ¿Qué contiene un certificado? • • • • • • 15/10/2012 Identificación del suscriptor nombrado en el certificado. El nombre, la dirección y el lugar donde realiza actividades la entidad de certificación. La clave pública del usuario. La metodología para verificar la firma digital del suscriptor impuesta en el mensaje de datos. El número de serie del certificado. Fecha de emisión y expiración del certificado. Reinaldo Mayol Arnao 70 ¿Cómo se obtiene un certificado? 15/10/2012 Reinaldo Mayol Arnao 71 72 Autoridad de Registro • La función de las Autoridades de Registro es controlar la generación de certificados para los miembros de una entidad. • Son las RA las que se encargan de la verificación de los datos del solicitante. • La RA tiene un operador, que una vez verificados los datos del solicitante firma la solicitud. • La solicitud se envía firmada a la CA, donde el operador CA emite el certificado que devuelve a la RA para que el usuario pueda descargarla. 15/10/2012 Reinaldo Mayol Arnao ¿Cómo se verifica un Certificado? • El primer paso es tener la Ku ( por supuesto el Certificado) de la CA que ha emitido el certificado, de esta forma verificar la firma del certificado. • Verificar parámetros del certificado como propiedad, caducidad, validez, etc. • Verificar que las políticas de emisión del certificado sean válidas para el uso que se les pretende dar. 15/10/2012 Reinaldo Mayol Arnao 73 74 ¿Por qué se puede revocar un certificado? • La Kp está ( o se sospecha) comprometida • El usuario ya no está certificado por esa CA • Se sospecha que el certificado de la CA está comprometido 15/10/2012 Reinaldo Mayol Arnao 75 15/10/2012 X.509v3 Reinaldo Mayol Arnao 76 X. 509 v3 • Incluye una serie de extensiones adicionales para resolver deficiencias de la versión 2: – El campo Sujeto no era adecuado para acomodar algunos nombres de usuarios y aplicaciones – Existía la necesidad de indicar información de las Políticas de Seguridad – Es necesario definir los usos de los certificados – Es necesario poder definir diferentes claves usadas por un usuario. 15/10/2012 Reinaldo Mayol Arnao Extensiones X509 v3 • Cada extensión tiene un campo de riesgo que define si la extensión puede ser ignorada o no. • Las extensiones se dividen en: – Información sobre claves y políticas – Atributos de Sujeto y Emisor – Limitaciones de la Ruta de Certificación 15/10/2012 Reinaldo Mayol Arnao 77 78 Pero … • A pesar de que le mecanismo funciona, lo cierto es que, de cara al usuario, es un proceso complicado y al que no suelen verle utilidad. • El propio desconocimiento por parte de los administradores del sistema hace que el sistema no sea totalmente implementado o se haga se manera incorrecta. • Los costos asociados son altos. • En nuestros países no hay normas claras para el uso de la certificación digital. 15/10/2012 Reinaldo Mayol Arnao Introducción a la Criptografía FIN DEL TEMA 15/10/2012 Reinaldo Mayol Arnao 79