Cryptology Academy · Lección

Conceptos de los cifradores de flujo y PRNG

Aprenda cómo los cifradores de flujo generan un flujo de claves a partir de una semilla.

Lección 1 de 413 pasos

Conceptos de los cifradores de flujo y PRNG es una lección gratuita de Cryptology Academy en CoddyKit. Esta es la lección 1 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

Los cifrados de flujo generan un flujo de claves pseudoaleatorio a partir de una clave y cifran byte a byte. En esta lección comprenderá cómo funcionan los flujos de claves y qué hace seguro a un cifrado de flujo.

Modelo de cifrado de flujo

KeyGen(K, Nonce) → flujo de claves K1, K2, K3, ... Ci = Pi XOR Ki Pi = Ci XOR Ki El cifrado y el descifrado son idénticos: se aplica XOR con el flujo de claves. El flujo de claves debe ser pseudoaleatorio y nunca reutilizarse.

PRNG frente a CSPRNG

PRNG (generador de números pseudoaleatorios): salida determinista que parece aleatoria. NO es criptográficamente seguro: supera las pruebas estadísticas, pero su salida puede predecirse con suficientes muestras. CSPRNG: criptográficamente seguro; su salida es computacionalmente indistinguible de una salida aleatoria incluso con capacidad de cómputo ilimitada.

Requisitos de seguridad

El flujo de claves de un cifrado de flujo seguro debe ser: 1. Computacionalmente indistinguible de uno aleatorio 2. Diferente para cada par (clave, nonce) 3. Imposible de predecir a partir de una salida parcial 4. No invertible: no se puede derivar la clave a partir del flujo de claves

Generadores lineales congruenciales (inseguros)

LCG: s(n+1) = (a × s(n) + c) mod m. Se utiliza en muchas implementaciones de rand(). Es completamente inseguro para criptografía: conocer unas pocas salidas revela matemáticamente todas las salidas futuras y pasadas.

Tamaño de la semilla y seguridad

La seguridad del flujo de claves de un cifrado de flujo depende únicamente de la seguridad de su semilla (clave). Una clave de 128 bits proporciona una seguridad de 128 bits, independientemente de cuánto flujo de claves se genere. La semilla es la fuente de entropía.

Sincronizado frente a autosincronizado

Sincronizado: el flujo de claves es independiente del texto plano y del texto cifrado (RC4, ChaCha20). Autosincronizado: el flujo de claves depende del texto cifrado anterior (modo CFB). La pérdida de bits desincroniza los cifrados sincronizados.

Arquitectura de generación del flujo de claves

La mayoría de los cifrados de flujo modernos utilizan: 1. Clave + nonce → estado inicial 2. Función de permutación aplicada repetidamente al estado 3. Algunos bits del estado se extraen como flujo de claves 4. El contador se incrementa para el siguiente bloque AES-CTR sigue este patrón.

Proyecto eSTREAM

El proyecto eSTREAM (2004-2008) estandarizó los cifrados de flujo. Finalistas para software: HC-128, Rabbit, Salsa20/12, SOSEMANUK. Salsa20 dio lugar a ChaCha20, que ahora es el cifrado de flujo dominante.

Reutilización del flujo de claves: fallo fatal

El pecado capital de los cifrados de flujo: nunca reutilice (clave, nonce). C1 XOR C2 = P1 XOR P2. Múltiples paquetes WEP con el mismo IV (equivalente a clave+nonce) permitieron descifrarlos por completo.

Cifrado de flujo frente a cifrado de bloques en modo CTR

AES-CTR es un cifrado de bloques utilizado como cifrado de flujo. Los cifrados de flujo específicos, como ChaCha20, suelen ser más rápidos en software. Sus propiedades de seguridad son similares cuando se utilizan correctamente la clave y el nonce.

Comprobación rápida

¿Cuál es la vulnerabilidad fundamental de reutilizar el par (clave, nonce) de un cifrado de flujo?

Resumen

Los fundamentos de los cifrados de flujo ya están claros. A continuación, estudiaremos RC4 en profundidad: cómo funciona y cuáles son sus devastadoras debilidades, que provocaron su retirada.
Gratis para empezar

Aprende Cryptology Academy con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
67
Lecciones
261

Preguntas frecuentes

¿La lección «Conceptos de los cifradores de flujo y PRNG» es gratis?

Sí — el texto completo de «Conceptos de los cifradores de flujo y PRNG» 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 «Conceptos de los cifradores de flujo y PRNG»?

Aprenda cómo los cifradores de flujo generan un flujo de claves a partir de una semilla. 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 1 de 4.

¿Cuánto tiempo toma la lección «Conceptos de los cifradores de flujo y PRNG»?

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. Conceptos de los cifradores de flujo y PRNG
  2. RC4: diseño, debilidades y ataques contra WEP
  3. Diseño de Salsa20 y ChaCha20
  4. ChaCha20-Poly1305 AEAD en TLS 1.3
← Volver a Cryptology Academy