You are on page 1of 60

SEGURIDAD INFORMÁTICA

Criptografía

½#¾

Objetivos Específicos de la Unidad

‡ Conocer las diferencias técnicas criptográficas para asegurar la información, algoritmos populares y los métodos para romperlos de manera de poder planificar mejor las técnicas criptográficas a usar en una organización.

½#¾

Contenidos
‡ Conceptos preliminares. ‡ Algoritmos criptográficos. ‡ Llaves publicas y privadas ‡ PKI ‡ Firmas Digitales ‡ Técnicas Hashing ‡ Algoritmo RSA y MD5. Detección de colisiones. ‡ PGP
½#¾

Conceptos ‡ ‡ ‡ ‡ En la jerga de la criptografía. los dígitos o los símbolos. denominado texto cifrado o criptograma. El descifrado es el proceso inverso que recupera el texto plano a partir del criptograma y la clave. que supone el cambio de significado de los elementos básicos del mensaje -las letras. procesos de gestión de claves y actuaciones de los usuarios. El protocolo criptográfico especifica los detalles de cómo se utilizan los algoritmos y las claves (y otras operaciones primitivas) para conseguir el efecto deseado. algoritmos de cifrado.y ± la transposición: que supone una reordenación de las mismas. ‡ ‡ ‡ La gran mayoría de las cifras clásicas son combinaciones de estas dos operaciones básicas. El conjunto de protocolos. Las dos técnicas básicas de cifrado en la criptografía clásica son: ± la sustitución. en su globalidad es lo que constituyen un criptosistema. la aplicación concreta del algoritmo de cifrado (también llamado cifra) se basa en la existencia de una clave: información secreta que adapta el algoritmo de cifrado para cada uso distinto. la información original que debe protegerse se denomina texto en claro. que es con lo que el usuario final trabaja e interactúa. ½#¾ . El cifrado es el proceso de convertir el texto plano en un galimatías ilegible. Por lo general.

‡ Algoritmo: Método de manipulación utilizado para cambiar el texto original a texto cifrado. ‡ Clave: Datos de entrada al algoritmo para que transforme el texto original a cifrado. Conocido también como texto simple (cleartext).Términos ‡ Texto original (plaintext): La información se encuentra en su forma original. ½#¾ . ‡ Texto cifrado (ciphertext): La información después que ha sido ofuscada por el algoritmo de encriptación.

‡ Criptógrafo: Individuo que practica la Criptografía. ‡ Analista criptográfico: Individuo que utiliza análisis criptográfico para identificar y utilizar las debilidades en los algoritmos criptográficos. ½#¾ . ‡ Criptografía: Arte de encubrir la información mediante el uso de encriptación.Términos (2) ‡ Encriptación: Proceso de realizar el cambio de texto original al cifrado. ‡ Desciframiento: Proceso de efectuar el cambio del texto cifrado al original. ‡ Análisis criptográfico: Arte de analizar algoritmos criptográficos con la intención de identificar debilidades.

2. A través de las debilidades en el algoritmo. Mediante la fuerza bruta en contra de la clave. 3.Ataques en contra de la encriptación Los sistemas de encriptación pueden ser atacados de tres maneras: 1. Por medio de las debilidades en el sistema de entorno. ½#¾ .

Algoritmos que utilizan una única clave tanto en el proceso de cifrado como en el de descifrado: se denominan cifras simétricas o de clave simétrica y son la base de los algoritmos de cifrado clásico. 2.Llaves publicas y privadas Existen dos grandes grupos de cifras: 1. Los que utilizan una clave para cifrar mensajes y una clave distinta para descifrarlos: se denominan cifras asimétricas. ½#¾ . de clave asimétrica o de clave pública y clave privada y forman el núcleo de las técnicas de cifrado modernas.

Encriptación de clave privada ‡ Requiere que todas las partes que están autorizadas para leer la información tengan la misma clave. ‡ Es el tipo mas utilizado de encriptación. ‡ El problema de proteger la información se reduce a proteger la clave: Sólo quien la conoce puede descifrar el mensaje. ‡ No proporciona autentificación. ‡ Es rápida y puede ser fácilmente implementada tanto por hardware como en software. ‡ También se conoce como encriptación de clave simétrica: se usa la misma clave para cifrar y descifrar la información. ya que cualquiera que conozca la clave puede descifrar el mensaje. ‡ Proporciona confidencialidad de la información y cierta garantía respecto a que no pueda ser modificada mientras se encuentra en tránsito. ½#¾ .

Códigos de sustitución ‡ Reemplaza ó cambia elementos en el texto por otros. ‡ Puede ser descifrado empleando análisis de la frecuencia de los códigos presentes en el mensaje cifrado. ½#¾ . y funciona bien mientras que el remitente y el receptor usen el mismo esquema de sustitución: la clave es el ³libro de códigos´ usado para los reemplazos. ‡ Es simple.

