Вопрос:

Александр Долгин

SQUARE — Линейное преобразование θ {\displaystyle \theta }


Ответ:

Слава Слесаренко

Линейное преобразование воздействует на каждую строку в квадрате данных. Оно представляется формулой , где:

  •  — значение байта, находящегося в -й строке и -м столбце в квадрате данных;
  •  — новое значение байта в квадрате;
  •  — набор констант;
  • умножения выполняются в поле Галуа ;

Важно, что поле имеет характеристику 2, то есть операция сложения соответствует побитовому . Каждая -ая строка в квадрате может быть представлена в виде полинома . Тогда, определяя коэффициенты как полином , преобразование можно представить в виде произведения полиномов: , здесь  — новое значение строки квадрата, представленное в виде полинома, и . Обратному преобразованию соответствует полином , определённый по формуле .

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


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

Описание алгоритма

Преобразования в раунде шифрования

Байтовая перестановка π {\displaystyle \pi }

Сложение с ключом раунда σ [ K i ] {\displaystyle \sigma [K_{i}]}

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

Шифрование

Расшифрование

Безопасность

Исследование криптостойкости создателями алгоритма

Описание Square-атаки

Особенности шифра