¿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:
- Debe parecer aleatorio a simple vista, para alguien que no conozca cuál es la clave del algoritmo.
- No se debe poder encontrar la clave del algoritmo a partir del criptoanálisis del keystream.
- 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.
- 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:
- Se genera un keystream a partir de un generador de números pseudoaleatorios criptográficamente seguro.
- Se realiza una operación XOR entre el texto plano y el keystream para obtener la salida de texto cifrado.
- Se desencripta en el otro extremo haciendo uso del mismo keystream, el cual puede generarse con una clave corta.
🔴 ¿Quieres entrar de lleno a la Ciberseguridad? 🔴
Descubre el Ciberseguridad Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada
👉 Prueba gratis el Bootcamp en Ciberseguridad por una semanaAhora 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!