Introducción a la Criptografía¶
Motivación¶
La criptografía es la disciplina que se dedica a codificar y alterar mensajes para que solo los puedan leer ciertos receptores. El siglo XX fue el periodo de desarrollo más importante para la criptografía principalmente por la necesidad de mandar mensajes secretos durante las dos guerras mundiales. El desarrollo de nuevas tecnologías, principalmente la computación hizo necesario nuevas técnicas para encriptar mensajes. La criptografía siempre había necesitado que los dos participantes en la comunicación acordaran una clave de antemano para mandar mensajes cifrados, este tipo de criptografía se llama simétrica. Uno de los problemas principales de esta disciplina era encontrar una forma de mandar mensajes sin que los involucrados en la comunicación tuvieran que haberse encontrado antes, usando una clave pública, este tipo de criptografía se denomina asimétrica,y la primera vez que descubrieron un método de este tipo fue en 1975. Nuestro proyecto se enfoca en el protocolo de criptografía de Diffie-Hellman que usa clave pública, en Diffie-Hellman cada interlocutor escoge un número público y un número secreto, la seguridad de este método se basa en que descifrar los mensajes para alguien que no conozca los números secretos es igual de difícil que calcular un logaritmo discreto, un problema de una alta complejidad computacional en varios grupos.
Breve historia de la criptografía¶
La criptología se dedica a estudiar los lenguajes secretos, es decir información que ha sido oculta intencionalmente a ciertos individuos. La criptografía es la rama de esta disciplina que se dedica a investigar técnicas para proteger la información, codificando mensajes y haciéndolos comprensibles solo a ciertos receptores.
En la historia de la humanidad han existido muchas técnicas para ocultar mensajes, pero el momento clave para el desarrollo de la criptografía fue el siglo XX, principalmente por la necesidad de mandar mensajes que no fueran a ser inteligibles para las naciones enemigas durante los conflictos bélicos, como la segunda guerra mundial, en la que fue muy conocido el trabajo del matemático Alan Turing para descifrar los mensajes de la máquina Enigma usada por los alemanes para ocultar la información a sus enemigos.
El amplio desarrollo que tuvo la computación durante este siglo hizo necesario la búsqueda y el perfeccionamiento de las técnicas de criptografía. La criptografía siempre necesitó que los involucrados en la comunicación acordaran una clave de antemano para mandar mensajes cifrados, esta clase de criptografía se denomina simétrica. Uno de los problemas principales de esta disciplina era encontrar una forma de mandar mensajes sin que los involucrados en la comunicación tuvieran que haberse encontrado antes, generalmente usando dos claves, una pública y una privada, las dos pertenecientes al destinatario del mensaje. Uno de los primeros sistemas criptográficos que implementaron este mecanismo en su funcionamiento fue el de Diffie-Hellman, publicado por Whitfield Diffie y Martin Hellman en el año 1976, en este protocolo cada interlocutor escoge un número público y un número secreto, la seguridad de este método se basa en que descifrar los mensajes para alguien que no conozca los números secretos es igual de difícil que calcular un logaritmo discreto, un problema de una alta complejidad computacional en varios grupos.
Otros sistemas criptográficos de clave pública fueron publicados posteriormente. El Merkle–Hellman knapsack publicado en el año 1978, pero que quedo obsoleto en el año 1984 cuando se descubrió un algoritmo en tiempo polinomial que podía romperlo. Por otra parte, en 1979 se público el sistema de encriptación más utilizado: el RSA (Rivest–Shamir–Adleman). La seguridad de este algoritmo se basa en la dificultad de factorizar un número que es el producto de dos primos muy grandes.
En la actualidad todos estos algoritmos funcionan constantemente en tecnologías de uso cotidiano, como los teléfonos móviles y el correo electrónico, y son de suma importancia para mantener la seguridad de la información.