‡ Si las OTP se utilizan mas de una vez. ‡ Sólo debe utilizarse una vez. ½#¾ . ‡ Su uso no es viable generalmente en entornos con abundante tráfico.OTP) constituyen el único sistema de encriptación teóricamente indescifrable. el texto cifrado no proporciona ningún mecanismo para recuperar la clave original. ‡ Si las libretas no son verdaderamente aleatorias. ‡ Si los números en la OTP son verdaderamente aleatorios y la OTP es mas larga que el mensaje. ‡ Una OTP es una lista de números en orden completamente aleatorio que se emplea para codificar un mensaje. surgen patrones que pueden emplearse para realizar un análisis de frecuencias.Libretas de un único uso ‡ Las libretas de un único uso (one-time pads . pueden ser analizadas y descifradas.

93 y 99 ‡ Utiliza una clave de 56 bits: 7 bits de 8 bytes. ‡ Es un cifrado en bloque que funciona sobre un bloque de 64 bits del texto original. cada una con una subclave diferente. Adoptado por NIST en 1977 y reafirmado en 83. 88. quedando el octavo bit para paridad. Ver en el manual Linux: man des ½#¾ .Estándar de encriptación de datos (DES) ‡ Data Encryption Standard ± DES. ‡ La clave pasa a través de su propio algoritmo para derivar las 16 subclaves. fue desarrollado por IBM a principios de lo 70¶s. ‡ Existen 16 rondas de encriptación.

que son funciones inversas entre sí (PI "deshace" la acción de PF. Este entrecruzamiento se conoce como esquema Feistel. pero se incluyeron presuntamente para facilitar la carga y descarga de bloques sobre el hardware de mediados de los 70.Estructura general de Feistel en DES La estructura básica del algoritmo aparece representada en la figura. y viceversa). Hay 16 fases idénticas de proceso. Antes de las rondas. denominadas rondas. el bloque es dividido en dos mitades de 32 bits y procesadas alternativamente. ½#¾ . También hay una permutación inicial y final denominadas PI y PF. PI y PF no son criptográficamente significativas.

en especial sobre hardware. las mitades no se intercambian. La función-F mezcla la mitad del bloque con parte de la clave. La salida de la función-F se combina entonces con la otra mitad del bloque. y los bloques son intercambiados antes de la siguiente ronda.Estructura general de Feistel en DES (2) La estructura de Feistel asegura que el cifrado y el descifrado sean procesos muy similares ² la única diferencia es que las subclaves se aplican en orden inverso cuando desciframos. ésta es una característica de la estructura de Feistel que hace que el cifrado y el descifrado sean procesos parecidos. al no haber necesidad de algoritmos distintos para el cifrado y el descifrado. El resto del algoritmo es idéntico. El símbolo rojo " " representa la operación OR exclusivo (XOR). Esto simplifica enormemente la implementación. Tras la última ronda. ½#¾ .

2. las 32 salidas de las S-cajas se reordenan de acuerdo a una permutación fija. Expansión ² la mitad del bloque de 32 bits se expande a 48 bits mediante la permutación de expansión. Sustitución ² tras mezclarlo con la subclave. o cajas de sustitución. 4. la P-caja Alternando la sustitución de las S-cajas. Dieciséis subclaves ² una para cada ronda ² se derivan de la clave inicial mediante la generación de subclaves descrita más abajo. el cifrado sería lineal. ½#¾ . especificada por una tabla de búsqueda Las S-cajas constituyen el núcleo de la seguridad de DES ² sin ellas. Cada una de las ocho S-cajas reemplaza sus seis bits de entrada con cuatro bits de salida. 3. de acuerdo con una trasformación no lineal. Permutación ² finalmente. y la permutación de bits de la P-caja y la expansión-E proporcionan las llamadas "confusión y difusión" respectivamente.La función (F) de Feistel Opera sobre medio bloque (32 bits) cada vez y consta de cuatro pasos: 1. un concepto identificado por Claude Shannon en los 40 como una condición necesaria para un cifrado seguro pero práctico. y fácil de romper. Mezcla ² el resultado se combina con una subclave utilizando una operación XOR. duplicando algunos de los bits. denominada E en el diagrama. el bloque es dividido en ocho trozos de 6 bits antes de ser procesados por las S-cajas.

y entonces se seleccionan 48 bits de subclave mediante la Elección Permutada 2 (PC-2) ² 24 bits de la mitad izquierda y 24 de la derecha. Los 56 bits se dividen entonces en dos mitades de 28 bits. cada bit se usa aproximadamente en 14 de las 16 subclaves. En rondas sucesivas.Generación de subclaves ‡ ‡ La figura representa la generación de claves para el cifrado ² el algoritmo que se encarga de proporcionar las subclaves. se seleccionan 56 bits de la clave de los 64 iniciales mediante la Elección Permutada 1 (EP-1) ² los ocho bits restantes pueden descartarse o utilizarse como bits de comprobación de paridad. Primero. Los desplazamientos (indicados por "<<<" en el diagrama) implican que se utiliza un conjunto diferente de bits en cada subclave. La generación de claves para descifrado es similar ² debe generar las claves en orden inverso. a continuación cada mitad se trata independientemente. Por tanto los desplazamientos se hacen hacia la derecha. ambas mitades se desplazan hacia la izquierda uno o dos bits (dependiendo de cada ronda). en lugar de hacia la izquierda. ‡ ‡ ‡ ‡ ½#¾ .

