Introducción a la Criptografía(IV)

En el capítulo anterior de Introducción a la Criptografía hablamos sobre el cifrado DES. Hoy empezaremos a ver ya detalles importantes. La clave pública.

Cifrado de un mensaje

Cifrado de un mensaje

Clave pública

En los años 70 se creó un nuevo concepto dentro de la criptografía, a saber `Public Key’ (Clave Pública). En `Public Key’ cada persona posee una combinación única de dos claves que son diferentes pero que hacen juego: una clave pública y una clave privada. Las claves tienen que ser confeccionadas de tal manera que lo que se cifra con tu clave pública sólo puede ser descifrado por tu clave privada (y al revés).

La idea es que, por ejemplo, Juan puede enviar su clave pública a Ana por una línea de comunicación pública. Después, Ana puede codificar el mensaje que ella quiere enviar a Juan con esa clave. Juan, a su vez, descodifica ese mensaje con la clave privada de él. Mientras Juan mantenga en secreto esa clave, nadie podrá leer el mensaje.

Si el sistema está bien hecho y si también Ana ha enviado la clave pública de ella a Juan, Ana puede usar su propia clave privada como garantía de que fue ella quien envió ese mensaje a Juan. Es que cualquier persona por lo tonta que sea y que tenga la clave pública de Juan puede mandarle un mensaje codificado. Por eso Ana cifra primero el mismo mensaje con su propia clave privada y de esta manera pone su `firma digital‘, por decirlo así. En cuanto Juan recibe el mensaje, primero lo descifra con su propia clave privada y luego con la clave pública de Ana.

En sus intentos de descifrar `Public Key’ los especialistas en este terreno pueden aplicar una técnica extra de ataque: pueden tratar de deducir de una u otra forma la clave privada de la clave pública. La mayoría de las recetas que se han ido inventando para la confección de pares de claves resultaron no ser resistentes a estos ataques. La única receta que se considera segura es el llamado sistema RSA, nombre compuesto por las iniciales de sus creadores Rivest, Shamir y Adleman. Su sistema está basado en el hecho de que – si bien es cierto que es relativamente simple multiplicar dos números que sólo son divisibles por sí mismos (números primos) – no obstante, es considerablemente más difícil deducir de nuevo del producto los números primos originales. Si los números primos son bastante largos, ello incluso se hace imposible.

Si el producto de los números primos es un número de más o menos 200 cifras (decimales), un ordenador con la actual capacidad de cálculo tarda algunos millones de años en encontrar los números primos originales. Para llegar a entender algo de la seguridad del sistema RSA puedes imaginarte lo siguiente.

Haces dos guías telefónicas infinitamente grandes de una ciudad imaginaria. Una guía está ordenada por números, la otra por apellidos. Publicas la guía ordenada por apellidos y tú te quedas con la guía ordenada por números. Las personas que quieren enviarte la palabra `CACA’, escogen de la guía ordenada por apellidos sucesivamente un apellido que comienza con `C’ (p.e. Cairo), después un apellido que comienza con `A’ (p.e. Alonso), etcétera. Luego, el mensaje que te mandan sólo consta de los números de teléfono de Cairo, Alonso y de las otras personas encontradas de esta manera. Tú tienes la guía ordenada por números y puedes descodificar el mensaje. Como las guías telefónicas son casi infinitamente grandes, es prácticamente imposible

ordenar la guía pública por números, y encontrar los números de teléfono correctos requeriría muchísimo tiempo.

La gran ventaja de `Public Key’ es que el intercambio de claves se ha hecho más simple y que ya no es necesario enviar primero un mensajero. Tampoco es necesario proteger montones de disquettes contra personas no autorizadas. El gran problema con el algoritmo RSA estriba en que el proceso de ciframiento y desciframiento exige muchísimo tiempo. Por consiguiente, en la práctica casi nadie utiliza el RSA en su forma `pura’, aunque sólo sea porque los esquemas convencionales no son necesariamente más débiles que la criptografía del `Public Key’. Por lo tanto, el siguiente programa, el PGP, hace uso de una combinación de `Public Key’ y del algoritmo IDEA, que hemos mencionado anteriormente.

Publicado el 13/08/2009 en Criptografia, Telecomunicaciones y etiquetado en , , , , . Guarda el enlace permanente. 1 comentario.

Deja un comentario

Fill in your details below or click an icon to log in:

Logo de WordPress.com

You are commenting using your WordPress.com account. Log Out / Cambiar )

Twitter picture

You are commenting using your Twitter account. Log Out / Cambiar )

Facebook photo

You are commenting using your Facebook account. Log Out / Cambiar )

Connecting to %s

Seguir

Get every new post delivered to your Inbox.