AES-128-GCM аутентифицирует IV на узле V6?

1

Учитывая этот код:

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.

  • 0
    Статья, на которую вы ссылаетесь, не относится к режиму GCM, поэтому она применяется не полностью. IV нужно только уникальным для каждого шифрования с тем же ключом. Аутентификация, на которую они ссылаются, является MAC в дополнение к режиму CTR / CBC.
  • 0
    Так что мне не нужно беспокоиться об этом один раз?
Показать ещё 4 комментария
Теги:
encryption
security
cryptography

1 ответ

1
Лучший ответ

Да, AES-GCM автоматически проверит IV, проверка IV включена в расчет тега аутентификации.

Теперь для плохих новостей: поскольку вам нужно явно установить полученный тег аутентификации в NodeJS с помощью setAuthTag ничего не будет проверено в коде, который вы нам показали.

  • 0
    Хороший улов про setAuthTag. Я быстро столкнулся с этой проблемой в следующем :)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню