Перейти до вмісту

VAES

Архітектурний довідникFeex

VAES надає операції раундів AES з векторним кодуванням, дозволяючи обробляти незалежні блоки AES у ширших регістрах, де це дозволяє підтримувана форма. Ця функція визначається окремо від застарілої AES-NI.

Що потрібно знати

VAES надає операції раундів AES з векторним кодуванням, дозволяючи обробляти незалежні блоки AES у ширших регістрах, де це дозволяє підтримувана форма. Ця функція визначається окремо від застарілої AES-NI.

Як це працює

Ширші операції VAES застосовують раунди AES незалежно до 128-бітних блоків у межах вектора. Вони не змінюють розмір блоку AES і не об'єднують ці блоки в новий шифр. Форми VEX та EVEX мають власні вимоги до функціональності та стану, а навколишній режим визначає, чи доступні незалежні блоки для спільної обробки.

Де це корисно

Режими на основі лічильника можуть надавати кілька незалежних блоків для векторизованої реалізації. Послідовна залежність у режимі або дуже коротке повідомлення можуть обмежити цю можливість. Автентифікація, розгортання ключів та робота з пам'яттю залишаються окремими частинами реалізації.

Як перевірити підтримку та активацію

CPUID.07H.00H:ECX біт 9 перелічує VAES. Також дотримуйтесь попередніх вимог SDM для вибраної форми VEX або EVEX, включаючи відповідні можливості AES/векторів та стан, дозволений ОС. Здійснюйте диспетчеризацію за точною формою інструкції, а не лише за загальною назвою функції.

Використовуйте підтримувану криптографічну реалізацію, яка бере на себе вибір функцій, обробку умов збоїв і повний алгоритм. Апаратне прискорення надає примітиви; керування ключами, автентифікація, правила щодо nonce і вибір протоколу залишаються завданням програмного забезпечення.

Чого ця функція не гарантує

VAES не означає, що AES має більший розмір блоку, сильніший ключ або автоматичне прискорення для кожного зашифрованого застосунку. Ця функція не передбачає автоматичної наявності VPCLMULQDQ або кожної підмножини AVX-512, і вона не забезпечує керування одноразовими номерами (nonce) або автентифікацію протоколу.

Сумісність і продуктивність на практиці

Поле функції не є сертифікацією продукту або доказом того, що певна програма безпечна. Продуктивність залежить від розмірів повідомлень, режиму, пакетування та решти компонентів протоколу. Перевіряйте фактичного постачальника та своєчасно встановлюйте його оновлення безпеки.

Практичний контрольний список для верифікації

  1. Зафіксуйте точну модель процесора або платформи, а також версії використовуваної програми, ОС і середовища виконання. Збережіть точне формулювання фактичної помилки або вимоги.
  2. Звіртеся з документацією виробника для цієї точної моделі, потім перевірте фактичні можливості та стан активації в середовищі, де виконується програма.
  3. Порівняйте кожну вимогу вибраного двійкового файлу або бекенда. Схожої назви функції, псевдоніма чи загального позначення технології недостатньо.
  4. Переконайтеся, що програма вибрала призначену реалізацію. Використовуйте її задокументовані засоби діагностики та підтримуваний резервний варіант, якщо вимоги не виконуються.
  5. Вносьте по одній підтримуваній зміні за раз і повторюйте те саме робоче навантаження. Зберігайте оригінальну конфігурацію та можливість відновлення.

Якщо функція вказана, але програмне забезпечення не може її використати

Почніть із компонента, у якому саме стався збій. База даних обладнання описує зафіксовані можливості; операційна система або гіпервізор можуть надавати інше фактичне середовище. Помилка неприпустимої інструкції також потребує дослідження фактичної інструкції, що викликала збій, і двійкової збірки, оскільки пошкодження даних або непов'язана непідтримувана інструкція можуть викликати схожий симптом.

Встановіть версію програми, драйвера або середовища виконання, яка підтримується для цієї конкретної платформи, і за потреби використовуйте задокументовану постачальником базову або резервну збірку. Оновлення програмного забезпечення не може створити інструкцію, якої немає в процесорі. Зміни у прошивці та політиках безпеки повинні відповідати процедурі виробника системи та плану відновлення, а не загальним рецептам оптимізації.

Джерела та межі застосування цього пояснення

Intel 64 and IA-32 Architectures Software Developer's Manual · Linux kernel: using XSTATE features in user space

Ці довідкові матеріали визначають архітектурну поведінку та вимоги до програмного забезпечення. Вони не перевіряють незалежно кожне значення функції на сторінці пов'язаної моделі обладнання. Щодо підтримки моделі використовуйте дані виробника на цій сторінці та перевіряйте фактичну конфігурацію системи. Ця стаття не містить бенчмарків, сертифікації чи дат незалежного огляду.

Джерела та верифікація

Власник авторських прав: Feex. Дата незалежної перевірки не зафіксована. Як ми проводимо дослідження.

  • Intel 64 and IA-32 Architectures Software Developer's Manual · Томи 1 і 2 описують зазначені сімейства інструкцій і CPUID; Том 3 описує стан, сторінкову організацію пам'яті, VMX і засоби захисту. Документація з архітектури не підтверджує підтримку для конкретної моделі.
  • Linux kernel: using XSTATE features in user space · Векторний стан, увімкнений ОС, динамічно ввімкнений стан тайлів, вимоги до стека сигналів і процес отримання дозволів AMX. Специфічна поведінка Linux не є гарантією для іншої ОС.

Чи була ця стаття корисною?

Достатньо відповісти "так" або "ні". За бажанням виберіть причину або додайте коротку примітку.

Чи була ця стаття корисною?