AES-GCM попадает в категорию A5 в документе. В AES-GCM не поддерживает $\texttt{без AAD}$, даже если вы не используете AAD во время шифрования, AES-GCM преобразует его как $\texttt{нулевой длины-AAD}$.
См. в НИСТ Специальная публикация 800-38d, стр. 15;
Алгоритм 4: $GCM-AE_K (IV, P, A)$
¦
4. Пусть $u = 128\cdot\lceil\operatorname{len}(C)/128\rceil - \operatorname{len}(C)$ и разреши $v = 128\cdot\lceil\operatorname{len}(A)/128\rceil - \operatorname{len}(A)$.
5. Определите блок, $S$, следующее: $$S = \operatorname{GHASH}_H(\mathbf{A \mathbin\| \mathtt 0^v} \mathbin\| C \mathbin\| \mathtt 0^u \mathbin\| \mathbf{[\operatorname{ len}(A)]_{64}} \mathbin\| [\operatorname{len}(C)]_{64}).$$
¦
На шагах 4 и 5 к AAD и зашифрованному тексту добавляется минимальное количество …$\мат 0$биты, возможно ни один, чтобы битовая длина результирующих строк была кратна размеру блока (выделено мной).
$А$ связанные данные, $лен(А) = 0$ следовательно, $\mathtt{v} = 0$. Даже в этом случае мы имеем $[\operatorname{len}(A)]_{64}$, это 64-битное кодирование длины связанных данных, и это всегда будет указывать на существование AAD, нулевой длины или нет!.
Если злоумышленник удаляет связанные данные, чтобы они выглядели как нулевая длина, во время расшифровки необходимо остановить с несоответствием тегов (Всегда останавливать и останавливать расшифровку сразу).
Схема, поддерживающая no-AAD, не должна нести информацию об отсутствующем AAD, иначе она попадает в AAD нулевой длины.
В конце концов, у нас есть дополнительная защита от подделок с помощью AAD нулевой длины.