AEGIS: высокоскоростное аутентифицированное шифрование
Изучите семейство шифров AEGIS — AEAD-алгоритмов, разработанных для максимальной пропускной способности современного оборудования
«AEGIS: высокоскоростное аутентифицированное шифрование» — бесплатный урок Cryptology Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Cryptology Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Cryptology Academy содержит 4 уроков всего.
Цели конструкции AEGIS
AEGIS был специально разработан для максимально эффективного использования аппаратного ускорения AES-NI и обеспечивает на современных процессорах пропускную способность, значительно превышающую AES-GCM. Он был представлен на конкурсе CAESAR, а позднее предложен в проекте стандарта IETF для использования в TLS и QUIC.
Варианты AEGIS
AEGIS имеет два основных варианта: AEGIS-128 (128-битный ключ, 128-битное одноразовое число) и AEGIS-256 (256-битный ключ, 256-битное одноразовое число). Оба варианта обеспечивают теги аутентификации длиной соответственно 128 или 256 бит. AEGIS-128L — оптимизированный вариант, предназначенный для использования более широкого параллелизма конвейера AES-NI на современных процессорах.
Конструкция раундов AES на основе состояния
В отличие от AES-GCM, который использует AES как базовый строительный блок в определённом режиме, AEGIS применяет многократные вызовы раундовой функции AES для поддержания и обновления внутреннего состояния. На каждом шаге шифрования выполняется несколько раундов AES, что позволяет использовать параллелизм на уровне инструкций на процессорах с широкими исполнительными блоками.
Пропускная способность AEGIS по сравнению с AES-GCM
На процессорах с AES-NI AEGIS-128L может обеспечивать пропускную способность 100 Гбит/с и более, тогда как AES-GCM обычно достигает 40–60 Гбит/с на том же оборудовании. Такое преимущество в производительности, примерно в 2–3 раза, делает AEGIS привлекательным для сценариев шифрования сетевого трафика с высокой пропускной способностью.
AEGIS-128L и параллелизм
AEGIS-128L использует восемь 128-битных слов состояния и обрабатывает на каждом шаге два 256-битных блока сообщения, максимально задействуя конвейер AES-NI. Вариант «L» обеспечивает более высокую пропускную способность, чем стандартный AEGIS-128, на процессорах, способных одновременно выполнять несколько инструкций AES-NI в конвейере.
Запас стойкости AEGIS
AEGIS обеспечивает 128-битную стойкость конфиденциальности и 128- или 256-битную стойкость аутентификации — в зависимости от длины тега. Анализ безопасности не выявил для всей конструкции известных атак, превосходящих полный перебор. В конструкции используется консервативное число раундов AES, что обеспечивает значительный запас стойкости.
Проект стандарта IETF для AEGIS
AEGIS предложен в проекте стандарта IETF (draft-irtf-cfrg-aegis-aead) для стандартизации Исследовательской группой криптографического форума. Проект охватывает AEGIS-128L, AEGIS-128 и AEGIS-256, а также содержит тестовые векторы. Возможность включения этих алгоритмов в наборы шифров TLS и QUIC активно обсуждается.
Требование к аппаратному обеспечению AES-NI
У AEGIS нет практически пригодного программного запасного варианта: без AES-NI его производительность резко падает, поскольку каждый вызов раундовой функции AES становится затратным. AEGIS следует выбирать только в том случае, если наличие AES-NI гарантировано во всех целевых средах развертывания, включая виртуальные машины и контейнерные среды.
AEGIS и ChaCha20-Poly1305
ChaCha20-Poly1305 был разработан как высокоскоростной режим AEAD для сред без AES-NI, например для мобильных процессоров ARM до ARMv8 и встроенных систем. На современных ARM64 с аппаратным ускорением AES AEGIS может быть быстрее, однако ChaCha20-Poly1305 остаётся безопасным универсальным выбором, когда возможности оборудования различаются.
Последствия отсутствия программного запасного варианта
Приложения, использующие AEGIS, должны тщательно проверять среду развертывания. Для сред без AES-NI следует реализовать программный запасной вариант на основе AES-GCM или ChaCha20-Poly1305. Криптографическая гибкость на уровне согласования TLS решает эту задачу автоматически, когда AEGIS предлагается как предпочтительный набор шифров.
Состояние внедрения
AEGIS поддерживается в эталонной реализации AEGIS-cipher, в OpenSSL 3.2 и более новых версиях через Provider API, а также в нескольких экспериментальных стеках TLS. Ожидается, что его внедрение будет расширяться по мере продвижения проекта стандарта IETF к статусу RFC и роста потребности приложений с высокой пропускной способностью в производительности, превышающей возможности AES-GCM.
Проверка аппаратных требований AEGIS
Какое утверждение об аппаратных требованиях AEGIS является правильным?
Итоги урока: AEGIS для максимальной скорости
AEGIS обеспечивает пропускную способность в 2–3 раза выше, чем AES-GCM на оборудовании с AES-NI, используя несколько раундовых функций AES в конструкции на основе состояния. AEGIS-128L максимально использует параллелизм конвейера. Для работы требуется AES-NI, поэтому этот режим не подходит, если возможности оборудования различаются. Стандартизация IETF для использования в TLS и QUIC продолжается.
Часто задаваемые вопросы
Урок «AEGIS: высокоскоростное аутентифицированное шифрование» бесплатный?
Да — полный текст урока «AEGIS: высокоскоростное аутентифицированное шифрование» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Cryptology Academy, подпишись на CoddyKit PRO. Курс Cryptology Academy содержит 4 уроков всего.
Чему я научусь в уроке «AEGIS: высокоскоростное аутентифицированное шифрование»?
Изучите семейство шифров AEGIS — AEAD-алгоритмов, разработанных для максимальной пропускной способности современного оборудования Ты практикуешь Cryptology Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Cryptology Academy?
Предыдущий опыт не требуется. Cryptology Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «AEGIS: высокоскоростное аутентифицированное шифрование»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Cryptology Academy?
Да. Каждый урок Cryptology Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Почему шифрование с последующим MAC лучше обратного порядка
- Режим SIV: AEAD с защитой от ошибок использования nonce
- AEGIS: высокоскоростное аутентифицированное шифрование
- Выбор AEAD для промышленных систем