Tema 6
Los cifrados por bloques son una de las formas más importantes de criptografía simétrica. Trabajan sobre grupos fijos de datos y transforman cada bloque mediante rondas diseñadas para introducir confusión y difusión. En este tema veremos cómo surgieron, cómo están construidos y por qué AES se convirtió en el estándar moderno.
Una vez entendido el modelo general de la criptografía simétrica, el siguiente paso es estudiar cómo se construyen los algoritmos concretos. Los cifrados por bloques son fundamentales porque forman la base de gran parte del cifrado moderno de archivos, discos, bases de datos y comunicaciones.
Su lógica general consiste en tomar bloques de tamaño fijo y someterlos a una secuencia de transformaciones controladas por una clave. Estas transformaciones no deben ser arbitrarias: tienen que mezclar los bits de forma que el resultado no revele patrones explotables y que pequeños cambios en la entrada se propaguen ampliamente en la salida.
Un cifrado por bloques es un algoritmo simétrico que procesa los datos en unidades de tamaño fijo, por ejemplo 64 o 128 bits. A cada bloque de texto plano se le aplica una transformación reversible dependiente de la clave, produciendo un bloque de texto cifrado del mismo tamaño.
Si el mensaje completo es más largo que un bloque, el algoritmo necesita una estrategia adicional para manejar múltiples bloques. Esa estrategia se estudia en el tema siguiente, cuando tratemos los modos de operación.
La mayoría de los cifrados por bloques modernos trabaja mediante rondas sucesivas. Cada ronda aplica una combinación de operaciones sencillas pero diseñadas para que, al repetirse varias veces, generen una transformación compleja y difícil de invertir sin la clave.
Los elementos típicos son:
En criptografía, una sola transformación suele ser insuficiente para generar seguridad fuerte. Las rondas permiten acumular efectos: lo que al principio era una diferencia pequeña en un bit termina afectando gran parte del bloque después de varias etapas.
Este diseño evita relaciones lineales simples entre texto plano, clave y texto cifrado. La seguridad no nace de una operación aislada, sino del encadenamiento de varias operaciones cuidadosamente elegidas.
Claude Shannon formuló dos ideas centrales para el diseño de cifrados: confusión y difusión. Los cifrados por bloques modernos intentan implementarlas de manera sistemática.
Las rondas, las cajas de sustitución, las permutaciones y las mezclas lineales buscan exactamente eso: destruir patrones y repartir el impacto de cada pequeño cambio.
Dos operaciones aparecen una y otra vez en los cifrados por bloques:
La sustitución aporta no linealidad, mientras que la permutación ayuda a expandir el efecto de esa no linealidad a lo largo del bloque. Juntas construyen una base muy potente para generar seguridad.
Las cajas S o S-boxes son componentes que transforman pequeños grupos de bits en otros grupos de bits de forma no lineal. Son esenciales porque impiden que el cifrado pueda describirse mediante relaciones algebraicas simples fácilmente explotables.
Sin no linealidad, muchos ataques analíticos se simplificarían enormemente. Por eso las S-boxes suelen ser una de las piezas más delicadas y estudiadas en el diseño de un cifrado.
Un enfoque clásico de diseño es la red de sustitución-permutación, donde cada ronda alterna capas de sustitución no lineal y capas de mezcla o permutación. AES es un ejemplo representativo de este tipo de estructura.
La idea es que la salida de una capa influya en posiciones distintas de la siguiente, generando rápidamente una mezcla profunda de la información.
Otro modelo clásico es la red de Feistel. En este esquema, el bloque se divide en dos mitades y en cada ronda una mitad se transforma usando una función y luego se combina con la otra, tras lo cual se intercambian roles.
DES es el ejemplo más famoso de esta familia. Una ventaja de la red de Feistel es que el mismo esquema estructural sirve tanto para cifrado como para descifrado, cambiando el orden de las subclaves.
DES, Data Encryption Standard, fue adoptado en 1977 como estándar de cifrado simétrico en Estados Unidos. Representó un hito porque consolidó la idea de un algoritmo público estandarizado para uso civil, no exclusivamente militar.
Durante años tuvo enorme influencia y fue ampliamente utilizado en sistemas financieros, gubernamentales y comerciales. Sin embargo, su diseño respondía a las capacidades de cómputo de su época, y eso terminó siendo su principal limitación.
DES trabaja sobre bloques de 64 bits y usa una clave efectiva de 56 bits, aunque suele hablarse de 64 bits incluyendo bits de paridad. Su estructura interna es una red de Feistel de 16 rondas.
Cada ronda incluye expansión, combinación con subclave, paso por cajas S y permutaciones. El diseño buscaba confusión y difusión suficientes para resistir ataques conocidos en su época.
DES fue técnicamente sólido durante bastante tiempo, pero su principal debilidad terminó siendo el tamaño de clave. Una clave de 56 bits dejó de ser suficiente frente al crecimiento del poder de cómputo. Lo que antes requería recursos prohibitivos pasó a ser viable mediante hardware especializado y ataques por fuerza bruta.
Esto no significa que DES fuera un mal diseño para su contexto histórico. Significa que la seguridad criptográfica siempre depende del entorno tecnológico en el que se la evalúa.
Cuando DES empezó a quedar corto, una respuesta práctica fue aplicar DES varias veces con distintas claves, dando lugar a Triple DES o 3DES. La idea era reutilizar la infraestructura existente pero elevar la seguridad mediante múltiples pasadas del algoritmo.
El esquema más común usa una secuencia cifrar-descifrar-cifrar con dos o tres claves. Así se logra una mejora importante respecto de DES simple, aunque con mayor costo computacional.
3DES prolongó la vida útil de muchas implementaciones heredadas y ofreció una transición razonable mientras se desarrollaba un reemplazo mejor. Sin embargo, arrastraba limitaciones estructurales:
Por estas razones, 3DES fue quedando obsoleto frente a AES.
El reemplazo de DES no podía limitarse a agrandar una clave o repetir el algoritmo varias veces. Hacía falta un diseño moderno, eficiente, flexible y adecuado tanto para software como para hardware. Además, debía ser ampliamente analizado y adoptado internacionalmente.
Así surgió el proceso que terminó seleccionando Rijndael como nuevo estándar bajo el nombre de AES.
AES, Advanced Encryption Standard, fue adoptado oficialmente en 2001. Se basa en el algoritmo Rijndael, diseñado por Joan Daemen y Vincent Rijmen. Su selección fue el resultado de un proceso público de evaluación, lo que reforzó la confianza en su transparencia y robustez.
AES reemplazó a DES y 3DES como referencia moderna para cifrado simétrico por bloques. Hoy es el estándar dominante en una enorme variedad de aplicaciones.
AES trabaja con bloques de 128 bits y admite claves de 128, 192 o 256 bits. Según el tamaño de la clave, utiliza distinto número de rondas. A diferencia de DES, no usa una red de Feistel, sino una red de sustitución-permutación.
Esto le permite combinar seguridad, claridad estructural y muy buen rendimiento en múltiples plataformas.
En cada ronda, AES aplica varias transformaciones principales:
El conjunto produce una mezcla muy fuerte entre bits y bytes, logrando difusión rápida y no linealidad robusta.
AES fue diseñado pensando tanto en seguridad como en implementación práctica. Funciona bien en software, puede acelerarse por hardware y en muchos procesadores modernos cuenta incluso con instrucciones específicas que reducen latencia y mejoran resistencia frente a ciertas clases de ataque.
Eso explica por qué se usa en TLS, VPN, cifrado de discos, almacenamiento cloud y muchísimos otros entornos.
| Algoritmo | Tamaño de bloque | Tamaño de clave | Situación actual |
|---|---|---|---|
| DES | 64 bits | 56 bits efectivos | Obsoleto e inseguro por fuerza bruta |
| 3DES | 64 bits | Mayor que DES según variante | En retirada por rendimiento y limitaciones estructurales |
| AES | 128 bits | 128, 192 o 256 bits | Estándar moderno recomendado |
Elegir AES no garantiza automáticamente un sistema seguro. Un algoritmo fuerte puede volverse vulnerable si se usa con modos incorrectos, IV repetidos, claves débiles, implementación defectuosa o fuga de información lateral. La criptografía real no depende solo del algoritmo central, sino del sistema completo.
Por eso estudiar el bloque base es necesario, pero no suficiente. El contexto de uso importa tanto como el diseño matemático.
Todos estos algoritmos fueron analizados intensamente. DES fue finalmente superado por el avance del hardware y no tanto por una rotura estructural completa de su diseño. 3DES se mantuvo útil durante un tiempo, pero perdió vigencia por eficiencia y tamaño de bloque. AES ha resistido durante años un escrutinio muy profundo y sigue considerándose seguro en uso correcto.
Esto muestra una lección importante: en criptografía, sobrevivir al análisis público durante mucho tiempo es parte central del valor de un algoritmo.
AES está presente en gran cantidad de sistemas modernos:
Su ubiquidad se debe a la combinación de seguridad, velocidad y estandarización.
Los cifrados por bloques representan una de las construcciones más importantes de la criptografía simétrica. DES, 3DES y AES muestran claramente cómo evoluciona un estándar: primero resuelve un problema, luego envejece frente al avance tecnológico y finalmente es reemplazado por un diseño más robusto.
En el próximo tema estudiaremos los modos de operación, que son indispensables para usar correctamente los cifrados por bloques sobre mensajes reales y entender por qué algunos modos, como ECB, son inseguros.