Diferencia entre cifrado de flujo y cifrado de bloque

Diferencia entre cifrado de flujo y cifrado de bloque
Diferencia entre cifrado de flujo y cifrado de bloque

Video: Diferencia entre cifrado de flujo y cifrado de bloque

Video: Diferencia entre cifrado de flujo y cifrado de bloque
Video: Criptografía SIMÉTRICA: Definición y Características ➤[CIFRADO de Datos] 🔑 Tipos de Criptografía 🔒 2024, Mes de julio
Anonim

Cifrado de flujo frente a cifrado de bloque | Cifrado de estado frente a cifrado de bloque

En criptografía, los cifrados de flujo y los cifrados de bloque son dos algoritmos de cifrado/descifrado que pertenecen a la familia de cifrados de clave simétrica. Por lo general, un cifrado toma un texto sin formato como entrada y produce un texto cifrado como salida. Los cifrados de bloques cifran bloques de bits de longitud fija mediante una transformación invariable. Los cifrados de flujo cifran flujos de bits de longitud variable y utilizan una transformación variable en cada bit.

¿Qué es un cifrado de flujo?

Los cifrados de flujo pertenecen a la familia de cifrados de clave simétrica. Los cifrados de flujo combinan bits de texto sin formato con un flujo de bits de cifrado pseudoaleatorio con el uso de la operación XOR (o exclusivo). Los cifrados de flujo cifran los dígitos de texto sin formato de uno en uno con distintas transformaciones para los dígitos sucesivos. Debido a que el cifrado de cada dígito depende del estado actual del motor de cifrado, los cifrados de flujo también se conocen como cifrados de estado. Por lo general, los bits/bits individuales se utilizan como dígitos únicos. Para evitar problemas de seguridad, debe asegurarse de que el mismo estado inicial no se use más de una vez. El cifrado de flujo más utilizado es RC4.

¿Qué es un cifrado de bloque?

Un cifrado de bloque es otro cifrado de clave simétrica. Los cifrados de bloque operan en bloques (grupos de bits) con longitud fija. Los cifrados de bloque utilizan una transformación fija (invariable) para todos los dígitos del bloque. Por ejemplo, cuando se proporciona un bloque de texto sin formato de x bits (junto con una clave secreta) como entrada al motor de cifrado de bloques, se produce el bloque de texto cifrado de x bits correspondiente. La transformación real depende de la clave secreta. De manera similar, el algoritmo de descifrado recupera el bloque original de x bits de texto sin formato utilizando el bloque de x bits de texto cifrado y la clave secreta anterior como entrada. En caso de que el mensaje de entrada sea demasiado largo en comparación con el tamaño del bloque, se dividirá en bloques y estos bloques se cifrarán (individualmente) con la misma clave. Sin embargo, debido a que se usa la misma clave, cada secuencia repetida en el texto sin formato se convierte en la misma secuencia repetida en el texto cifrado, y esto podría causar problemas de seguridad. Los cifrados de bloque populares son DES (Estándar de cifrado de datos) y AES (Estándar de cifrado avanzado).

¿Cuál es la diferencia entre un cifrado de flujo y un cifrado de bloque?

Aunque tanto los cifrados de flujo como los de bloque pertenecen a la familia de cifrados simétricos, existen algunas diferencias clave. Los cifrados de bloque cifran bloques de bits de longitud fija, mientras que los cifrados de flujo combinan bits de texto sin formato con un flujo de bits de cifrado pseudoaleatorio mediante la operación XOR. Aunque los cifrados de bloque usan la misma transformación, los cifrados de flujo usan transformaciones variables según el estado del motor. Los cifrados de flujo generalmente se ejecutan más rápido que los cifrados de bloque. En términos de complejidad de hardware, los cifrados de flujo son relativamente menos complejos. Los cifrados de flujo son la preferencia típica sobre los cifrados de bloque cuando el texto sin formato está disponible en cantidades variables (por ejemplo, una conexión wifi segura), porque los cifrados de bloque no pueden operar directamente en bloques más pequeños que el tamaño del bloque. Pero a veces, la diferencia entre los cifrados de flujo y los cifrados de bloque no es muy clara. La razón es que, cuando se usan ciertos modos de operación, se puede usar un cifrado de bloque para actuar como un cifrado de flujo al permitirle cifrar la unidad de datos más pequeña disponible.

Recomendado: