
Criptografia asimetrica: la idea que cambio internet
Como funciona la criptografia de clave publica, donde la usas sin saberlo, y la historia de la idea que se invento dos veces. Con datos curiosos y referencias.
Cada vez que ves el candadito en tu navegador, cada vez que firmas un documento digital, cada vez que alguien te envia un mensaje en WhatsApp que nadie mas puede leer... detras de todo eso hay una idea que tiene menos de 50 anos y que, curiosamente, se invento dos veces.
Esta es la historia de la criptografia asimetrica. Como funciona, donde la usas sin saberlo, que empresas dependen de ella, y algunos datos que probablemente no conocias.
El problema que nadie sabia resolver
Imagina que quieres enviarle un mensaje secreto a alguien por internet. Lo cifras con una clave. Perfecto. Pero ahora tienes un problema: como le envias la clave a esa persona sin que alguien la intercepte por el camino?
Es como enviar una caja con candado por correo. Tu amigo necesita la llave para abrirla, pero si metes la llave dentro de la caja... no puede abrirla. Y si la envias por separado, cualquiera puede copiarla.
Durante siglos, la criptografia funciono asi: ambas partes compartian la misma clave (lo que hoy llamamos criptografia simetrica). Funcionaba bien si estabas en la misma habitacion, o si tenias un mensajero de confianza. Pero en un mundo donde millones de personas necesitan comunicarse de forma segura con desconocidos a traves de una red publica... no escalaba.
La idea del buzon
En 1976, Whitfield Diffie y Martin Hellman publicaron un paper que lo cambio todo: "New Directions in Cryptography". La idea era elegante y contraintuitiva: y si en vez de una clave, usamos dos?
La analogia mas clara es un buzon de correo en la calle. Cualquiera sabe donde esta y puede meter una carta (esa es tu clave publica). Pero solo tu tienes la llave para abrirlo y leer las cartas (esa es tu clave privada).
Las dos claves estan matematicamente relacionadas, pero conocer una no te permite deducir la otra. Puedes publicar tu clave publica en tu web, en tu email, donde quieras. Quien quiera enviarte algo secreto, lo cifra con tu clave publica. Y solo tu, con tu clave privada, puedes descifrarlo.
Asi de simple. Asi de revolucionario.
Pero los britanicos la inventaron antes (y no pudieron contarlo)
Aqui viene la primera curiosidad. En 1997, el gobierno britanico desclasificado un documento que lo cambio todo: la agencia de inteligencia GCHQ (el equivalente britanico de la NSA) habia descubierto la criptografia de clave publica anos antes que Diffie y Hellman.
James Ellis concibio la idea en 1969. Clifford Cocks desarrollo lo que era esencialmente el algoritmo RSA en 1973, cuatro anos antes de que Rivest, Shamir y Adleman lo publicaran. Y Malcolm Williamson descubrio el intercambio de claves Diffie-Hellman en 1974, dos anos antes del paper de Stanford.
La diferencia: todo estaba clasificado. No podian publicarlo, no podian patentarlo, no podian contarselo a nadie. Williamson quiso hacerlo publico cuando vio el paper de Diffie-Hellman, pero sus jefes lo vetaron. No fueron lo suficientemente visionarios para ver la revolucion digital que venia.
Cuando Diffie viajo a conocer a Ellis anos despues, Ellis le dijo: "Bueno, no se cuanto deberia decir. Solo dire que ustedes hicieron mucho mas con esto de lo que nosotros hicimos."
Williamson fue aun mas filosofico: "Mi reaccion fue: vale, asi son las cosas. Basicamente, segui con mi vida."
Ellis murio en noviembre de 1997, un mes antes de que se desclasificara su trabajo. Nunca llego a recibir reconocimiento publico.
Como funciona (sin formulas)
La criptografia asimetrica se basa en problemas matematicos que son faciles de hacer en una direccion pero practicamente imposibles de revertir.
El ejemplo clasico: multiplicar dos numeros primos enormes es trivial para un ordenador. Pero dado el resultado, encontrar cuales eran esos dos primos originales es computacionalmente inviable si los numeros son lo suficientemente grandes. El algoritmo RSA, publicado en 1977 por Ron Rivest, Adi Shamir y Leonard Adleman (tres profesores del MIT), se basa exactamente en esto.
Para hacerse una idea: una clave RSA de 2048 bits (el estandar actual) implica factorizar un numero de unos 617 digitos decimales. Multiplicar los dos primos que lo componen tarda microsegundos. Revertir la operacion con la mejor tecnologia disponible hoy llevaria mas tiempo del que lleva existiendo el universo. No es retorica: es una estimacion real. El record publico de factorizacion es RSA-250, un numero de 250 digitos (829 bits), logrado en 2020 con el equivalente a 2.700 anos de computo de un solo nucleo. Y eso es menos de la mitad de los bits de una clave estandar.
Un matiz importante: RSA con claves cortas ya no es seguro. Las de 512 bits se rompieron en 1999, y 1024 bits se considera vulnerable desde hace anos. Por eso el minimo hoy es 2048 bits, y para datos con proteccion a largo plazo se recomienda 4096.
Otro enfoque usa curvas elipticas (ECC): puntos sobre una curva matematica donde las operaciones tienen propiedades similares de "facil en una direccion, imposible en la otra", pero con claves mucho mas cortas. Una clave ECC de 256 bits ofrece una seguridad equivalente a una clave RSA de 3.072 bits. Por eso ECC se ha vuelto el estandar en dispositivos moviles, IoT y blockchain, donde los recursos de computo son limitados.
Lo importante es que nunca necesitas compartir tu clave privada con nadie. Ese era el problema original, y la criptografia asimetrica lo resuelve de raiz.
Donde la usas todos los dias (sin saberlo)
La criptografia asimetrica esta en todas partes. Literalmente.
Cada pagina web con HTTPS. Cuando tu navegador se conecta a una web segura, el primer paso es un "handshake" donde se intercambian claves asimetricas. Tu navegador usa la clave publica del servidor para establecer un canal seguro. Despues, por eficiencia, se cambia a cifrado simetrico (AES) para el resto de la sesion. La asimetrica es el apreton de manos; la simetrica es la conversacion.
WhatsApp, Signal, Telegram. Cuando inicias un chat, las apps usan criptografia asimetrica (el protocolo Signal usa Diffie-Hellman sobre curvas elipticas) para intercambiar claves. Despues, cada mensaje se cifra con claves simetricas derivadas de ese intercambio. Ni siquiera los servidores de WhatsApp pueden leer tus mensajes.
Firmas digitales. Cuando firmas un PDF, un commit de Git, o una actualizacion de software, se usa tu clave privada para crear una firma que cualquiera puede verificar con tu clave publica. Esto demuestra que el documento no fue alterado y que realmente lo firmaste tu.
Bitcoin y crypto. Tu wallet de Bitcoin es basicamente un par de claves asimetricas. La direccion publica es donde la gente te envia fondos. La clave privada es la que te permite gastarlos. Si pierdes la clave privada, pierdes el acceso para siempre.
SSH y acceso a servidores. Cuando haces ssh a tu servidor, la autenticacion por clave usa criptografia asimetrica. Tu clave publica esta en el servidor; tu clave privada en tu maquina. Sin la privada, nadie entra. Si quieres profundizar en esto, tenemos una guia completa de SSH para developers.
Criptografia asimetrica en empresas
Para las empresas, la criptografia asimetrica no es opcional: es infraestructura.
Certificados TLS/SSL son la base de toda comunicacion web segura. Cada certificado contiene una clave publica vinculada a un dominio, verificada por una autoridad certificadora. Sin esto, no hay HTTPS, no hay e-commerce, no hay banca online.
Firma de codigo. Microsoft, Apple, Google y cualquier empresa que distribuye software firma sus binarios con claves asimetricas. Cuando tu sistema operativo verifica que una actualizacion es legitima, esta comprobando esa firma. Es lo que impide que alguien te cuele malware disfrazado de actualizacion de Windows.
Email empresarial seguro. Protocolos como S/MIME y PGP usan pares de claves para cifrar emails punto a punto. En sectores regulados como banca, salud o defensa, no es una opcion: es un requisito legal.
Infraestructura de clave publica (PKI). Las grandes organizaciones mantienen toda una jerarquia de certificados y claves asimetricas para autenticar dispositivos, empleados, servicios internos y APIs. Es invisible para el usuario final, pero si falla, se cae todo.
Envelope encryption. Servicios como AWS KMS, Google Cloud KMS y herramientas como SecureCodeHQ usan un patron llamado "envelope encryption" donde una clave simetrica cifra los datos (rapido), y una clave asimetrica protege esa clave simetrica (seguro). Lo mejor de ambos mundos.
El hackeo que sacudio a la propia RSA
En marzo de 2011, la empresa RSA Security (si, la que lleva el nombre del algoritmo, fundada por Rivest, Shamir y Adleman) sufrio uno de los ataques mas impactantes en la historia de la ciberseguridad.
Todo empezo con un email. Un empleado recibio un mensaje con un Excel adjunto titulado "2011 Recruitment Plan". Parecia venir de un companero. Lo abrio. Dentro habia un exploit zero-day de Adobe Flash que instalo un troyano llamado Poison Ivy.
Desde ahi, los atacantes escalaron privilegios, se movieron lateralmente por la red y llegaron a lo que buscaban: las "seeds" (semillas criptograficas) de SecurID, el sistema de autenticacion de dos factores que usaban 250 millones de personas en todo el mundo, incluyendo el ejercito de EEUU, Lockheed Martin y Northrop Grumman.
El coste directo para EMC (la empresa madre de RSA): 66,3 millones de dolares. Lockheed Martin tuvo que desconectar temporalmente su red. Se sospecha que el ataque fue obra de una unidad de ciberespionaje del ejercito chino.
Pero la historia tiene un giro que no se conocio hasta 10 anos despues, cuando expiro el acuerdo de confidencialidad de los ejecutivos de RSA. Los atacantes volvieron una segunda vez a buscar las claves maestras, lo que demostro que en realidad no las habian conseguido en el primer ataque. Los datos exfiltrados eran inutiles sin esas claves. RSA habia protegido sus datos ambas veces, pero el dano reputacional ya estaba hecho.
La ironia: la empresa que invento el estandar de la criptografia asimetrica no fue hackeada por un fallo criptografico, sino por un empleado que abrio un Excel.
Lo que viene: la amenaza cuantica
Hay un reloj corriendo para la criptografia asimetrica tal como la conocemos. Los ordenadores cuanticos, cuando sean suficientemente potentes, podran ejecutar el algoritmo de Shor, que resuelve el problema de factorizacion de primos grandes de forma exponencialmente mas rapida que cualquier ordenador clasico. Eso romperia RSA y ECC.
Cuando? Nadie lo sabe con certeza. Las estimaciones van de 10 a 30 anos. Pero el problema es que los datos cifrados hoy pueden ser almacenados y descifrados manana cuando la tecnologia este lista. Es lo que se llama "harvest now, decrypt later" (recolectar ahora, descifrar despues).
Por eso, NIST (el instituto de estandares de EEUU) finalizo en agosto de 2024 tres nuevos estandares de criptografia post-cuantica, basados en problemas matematicos que se creen resistentes a ordenadores cuanticos: lattices (reticulos), hash-based signatures y otros.
La transicion ya ha empezado. La criptografia simetrica como AES-256 se considera resistente a la computacion cuantica (el algoritmo de Grover solo reduce la seguridad a la mitad, asi que AES-256 equivaldria a 128 bits de seguridad, que sigue siendo suficiente). Pero toda la infraestructura asimetrica tendra que migrar.
Datos curiosos para cerrar
RSA se vendio por 200 millones de dolares en 1996. La empresa RSA Data Security, basada en un algoritmo que tres profesores del MIT publicaron en un paper academico. Las matematicas puras convertidas en negocio millonario. Dato extra: ese paper de 1977 fue tambien el que introdujo al mundo a "Alice y Bob", los personajes ficticios que desde entonces se usan universalmente para explicar protocolos criptograficos. Diffie lo llamo "la contribucion mas espectacular a la criptografia de clave publica".
Un matematico britanico intento demostrar que la criptografia de clave publica era imposible. Malcolm Williamson, del GCHQ, estaba tan convencido de que la idea de Cocks tenia un fallo que se llevo el trabajo a casa (algo prohibido para empleados de inteligencia). Despues de cinco horas intentando encontrar el error, acabo descubriendo un segundo algoritmo de clave publica. A veces intentar romper algo es la mejor forma de construir algo nuevo.
Diffie-Hellman deberia llamarse Diffie-Hellman-Merkle. El propio Hellman lo sugirio en 2002 para reconocer las contribuciones de Ralph Merkle. La comunidad lo acepto parcialmente, pero el nombre original se quedo por inercia.
La criptografia mas antigua conocida tiene casi 4.000 anos. Alrededor de 1900 a.C., en la tumba del noble egipcio Khnumhotep II, un escriba tallo jeroglificos no estandar en lugar de los habituales. Aunque su proposito no era ocultar un mensaje sino darle un aire mas misterioso y elegante (algo asi como "criptografia decorativa"), es la evidencia mas antigua de transformacion deliberada de texto. El primer cifrado con intencion real de ocultar informacion es posterior: una tablilla de arcilla mesopotamica de alrededor de 1500 a.C. que cifraba una receta de esmalte para ceramica, probablemente por su valor comercial. Y hacia el 50 a.C., Julio Cesar uso su famoso cifrado por sustitucion para comunicarse con sus generales en campana. De ahi a las curvas elipticas... ha sido un viaje largo.
Tu navegador negocia criptografia asimetrica varias veces al dia sin que lo notes. Cada pestana nueva con HTTPS implica un handshake TLS. Si tienes 20 pestanas abiertas, has hecho 20 intercambios de claves asimetricas solo hoy.
La criptografia asimetrica es una de esas ideas que parece obvia una vez que la entiendes, pero que le tomo a la humanidad miles de anos concebir. Y a tres espias britanicos, decadas de silencio antes de que el mundo supiera que fueron los primeros.
Papers originales y referencias
Los dos papers fundacionales de la criptografia asimetrica estan disponibles gratuitamente:
"New Directions in Cryptography" de Whitfield Diffie y Martin Hellman (1976). El paper que introdujo el concepto de criptografia de clave publica y el intercambio de claves Diffie-Hellman. Publicado en IEEE Transactions on Information Theory. ee.stanford.edu/~hellman/publications/24.pdf
"A Method for Obtaining Digital Signatures and Public-Key Cryptosystems" de Ron Rivest, Adi Shamir y Leonard Adleman (1977). La primera implementacion practica: el algoritmo RSA. Publicado en Communications of the ACM. people.csail.mit.edu/rivest/Rsapaper.pdf
Historia de la criptografia en Wikipedia. Articulo completo sobre la evolucion de la criptografia desde el antiguo Egipto hasta la era moderna. en.wikipedia.org/wiki/History_of_cryptography
La escritura criptografica en los jeroglificos en Encyclopaedia Britannica. Analisis detallado de los jeroglificos no estandar usados como forma de criptografia decorativa en el antiguo Egipto. britannica.com/topic/hieroglyphic-writing
La historia alternativa de la criptografia de clave publica en Cryptome. La historia de Ellis, Cocks y Williamson en el GCHQ, con citas directas. cryptome.org/ukpk-alt.htm
The Untold Story of the RSA Breach en Cybereason. El relato completo del hackeo de RSA en 2011, contado por los ejecutivos que lo vivieron. cybereason.com/blog/the-untold-story-of-the-rsa-breach-part-1
The Story of the 2011 RSA Hack en Schneier on Security. Analisis de Bruce Schneier sobre el incidente de RSA. schneier.com/blog/archives/2021/05/the-story-of-the-2011-rsa-hack.html
Asymmetric Encryption en IBM. Explicacion tecnica pero accesible sobre como funciona la criptografia asimetrica y sus aplicaciones empresariales. ibm.com/think/topics/asymmetric-encryption
Post-Quantum Cryptography Standards de NIST. Los nuevos estandares de criptografia post-cuantica finalizados en 2024. netlibsecurity.com/articles/symmetric-vs-asymmetric-encryption-in-a-quantum-world
Lectura adicional
- SSH para developers: claves, servidores y agentes IA para ver la criptografia asimetrica en accion con servidores y GitHub
- 5 errores con secretos en tu servidor si quieres ver que pasa cuando las claves no se gestionan bien
- Seguridad de agentes IA: guia practica cubre como los agentes de programacion interactuan con tus secretos
- Guia completa de seguridad LLM para el panorama mas amplio de amenazas en IA
- Por que los archivos .env son peligrosos con agentes IA sobre el problema de tener secretos en disco
- Prueba SecureCode gratis. Envelope encryption (AES-256-GCM + Cloud KMS) para tus secretos.