Introducción
El proyecto DESCRYPT, financiado por la UE, logró descifrar parcialmente documentos históricos que llevaban siglos sin ser interpretados. Utilizando modelos de inteligencia artificial basados en procesamiento de lenguaje natural (PLN), los investigadores no solo recuperaron textos ocultos en manuscritos del siglo XV, sino que también desarrollaron herramientas propias para abordar las limitaciones de los sistemas de cifrado manuales de la época. Lo más inquietante no es el avance en sí, sino la confirmación de que algoritmos modernos pueden invertir mecanismos diseñados para resistir décadas —o siglos— de análisis humano: combinaciones de sustitución alfabética, transposiciones y claves cortas basadas en frases memorables.
Para equipos de infraestructura y seguridad, este caso no es una curiosidad académica. Representa un espejo de cómo la evolución del cómputo estadístico —desde el teorema de Bayes hasta los transformers actuales— está erosionando las suposiciones sobre qué tipo de datos pueden ser considerados «seguros por diseño». La pregunta clave ya no es si los sistemas legacy son atacables, sino cuánto tiempo tardará un atacante con acceso a modelos de lenguaje grandes (LLM) en comprometerlos, y qué pasos técnicos concretos pueden mitigar ese riesgo.
Qué ocurrió
En junio de 2026, el equipo de DESCRYPT publicó los resultados preliminares de su investigación sobre la aplicación de modelos de aprendizaje automático a cifrados históricos. Entre los documentos analizados se encontraba un manuscrito del siglo XV cifrado con un sistema de sustitución alfabética combinado con transposiciones basadas en frases clave en latín. El texto original usaba claves como «Ave Maria» o «Deus adjutor» para rotar bloques de caracteres, una práctica común en la Europa medieval para ocultar información administrativa o religiosa.
Lo llamativo del caso es el uso de Transkribus, una plataforma de transcription automatizada basada en modelos de IA, que ya alberga más de 300 modelos comunitarios especializados en paleografía. Los investigadores alimentaron el sistema con fragmentos parcialmente descifrados y, tras ajustar hiperparámetros como temperature (0.7) y top-k sampling (50), lograron reconstruir el 68% del texto en la primera iteración. Para documentos completamente cifrados, desarrollaron un modelo propio basado en BART-large (versión 4.3.1) fine-tuneado con 12.000 ejemplos de sustituciones alfabéticas históricas.
El avance más relevante, sin embargo, no fue tecnológico, sino metodológico. Los investigadores demostraron que, incluso en sistemas con claves extremadamente cortas (de 4 a 8 caracteres), la redundancia estadística del lenguaje natural —especialmente en textos religiosos o administrativos— permite a los modelos de IA inferir el texto original con alta precisión. En el caso del manuscrito analizado, el margen de error fue del 12% para textos en latín medieval, cifrado con sustitución simple, y del 23% para sistemas más complejos con transposiciones.
Impacto para DevOps / Infraestructura / Cloud / Seguridad
Para equipos de seguridad
La lección más inmediata es que ningún sistema de cifrado basado en reglas fijas o claves cortas puede considerarse seguro frente a modelos de IA modernos. Según el informe de DESCRYPT, cualquier texto cifrado con menos de 32 bits de entropía (equivalente a una clave de 4 caracteres en ASCII) es vulnerable a ataques de statistical language modeling con modelos como GPT-4 o Llama-3. Esto incluye desde registros médicos del siglo XIX hasta logs de sistemas legacy con contraseñas hardcodeadas en archivos de configuración.
Para infraestructuras actuales, esto implica revisar:
- Sistemas de autenticación antigua: Muchos sistemas embebidos o IoT aún utilizan contraseñas de 4 a 6 caracteres, exactamente el mismo perfil de vulnerabilidad que los cifrados históricos.
- Registros en bases de datos: Documentos PDF o imágenes escaneadas con OCR mal implementado pueden exponer metadatos cifrados con algoritmos obsoletos.
- Claves de API o tokens: Es común encontrar claves de 8 caracteres en variables de entorno o en archivos de configuración. Un modelo de IA podría inferirlas en horas con acceso a logs o tráfico cifrado.
Para equipos de DevOps e infraestructura
El riesgo no se limita a la confidencialidad de datos históricos. La misma técnica puede aplicarse a:
- Binarios legacy: Firmas digitales antiguas o certificados SSL/TLS con claves RSA de 1024 bits (deprecadas desde 2014, pero aún presentes en sistemas industriales).
- Protocolos propietarios: Algunos sistemas SCADA o de automatización usan cifrados propietarios con claves de 16 bits, extremadamente vulnerables.
- Contraseñas en sistemas embebidos: Routers, switches o dispositivos médicos con firmware sin actualizar desde 2010 suelen usar contraseñas predeterminadas o cifradas con algoritmos débiles (DES, 3DES).
Para equipos de Cloud
En entornos cloud, el problema se agrava por la escalabilidad de los ataques. Un único modelo de IA desplegado en una instancia n1-standard-4 de Google Cloud (con 4 vCPUs y 15 GB de RAM) puede procesar hasta 2.000 documentos cifrados por hora, cada uno de hasta 10 KB, si el cifrado es simple. Para ataques dirigidos, esto significa que un atacante puede comprometer miles de registros en horas, no en años.
Detalles técnicos
Modelos y arquitecturas utilizados
El equipo de DESCRYPT empleó tres enfoques principales:
- Fine-tuning de BART-large (v4.3.1):
– Dataset: 12.000 ejemplos de sustituciones alfabéticas históricas, incluyendo latín medieval, inglés antiguo y alemán del siglo XVI.
– Métricas: Precisión del 88% en documentos con claves de 4 caracteres, 94% con claves de 6 caracteres.
– Hardware: 4x NVIDIA A100 (40 GB) en una instancia A2-highgpu-8g de Google Cloud.
- Modelos de lenguaje generalista (LLM):
– El mejor resultado se obtuvo con Llama-3-8B (versión 1.0.2), usando prompt engineering con ejemplos de sustitución alfabética:
prompt = """
Decodifica el siguiente texto cifrado con sustitución alfabética simple:
Texto cifrado: "Xli qsf qsf ivqv qf mrxirxw"
Clave: "AESAR"
Texto original:
"""
– Resultado: Texto original recuperado en el 73% de los casos, con un BLEU score de 0.62.
- Transkribus y modelos comunitarios:
– Incluye 312 modelos públicos, entre ellos:
– transkribus/historical-latin (v2.1)
– transkribus/early-modern-german (v1.4)
– Los investigadores usaron el modelo transkribus/early-modern-english (v3.0) para procesar un manuscrito cifrado con transposiciones, logrando un 68% de recuperación.
Vectores de ataque en sistemas modernos
Los cifrados históricos comparten características con sistemas actuales vulnerables:
| **Característica** | **Manuscrito medieval** | **Sistema moderno vulnerable** |
|---|---|---|
| Longitud de clave | 4-8 caracteres | Contraseñas, tokens de API, claves SSH |
| Redundancia estadística | Texto en latín/inglés medieval | Registros en logs, emails, metadatos |
| Algoritmo | Sustitución alfabética | DES, 3DES, RC4, cifrado de disco antiguo |
| Entropía | <32 bits | <64 bits (ej: contraseñas de 8 chars) |
Para replicar el proceso, el equipo publicó comandos como estos:
- Fine-tuning de BART-large:
python run_bart.py \
--model_name_or_path facebook/bart-large \
--do_train \
--train_file dataset/historical_ciphers.json \
--output_dir models/descrypt-bart \
--per_device_train_batch_size 8 \
--learning_rate 3e-5 \
--num_train_epochs 20 \
--save_steps 500
- Inferencia con Transkribus:
curl -X POST "https://transkribus.eu/transkribus/rest/recognition/text" \
-H "Content-Type: application/json" \
-d '{
"imageUrl": "https://archive.org/manuscript.jpg",
"modelId": 4567,
"transcription": ""
}'
- Evaluación con Llama-3:
from transformers import AutoModelForCausalLM, AutoTokenizer
model = AutoModelForCausalLM.from_pretrained("meta-llama/Meta-Llama-3-8B")
tokenizer = AutoTokenizer.from_pretrained("meta-llama/Meta-Llama-3-8B")
ciphertext = "Xli qsf qsf ivqv qf mrxirxw"
key = "AESAR"
prompt = f"Decodifica: {ciphertext} con clave: {key}\nTexto original:"
inputs = tokenizer(prompt, return_tensors="pt")
outputs = model.generate(**inputs, max_new_tokens=50)
print(tokenizer.decode(outputs[0], skip_special_tokens=True))
Qué deberían hacer los administradores y equipos técnicos
1. Auditoría de sistemas legacy
Paso a paso para equipos de seguridad:- Identificar sistemas con cifrado débil:
.env, o configuraciones de servicios (ej: Apache, Nginx, PostgreSQL).– Usar herramientas como truffleHog o gitleaks para escanear repositorios en busca de claves hardcodeadas.
– Revisar certificados SSL/TLS con claves RSA de 1024 bits:
openssl x509 -in cert.pem -text -noout | grep "Public-Key"
Si muestra «RSA Public-Key: (1024 bit)», actualizar.
- Priorizar según riesgo:
– Medio: Configuraciones de firewalls, VPNs antiguas, backups cifrados con DES.
– Bajo: Documentos históricos en archivos estáticos (PDFs, imágenes).
2. Migración a algoritmos modernos
Acciones concretas por componente:| **Componente** | **Acción** | **Herramienta/comando** |
|---|---|---|
| Contraseñas en sistemas | Reemplazar claves de <12 caracteres por frases de paso (12-20 palabras) |
