Cipher Block Chaining (CBC)
O modo CBC introduz um encadeamento entre os blocos para evitar que blocos de texto claro idênticos gerem blocos cifrados iguais.
Funcionamento Técnico
- Vetor de Inicialização (IV): O primeiro bloco de texto claro () passa por uma operação XOR com um IV aleatório antes de ser cifrado.
- Encadeamento: Para os blocos seguintes, o resultado do bloco cifrado anterior () é utilizado como entrada para o XOR com o bloco atual ().
- Dependência: Cada bloco cifrado depende de todos os blocos de texto claro anteriores.
Vantagens e Limitações
- Segurança: Significativamente superior ao ECB por ocultar padrões.
- Paralelismo: A encriptação é estritamente sequencial (você precisa do resultado do bloco 1 para cifrar o bloco 2). A decriptação, no entanto, pode ser paralelizada.
- Padding: Exige que a mensagem seja um múltiplo do tamanho do bloco, necessitando de preenchimento (padding).
- Vulnerabilidade: Se não houver verificação de integridade (MAC), é vulnerável a ataques de Padding Oracle.