Modos de operación de DES
1. Libro de código electrónico: Encriptación básica. El texto y la clave combinados formando el cifrado. Una entrada idéntica produce salida idéntica. 2. Encadenamiento de bloques cifrados: Cada bloque es cifrado como un libro de código electrónico, pero se agrega un tercer factor derivado de la entrada anterior. Una entrada idéntica no produce una salida idéntica. 3. Retroalimentación del cifrado: Usa un texto cifrado y previamente generado como entrada para DES. 4. Retroalimentación de salida: Semejante al anterior, pero empleando la propia salida previa.

½#¾

Ataques a DES
‡ ‡ Aunque se ha publicado más información sobre el criptoanálisis de DES que de ningún otro cifrado de bloque, el ataque más práctico a día de hoy sigue siendo por fuerza bruta. Se conocen varias propiedades criptoanalíticas menores, y son posibles tres tipos de ataques teóricos que, aún requiriendo una complejidad teórica menor que un ataque por fuerza bruta, requieren una cantidad irreal de textos planos conocidos o escogidos para llevarse a cabo, y no se tienen en cuenta en la práctica. Se han descubierto dos ataques que requieren menos cálculos que una búsqueda exhaustiva: 1. Análisis criptográfico diferencial 2. Análisis criptográfico lineal Ver: RSA Laboratories' Frequently Asked Questions About Today's Cryptography, Version 4.1 La clave de 56 bits es un problema: proporciona solamente 255 claves potenciales, lo que puede examinarse por fuerza bruta en un breve período. NIST ha reconocido este hecho, por lo que actualmente sólo se autoriza DES simple para sistemas heredados.
½#¾

‡

‡ ‡ ‡

Triple DES ± TDES ó 3DES
‡ Consiste en aplicar DES tres veces consecutivas con dos ó tres claves. ‡ Si sólo se usan dos claves, las claves 1 y 2 son diferentes. ‡ TDES es un algoritmo relativamente rápido. Puede implementarse en hardware. ‡ Se han propuesto ataques contra TDES, pero los requisitos en datos necesarios son muy elevados, por lo que es prácticamente inviable.
½#¾

Encriptación de contraseña ‡ La función de encriptación de contraseñas es en un único sentido. (man crypt) ‡ Las contraseñas encriptadas son fáciles de descifrar por fuerza bruta. por lo que se utilizan archivos de contraseña ocultos. ½#¾ . ‡ La debilidad principal del sistema reside en la selección de contraseñas. ‡ El estándar utilizado en UNIX es una variación del DES.

‡ El algoritmo se compone de 10 a 14 rondas o series en dependencia del tamaño del texto original y de las dimensiones de la clave. ‡ Rijndael es un cifrado en bloque que utiliza claves y bloques de 128. y declaró que todos ellos eran suficientemente seguros para su empleo en información no clasificada del gobierno de los Estados Unidos.Encriptación estándar avanzada (AES) ‡ Con el fin de reemplazar a DES. incluyendo el Rijndael. no se ha encontrado ningún ataque exitoso contra el AES. ½#¾ . La Agencia de Seguridad Nacional de los Estados Unidos (NSA) revisó todos los finalistas candidatos al AES. 192 ó 256 bits. el NIST propuso el Advanced Encryptation Standard ± AES desde 2000. ‡ Hasta 2005.

IDEA ‡ En criptografía el Algoritmo Internacional de Encriptamiento de Datos (IDEA) es un cifrado de bloque descrito por primera vez en 1991. ‡ Es libre para uso no comercial aunque fue patentado y sus patentes se vencerán en 2010 y 2011. ‡ Originalmente IDEA fue llamado IPES. ‡ Fue utilizado como el cifrador simétrico en las primeras versiones de PGP. ‡ Empleado en PGP (man idea) ½#¾ . (PES Mejorado). un algoritmo de cifrado anterior. ‡ Utiliza clave de 128 bits.Internatonal Data Encryption Algorithm . ‡ Fue una revisión menor a PES (Estándar de Encriptamiento Propuesto).

‡ Las tres operaciones en su proceso. operación O exclusiva (XOR) (círculo con un más +) ½#¾ . con las cuales logra la confusión. suma y aplica módulo 216 (cuadrado con un más +) 2. se realizan con grupos de 16 bits y son: 1. ‡ El proceso para encriptar y desencriptar es similar. multiplica y aplica módulo 216+1. que es un número primo (círculo con punto ·) 3.Operación de IDEA ‡ Opera con bloques de 64 bits usando una clave de 128 bits y consiste en ocho transformaciones idénticas y una transformación de salida (media ronda).

