39
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) mediante la herramienta GNUPG y PGP. 2.3 Criptografia Asimetrica abr-10 M.C. Gustavo A. Gutiérrez Carreón

Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

  • Upload
    votruc

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Unidad 2

2.2 Criptografia Simetrica2.2.1 Sistema de Encriptamiento de

Información (DES) y 3DES2.2.2 Practicas de encriptación con algoritmos

simetricos (CAST5, BLOWFISH,AES, AES192, AES256, TWOFISH) mediante la herramienta

GNUPG y PGP. 2.3 Criptografia Asimetrica

abr-10M.C. Gustavo A. Gutiérrez Carreón

Page 2: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Criptografia

• Dentro de la criptografía se pueden establecer dos divisiones, que se corresponden a dos filosofías distintas:

• criptografía de clave privada o simétrica : se utiliza la misma clave para cifrar y descifrar un mensaje y su seguridad reside en mantenerla en secreto.

• criptografía de clave pública o asimétrica : en este caso se emplean dos claves distintas para cifrar y descifrar un mensaje y su seguridad reside en mantener en secreto la de descifrado.

Page 3: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Criptografía de clave privada o simétrica

• En los sistemas criptográficos de clave privada el emisor y el receptor de un mensaje comparten una misma clave, empleada tanto para cifrar como para descifrar. La seguridad en estos sistemas depende, por tanto, de que dicha clave permanezca en secreto, de ahí el nombre de clave privada.

• También se denomina a estos sistemas de clave simétricaal ser la clave empleada para el descifrado la misma que la del cifrado, o bien otra fácilmente deducible a partir de ella.

Page 4: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Criptografía de clave privada o simétrica

• Ya que la clave es conocida solamente por el emisor y el receptor autorizado, se asegura la confidencialidad: cualquier otra persona no autorizada y por tanto, desconocedora de la clave, no podría descifrar el mensaje.

• Por otra parte, al estar solamente el auténtico emisor en conocimiento de esa clave el receptor puede estar seguro de que no ha sido alterado ni enviado por terceras personas y por ello se confirma la integridad.

• La criptografía de clave privada ha sido y sigue siendo, en la actualidad, la más empleada, existiendo diversos algoritmos de clave privada de probada seguridad y eficiencia.

• No obstante, la existencia de problemas en los sistemas de clave privada hace que su uso sea inviable a través de canales compartidos, tales como redes de ordenadores.

Page 5: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave privada

• DES (Data Encryption Standard, Cifrado Estándar de Datos) DES tuvo su origen en un programa destinado a la protección de datos presentado por el Instituto Nacional de Estándares y Tecnología (NIST), de los EE.UU. Como parte de este programa se pretendía obtener un algoritmo que fuera estándar, eficiente, barato de implementar mediante hardware y cuya seguridad fuese muy alta y estuviese basada únicamente en la clave de cifrado.

• Como resultado fue elegido un algoritmo basado en otro llamado Lucifer, que había sido desarrollado por IBM a principios de los años 70.

• El nuevo algoritmo fue adoptado por el gobierno de los EE.UU. como estándar en 1977 y como estándar ANSI en 1981.

Page 6: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave privada

• Su funcionamiento, aunque complicado, está basado en simples operaciones lógicas realizadas sobre grupos de bits.

• El cifrado generado es de bloque y la clave tiene un tamaño de 56 bits.

• DES ha sido considerado un algoritmo muy seguro (ha soportado todos los ataques mediante criptoanálisis).

• No obstante, en la actualidad el tamaño de la clave hace factibles los ataques por fuerza bruta.

• De hecho, ya se han construido máquinas capaz de romper por fuerza bruta cualquier clave DES en menos de 24 horas (aunque ya antes se suponía que determinados gobiernos y organizaciones podían disponer de tales máquinas).

Page 7: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave privada

• Triple-DES Es una variación del algoritmo anterior, pensada para aumentar su seguridad y al mismo tiempo mantener la compatibilidad con las implementaciones ya hechas de DES. Triple-DES consiste en aplicar DES tres veces con dos claves diferentes, de la siguiente manera: en primer lugar se cifra el texto en claro empleando la primera clave, después se descifra el criptograma obtenido con la segunda y finalmente se vuelve a cifrar con la primera.

Page 8: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave privada

• Para descifrar el mensaje, el proceso es el inverso: se descifra con la primera clave, se cifra con la segunda y se vuelve a descifrar con la primera.

