stringtranslate.com

КАРМА

QARMA (от Qualcomm ARM A uthenticator [1] ) — это легковесный настраиваемый блочный шифр, в первую очередь известный по использованию в архитектуре ARMv8 для защиты программного обеспечения в качестве криптографического хеша для кода аутентификации указателя. [2] Шифр ​​был предложен Роберто Аванци в 2016 году . [2] [3] Определены две версии QARMA: QARMA-64 (64-битный размер блока с 128-битным ключом шифрования ) и QARMA-128 (128-битный размер блока с 256-битным ключом). На конструкцию QARMA повлияли PRINCE и MANTIS. [3] Шифр ​​предназначен для полностью развернутых аппаратных реализаций с низкой задержкой (например, шифрование памяти). В отличие от режима XTS , адрес можно напрямую использовать в качестве настройки, и его не нужно предварительно отбеливать с помощью блочного шифрования.

Архитектура

Обзор QARMA ( черта сверху указывает на обратное преобразование)

QARMA — это шифр Эвена–Мансура , использующий три этапа, с отбеливающими ключами w 0 и w 1, объединенными с помощью XOR между ними:

  1. перестановка F использует основной ключ k 0 и параметризуется настройкой T. Она имеет r раундов внутри (r = 7 для QARMA-64, r = 11 для QARMA-128);
  2. «центральная» перестановка C использует ключ k 1 и разработана так, чтобы быть обратимой посредством простого преобразования ключа (содержит два центральных раунда );
  3. третья перестановка является обратной первой ( еще r раундов).

Все ключи выводятся из главного ключа шифрования K с использованием специализации :

Подробности QARMA. Раунды находятся вверху, раунды находятся внизу, находится справа. Внутренний путь описывает преобразование внутреннего состояния, внешний путь соответствует обновлению твика. c iконстанты раундов .

Данные разделены на 16 ячеек (4-битные полубайты для QARMA-64, 8-битные байты для QARMA-128). Внутреннее состояние также содержит 16 ячеек, организованных в матрицу 4x4, и инициализируется открытым текстом (XOR с w 0 ). В каждом раунде состояние преобразуется с помощью операций :

Настройка для каждого раунда обновляется с помощью :

Раунды состоят из обратных операций . Центральные раунды, в дополнение к двум раундам ( и ), включают умножение состояния на инволютивную матрицу Q .

Ссылки

  1. ^ Qameleon v. 1.0: Представление в процесс стандартизации облегченной криптографии NIST
  2. ^ ab Зонг и Донг 2016.
  3. ^ ab Avanzi 2016.

Источники

Внешние ссылки