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.
- Cómo detectar spyware
- ¿Qué aplicación utilizas para la gestión de contraseñas? ¿Confías en eso?
- ¿Cuál es la aplicación de comunicación más segura / privada?
- Cómo deshacerme de los hackers, para que no puedan hackear mi cuenta de Yahoo
- ¿Qué tan seguro es el VK Messenger (www.vk.com)?
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).