El objetivo de la criptografía es el de proporcionar comunicaciones seguras (y secretas) sobre canales inseguros. Ahora bien, la criptografía no es sinónimo de seguridad. No es más que una herramienta que es utilizada de forma integrada por mecanismos de complejidad variable para proporcionar no solamente servicios de seguridad, sino también de confidencialidad.
Los primeros sistemas criptográficos utilizaban combinaciones más o menos complejas de la técnica de rotación de los caracteres de un mensaje. La seguridad de este tipo de sistemas se basaba en mantener secreto el algoritmo usado, y son fácilmente descifrables usando medios estadísticos. En la actualidad sólo son utilizados por aficionados.
En medios profesionales, se usan criptosistemas. Se trata de funciones
matemáticas parametrizadas en las que los datos de entrada no se
pueden obtener a partir de los de salida salvo en plazos tan largos que
cualquier información obtenida ya no tiene valor. La seguridad se basa
ahora, no en mantener secreto el algoritmo, que generalmente es
público, sino los parámetros (claves) del mismo.
![]()
Las ventaja del uso de estas claves es la existencia algoritmos muy rápidos y eficientes para su cálculo. Si K es lo bastante larga (típicamente se usan valores de 56 a 128 bits), es imposible reventarlas usando la fuerza bruta.
El principal inconveniente estriba en la necesidad de que todas las partes conozcan K, lo que lleva a problemas en la distribución de las claves. Esta debilidad ha hecho que sea poco utilizada en los mecanismos desarrollados hasta el momento para permitir el pago, a no ser que vaya combinada con otro tipo de técnicas.
El sistema de cifrado más extendido es Data Encryption
Standard (DES), desarrollado por IBM y adoptado por las oficinas
gubernamentales estadounidenses para protección de datos desde 1977.
Una mejora de este sistema de cifrado de clave simétrica es IDEA.
Los algoritmos de cifrado que utilizan estas claves son usualmente muy lentos, por lo que no se suelen utilizar para cifrar datos. Lo más habitual es que las partes elijan una clave simétrica y la compartan mediante mecanismos de clave pública. Una vez compartida la clave, se aplican técnicas simétricas de alta velocidad.
Las claves públicas son más fáciles de romper (averiguar Ks a partir de Kp). 300 bits sólo valen para aficionados; 800 bits son una dimensión habitual para una calidad comercial, y a partir de 1000 bits puede considerarse una calidad aceptable para uso militar.
Uno de los primeros esquemas de clave pública fue desarrollado por
R. Rivest, A. Shamir y L. Adleman en el MIT. El esquema Rivest-Shamir-Adleman
(RSA) ha sido desde la fecha de su publicación el único sistema
ampliamente aceptado para la implementación de encriptación
mediante clave pública. El principal inconveniente de este sistema es
la existencia de una patente sobre este algoritmo, lo cual dificulta su uso
fuera de los EE.UU. si no se ha obtenido la correspondiente licencia de
exportación.
Este tipo de funciones tiene dos interesantes propiedades. La primera es que el resultado de su aplicación a grandes volúmenes de datos es relativamente corto (típicamente una huella tiene entre 128 y 160 bits). Segundo y más importante, aunque sea teóricamente posible encontrar dos mensajes con idéntica huella, la probabilidad de que esto ocurra es ínfima. Si se manipulan los datos, la huella cambia. Modificar los datos de forma tan sabia como para obtener la misma huella es algo computacionalmente inabordable.
Uno de los requisitos de estas funciones es que sean pesadas, es decir, que el resultado sea lento de calcular para evitar ataques a base de fuerza bruta.
Las principales debilidades de este sistema son:
PGP es un sistema completo que proporciona integridad y autentificación para el correo electrónico y aplicaciones de almacenamiento de ficheros. Fue desarrollado en 1991 por Phill Zimmermann y está compuesto por bloques que, secuencialmente, van transformando el mensaje:
Todo el paquete y su documentación se hicieron públicos y
libremente distribuibles. El uso de RSA ha hecho que la difusión y uso
de PGP se haya visto sujeta a las controversias provocadas por la necesidad
de una licencia de exportación. Phill Zimmermann ha sido procesado
por ello.
La cantidad de material presente en la red relacionado con estos temas es inmensa y puede ser obtenida fácilmente. De todas formas, añado una pequeña serie de enlaces: