AES-GCM-SIV- это режим работы для Advanced Encryption Standard, который обеспечивает производительность, аналогичную Режим Галуа / счетчика, а также защита от неправильного использования в случае повторного использования криптографического одноразового идентификатора . Конструкция определена в RFC 8452.
AES-GCM-SIV разработан для сохранения конфиденциальности и целостности, даже если одноразовые значения повторяются. Для этого шифрование является функцией одноразового номера, текстового сообщения и необязательных дополнительных связанных данных (также известных как AAD). В случае неправильного использования одноразового номера (т.е.использования более одного раза) ничего не обнаруживается, кроме случая, когда одно и то же сообщение зашифровано несколько раз одним и тем же одноразовым идентификатором. Когда это происходит, злоумышленник может наблюдать повторное шифрование, поскольку шифрование является детерминированной функцией одноразового номера и сообщения. Однако, кроме этого, никакой дополнительной информации злоумышленнику не раскрывается. По этой причине AES-GCM-SIV является идеальным выбором в случаях, когда невозможно гарантировать уникальные одноразовые номера, например, когда несколько серверов или сетевых устройств шифруют сообщения одним и тем же ключом без координации.
Как и Режим Галуа / Счетчика, AES-GCM-SIV объединяет хорошо известный режим счетчика шифрования с режимом Галуа аутентификация. Ключевой особенностью является использование синтетического вектора инициализации, который вычисляется с помощью умножения поля Галуа с использованием конструкции POLYVAL (little-endian вариант GHASH в режиме Галуа / счетчика ). POLYVAL обрабатывается комбинацией одноразового номера, открытого текста и дополнительных данных, поэтому IV различен для каждой комбинации.
POLYVAL определяется над GF (2) полиномом:
Обратите внимание, что GHASH определяется над "обратным" многочленом:
Это изменение обеспечивает повышение эффективности в архитектурах с прямым порядком байтов.