Encrypt-then-MAC
Порядок операций, от которого зависит, действительно ли шифрование и защита целостности дают в сумме надёжность.
Шифр и MAC можно сочетать тремя способами. Encrypt-then-MAC сначала шифрует, а затем аутентифицирует шифртекст, поэтому получатель проверяет тег до того, как коснётся расшифровки. MAC-then-encrypt и encrypt-and-MAC породили длинный список уязвимостей. Lucky Thirteen (2013) использовал различия во времени обработки заполнения и MAC в TLS-CBC — прямое следствие вычисления MAC до шифрования.
Если тег проверяется первым, подделанный или неверно дополненный шифртекст отбрасывается раньше, чем кто-либо смотрит на заполнение, и padding oracle нечего наблюдать. Большинство современных протоколов выбирают именно этот порядок — и именно поэтому стандарты подталкивают к AEAD вместо самодельных комбинаций.