CRYPTOGRAPHY
Desde que el hombre ha necesitado comunicarse con los demás ha tenido la necesidad de que algunos de sus mensajes solo fueran conocidos por las personas a quien estaban destinados. La necesidad de poder enviar mensajes de forma que solo fueran entendidos por los destinatarios hizo que se crearan sistemas de cifrado, de forma que un mensaje después de un proceso de transformación, lo que llamamos cifrado, solo pudiera ser leído siguiendo un proceso de descifrado.
Esclavos con textos grabados en su cuero cabelludo, alfabetos de extraños símbolos, escritos de tinta simpática, secuencias interminables de números... Desde la Antigüedad, el hombre ha hecho gala de su ingenio para garantizar la confidencialidad de sus comunicaciones. La criptografía (del griego kryptos, "escondido", y graphein, "escribir"), el arte de enmascarar los mensajes con signos convencionales, que sólo cobran sentido a la luz de una clave secreta, nació con la escritura. Su rastro se encuentra ya en las tablas cuneiformes, y los papiros demuestran que los primeros egipcios, hebreos, babilonios y asirios conocieron y aplicaron sus inescrutables técnicas. Uno de los primeros métodos de encriptado que está documentado es atribuido a Julio Cesar, que se basaba en la sustitución de las letras de un documento por la tercera letra que le correspondiese en el alfabeto. Así la A se convertía en una D, la B en E...
Con el tiempo y debido principalmente a su uso militar, los sistemas criptográficos fueron avanzando en complejidad, hasta llegar a nuestros días donde la informática ha entrado en nuestras vidas y la necesidad de seguridad al realizar nuestras operaciones aumenta.
En la actualidad, en la vida real, estamos acostumbrados a enviar o recibir cartas postales que vienen encerradas en un sobre para que su lectura esté reservada solo a nosotros o a su destinatario. En el mundo virtual, en el caso del e-mail esto no es así, ya que lo que enviamos es la carta sin el "sobre" que lo contenga, es decir, sin nada que impida su lectura por parte de cualquiera que pudiera interceptarla. ¿Queremos que nuestras confidencias, nuestros números de tarjeta de crédito, nuestros saldos en bancos, etc... sean vistos por cualquiera?
La criptografía, rama de la criptología, es la ciencia de transformar la información a una forma imposible o inviable de ser duplicada o descifrada sin la clave secreta. Esta se basa en que el emisor emite un mensaje en claro, que es tratado mediante un cifrador con la ayuda de una clave, para crear un texto cifrado. Este texto cifrado, por medio del canal de comunicación establecido, llega al descifrador que convierte el texto cifrado, apoyándose en otra clave, para obtener el texto en claro original. Las dos claves implicadas en el proceso de cifrado/descifrado pueden ser o no iguales dependiendo del sistema de cifrado utilizado.
Las dos técnicas más sencillas de cifrado, en la criptografía clásica, son la sustitución (que supone el cambio de significado de los elementos básicos del mensaje -las letras, los dígitos o los símbolos-) y la trasposición (que supone una reordenación de los mismos); la gran mayoría de las cifras clásicas son combinaciones de estas dos operaciones básicas.
El descifrado es el proceso inverso que recupera el texto plano a partir del criptograma y la clave. 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. El conjunto de protocolos, algoritmos de cifrado, procesos de gestión de claves y actuaciones de los usuarios, en conjunto es lo que constituyen un criptosistema, que es con lo que el usuario final trabaja e interactúa.
Existen tres tipos de cifrados utilizados en la actualidad:
El primero de ellos es el cifrado simétrico (calve secreta) es aquel que utiliza la misma clave para cifrar y descifrar un documento. El principal problema de seguridad reside en el intercambio de claves entre el emisor y el receptor ya que ambos deben usar la misma clave. Por lo tanto se tiene que buscar también un canal de comunicación que sea seguro para el intercambio de la clave. Es importante que dicha clave sea muy difícil de adivinar ya que hoy en día los ordenadores pueden adivinar claves muy rápidamente. Por ejemplo el algoritmo de cifrado DES usa una clave de 56 bits, lo que significa que hay 72 mil billones de claves posibles. Actualmente ya existen ordenadores especializados que son capaces de probar todas ellas en cuestión de horas. Hoy por hoy se están utilizando ya claves de 128 bits que aumentan el "espectro" de claves posibles (2 elevado a 128) de forma que aunque se uniesen todos los ordenadores existentes en estos momentos no lo conseguirían en miles de millones de años.
Algoritmos típicos que utilizan cifrado simétrico son DES, IDEA, RC5, etc. El criptosistema de clave secreta más utilizado es el Data Encryption Standard (DES) desarrollado por IBM y adoptado por las oficinas gubernamentales estadounidenses para protección de datos desde 1977.
Este sistema de cifrado tiene la ventaja de que es altamente eficiente, dado que los algoritmos utilizados son muy rápidos al poder implementarse tanto en hardware como en software de una forma fácil.
El segundo es el Sistema de cifrado asimétrico, llamado sistema de cifrado de clave pública, usa dos claves diferentes. Una es la clave pública y se puede enviar a cualquier persona y otra que se llama clave privada, que debe guardarse para que nadie tenga acceso a ella. Para enviar un mensaje, el remitente usa la clave pública del destinatario para cifrar el mensaje. Una vez que lo ha cifrado, solamente con la clave privada del destinatario se puede descifrar, ni siquiera el que ha cifrado el mensaje puede volver a descifrarlo. Por ello, se puede dar a conocer perfectamente la clave pública para que todo aquel que se quiera comunicar con el destinatario lo pueda hacer.
Un sistema de cifrado de clave pública basado en la factorización de números primos se basa en que la clave pública contiene un número compuesto de dos números primos muy grandes. Para cifrar un mensaje, el algoritmo de cifrado usa ese compuesto para cifrar el mensaje. Para descifrar el mensaje, el algoritmo de descifrado requiere conocer los factores primos, y la clave privada tiene uno de esos factores, con lo que puede fácilmente descifrar el mensaje.
Es fácil, con los ordenadores de hoy en día, multiplicar dos números grandes para conseguir un número compuesto, pero es muy difícil la operación inversa, Dado ese número compuesto, factorizarlo para conocer cada uno de los dos números. Mientras que 128 bits se considera suficiente en las claves de cifrado simétrico, y dado que la tecnología de hoy en día se encuentra muy avanzada, se recomienda en este caso que la clave pública tenga un mínimo de 1024 bits. Para un ataque de fuerza bruta, por ejemplo, sobre una clave publica de 512 bits, se debe factorizar un numero compuesto de hasta 155 cifras decimales.
Cualquier intruso que intercepte la transmisión de un mensaje encriptado con la clave pública no podrá descifrar el contenido de la misma al no poseer la clave privada del receptor, por lo que no supone ningún peligro el enviar dicha clave por un canal inseguro.
El más extendido de los sistemas de clave pública fue desarrollado por Rivest, Shamir y Adleman en el MIT en 1977 y se conoce como criptosistema RSA. Este algoritmo es reversible, es decir, además de permitir cifrar con la clave pública y descifrar con la privada, permite cifrar con la clave privada y descifrar con la pública.
EL tercero es el Sistema de cifrado híbrido, este es el sistema de cifrado que usa tanto los sistemas de clave simétrica como el de clave asimétrica. Funciona mediante el cifrado de clave pública para compartir una clave para el cifrado simétrico. En cada mensaje, la clave simétrica utilizada es diferente por lo que si un atacante pudiera descubrir la clave simétrica, solo le valdría para ese mensaje y no para los restantes. Tanto PGP como GnuPG usan sistemas de cifrado híbridos. La clave simétrica es cifrada con la clave pública, y el mensaje saliente es cifrado con la clave simétrica, todo combinado automáticamente en un sólo paquete. El destinatario usa su clave privada para descifrar la clave simétrica y acto seguido usa la clave simétrica para descifrar el mensaje. 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, independientemente de cuál sea más d
A continuación se mencionaran algunas aplicaciones de los sistemas de encriptación que se usan actualmente:
Una de ellas es la firma digital, la cual es una cantidad pequeña de datos que se crearon usando alguna llave confidencial, y hay una llave pública que puede usarse para verificar que la firma que usó la llave privada correspondiente realmente se generó. El algoritmo generador de la firma debe ser tal que sin saber la llave confidencial no es posible crear una firma que verificar como válida. Se usan las firmas digitales para verificar que un mensaje realmente viene del remitente exigido o para testificar (o certifica) que una llave pública pertenece a una persona particular. Varios métodos para hacer y verificar firmas digitales están libremente disponibles. El algoritmo ampliamente conocido es RSA.
Otro ejemplo es el hash criptográfico. Esté se usa en varios contextos, por ejemplo para computar contenido del mensaje al hacer una firma digital. Una función de hash compresa los bits de un mensaje a un valor de hash de fijo-tamaño en cierto modo que distribuye los posibles mensajes uniformemente entre los posibles valores de hash. Una función de hash criptográfico hace esto en cierto modo que le hace sumamente difícil proponer un mensaje que hash a un valor de hash particular. Muchas buenas funciones de hash criptográfico están libremente disponibles. Las funciones de hash criptográfico más famosas son de la familia de MD, en particular MD4 y MD5. MD4 ha estado fracturado, y MD5, en el uso extendido, todavía debe ser considerado seguro hasta también está fracturado. SHA-1 y MD-160 son dos ejemplos que todavía son considerados seguros.
Por último tenemos a los generadores de número aleatorio que generan al azar números para el uso en las aplicaciones de criptografía, como para generar las llaves. Los generadores de número de azar convencional, disponibles en la mayoría de los idiomas, no son convenientes para el uso en las aplicaciones de criptografía. Los números al azar son basados en verdaderas fuentes físicas de aleatoriedad que no puede predecirse. Tales fuentes pueden incluir el ruido de un dispositivo del semiconductor, los bits significantes de una entrada del audio, o los intervalos entre interrupciones del dispositivo o pulsaciones del usuario. Cuando la verdadera aleatoriedad física no está disponible, deben usarse números pseudo-aleatorios. Esta situación es indeseable, pero a menudo se levanta en computadoras del propósito generales. Aunque los generadores de número de azar fuertes no son muy difíciles a construir si se diseñaron propiamente, ellos a menudo son débiles. La importancia del generador de número de azar debe darse énfasis a que si esta hecho mal, se volverá fácilmente el punto más débil del sistema.
En el mundo dependiente de la información en el que vivimos ahora la criptografía puede ser encontrada alrededor de nosotros, por lo general en los lugares en donde no nos lo esperaríamos. Cuando las personas piensan en la encriptación tienden a pensar en grandes computadoras procesando información militar o muy secreta. En realidad, la criptografía, aunque obviamente si puede ser usada con fines militares, tiene muchos usos y aplicaciones comerciales. Proteger la información confidencial de una compañía, proteger una llamada telefónica, permitirle a alguien ordenar un producto por internet sin el temor de que su tarjeta de crédito sea intersectada y usa sin su conocimiento. La criptografía trata de incrementar el nivel de privacidad de los individuos y de los grupos. Por ejemplo, la criptografía es comúnmente usada para prevenir la falsificación de los billetes de lotería. Cada billete de lotería puede tener dos números impresos en el. Su número original y un número cifrado único. A menos de que el falsificador haya desencriptado el sistema de la lotería el no será capaz de hacer una reproducción fiel a la original.
En un mundo en donde todos los datos tienen gran importancia en los sistemas de cómputo, la criptografía no puede ser descartada.
Fuentes:
“Cryptology." Encyclopedia Britannica. 2007. Encyclopedia Britannica Online. 15 Nov. 2007 <http://0-search.eb.com.millenium.itesm.mx:80/eb/article-25626>.
Brief History of Cryptology
<http://0-proquest.umi.com.millenium.itesm.mx:80/pqdlink?did=1018781061&sid=1&Fmt=6&cli>entId=23693&RQT=309&VName=PQD
Encyclopedia of Cryptology
<http://0-proquest.umi.com.millenium.itesm.mx:80/pqdlink?did=29588510&sid=1&Fmt=6&clientId=23693&RQT=309&VName=PQD>
Wikipedia
http://es.wikipedia.org/wiki/Criptograf%C3%ADa
Criptografía
http://www.seguridadenlared.org/es/index25esp.html
Tipos de Criptografía
http://www.uninet.edu/6fevu/text/criptografia.htm
Oliver Pell, Cryptology
http://www.ridex.co.uk/cryptology/
Los Principios de la Criptografía
http://www.minelinks.com/supercode/index_1_es.html
|