Режим EAX (encrypt-then-authenticate-then-translate [1] ) — режим работы криптографических блочных шифров. Это алгоритм аутентифицированного шифрования с ассоциированными данными ( AEAD ), разработанный для одновременного обеспечения как аутентификации , так и конфиденциальности сообщения ( аутентифицированное шифрование ) с двухпроходной схемой, один проход для достижения конфиденциальности и один для подлинности для каждого блока.
Режим EAX был представлен 3 октября 2003 года вниманию NIST с целью замены CCM в качестве стандартного режима работы AEAD, поскольку режим CCM не имеет некоторых желаемых атрибутов EAX и является более сложным.
EAX — это гибкая схема AEAD с двухпроходным использованием одноразовых кодов без ограничений на используемый примитив блочного шифра или размер блока, а также поддерживает сообщения произвольной длины. Длина тега аутентификации может быть произвольной вплоть до размера блока используемого шифра.
Примитивный блочный шифр используется в режиме CTR для шифрования и в качестве OMAC для аутентификации каждого блока с помощью метода композиции EAX, который можно рассматривать как частный случай более общего алгоритма, называемого EAX2 и описанного в разделе «Режим работы EAX» [2].
Реализованный в вышеупомянутой статье алгоритм использует AES в режиме CTR для шифрования в сочетании с AES OMAC для аутентификации.
Режим EAX, являясь двухпроходной схемой, работает медленнее, чем хорошо спроектированная однопроходная схема, основанная на тех же примитивах.
Режим EAX имеет несколько желательных атрибутов, а именно:
Примечательно, что в режиме CCM отсутствуют последние 2 атрибута (CCM может обрабатывать связанные данные, но не может выполнять их предварительную обработку).
Авторы режима EAX Михир Белларе , Филлип Рогауэй и Дэвид Вагнер разместили работу в общественном достоянии и заявили, что им не известно о каких-либо патентах, охватывающих эту технологию. Таким образом, режим работы EAX считается свободным и необремененным для любого использования.
Модификация режима EAX, так называемая EAX′ или EAXprime, используется в стандарте ANSI C12.22 для передачи данных на основе счетчиков по сети. В 2012 году Казухико Минемацу, Стефан Лакс , Хираку Морита и Тетсу Ивата опубликовали статью, которая доказывает безопасность режима с сообщениями, длина которых превышает длину ключа, но демонстрирует тривиальную атаку против коротких сообщений с использованием этого режима. Авторы заявили, что они не знают, уязвимы ли протоколы ANSI C12.22 для атаки. [3] [4]