4 x 1038 Todas las operaciones son algebraicas. ‡ ‡ ‡ ‡ ‡ ½#¾ . diferencias notables con el DES que le hacen mas atractivo: El espacio de claves es mucho mas grande: 2128=3. a primera vista. No hay operaciones a nivel de bit.Ventajas de IDEA Este algoritmo presenta. Se pueden utilizar todos los modos de operación definidos para el DES. porque a cada vuelta se modifican todos los bits de bloque y no solamente la mitad. facilitando su programación en alto nivel Es mas eficiente que los algoritmos de tipo Feistel.

cantidad imposible de manejar con los medios informáticos actuales. ya que seria necesario probar 1038 claves. ‡ No se han reportado debilidades frente criptoanálisis lineal o algebraico. Los diseñadores analizaron IDEA para medir su fortaleza frente al criptoanálisis diferencial y concluyeron que lo es bajo ciertos supuestos. ‡ Se han encontrado algunas claves débiles las cuales en la práctica son poco usadas siendo necesario evitarlas explícitamente. el ataque por fuerza bruta resulta impracticable.Seguridad de IDEA ‡ En primer lugar. ‡ Es considerado por muchos como uno de los cifrados en bloque mas seguros que existen ½#¾ .

Usa clave de 256 bits ½#¾ . Empleado en versiones recientes de PGP ‡ GOST: Estándar ruso en respuesta a DES. 192 ó 256 bits ‡ CAST-128: Usa clave de 128 bits.Otros algoritmos de clave privada ‡ RC5: Permite claves de longitud variable ‡ Skipjack: Usa clave de 80 bits ‡ Blowfish: Clave de longitud variable hasta 448 bits (man blowfish) ‡ Twofish: Usa bloques de 128 bits y puede emplear claves de 128.

‡ Tanto el remitente como el receptor deben tener una clave. ‡ La integridad de la información en tránsito es protegida en cualquiera de las dos operaciones anteriores. ‡ Si se desea confidencialidad. Si se tiene solamente una de las claves no puede calcularse la otra del par. el propietario del par de claves encripta la información con la clave privada. mientras que la otra se conoce como clave pública. ‡ En la práctica. ‡ Si se desea autentificación. ‡ Es mas reciente que la clave privada. ½#¾ . ‡ La relación entre claves es tal que lo encriptado por K1 sólo puede ser descifrado por K2 y viceversa. la encriptación se realiza con clave pública.Encriptación de clave pública ‡ Utiliza dos claves: una para cifrar y otra diferente para descifrar. una clave del par se conoce como clave privada y se mantiene en secreto por el propietario del par. y se divulga con información respecto a quien es el propietario.

‡ Siendo no autenticado. ½#¾ . sin embargo provee las bases para varios protocolos autenticados. no demostrada) de calcular logaritmos discretos en un campo finito.Hellman ‡ Permite el intercambio secreto de claves entre dos partes que no han tenido contacto previo. utilizando un canal inseguro. y de manera anónima (no autenticada). ‡ Se emplea generalmente como medio para acordar claves simétricas que serán empleadas para el cifrado de una sesión.Intercambio de clave Diffie . ‡ Su seguridad radica en la extrema dificultad (conjeturada.

que utiliza una clave pública. ½#¾ . ‡ Una clave es un número de gran tamaño.RSA (iniciales de los apellidos de sus autores) ‡ Algoritmo asimétrico cifrador de bloques. la cual es guardada en secreto por su propietario. como un archivo binario o como una cadena de bits o bytes. ‡ Emplea expresiones exponenciales en aritmética modular. ‡ Cuando se envía un mensaje. el emisor busca la clave pública de cifrado del receptor y una vez que dicho mensaje llega al receptor. y otra privada. éste se ocupa de descifrarlo usando su clave oculta. ‡ La seguridad de este algoritmo radica en que no hay maneras rápidas conocidas de factorizar un número grande en sus factores primos utilizando computadoras tradicionales. que se distribuye en forma autenticada preferentemente. ‡ Los mensajes enviados usando el algoritmo RSA se representan mediante números y el funcionamiento se basa en el producto de dos números primos grandes (mayores que 10100) elegidos al azar para conformar la clave de descifrado. que una persona puede conceptualizar como un mensaje digital.

‡ La recuperación de clave también ha sido sugerida como posible elemento de una PKI.PublicPublic-Key Infrastructure .PKI ‡ La infraestructura de clave pública PKI es un término relativamente reciente que consiste de protocolos. ‡ Entre los servicios comúnmente encontrados en una PKI se encuentran: ± Key registration: El registro de claves permite emitir un nuevo certificado para una clave pública. servicios y estándares que soportan aplicaciones de Criptografía de clave pública. ± Trust evaluation: La evaluación de confianza determina si un certificado es válido y a cuales operaciones autoriza. ½#¾ . ± Key selection: Obtención de una clave pública para trabajo. ± Certificate revocation: Cancelación de un certificado previamente emitido.

