Mode of Operation
Un modo de operación es un esquema que permite a un cifrado por bloques procesar datos de longitud arbitraria, definiendo cómo se encadenan los bloques de texto plano durante el cifrado; los comunes incluyen ECB, CBC, CTR y GCM.
Propósito
Permite que un cifrado de bloque fijo procese de forma segura datos de longitud variable y puede proporcionar confidencialidad, integridad o autenticación.
Mecanismo
ECB cifra cada bloque de forma independiente (inseguro); CBC aplica XOR del bloque cifrado anterior al siguiente bloque de texto plano; CTR cifra contadores para generar un flujo de claves; GCM añade un MAC polinomial GF(2^128) sobre CTR. Los modos AEAD (GCM, CCM) proporcionan confidencialidad e integridad conjuntamente.
Casos de uso
- AES-GCM en TLS
- AES-CBC para cifrado de archivos
- AES-CTR para cifrado de flujo
- AES-CCM en WPA2 inalámbrico
Ejemplos
- entrada
AES + GCM + IVOutputciphertext + 16-byte authentication tagAEAD mode
Errores comunes
- Using ECB mode on structured data (the penguin image)
- Use GCM, or CBC with HMAC
Términos relacionados
ECB (Electronic Codebook)
El modo ECB cifra cada bloque de forma independiente, de modo que bloques de texto claro idénticos producen bloques de texto cifrado idénticos; es inseguro y solo sirve para datos de un solo bloque o aleatorios. GLOSARIO
CBC (Cipher Block Chaining)
El modo CBC aplica XOR del bloque de texto cifrado anterior con el texto plano actual antes de cifrar, de modo que bloques idénticos producen cifrados distintos; requiere un IV aleatorio pero no aporta autenticación de integridad. GLOSARIO
CTR (Counter Mode)
El modo CTR convierte un cifrador de bloques en un cifrador de flujo: cifra un contador incremental para generar un flujo de claves que se XOR con el texto plano, soportando paralelismo y acceso aleatorio, pero sin integridad. GLOSARIO
GCM (Galois/Counter Mode)
GCM es un modo AEAD que combina el cifrado CTR con la autenticación GHASH, proporcionando confidencialidad e integridad a la vez, y es el modo preferido de TLS 1.2/1.3. GLOSARIO
IV (Initialization Vector)
Un vector de inicialización (IV) es una entrada que inyecta aleatoriedad en los modos de cifrado por bloques, de modo que el mismo texto plano produce distintos cifrados en cada cifrado. GLOSARIO
Nonce
Un nonce (number used once) es un valor empleado una sola vez en el cifrado; similar a un IV, pero enfatiza la unicidad sobre la aleatoriedad, común en cifrados de flujo y AEAD. GLOSARIO