En términos simples, ¿qué es el encadenamiento de bloques de cifrado y cuáles son sus inconvenientes?

En criptografía, Cipher Block Chaining o CBC es un modo de operación para el algoritmo de cifrado (también conocido como cifrado).

Para comprender el propósito, primero considere el caso ingenuo del Libro de códigos electrónicos o el modo BCE. En el BCE, cada bloque de datos (el texto sin formato) se cifra en un bloque cifrado (el texto cifrado), uno por uno.

A -> A ‘
B -> B ‘
C -> C ‘
A -> A ‘

El problema con este enfoque es que los bloques repetidos se cifran con los mismos valores. Esto a menudo filtra suficiente información para permitir algunas inferencias sobre los datos subyacentes. Por ejemplo, en un cifrado de sustitución alfabética donde una letra se reemplaza por otra, la posición y la frecuencia de las letras sustituidas en el texto cifrado suelen ser suficientes para adivinar el mensaje no cifrado.

Para mitigar estos problemas, los modos de operación combinan múltiples bloques del texto sin formato y el texto cifrado, generalmente con operaciones como XOR, para producir la señal de salida.

CBC es un modo de operación de uso común en el que el último bloque de texto cifrado se XOR con el bloque actual de texto sin formato, antes del cifrado. Este “encadenamiento” tiene la propiedad de que la salida parece pseudoaleatoria y es mucho menos susceptible al análisis de frecuencia (discutido anteriormente). También es relativamente simple de implementar en el código, y tiene propiedades deseables, ya que cada bit del texto sin formato afecta a cada bloque posterior del texto cifrado. Sin embargo, los errores de bits en el texto cifrado solo se propagan por 1 bloque adicional, por lo que es adecuado para su uso en canales de comunicación poco confiables, como Internet.


[Modo de operación src Block Cipher]

ACTUALIZAR:
También se debe tener en cuenta que el CBC por sí solo no es suficiente para crear un protocolo de extremo a extremo totalmente seguro. Hay muchos otros factores que conforman un protocolo seguro, como un MAC, nonce, IV y alguna forma de acuerdo de clave segura.