‡ El término PKI se utiliza para referirse tanto a la autoridad de certificación y al resto de componentes. ya que no se requieren métodos específicos de PKI para usar algoritmos de clave pública. de manera más amplia y a veces confusa. al uso de algoritmos de clave pública en comunicación electrónicas.Elementos de PKI ‡ PKI es una combinación de hw y sw. ½#¾ . políticas y procedimientos que permiten asegurar la identidad de los participantes en un intercambio de datos usando criptografía pública. ‡ Este último significado es incorrecto. como para referirse.

‡ Un usuario puede firmar digitalmente mensajes usando su clave privada. ½#¾ .PKI .Propósito y funcionalidad ‡ Una PKI permite a los usuarios autenticarse frente a otros usuarios y usar la información de los certificados de identidad (por ejemplo. hardware (por ejemplo. ‡ Esto permite a dos (o más) entidades establecer una comunicación que garantiza la integridad del mensaje. las claves públicas de otros usuarios) para cifrar y descifrar mensajes. una PKI consiste en un software para los clientes. la autenticación de los usuarios y el no repudio del mensaje enviado sin tener que intercambiar previamente ninguna información secreta. tarjetas inteligentes o smart cards) y unos procedimientos operacionales. ‡ En general. y otro usuario puede validar que dicha firma pertenece al usuario anterior (usando la clave pública del usuario contenida en el certificado que ha sido emitido por una autoridad de certificación de la PKI). un software de servidor (como una autoridad de certificación).

en inglés. ½#¾ . Certificate Authority): Encargada de emitir y revocar certificados. CA. Registration Authority): Responsable de verificar el enlace entre los certificados (concretamente. Los dos repositorios más importantes son el repositorio de certificados y el repositorio de listas de revocación de certificados. En una lista de revocación de certificados (o.Componentes de PKI Los componentes más habituales de una infraestructura de clave pública son: ‡ La autoridad de certificación (o. ‡ La autoridad de registro (o. RA. en inglés. en inglés. Certificate Revocation List) se incluyen todos aquellos certificados que por algún motivo han dejado de ser válidos antes de la fecha establecido dentro del mismo certificado. Es la entidad de confianza que da legitimidad a la relación de una clave pública con la identidad de un usuario o servicio. CRL. entre la clave pública del certificado) y la identidad de sus titulares. ‡ Los repositorios: Estructuras encargadas de almacenar la información relativa a la PKI.

