Aunque Peter Harmann hace muy buenos puntos en su respuesta y explica todo perfectamente, creo que el único correcto la respuesta puede ser # 4.
Antes del cifrado de bloques , solo puede obtener bloques de texto cifrado idénticos si la entrada del cifrado de bloque es idéntica en ambas operaciones de cifrado en modo CBC. Los cifrados de bloque son permutaciones, por lo que siempre hay una relación 1: 1 entre un bloque de texto simple específico y un bloque de texto cifrado específico.
El problema es que la pregunta no hace que sea explícita que la pregunta es sobre el cifrado de bloque en lugar del cifrado de bloque en modo CBC . El bloque de texto cifrado directamente antes , el cifrado del bloque es XOR'ed con el bloque de texto simple antes de que se realice el cifrado del bloque. Por lo tanto, la calidad de la pregunta es ciertamente discutible.
Para asegurarse de que no se encuentren bloques de texto cifrado idénticos, debe haber un número máximo de bloques que puedan ser cifrados por el modo CBC. Ese máximo está relacionado con el tamaño de bloque del cifrado de bloque que se está utilizando. Esta es una de las razones por las cuales AES (tamaño de bloque de 128 bits) debería preferirse al modo triple DES o pez globo (tamaño de bloque de 64 bits).
Si se encuentra un bloque idéntico, entonces se filtra el XOR entre los dos bloques de texto plano, y se puede abusar de la filtración de cualquier tipo de datos y se rompe un cifrado.
Es posible que haya un movimiento (final) a cifrados de bloque de 256 bits en el futuro debido a problemas como este. Los modos de operación comunes / modernos, como CTR (modo de contador) y GCM, tienen limitaciones en la cantidad de bytes de mensajes y la cantidad de mensajes que se pueden cifrar con una sola clave, a pesar de operar en un tamaño de bloque de 128 bits.