La criptografía es la ciencia que protege la información con técnicas matemáticas y garantiza su confidencialidad, integridad y autenticidad incluso cuando se almacena o transmite por canales no confiables.
Cómo funciona la criptografía
La criptografía moderna se construye a partir de unas pocas primitivas básicas:
- Cifrado simétrico: la misma clave secreta cifra y descifra los datos; AES (FIPS 197) y ChaCha20 son los estándares.
- Criptografía de clave pública: un par formado por una clave pública y otra privada, que se usa para el intercambio de claves y las firmas digitales (RSA, curvas elípticas).
- Funciones hash: huellas unidireccionales de los datos, como SHA-256, que sirven para comprobar la integridad y almacenar contraseñas.
- Códigos de autenticación de mensajes y generadores de números aleatorios: demuestran que los datos proceden del poseedor de una clave y producen claves impredecibles.
Los protocolos combinan estas primitivas: TLS protege los sitios web, Signal la mensajería y el cifrado de disco los portátiles perdidos. Según el principio de Kerckhoffs, los buenos algoritmos son públicos y solo la clave es secreta.
Por qué importa la criptografía
La criptografía sostiene la banca en línea, las actualizaciones de software, las VPN, las contraseñas y las criptomonedas. La mayoría de los fallos reales no se deben a romper las matemáticas, sino a errores de implementación y de uso:
- Heartbleed (2014): un fallo en OpenSSL filtraba memoria del servidor, incluidas claves privadas;
- un cambio de Debian en 2008 debilitó el generador de números aleatorios de OpenSSL y produjo claves predecibles;
- algoritmos obsoletos como MD5, SHA-1, DES y RC4 siguen presentes en sistemas heredados (CWE-327).
Los ordenadores cuánticos amenazan los algoritmos de clave pública actuales; por eso el NIST publicó en 2024 los primeros estándares de criptografía poscuántica (FIPS 203–205).
Buenas prácticas
- No diseñar nunca algoritmos propios; usar bibliotecas bien revisadas y protocolos estándar.
- Retirar los algoritmos obsoletos y planificar la agilidad criptográfica.
- Proteger las claves con el mismo cuidado que los datos que resguardan.