• Esto equivale a un cifrado con una clave de doble longitud (evidentemente, cuando ambas claves son idénticas el cifrado sería equivalente a aplicar DES con cualquiera de ellas).

Page 9: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave privada

• Blowfish Se trata de un algoritmo creado por Bruce Schneider, autor del libro Applied Cryptography (el código fuente en C se puede encontrar en ese mismo libro).

• Es un algoritmo de cifrado de bloque muy rápido, compacto (puede funcionar con solamente 5 Kb de memoria) y la clave que utiliza es de tamaño variable, hasta 448 bits.

• Ha sido sometido a diversos ataques mediante criptoanálisis diferencial, sin resultado.

• Se ha comprobado que existen claves débiles aunque se considera un algoritmo muy seguro.

• No obstante, es un algoritmo demasiado nuevo como para sacar conclusiones definitivas sobre su seguridad.

Page 10: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave privada

• RC4 (Rivest's Code 4) RC4 es un algoritmo de cifrado de flujo de clave de tamaño variable.

• Fue desarrollado en el año 1987 por Ron Rivest para la compañía RSA Data Security, Inc, quien durante siete años fue su propietaria.

• Durante este tiempo los detalles del algoritmo fueron secretos y solamente se daban a conocer tras firmar un acuerdo de no revelación.

• No obstante, en Septiembre de 1994 alguien publicó de manera anónima, en los grupos de noticias de Internet relativos a criptografía, una implementación de RC4.

• Cuando RSA Data Security quiso intervenir era demasiado tarde: RC4 ya estaba siendo estudiado por expertos y discutido en conferencias

Page 11: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave privada

• El funcionamiento de RC4 es bastante sencillo: a partir de la clave se genera una serie de números aleatorios a los cuales se aplica una operación XOR junto con los caracteres del mensaje, obteniéndose el criptograma.

• Para descifrar, se aplica la misma operación, esta vez con los caracteres del criptograma.

• El cifrado obtenido es de flujo y el tamaño de la clave es variable.

• RC4 es un algoritmo que se utiliza en diversos productos comerciales, como Lotus Notes y Oracle secure SQL.

Page 12: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave privada

• IDEA (International Data EncryptionAlgorithm, Algoritmo de Cifrado de Datos Internacional)

• Se trata, en opinión de muchos, del mejor y más seguro algoritmo de cifrado de bloque disponible actualmente. IDEA fue desarrollado en Zurich por James L. Masseyy Xuejia Lai.

• La primera versión apareció en el año 1990 y más tarde fue reforzado, en parte debido a la aparición, por las mismas fechas, del criptoanálisis diferencial.

Page 13: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave privada

• El tamaño de la clave es de 128 bits, lo bastante grande como para permitir descartar (por el momento) los ataques por fuerza bruta.

• Ha sido sometido a diversos ataques, hasta ahora sin resultado.

• Pero para valorar su seguridad serán necesarios algunos años más.

Page 14: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave privada

• Skipjack es un algoritmo secreto desarrollado por la NSA (National Security Agency, Agencia Nacional de Seguridad de los EE.UU.) para implementación hardware.

• Es un algoritmo del que no se conocen detalles, por estar clasificado.

• La clave que utiliza tiene un tamaño de 80 bits, lo que permite descartar durante algunos años los ataques por fuerza bruta.

• No obstante, la mala reputación que tiene la NSA en el mundo de la criptografía, junto al hecho de que sea un algoritmo clasificado, hace dudar de que skipjack sea un algoritmo seguro y se piensa que podría tener una puerta trasera.

Page 15: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Problemas de los sistemas de clave privada

• En teoría los sistemas de clave privada deberían funcionar bien, puesto que sólo con mantener en secreto la clave se asegura la confidencialidad y la integridad de los mensajes.

• De hecho, muchos de estos sistemas presentan una enorme seguridad.

• Sin embargo, existen problemas derivados precisamente de la distribución de las claves.

Page 16: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Problemas de los sistemas de clave privada

• Supongamos que tenemos un grupo de usuarios en el que todos quieren intercambiar con los demás mensajes en privado.

• Obviamente, cada usuario tiene que acordar antes con cada uno de los otros una clave a utilizar.

• Cuando hay solamente dos usuarios, se necesita únicamente una clave.

• Cuando los usuarios son tres, el número de claves necesarias es de tres.

• Es fácil comprobar que si se une al grupo un cuarto participante el número de claves necesarias asciende a seis

Page 17: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Problemas de los sistemas de clave privada

Page 18: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Problemas de los sistemas de clave privada

• De aquí se puede deducir que no existe una relación lineal entre el número de usuarios de un sistema y el número de claves necesarias para conservar el secreto y la autenticidad de los mensajes.

• Para un número n cualquiera de usuarios, el número de claves viene dado por la expresión: claves = n x (n-1) / 2.

• Esto quiere decir que el número de claves crece de forma cuadrática.

• Por este motivo, un sistema de clave privada no resulta práctico cuando hay muchos usuarios, básicamente por dos aspectos: • si no existe un control exhaustivo pueden aparecer claves

repetidas, lo que desvirtúa el concepto de secreto y autenticidad de todo sistema de cifrado

Page 19: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Problemas de los sistemas de clave privada

• por otra parte, un usuario que desee intercambiar mensajes con todos los demás deberá conocer un gran número de claves diferentes de memoria, dado que no sería nada seguro tenerlas guardadas en un fichero y menos aún anotadas en una lista

• Todo esto se complica aún más cuando dos usuarios deben acordar la clave a utilizar a través de un canal de comunicaciones: para hacerlo de manera confidencial ese canal tiene que ser seguro, ya que de lo contrario podría ser 'pinchado' para interceptar la clave.

• Pero si dos usuarios disponen de un canal seguro, ¿porqué no utilizarlo para intercambiar los mensajes directamente en lugar de cifrarlos?

Page 20: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Criptografía de clave pública o asimétrica

La criptografía de clave pública fue concebida a mediados de la década de los años 70, cuando dos ingenieros de la universidad de Stanford, Whitfield Diffie y Martin Hellman, propusieron la utilización de problemas matemáticos computacionalmente intratables para el diseño de sistemas criptográficos

La idea era usar dos claves diferentes para los procesos de cifrado y descifrado, la primera de ellas denominada clave pública y la segunda clave privada.

Page 21: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Criptografía de clave pública o asimétrica

Ambas claves están relacionadas entre sí mediante un tipo de función matemática conocida como función con trampa, mediante la cual es fácil obtener la clave pública a partir de la privada, pero muy difícil hacer lo contrario.

Por este motivo también se denomina a este tipo de sistemas de clave asimétrica.

Además, ambas claves tienen la particularidad de ser complementarias entre sí: lo que se cifra con una se puede descifrar con la otra.

La filosofía de los sistemas de clave pública es que cada usuario posee un par de claves, una pública y otra privada; la clave pública puede ser difundida libremente entre otros usuarios, los cuales la usan para cifrar los mensajes destinados a ese usuario, y solamente éste puede descifrarlos usando su clave privada, conocida únicamente por él.

Page 22: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Criptografía de clave pública o asimétrica

Page 23: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Criptografía de clave pública o asimétrica

• Con este novedoso enfoque se resuelven los problemas asociados a los sistemas de clave privada: el número de claves crece de forma lineal respecto del número de usuarios, sin que por ello se vea afectada la seguridad.

• Y ya no hay peligro de que se pueda interceptar la clave de descifrado, ya que no se transmite.

• Pero además se introduce el concepto de firma digital, que permite verificar tanto la integridad del mensaje transmitido como la autoría del mismo.

Page 24: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Criptografía de clave pública o asimétrica

• Los algoritmos de clave pública son públicos, lo que supone que la seguridad se basa únicamente en la clave privada: intentar obtenerla a partir de la clave pública es un problema intratable cuya resolución puede llevar mucho tiempo, incluso miles de años.

• Las funciones con trampa utilizadas están basadas en básicamente dos problemas matemáticos: • problema de la factorización : dado un número muy grande

que es producto de dos números primos desconocidos, hallar éstos. El tiempo de resolución de este problema crece de manera exponencial en función del tamaño de los números primos empleados.

• problema del logaritmo discreto : dado un número y que verifica que y = ax (mod p), obtener x. Se estima que la dificultad de este problema es equivalente a la del problema de la factorización

Page 25: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

La firma digital

• La firma digital es un mecanismo inherente a algunos sistemas de clave pública que tiene dos propósitos: por un lado la de autenticar a la persona firmante de un mensaje y por otro verificar la integridad del mismo (de lo contrario se podría alterar éste y mantener la firma, cometiendo así un fraude).

• La firma digital es única para cada mensaje y no es posible falsificarla.

• Para firmar un mensaje se procede de la siguiente manera: en primer lugar el emisor calcula su firma a partir del mensaje cifrando éste con su clave privada.

Page 26: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

La firma digital

• A continuación envía dicha firma al receptor. Nadie más que el emisor conoce su clave privada, lo cual le permite autentificarse.

• Si además quiere realizar el cifrado, seguidamente vuelve a cifrar el mensaje, esta vez con la clave pública del usuario receptor.

• Para que el usuario receptor pueda comprobar la firma, necesita conocer la clave pública del emisor y descifrar con ella dicha firma.

• Si ésta coincide con el mensaje recibido, se verifica que efectivamente ha sido el auténtico emisor quien lo ha enviado.

• Es más, se verifica también que el mensaje no ha sido alterado durante el trayecto.

Page 27: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave pública

• Intercambio de Diffie-Hellman El algoritmo de Diffie-Hellman es, más que un algoritmo de cifrado, un protocolo que permite a dos usuarios establecer una clave a través de un canal inseguro.

• Cada usuario tiene inicialmente su propia clave. Intercambiando información de sus respectivas claves, ambos pueden obtener una tercera clave, denominada de sesión, para cifrar y descifrar en el futuro todos sus mensajes.

• Sin embargo, a una tercera persona que intercepte la información intercambiada no le resultará posible determinar esa clave de sesión.

Page 28: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave pública

• Mochila de Merkle-Hellman Fue el primer algoritmo general de clave pública y en un principio solamente podía aplicarse al cifrado de datos, siendo posteriomente adaptado a la firma digital.

• Este algoritmo basa su seguridad en el llamado problema de la mochila: dado un conjunto de objetos, cada uno de distinto peso, averiguar si es posible introducir algunos de ellos en una mochila de manera que ésta tenga exactamente un peso determinado.

• Para cifrar con este sistema, se toma un tamaño de bloque igual al número de objetos de la mochila.

• Cada bit que es igual a 1 de ese bloque de texto en claro selecciona el correspondiente objeto.

Page 29: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave pública

• De esta forma, cada bloque de criptograma es la suma de los pesos de los objetos seleccionados.

• Para descifrar hay que resolver el problema de la mochila para cada bloque de criptograma.

• El truco está en que se pueden usar dos mochilas diferentes, con una de ellas el tiempo de descifrado es exponencial y con la otra es lineal (la primera de ellas es una mochila difícil y la otra es fácil).

• Se puede obtener la mochila difícil a partir de la otra, pero es muy complicado hacer lo contrario.

• Como se puede suponer, la clave pública es la mochila difícil y la privada la mochila fácil.

• Al poco tiempo de su aparición dos criptoanalistas, Shamir y Zippel, hallaron una debilidad que permitía obtener la mochila fácil a partir de la difícil.

• Por ello en la actualidad este algoritmo resulta inútil para usos prácticos.

Page 30: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave pública

• RSA Su nombre procede de las iniciales de sus creadores (Rivest, Shamir y Adleman).

• Ya antes de su aparición hubo presiones por parte de la popular NSA (National Security Agency, de los EE.UU.) para que no fuese publicado. RSA permite tanto el cifrado como la firma digital.

• La seguridad de RSA está basada en la dificultad de factorizarnúmeros grandes.

• Las claves pública y privada son obtenidas en función de dos números primos muy grandes (entre 100 y 200 dígitos, o incluso más).

• Para averiguar la clave privada es necesario factorizar el producto de esos dos números primos, denominado módulo.

• No está demostrado que no se pueda calcular la clave privada sin tener que factorizar el módulo y tampoco que no haya un método de factorización eficiente.

• No obstante, aunque puede ser vulnerable a ciertos ataques, RSA se considera uno de los algoritmos criptográficos más resistentes creados hasta la fecha

Page 31: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave pública

• Pohlig-Hellman El esquema de cifrado de este algoritmo es similar al empleado en RSA, pero basa su seguridad en el problema del logaritmo discreto.

• Pohlig-Hellman no es un algoritmo de clave simétrica, porque se utilizan claves diferentes para cifrar y descifrar.

• Pero tampoco se puede considerar un algoritmo de clave asimétrica en sentido estricto, porque cada una de esas dos claves es fácilmente deducible a partir de la otra y ambas deben mantenerse en secreto.

Page 32: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Algoritmos de clave pública

• Algoritmos de curva elíptica En el año 1985 dos investigadores propusieron, de manera independiente, el empleo de curvas elípticas en los sistemas de clave pública.

• Lo que hicieron no fue crear un nuevo algoritmo, sino implementar otros ya existentes, como Diffie-Hellman, con curvas elípticas.

• Este tipo de curvas son interesantes porque proporcionan un medio de obtener elementos y reglas de combinación entre ellos con propiedades que facilitan la implementación de algoritmos criptográficos y en cambio carecen de otras propiedades que podrían facilitar el criptoanálisis.

• Entre ellas, las más interesantes son las llamadas 'curvas de campo finito', que teóricamente proporcionaría la posibilidad de implementar sistemas de clave pública conocidos empleando claves de menor tamaño, lo que reduciría sustancialmente el tiempo de cifrado y descifrado, verdadero talón de Aquiles de los sistemas de clave pública.

Page 33: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

Seguridad de un cifrado

• La seguridad de un cifrado está en función de dos factores: la resistencia del algoritmo y el tamaño de la clave empleada.

• Se considera que la resistencia de un algoritmo es ideal cuando no presenta debilidades y para atacarlo no queda más recurso que el empleo de la fuerza bruta.

• El tiempo que lleve un ataque de este tipo debe ser superior al tiempo de validez de la información cifrada.

• En la siguiente tabla se ilustra el tiempo que tardaría un adversario en realizar un ataque por fuerza bruta para diferentes tamaños de clave, suponiendo que dispone de un ordenador capaz de probar diez mil millones (1010) de claves por segundo:

•Tamaño de clave Tiempo

56 bits 83 días y medio

64 bits 58 años y medio

128 bits 1021 años

2048 bits 10593 años

Page 34: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

PGP

Con PGP cada usuario tiene dos claves diferentes: una pública que todos los demás usuarios conocen y emplean para cifrar mensajes destinados a él y otra privada que solamente ese usuario conoce y que emplea para descifrar los mensajes que recibe.

Page 35: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

PGP

• Cada clave de PGP se almacena dentro de un certificado de clave, junto con otra información relativa a la misma. Un certificado está formado por: – la clave pública en sí – su tamaño (en bits) y su identificador asociado – la fecha en que fue creada – el identificador o identificadores de usuario de la persona

propietaria de la clave – opcionalmente, una lista de firmas digitales pertenecientes

a otras personas. Estas firmas avalan la autenticidad de esa clave

Page 36: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

PGP

• Anillo de claves • Un anillo de claves es un fichero, parecido a una

base de datos, en el que se almacenan múltiples claves de forma secuencial. Es posible tener tantos anillos de claves como se quiera, pero la mayoría de los usuarios de PGP utilizan únicamente dos: uno en el que guardan su clave pública y las de otros usuarios con los que mantienen correspondencia y otro en el que guardan su clave o claves privadas.

Page 37: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

PGP

• Contraseña • La contraseña es una frase que el usuario

elije y que se utiliza para proteger su clave privada. De otro modo, alguien podría robar la clave privada de otro usuario y usarla para descifrar sus mensajes. Por ello, la contraseña es requerida cada vez que se va a utilizar la clave privada.

• Las contraseñas también se utilizan para cifrar ficheros de manera convencional: en este caso, a partir de una contraseña introducida se obtiene directamente la clave de cifrado.

Page 38: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

PGP

• Firma digital • La firma digital es el mecanismo que proporciona los

servicios de integridad y autenticación: gracias a ella es posible saber si un mensaje lo ha enviado realmente una persona o si ha sido alterado durante el trayecto.

• La firma digital de PGP consiste en un bloque de caracteres obtenido a partir de dos elementos: el mensaje original y la clave privada del emisor.

• Pero además la firma digital se utiliza en PGP para certificar claves.

• El mecanismo de certificación será estudiado con detalle en el capítulo de DISTRIBUCION DE CLAVES.

Page 39: Redes de Cómputo - fcca.umich.mx de Informatica/Redes... · 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

PGP

• Armadura Ascii• La armadura ascii es un formato de transmisión de

ficheros compuesto únicamente por caracteres imprimibles.

• El correo electrónico tiene esta limitación y en los procesos de cifrado y firma digital de PGP inevitablemente aparecen caracteres que no lo son.

• Por ello PGP tiene la posibilidad de generar los ficheros de salida en formato de armadura ASCII.

• Además, con esto se consigue que los mensajes sean intercambiados sin problemas entre usuarios que utilizan plataformas o sistemas operativos diferentes y en los que determinados caracteres podrían ser interpretados como caracteres de control y suprimidos del mensaje.