Criptografía: ¿Cuáles son las ventajas y desventajas de los cifrados de bloque sobre los cifrados de flujo?

Los cifrados de bloque son objetos más potentes, con una interfaz más complicada (“cifrar o descifrar un bloque arbitrario de datos”, en lugar de simplemente “producir una secuencia de claves” o “producir una secuencia de claves con este nonce”). Son más fuertes que los cifrados de flujo, al menos con un bloque bastante amplio, porque cifrar un contador produce un flujo. La misma técnica es utilizada por algunos cifrados de flujo. Por ejemplo, Salsa20 y ChaCha funcionan cifrando un contador (pero no de forma reversible, a diferencia de un cifrado de bloque). En teoría, también es posible convertir un cifrado de flujo en un cifrado de bloque, pero es mucho más lento y complicado.

Debido a que los cifrados de bloque son más potentes, se pueden usar de más maneras. En particular, los cifrados de bloque se pueden usar para cifrar y autenticar al mismo tiempo (por ejemplo, modos EAX, CCM y OCB), pero los cifrados de flujo requieren un código de autenticación de mensaje separado. [EDITAR: pero vea la competencia del modo de cifrado César.] Algunos modos de cifrado de bloque también son más resistentes a los errores de implementación como la reutilización nonce. El caso extremo de esto es el cifrado de disco, donde la ubicación de un sector de disco es la nonce y no hay espacio para una suma de verificación; esto se puede hacer mejor con cifrados de bloque que con cifrados de flujo.

Históricamente, los modos de cifrado de bloque a menudo han tenido problemas de relleno, por ejemplo, el ataque BEAST contra el relleno de modo CBC en TLS. Los modos de cifrado de flujo casi nunca necesitan relleno, razón por la cual RC4 era popular en TLS antes de que se rompiera. Algunos modos de cifrado de bloques también necesitan saber cosas como la longitud de un mensaje antes de cifrar, lo que puede ser problemático en contextos de red.

Su interfaz más compleja brinda a los cifrados de bloque una superficie de ataque más amplia que los cifrados de flujo, y esto también los hace más difíciles de diseñar. Junto con las restricciones en el diseño de cifrado de bloque (sin estado de funcionamiento, el tamaño de bloque fijo debe ser una permutación), esto a menudo conduce a que los cifrados de bloque sean más lentos y pesados ​​que los cifrados de flujo, especialmente en hardware. Sin embargo, la presión sobre los cifrados de flujo para que sean extremadamente rápidos y pequeños en hardware también ha llevado históricamente a muchos diseños débiles (por ejemplo: A5 / 1, A5 / 2, CSS).

Los cifrados de flujo cifran un bit o byte a la vez, mientras que los cifrados de bloque funcionan en fragmentos / bloques de datos a la vez.

  • Los cifrados de flujo son más rápidos que el bloque.
  • Los cifrados de bloque generalmente requieren más memoria.
  • Los cifrados de flujo son más difíciles de implementar correctamente.
  • Si confunde una parte de los datos en un cifrado de bloque, es probable que pierda todo el bloque, a diferencia de los cifrados de flujo donde cada bit, byte o char se cifra por sí mismo.
  • Los cifrados de flujo generalmente se usan cuando la cantidad de datos es desconocida o tal vez continua (piense en las redes), mientras que los cifrados de bloque son buenos para cantidades conocidas de datos como (por ejemplo, archivos).

Cifrado de flujo:

Ventajas:

  • Velocidad de transformación: los algoritmos son lineales en el tiempo y constantes en el espacio.
  • Baja propagación de error: un error en el cifrado de un símbolo probablemente no afectará a los símbolos posteriores.

Desventajas

  • Baja difusión: toda la información de un símbolo de texto sin formato está contenida en un solo símbolo de texto cifrado.
  • Susceptibilidad a las inserciones / modificaciones: un interceptor activo que rompe el algoritmo puede insertar texto falso que parece auténtico.

Cifrado de bloque:

Ventajas:

  • Alta difusión: la información de un símbolo de texto sin formato se difunde en varios símbolos de texto cifrado.
  • Inmunidad a la manipulación: símbolos difíciles de insertar sin detección.

Desventajas

  • Lentitud del cifrado: se debe acumular un bloque completo antes de que pueda comenzar el cifrado / descifrado.
  • Propogación de error: un error en un símbolo puede dañar todo el bloque.

Creo que una de las ventajas de los cifrados de bloque en los cifrados de flujo es que el protocolo de Internet funciona en bloques independientes, por lo que uno puede comenzar el descifrado tan pronto como se reciba un bloque. De lo contrario, hay que esperar a que se reciban todos los bloques, concatenar los bloques y descifrar.

More Interesting

¿Necesita EE. UU. Un Gran Cortafuegos para proteger a las empresas de Internet de las redes sociales de EE. UU. De ser pirateadas e influenciadas por gobiernos extranjeros?

En seguridad de bases de datos, ¿es seguro almacenar sales de contraseñas en texto plano?

¿Cuáles son las mayores oportunidades (legales) en ciberseguridad para emprendedores con una gran experiencia en programación? ¿Qué áreas de consultoría de ciberseguridad son las más lucrativas?

¿Por qué se dice que Stuxnet es el malware más peligroso de la historia?

¿Cuáles son los mejores maestros de ciberseguridad en Europa?

Cómo eliminar el ransomware Sage

¿Son interesantes los trabajos de seguridad cibernética?

Básicamente no sé nada sobre ciberseguridad o codificación. Planeo estudiar seguridad cibernética el próximo semestre. ¿Qué puedo hacer para comenzar a aprender lo básico?

Con la vigilancia desenfrenada y la intrusión de gobiernos y corporaciones, ¿quiénes son algunas personas técnicas confiables que trabajan para garantizar que nuestra privacidad no sea quitada?

¿Cuáles son las ventajas / desventajas de usar el inicio de sesión único?

¿Cuál es el mejor esquema de autenticación corporativa?

¿Es posible garantizar que los datos transmitidos sean correctos con una precisión del 100%?

Quiero programar un software antivirus, ¿dónde puedo comenzar?

¿Es seguro cada software de reclutamiento?

¿Cuáles son las lecciones clave del ataque DDOS masivo contra Dyn DNS para empresas de internet?