Las civilizaciones más antiguas (egipcia, mesopotámica, china...) ya usaban esos métodos. 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...
Estos sistemas tan simples evolucionaron posteriormente a elegir una reordenación cualquiera (una permutación) del alfabeto, de forma que a cada letra se le hace corresponder otra, ya sin ningún patrón determinado (ss. XV-XVI).
Durante la I Guerra Mundial se utilizaron extensivamente las técnicas criptográficas, con no muy buen resultado, lo que impulsó al final de la guerra, el desarrollo de las primeras tecnologías electromecánicas. Un ejemplo de estos desarrollos es la máquina Enigma, utilizada por los alemanes para cifrar y descifrar sus mensajes.
Estos tienen los siguientes inconvenientes:
v Solamente dan cuenta del problema de la confidencialidad, sirven para dificultar las escuchas, pero no sirven para afrontar ninguno de los otros tres problemas reseñados.
v Hacen falta dos claves por persona con la que nos queremos comunicar (la que nos dé él, y la que usamos para él).
v Para intercambiar las claves, es preciso un contacto personal, o bien, una comunicación a través de un medio seguro y no interceptable.
Como ventajas, cabe destacar su simplicidad y rapidez, que la hace fácil de usar en muchos contextos.
Afortunadamente, la criptografía actual tiene resueltos estos problemas, mediante la codificación basada en sistemas de clave pública. Cada persona tiene dos claves: una privada (esto es, sólo la conoce y maneja él) y una pública (esto es, accesible por quien la solicite). Estas claves (junto con el sistema de cifrado) satisfacen la siguiente propiedad: lo que se codifica utilizando una de ellas, se decodifica con la otra, de manera que utilizando las dos de modo consecutivo obtenemos el mensaje original.
v Confidencialidad Cuando queremos enviar un mensaje a una persona, lo codificamos con su clave pública. De esta forma sólo él puede descifrarlo, utilizando su clave privada.
v Autenticidad Sólo nosotros podemos codificar el mensaje con nuestra clave privada, y cualquiera puede leerlo con la pública. Esto sirve para garantizar el origen del mensaje. Habitualmente, en lugar de cifrar el texto del mensaje completo, se extrae un resumen del texto (mediante su adecuada transformación: nótese que no sirve cualquier resumen puesto que para mensajes diferentes deberíamos poder obtener resúmenes diferentes que imposibiliten la confusión) y es este resumen lo que se codifica y adjunta al final del mensaje. En este caso hablamos de firma digital.
v Integridad Si la forma de obtener el resumen del punto anterior es correcta, dos mensajes diferentes tendrán resúmenes diferentes. En consecuencia, un mensaje modificado tendría un resumen diferente del original.
v No repudio Cuando el mensaje lleva nuestra firma, o está cifrado con nuestra clave privada, sólo podemos haberlo generado nosotros.
Ahora, según el nivel de seguridad que necesitemos, podemos utilizar:
v La clave pública del receptor.
v Nuestra clave privada.
v Ambas.
Nótese que con este cifrado en dos partes, el secreto lo proporciona la clave del receptor (sólo él puede descifrarlo) y la autenticidad del mensaje la proporciona mi clave (sólo yo tengo mi clave privada). Las características más relevantes de este sistema son:
v La parte pública de mi clave es conocida por todo el mundo.
v La parte privada de mi clave no es transmitida por ningún medio, siendo mucho más sencillo conservarla secreta.
v El uso de la clave pública del receptor garantiza que sólo él podrá leerlo.
v El uso de mi clave privada garantiza que sólo yo he podido generarlo (salvo robo, claro).
v Para comunicarse con varias personas, sólo necesitamos una clave por cada una de ellas (la pública).
Como inconvenientes de este tipo de sistemas, podemos hablar de la lentitud (necesitan operaciones con números grandes, que son muy costosas), y la necesidad de autoridades de certificación, que acrediten cuál es la clave pública de una determinada persona o entidad.
sistemas de cifrado
Son aquellos que utilizan 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.
Sistemas de cifrado asimétrico.
También son llamados sistemas de cifrado de clave pública. Este sistema de cifrado 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.
Sistemas de cifrado híbridos.
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.