Encrypt-then-MAC
L'ordre qui détermine si chiffrement et protection d'intégrité s'additionnent réellement.
Un chiffrement et un MAC peuvent se combiner de trois façons. Encrypt-then-MAC chiffre d'abord, puis authentifie le texte chiffré : le récepteur vérifie le tag avant même de toucher au déchiffrement. MAC-then-encrypt et encrypt-and-MAC ont produit une longue liste de vulnérabilités. Lucky Thirteen (2013) a exploité les différences de temps dans la façon dont TLS-CBC traitait le padding et le MAC, conséquence directe du calcul du MAC avant le chiffrement.
Vérifier le tag en premier signifie qu'un texte chiffré falsifié ou mal rembourré est rejeté avant que le moindre padding soit examiné : un oracle de padding n'a plus rien à observer. C'est l'ordre que choisissent la plupart des protocoles modernes, et la raison pour laquelle les normes poussent vers l'AEAD plutôt que vers les assemblages maison.