La criptografía es una herramienta matemática muy útil para la protección de la información en los sistemas de transmisión de datos. Muchas aplicaciones de seguridad se basan en el uso de la criptografía para el cifrado y descifrado de datos. Gracias a la criptografía, se pueden transmitir datos críticos a través de redes de telecomunicaciones, de forma segura, sin la amenaza que la información sea interceptada y posteriormente, comprometida. El cifrado se puede definir como el proceso de elaboración de información indescifrable e inútil para todos excepto los destinatarios autorizados de dicha información. El descifrado es la conversión de los datos de nuevo a su forma original.
Esta técnica se utiliza en muchas acciones cotidianas, como establecer o recibir una llamada desde un teléfono móvil, pagar con una tarjeta de débito o crédito, retirar dinero de un cajero automático, iniciar una sesión en un ordenador con una contraseña,... La criptografía permite almacenar información crítica o transmitirla a través de redes inseguras (como Internet), de modo que no pueda ser leída por nadie excepto el destinatario. La criptografía se ha convertido en un estándar de la industria para proporcionar seguridad en el almacenamiento de la información, en el control de acceso a los recursos, y en las transacciones electrónicas. Sin embargo, es importante señalar que la criptografía por sí sola no es suficiente para ofrecer protección frente a todas las amenazas a la seguridad de la información.
Un algoritmo criptográfico no es más que un conjunto de secuencias para llevar a cabo tanto el cifrado como el descifrado correspondiente. Es decir, el cifrado de los datos es el resultado de una fórmula matemática diseñada específicamente para ocultar unos datos. Los algoritmos de cifrado más ampliamente extendidos utilizan como parte del proceso operativo con una o varias claves. Un mismo texto claro tiene diferentes cifrados cuando se utilizan diferentes claves. Idealmente, si se desconoce la clave correspondiente, no debería haber ninguna manera de encontrar el texto original a partir del texto cifrado, excepto la fuerza bruta, es decir, probando todas las posibles claves hasta encontrar la clave correcta. La seguridad de los datos cifrados depende totalmente de dos cosas: de la robustez del algoritmo criptográfico y del secreto de la clave.
El número de claves posibles debe ser lo suficientemente grande para que sea computacionalmente imposible llevar a cabo un ataque de fuerza bruta con éxito en un período de tiempo razonable. Muchos algoritmos criptográficos aumentan su protección aumentando la longitud de las claves que utilizan. Sin embargo, cuanto mayor sea la clave, mayor es el tiempo de computación que se requiere para cifrar y descifrar datos. Por ello, es importante elegir un algoritmo de cifrado que tenga un buen equilibrio entre las necesidades de protección y el coste computacional de la protección de los datos.
Los algoritmos criptográficos modernos se pueden clasificar atendiendo a dos criterios distintos: el tipo de clave que se utiliza, y la manera en que operan sobre los datos.
Respecto al tipo de clave utilizada, los algoritmos criptográficos se pueden clasificar en:
La principal ventaja de la criptografía de clave pública es que permite que personas que no tienen ningún acuerdo de seguridad previo puedan intercambiar mensajes de forma segura. El emisor y el receptor no tienen que compartir las claves secretas a través de canales seguros; todas las transmisiones exigen sólo el conocimiento de las claves públicas, y las claves privadas nunca se transmiten ni se comparten.
En cuanto a la manera en que los algoritmos operan con los datos, los sistemas criptográficos se pueden clasificar en,
Durante el módulo se utilizará la siguiente terminología: