AES-CBC, o Advanced Encryption Standard in modalità Cipher Block Chaining, è un modo comune per cifrare i dati in blocchi di dimensione fissa. Ogni blocco di testo in chiaro viene combinato con il blocco di testo cifrato precedente prima della cifratura, così i dati identici non producono sempre lo stesso testo cifrato. È ampiamente usato nelle applicazioni web e nei protocolli più datati, soprattutto quando la retrocompatibilità è importante.
Nel lavoro di sicurezza, AES-CBC è importante perché la modalità in sé non fornisce integrità. Se un'applicazione rivela errori diversi per differenti fallimenti di decrittazione, gli attaccanti possono ottenere un padding oracle: un canale laterale che li aiuta a testare i testi cifrati, recuperare il testo in chiaro o talvolta forgiare valori cifrati validi. Per questo le difese si concentrano sull'uso della cifratura autenticata, come AES-GCM, oppure sulla combinazione della cifratura con una forte autenticazione dei messaggi e una gestione uniforme degli errori. Per i sistemi legacy che si affidano ancora ad AES-CBC, eliminare segnali di fallimento distinguibili è fondamentale per evitare che gli oracoli di decrittazione si trasformino in attacchi lato server più ampi.


