Diferencia Entre Stream Cipher Y Block Cipher

Diferencia Entre Stream Cipher Y Block Cipher
Diferencia Entre Stream Cipher Y Block Cipher

Vídeo: Diferencia Entre Stream Cipher Y Block Cipher

Vídeo: Diferencia Entre Stream Cipher Y Block Cipher
Vídeo: Block vs. Stream Ciphers - CompTIA Security+ SY0-401: 6.1 2024, Abril
Anonim

Stream Cipher vs Block Cipher | Cifrado de estado vs 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. Normalmente, un cifrado toma un texto sin formato como entrada y produce un texto cifrado como salida. El cifrado de bloque cifra el bloque de bits de longitud fija mediante una transformación invariable. Los cifrados de flujo cifran flujos de bits con longitud variable y utilizan transformaciones variables 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 plano con un flujo de bits de cifrado pseudoaleatorio con el uso de la operación XOR (o exclusiva). Los cifrados de flujo cifran los dígitos de texto sin formato uno a la vez 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. Normalmente, los bits / mordiscos individuales se utilizan como dígitos únicos. Para evitar problemas de seguridad, debe asegurarse de que el mismo estado inicial no se utilice más de una vez. El cifrado de flujo más utilizado es RC4.

¿Qué es un cifrado en bloque?

Un cifrado de bloque es otro cifrado de clave simétrica. Los cifrados de bloque operan en bloques (grupos de bits) de 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 x bits de texto plano (junto con una clave secreta) como entrada al motor de cifrado de bloques, se produce el correspondiente bloque de x bits de texto cifrado. La transformación real depende de la clave secreta. De manera similar, el algoritmo de descifrado recupera el bloque original de x-bit de texto sin formato usando el bloque x-bit 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 más 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 cifrados en bloque pertenecen a la familia de cifrados de cifrado simétrico, 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 plano con un flujo de bits de cifrado pseudoaleatorio mediante la operación XOR. Aunque los cifrados de bloque utilizan la misma transformación, los cifrados de flujo utilizan diferentes transformaciones según el estado del motor. Los cifrados de flujo suelen ejecutarse más rápido que los cifrados en bloque. En términos de complejidad del 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 cortos que el tamaño del bloque. Pero a veces,la diferencia entre cifrados de flujo y 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 permitiéndole cifrar la unidad más pequeña de datos disponible.

Recomendado: