¿Qué es un flujo de claves o keystream?

Autor: | Última modificación: 25 de julio de 2022 | Tiempo de Lectura: 2 minutos

¿Sabes qué es un flujo de claves, también conocido en inglés como keystream? La criptografía de stream y algunos modos de cifrado por bloques utilizan estas cadenas infinitas de datos para cifrar mensajes de manera confidencial. A continuación, te explicaremos qué es un flujo de claves, cómo funciona y cómo se genera uno de forma seguro para la criptografía.

¿Qué es un flujo de claves o keystream?

Los flujos de claves o keystreams se utilizan comúnmente y de diferentes formas en el mundo de la criptografía. Se usa para la criptografía de stream y algunos modos de cifrado por bloques que simulan un stream para su funcionamiento.

El flujo de claves es una cadena de datos infinita que contiene caracteres aleatorios o pseudoaleatorios, los cuales se utilizan como clave para encriptar datos y mantenerlos en secreto. Dependiendo del algoritmo de cifrado que se utilice, el keystream se utiliza de diferentes modos para los procesos de encriptación.

Para que un keystream se pueda considerar seguro, debe contar siempre con las siguientes características:

  1. Debe parecer aleatorio a simple vista, para alguien que no conozca cuál es la clave del algoritmo.
  2. No se debe poder encontrar la clave del algoritmo a partir del criptoanálisis del keystream.
  3. No se debe poder predecir un keystream futuro a partir de uno que ya se haya utilizado. Es decir, su generación no debe seguir ningún tipo de patrón que sea perceptible o fácil de detectar.
  4. Un keystream no se debe utilizar nunca más de una vez en un mismo algoritmo de cifrado.

Cumpliendo con estos cuatro principios, un keystream puede utilizarse para diferentes métodos de encriptación. A continuación, describiremos el funcionamiento de uno de los más simples y, a la vez, más importantes para el mundo de la informática: el cifrado de stream.

Keystreams en el cifrado de stream

El cifrado de stream utiliza el flujo de claves para su funcionamiento, el cual se usa mucho en tecnologías como la reproducción de vídeo en vivo, por medio de plataformas como Twitch, Zoom… El cifrado de stream sigue el siguiente proceso:

  1. Se genera un keystream a partir de un generador de números pseudoaleatorios criptográficamente seguro.
  2. Se realiza una operación XOR entre el texto plano y el keystream para obtener la salida de texto cifrado.
  3. Se desencripta en el otro extremo haciendo uso del mismo keystream, el cual puede generarse con una clave corta.

¿Cómo aprender más?

Ahora sabes qué es el flujo de claves y cómo se utiliza en criptografía. Si quieres aprender más y convertirte en un experto en ciberseguridad, no puedes perderte la oportunidad de participar en nuestro Ciberseguridad Full Stack Bootcamp. ¡Apúntate y especialízate en menos de 7 meses!

[email protected]

¿Sabías que hay más de 24.000 vacantes para especialistas en Ciberseguridad sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!