Kyber y Dilithium: los algoritmos que ha elegido el NIST, explicados sin tecnicismosKyber and Dilithium: the algorithms NIST chose, explained without jargon
Dos nombres que vas a ver cada vez más en pliegos y auditorías. Esto es lo que hacen, en lenguaje llano.
Two names you'll see more and more in tenders and audits. Here's what they actually do, in plain language.
Cuando se habla de criptografía post-cuántica casi siempre salen dos nombres: Kyber y Dilithium. No hacen lo mismo, y confundirlos es el error más común al leer sobre el tema.
KEM vs firma digital
Un mecanismo de encapsulación de claves (KEM) sirve para que dos partes acuerden una clave secreta de forma segura, incluso si alguien está escuchando la comunicación. Piensa en un sobre cerrado que solo el destinatario puede abrir: cualquiera puede ver que el sobre viaja, pero solo quien tiene la llave correcta puede leer lo que hay dentro. Esto es lo que hace Kyber.
Un esquema de firma digital sirve para demostrar quién ha escrito o enviado algo, y que nadie lo ha modificado por el camino. Es como un sello que demuestra quién lo escribió y que el documento no se ha tocado desde que se firmó. Esto es lo que hace Dilithium.
Un sistema completo necesita normalmente ambos: Kyber para establecer la clave con la que se cifran los datos, y Dilithium para firmar y autenticar mensajes, documentos o actualizaciones de software.
Kyber / ML-KEM
Kyber, ahora estandarizado como ML-KEM en el FIPS 203 de agosto de 2024, tiene varios niveles de seguridad. Kyber-768 es el nivel intermedio y el recomendado para la mayoría de casos empresariales: buen equilibrio entre seguridad y rendimiento, sin el sobrecoste de los niveles más altos que solo se justifican en escenarios muy específicos.
Dilithium / ML-DSA
Dilithium, ahora ML-DSA (FIPS 204), tiene tres niveles: Dilithium2 (ML-DSA-44), Dilithium3 (ML-DSA-65) y Dilithium5 (ML-DSA-87). A mayor nivel, mayor seguridad, pero también mayor tamaño de la firma resultante — un compromiso habitual en criptografía: más protección normalmente cuesta más bytes.
El plan B: SLH-DSA
Tanto Kyber como Dilithium se basan en problemas matemáticos sobre retículos (lattices). Es una familia de problemas bien estudiada, pero ninguna familia matemática está garantizada al 100% para siempre. Por eso el NIST estandarizó también SLH-DSA (FIPS 205), basado en SPHINCS+, que usa fundamentos completamente distintos: funciones hash. Es más lento y produce firmas más grandes, pero sirve como red de seguridad si algún día se encuentra una debilidad en los esquemas basados en retículos.
Como referencia de hacia dónde va la industria: Google ya ha empezado a migrar Chrome de Kyber a ML-KEM como parte de su estrategia frente a los riesgos cuánticos.
Qué usa TitanVault
TitanVault usa ML-KEM-768 híbrido — combinado con X25519 clásico, no solo PQC puro, por prudencia mientras la comunidad criptográfica sigue ganando confianza en los esquemas post-cuánticos en producción real — y Dilithium5, el nivel más alto disponible, para todas las firmas de documentos y actualizaciones.
When post-quantum cryptography comes up, two names almost always follow: Kyber and Dilithium. They don't do the same thing, and confusing them is the most common mistake when reading about the topic.
KEM vs digital signature
A key-encapsulation mechanism (KEM) lets two parties agree on a secret key securely, even if someone is listening in. Think of it as a sealed envelope that only the recipient can open: anyone can see the envelope traveling, but only whoever has the right key can read what's inside. This is what Kyber does.
A digital signature scheme proves who wrote or sent something, and that no one has tampered with it along the way. It's like a seal that proves who wrote it and that the document hasn't been touched since it was signed. This is what Dilithium does.
A complete system usually needs both: Kyber to establish the key data is encrypted with, and Dilithium to sign and authenticate messages, documents, or software updates.
Kyber / ML-KEM
Kyber, now standardized as ML-KEM under FIPS 203 (August 2024), has several security levels. Kyber-768 is the intermediate level and the recommended choice for most business use cases: a good balance between security and performance, without the overhead of higher levels that only make sense in very specific scenarios.
Dilithium / ML-DSA
Dilithium, now ML-DSA (FIPS 204), has three levels: Dilithium2 (ML-DSA-44), Dilithium3 (ML-DSA-65), and Dilithium5 (ML-DSA-87). The higher the level, the higher the security, but also the larger the resulting signature — a common cryptography trade-off: more protection usually costs more bytes.
Plan B: SLH-DSA
Both Kyber and Dilithium rely on math problems over lattices. It's a well-studied problem family, but no mathematical family is 100% guaranteed forever. That's why NIST also standardized SLH-DSA (FIPS 205), based on SPHINCS+, which uses completely different foundations: hash functions. It's slower and produces larger signatures, but it serves as a safety net in case a weakness is ever found in lattice-based schemes.
As a sign of where the industry is heading: Google has already started migrating Chrome from Kyber to ML-KEM as part of its strategy against quantum risks.
What TitanVault uses
TitanVault uses hybrid ML-KEM-768 — combined with classical X25519, not pure PQC alone, as a prudent measure while the cryptographic community keeps gaining confidence in post-quantum schemes in real-world production — and Dilithium5, the highest level available, for all document and update signatures.