Учитывая этот код:
const bufIV = Buffer.alloc(16);
const cipher = crypto.createCipheriv(CIPHER, mykey, crypto.randomFillSync(bufIV));
let encrypted = cipher.update(doc, 'utf8', ENCODING);
encrypted += cipher.final(ENCODING);
Будет ли ИВ также аутентифицироваться? Конец этой статьи, кажется, указывает, что это должно быть, но я действительно не понимаю, как это работает.
Использование хорошего IV автоматически не означает, что ваш криптозащитник безопасен. Вы также должны аутентифицировать свои зашифрованные тексты. Когда вы это сделаете, не забудьте подтвердить подлинность IV.
Да, AES-GCM автоматически проверит IV, проверка IV включена в расчет тега аутентификации.
Теперь для плохих новостей: поскольку вам нужно явно установить полученный тег аутентификации в NodeJS с помощью setAuthTag
ничего не будет проверено в коде, который вы нам показали.