0Pricing
Cryptology Academy · Lección

Modo CTR y comportamiento de los cifradores de flujo

Use el modo contador para convertir un cifrador de bloque en un generador de flujo de claves.

Modo CTR y comportamiento de los cifradores de flujo es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Cryptology Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Cryptology Academy incluye 4 lecciones en total.

Bienvenida

El modo Counter (CTR) transforma cualquier cifrado por bloques en un cifrado de flujo. Se puede paralelizar, no requiere padding y es la base de AES-GCM. Vamos a dominarlo.

Concepto del modo CTR

Genere un flujo de claves cifrando valores sucesivos del contador: Keystream[i] = AES(K, Nonce || Counter_i) Ciphertext = Plaintext XOR Keystream El contador se incrementa para cada bloque. El descifrado es idéntico al cifrado.

CTR frente a CBC

CBC: cifrado secuencial (cada bloque depende del anterior). CTR: completamente paralelizable (cada bloque es independiente). Para un archivo de 1 GB, CTR puede utilizar todos los núcleos de la CPU; CBC no puede.

No se requiere relleno

CTR genera un flujo de claves de cualquier longitud. Aplique XOR al texto plano byte a byte. Un mensaje de 100 bytes utiliza 100 bytes de flujo de claves; no se necesita relleno. Ideal para datos transmitidos en streaming.

Estructura del nonce/contador

División habitual para un bloque AES de 128 bits: - nonce aleatorio de 64 bits (único para cada mensaje) - contador de 64 bits (se incrementa por cada bloque) O bien, nonce de 96 bits + contador de 32 bits (estándar de GCM). La unicidad del nonce es fundamental: nunca reutilice el par (nonce, clave).

Ataque por reutilización del nonce en CTR

CTR con la misma (clave, nonce) produce el mismo flujo de claves. Al cifrar dos mensajes diferentes: C1 XOR C2 = P1 XOR P2. Es igual que el ataque del cifrado de Vernam reutilizado. Filtración catastrófica de información.

Acceso aleatorio en CTR

CTR permite el acceso aleatorio: para descifrar el bloque 1000, calcule directamente AES(K, Nonce || 1000). No es necesario descifrar los bloques anteriores. Ideal para bases de datos y cifrado de discos (combinado con otros modos).

CTR en Python

from cryptography.hazmat.primitives.ciphers import Cipher, algorithms, modes import os nonce = os.urandom(16) # Used as counter start cipher = Cipher(algorithms.AES(key), modes.CTR(nonce)) enc = cipher.encryptor() ciphertext = enc.update(plaintext) + enc.finalize()

CTR y propagación de errores

En el modo CTR, un solo bit corrupto del texto cifrado invierte exactamente un bit del texto plano. Los errores no se propagan a otros bloques (a diferencia de CBC, donde la corrupción de un bloque altera el siguiente). Adecuado para canales ruidosos.

Modo SIV para resistir el uso indebido del nonce

AES-SIV (Synthetic IV) resiste el uso indebido del nonce: incluso si el nonce se reutiliza, solo se revela la igualdad entre textos planos, no los textos planos completos. Se utiliza en situaciones en las que es difícil garantizar la unicidad del nonce.

De CTR a GCM

AES-GCM = AES-CTR + autenticación GHASH. El modo contador se encarga del cifrado. GHASH calcula una etiqueta de autenticación mediante multiplicación en un cuerpo de Galois. Juntos proporcionan cifrado autenticado.

Comprobación rápida

¿Cuál es la principal ventaja del modo CTR frente al modo CBC para cifrar grandes volúmenes de datos?

Resumen

¡Ha dominado el modo CTR! A continuación, lo combinaremos con autenticación en AES-GCM para lograr cifrado autenticado.

Preguntas frecuentes

¿La lección «Modo CTR y comportamiento de los cifradores de flujo» es gratis?

Sí — el texto completo de «Modo CTR y comportamiento de los cifradores de flujo» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Cryptology Academy, actualiza a CoddyKit PRO. El curso de Cryptology Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Modo CTR y comportamiento de los cifradores de flujo»?

Use el modo contador para convertir un cifrador de bloque en un generador de flujo de claves. Practicas Cryptology Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Cryptology Academy?

No se requiere experiencia previa. Cryptology Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.

¿Cuánto tiempo toma la lección «Modo CTR y comportamiento de los cifradores de flujo»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Cryptology Academy?

Sí. Cada lección de Cryptology Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Fundamentos de los cifradores de bloque y padding
  2. ECB frente a CBC: patrones y vectores de inicialización
  3. Modo CTR y comportamiento de los cifradores de flujo
  4. GCM y cifrado autenticado
← Volver a Cryptology Academy