Вопрос:

Дарья Комышева

SHARK — Таблицы замещений


Ответ:

Марина Лещик

Для того, чтобы добиться высокой производительности, слой диффузии и блоки подстановок объединяются в одну операцию. Пусть обозначают входные данные раунда;  — выходные данные;  — матрицы перестановок (S-блоки);  — матрица, определяющая слой диффузии; и  — обозначают сложение и умножение над полем . Тогда

Используя расширенные таблицы замещений размерности , определяемые по формуле , можно записать преобразование в простом виде:

Таким образом, один раунд требует поисков по таблице и бинарных операций. Однако, из-за того что при длине блока бит таблицы занимают байт, алгоритм для блоков длины 128 бит и более оказывался неэффективным для большинства процессоров того времени (1996 год), отсюда происходит существующее ограничение на длину блока в 64 бит ( ).

Источник: Википедия


Связанные вопросы (SHARK):

История SHARK

Дизайн алгоритма

Слой диффузии

Нелинейный слой (блоки подстановок)

Расписание ключей

Exor

Affine Transformation

Генерация подключей

Заметки по реализации

Матрица MDS-кода

Дешифрование

Известные атаки