TSA. etc. ‡ La autoridad de sellado de tiempo (o. ½#¾ .Componentes de PKI (2) ‡ La autoridad de validación (o. en inglés. y un certificado asociada a su clave pública. Utilizan un conjunto de aplicaciones que hacen uso de la tecnología PKI para validar firmar digitales. cifrar documentos para otros usuarios. en inglés. Validation Authority): Encargada de comprobar la validez de los certificados digitales. VA. TimeStamp Authority): Encargada de firmar documentos con la finalidad de probar que existían antes de un determinado instante de tiempo. ‡ Los usuarios y entidades finales son aquellos que poseen un par de claves: pública y privada.

thawte.com/ ‡ Otras con software disponible: ± ± ± ± ± ± ± ± ± ± ± Computer Associates eTrust PKI Entrust Microsoft Netscape CMS Nexus OpenCA Open SSL Herramienta libre para crear CAs Red Hat Certificate Management System RSA Security Safelayer WISeKey ½#¾ .com/ ± Thawte http://www.verisign.Empresas certificadoras PKI ‡ Comerciales: ± VeriSign http://www.

Otros algoritmos de clave pública ‡ Encriptación de curva elíptica ‡ ElGamal ‡ Algoritmo de firma digital (Digital Signature Algorithm ± DSA) ½#¾ .

Criptografía de curva elíptica ‡ Variante de la criptografía asimétrica o de clave pública basada en las matemáticas de las curvas elípticas. ‡ Ha sido ampliamente reconocida como el algoritmo más fuerte para una determinada longitud de clave. por lo que podría resultar útil sobre enlaces que tengan requisitos muy limitados de ancho de banda. al tiempo que proporcionan un nivel de seguridad equivalente. ‡ Se argumenta que puede ser más rápida y usar claves más cortas que otros métodos como RSA. ½#¾ . ‡ La utilización de curvas elípticas en criptografía fue propuesta de forma independiente por varios investigadores.

‡ Es usado en el software libre GNU Privacy Guard. ‡ Es un ejemplo simple de un algoritmo dominante asimétrico semántico seguro del cifrado (bajo asunciones razonables). ‡ Es un algoritmo para criptografía asimétrica basado en DiffieHellman. entonces ElGamal estaría roto. el algoritmo de encriptación. significando que un solo texto plano se puede cifrar a muchos textos cifrados posibles. con la consecuencia que un cifrado de general ElGamal produce una extensión de 2:1 de tamaño de texto plano al texto cifrado. ‡ La seguridad del algoritmo depende en la dificultad de calcular logaritmos discretos. ‡ Es probabilístico. si el problema discreto del logaritmo se pudiera solucionar eficientemente. ‡ Consiste de tres componentes: el generador de claves. versiones recientes de PGP y otros sistemas. Específicamente. y el algoritmo de desencriptación. ½#¾ .Cifrado ElGamal ‡ El protocolo ElGamal de negociación de claves provee negociación en un solo paso y autenticación unilateral (del receptor hacia el emisor) si la clave pública del receptor es conocida de antemano por el emisor.

‡ Consta de tres partes: generación de llaves. firma y verificación. ‡ Una desventaja de este algoritmo es que requiere mucho más tiempo de cómputo que RSA.Algoritmo de firma digital ‡ El algoritmo de firma digital (Digital Signature Algorithm ± DSA) fue propuesto por el NIST para firmas digitales. ‡ Sólo sirve para firmar y no para cifrar información. ‡ Se hizo público en 1991. ½#¾ .

‡ Esta función asocia un valor dentro de un conjunto finito (generalmente subconjunto de los números naturales) a su entrada. ‡ La firma digital de un documento es el resultado de aplicar cierto algoritmo matemático. denominado función hash. ‡ Cuando la entrada es un documento. el resultado de la función es un número que identifica casi unívocamente al texto. al contenido. el destinatario puede aplicar de nuevo la función y comprobar su resultado con el que ha recibido. ‡ No obstante esto presenta algunas dificultades.Firmas Digitales ‡ Método criptográfico que asegura su integridad así como la identidad del remitente. ‡ Si se adjunta este número al texto. ½#¾ .

½#¾ . ‡ Varían en los conjunto de partida y de llegada y en cómo afectan a la salida semejanzas o patrones de la entrada. utilizando una función hash o algoritmo hash. ‡ Un hash es el resultado de dicha función o algoritmo. dando como resultado un conjunto imagen finito generalmente menor (un subconjunto de los números naturales por ejemplo). ‡ Una función hash es una función para sumarizar o identificar probabilísticamente un gran conjunto de información (dominio).Técnicas Hashing ‡ Es un método para resumir o identificar datos a través de la probabilidad.

es decir que se podrá identificar unívocamente las entradas. procesamiento de datos y firmas digitales entre otros. ½#¾ . son diferentes.Técnicas Hashing (2) ‡ Una propiedad fundamental del hashing es que si dos hashes. utilizando la misma función. ‡ Una buena función hash es una que experimenta pocas colisiones en el conjunto esperado de entrada. criptografía. entonces las dos entradas que generaron dichos hashes también lo son. ‡ Son usadas en múltiples aplicaciones. como los arrays asociativos.

Ejemplo de función de hash ½#¾ .

Requisitos ‡ Para que sea de utilidad. Si concuerdan. debería ser difícil recuperar el documento que lo produjo. Dado uno de estos valores. Otra persona puede comprobar la firma aplicando la misma función a su copia del documento y comparando el resultado con el del documento original. SHA y MD5 son dos ejemplos de este tipo de algoritmos. es casi seguro que los documentos son idénticos. 2. no tiene más que usar la clave pública del firmante para descifrarla. Para usarlos un documento se firma con una función "hash". ½#¾ . ‡ Existen funciones "hash" específicamente designadas para satisfacer estas dos importantes propiedades. El firmante cifra el documento con su clave privada y cualquiera que quiera comprobar la firma y ver el documento. la función hash debe satisfacer dos importantes requisitos: 1. cuyo resultado es la firma. Debe ser difícil encontrar dos documentos cuyo valor para la función "hash" sea idéntico. ‡ Algunos sistemas de cifrado de clave pública se pueden usar para firmar documentos.

Funciones tan simples no distribuirán los índices de una forma pareja.Tablas Hash ‡ Las tablas hash. cada byte puede tener sólo 26 de sus 256 valores posibles. una búsqueda puede llegar a requerir sólo uno o dos intentos en la memoria o el archivo que contiene la información. la clave es alfabética. por ejemplo. Por ejemplo. una cadena alfanumérica puede ser utilizada para buscar la información de un empleado en la base de datos de un sistema. una de las aplicaciones más extendidas de las funciones hash. en promedio. Naturalmente. ½#¾ . ‡ La utilización de tablas hash provee de un acceso casi directo a dichos registros. lo que significa que. Si. aceleran el proceso de búsqueda de un registro de información según una clave (nota: este uso de la palabra poco se relaciona con su significado habitual). ‡ Si asumimos que la clave es una cadena de bytes. entonces la función hash debería ser como un índice de los registros que tiene una distribución aleatoria sobre las cadenas de entrada esperadas. De otra forma. se prefiere una buena función hash que evitará colisiones de hash. habría más colisiones de hash degradando así el tiempo de búsqueda.

Colisiones ‡ En informática y en especial en criptografía. ½#¾ . Sin embargo. ‡ Es matemáticamente imposible que una función de hash carezca de colisiones. que se asegura que todas las entradas tengan una salida diferente. las colisiones se producen más frecuentemente en los malos algoritmos. una colisión de hash se produce cuando dos entradas distintas producen la misma salida. ya que el número potencial de posibles entradas es menor que el número de salidas que puede producir un hash. ‡ En ciertas aplicaciones especializadas con un relativamente pequeño número de entradas que son conocidas de antemano es posible construir una función de hash perfecta.

½#¾ . ‡ Una de las propiedades deseables de las funciones de hash es que sea computacionalmente no factible encontrar una colisión. dado que un hash dado puede pertenecer a un infinito número de entradas. ‡ El valor de una función hash puede ser usado para certificar que un texto dado (o cualquier otro dato) no está modificado publicando su valor de hash si no es factible hallar una colisión. siempre habrá colisiones.Colisiones (2) ‡ En una función en la cual se puede introducir datos de longitud arbitraria y que devuelve un hash de tamaño fijo (como MD5).

SHA-256. SHA-384. Dos años más tarde el primer sucesor de SHA fue publicado con el nombre de SHA-1. ‡ Ha sido examinado muy de cerca por la comunidad criptográfica pública y no se ha encontrado ningún ataque efectivo. Algoritmo de Hash Seguro) es un sistema de funciones hash criptográficas relacionadas de la Agencia de Seguridad Nacional de los Estados Unidos (NSA) y publicadas por el National Institute of Standards and Technology (NIST).Algoritmo SHA ‡ La familia SHA (Secure Hash Algorithm. ‡ El primer miembro de la familia fue publicado en 1993 es oficialmente llamado SHA. ½#¾ . ‡ Existen cuatro variantes más que se han publicado desde entonces cuyas diferencias se basan en un diseño algo modificado y rangos de salida incrementados: SHA-224. y SHA-512 (todos ellos son referidos como SHA-2).

lo que hará que en un futuro cercano se cambie de este sistema a otro más seguro. MD5 (acrónimo de Message-Digest Algorithm 5.Algoritmo MD5 ‡ En criptografía. Ejemplo de funcionamiento de SHA y MD5 ½#¾ . Algoritmo de Resumen del Mensaje 5) es un algoritmo de reducción criptográfico de 128 bits ampliamente usado. ‡ Durante el año 2004 fueron divulgados ciertos defectos de seguridad.

‡ Los últimos ataques contra SHA-1 han logrado debilitarlo hasta 263. el tiempo de vida de SHA-1 quedó visto para sentencia. quedara seriamente comprometido en el 2004 por parte de un equipo de investigadores chinos. ‡ El mismo equipo de investigadores chinos ha demostrado que son capaces de romper el SHA-1 en al menos 269 operaciones. entre otros. ½#¾ . ‡ Después de que MD5. unas 2000 veces más rápido que un ataque de fuerza bruta (que requeriría 280 operaciones).Ataques contra SHA-1 SHA‡ La resistencia de SHA-1 se vió comprometida en 2005.

el mismo ADN: No habría manera de poder diferenciarlos usando estos medios de discriminación. ³este ataque es de particular importancia para las aplicaciones que usan firmas digitales tales como marcas de tiempo y notarías. ± Si un hash fuese roto podría haber otro documento con la misma huella. ± La similitud podría ser que hubiese personas que compartiesen las mismas huellas digitales. muchas aplicaciones que usan firmas digitales incluyen información sobre el contexto que hacen este ataque difícil de llevar a cabo en la práctica.Ataques contra SHA-1 (2) SHA‡ Según el NIST.´ ‡ La importancia de la rotura de una función hash se debe comprender de la siguiente manera: ± Un hash permite crear una huella digital. ½#¾ . en teoría única. o peor aún. ‡ Sin embargo. de un archivo.

Criptografía híbrida ‡ ‡ ‡ ‡ ‡ Método criptográfico que usa tanto un cifrado simétrico como uno asimétrico. Emplea el cifrado de clave pública para compartir una clave para el cifrado simétrico. independientemente de cuál sea más débil. y el mensaje saliente es cifrado con la clave simétrica. si un atacante pudiera descifrar una clave de sesión. El atacante tendría que volver a empezar y descifrar otra clave de sesión para poder leer cualquier otro mensaje. En PGP y GnuPG el sistema de clave pública es probablemente la parte más débil de la combinación. La clave de sesión es cifrada con la clave pública. Ya que compartir una clave simétrica no es seguro. El mensaje que se esté enviando en el momento. Tanto PGP como GnuPG usan sistemas de cifrado híbridos. ‡ ‡ ½#¾ . El destinatario usa su clave privada para descifrar la clave de sesión y acto seguido usa la clave de sesión para descifrar el mensaje. se cifra usando la clave y enviándolo al destinatario. Un sistema de cifrado híbrido no es más fuerte que el de cifrado asimétrico o el de cifrado simétrico de los que hace uso. Sin embargo. el cifrado con esa clave de sesión. todo combinado automáticamente en un sólo paquete. sólo sería útil para poder leer un mensaje. la clave usada es diferente para cada sesión.

½#¾ .³Pretty Good Privacity´ . pero como ocurre siempre en el campo de la criptografía. así como facilitar la autenticación de documentos gracias a firmas digitales.PGP ‡ Privacidad bastante buena o PGP es un programa cuya finalidad es proteger la información distribuida a través de Internet mediante el uso de criptografía de clave pública. ‡ Puede proporcionar un gran nivel de seguridad. observadores informados creen que ni siquiera las agencias del gobierno estadounidense como la NSA son capaces de descifrar directamente mensajes generados adecuadamente con PGP. su implementación y su utilización influyen muchísimo en la seguridad lograda. Es más. ‡ PGP es más fácil de utilizar que muchos otros criptosistemas.

copias de seguridad. ½#¾ . Cualquier criptosistema puede ser inseguro. independientemente de lo bueno que sea su diseño. ‡ A diferencia de protocolos de seguridad como SSL. que sólo protege los datos en tránsito (es decir. y si se utiliza descuidadamente es posible desproteger fácilmente un archivo de texto protegido. PGP también puede utilizarse para proteger datos almacenados en discos.PGP (2) ‡ Existe la posibilidad de que haya errores en la implementación. mientras se transmiten a través de la red). etc.

½#¾ . ‡ GnuPG es una aplicación que cumple el estándar RFC 2440 (OpenPGP).GnuPG ‡ Reemplazo libre y completo de PGP. ‡ Puede ser usado sin restricciones debido a que no usa el algoritmo patentado IDEA.

½#¾ . espaciado. en donde la existencia del mensaje es clara. ‡ Un texto puede ser manipulado en el tamaño de letra. una foto. para posteriormente ser ocultados por ejemplo en un texto que pueda contener dicho mensaje cifrado. quien sabe la técnica usada. ‡ Es el arte y ciencia de escribir mensajes secretos de tal forma que nadie fuera de quien lo envía y quien lo recibe sabe de su existencia. ‡ Los mensajes en la esteganografía muchas veces son cifrados primero por medios tradicionales. Por lo general un mensaje de este tipo parece ser otra cosa. como una lista de compras. para evitar que se perciba la existencia del mismo. resultando el mensaje esteganográfico.Esteganografía ‡ Rama de la criptología que trata sobre la ocultación de mensajes. pero el contenido del mensaje está oculto. un artículo. sólo el que lo recibe. en contraste con la criptografía. puede extraer el mensaje y luego descifrarlo. tipo y otras características para ocultar un mensaje. etc.

como DES. ½#¾ . ‡ Capaz de romper varios algoritmos de encriptación. lo que ha hecho que sea uno de los más usados en este campo. SHA-1 y otros. ‡ John the Ripper es capaz de autodetectar el tipo de cifrado de entre muchos disponibles. ya que permite a los administradores de sistemas comprobar que las contraseñas de los usuarios son suficientemente buenas. ‡ Es una herramienta de seguridad muy popular.John the Ripper ‡ Programa que aplica fuerza bruta para descifrar contraseñas. y se puede personalizar su algoritmo de prueba de contraseñas.

¿Cuáles son los componentes esenciales de un cifrador simétrico? 4. ¿Cuáles son las tres maneras de atacar un esquema de encriptación? 2. ¿Cuántas claves se necesitan para que dos personas se comuniquen usando un cifrador simétrico? 5. ¿Qué es triple cifrado (TDES ó 3DES)? ½#¾ .Preguntas 1. Explique las diferencias entre cifrado por clave pública y por clave privada. ¿Cuál es la principal debilidad de DES? 6. 3.

Preguntas (2) 7. ¿En qué consiste PKI? 10.¿En qué se diferencian la clave de sesión y la clave maestra? 11. ¿Qué es una firma digital? 9.¿Cuáles son las componentes principales de un criptosistema de clava pública? ½#¾ . Explique las ventajas de IDEA.¿Qué propiedades debe cumplir una función hash para que sea útil? 12. 8.

criptored.es/guiateoria/gt_m001a.LCripto Textos: ‡ Eric Maiwald ³Fundamentos de Seguridad de Redes´ Parte III Módulo 12 ³Encriptación´ pp 247-276 ‡ William Stalings ³Fundamentos de Seguridad en Redes: Aplicaciones y Estándares´ Parte I ³Criptografía´ pp 25-88 Sitios Web: ‡ Taller de Criptografía ‡ Wikipedia: Criptografía ‡ Introducción a la Criptografía ‡ Openwall Project: bringing security into open environments ½#¾ .ZIP) ‡ ³LIBRO ELECTRÓNICO DE SEGURIDAD INFORMÁTICA Y CRIPTOGRAFÍA´ Jorge Ramió Aguirre (archivo SegInfoCrip_v41.htm ‡ Criptografía y Seguridad en Computadores: http://wwwdi.php?n=Main.ujaen.Bibliografía Archivos: ‡ ³CRIPTOSISTEMAS CLÁSICOS´ (archivo CriptoClasica.upm.es/~mlucena/wiki/pmwiki.ZIP): http://www.