Псевдопреобразование Адамара (Hvyf;khjykQjg[kfguny G;gbgjg)

Перейти к навигации Перейти к поиску

Псевдопреобразова́ние Адама́ра (англ. Pseudo-Hadamard Transform, PHT) — обратимое преобразование битовых строк, используемое в криптографии для обеспечения диффузии при шифровании. Количество бит на входе преобразования должно быть чётным, чтобы было возможным разделение строки на две части равной длины. Создателем преобразования является французский математик Жак Адамар.

Действие преобразования

[править | править код]

Пусть на вход преобразования подаётся строка бит длины . Представим её в виде двух строк длины : . Тогда в результате действия псевдопреобразования Адамара получим строку , значения подстрок которой вычисляются по следующим формулам:

Соответственно, из этих формул легко получается обратное псевдопреобразование Адамара:

Матричное представление

[править | править код]

Псевдопреобразование Адамара может быть представлено в матричной форме. Если записать и в векторной форме , , то преобразование будет равносильно умножению на матрицу :

Конечно, не стоит забывать, что все операции при умножении на матрицу производятся по модулю .

Обратное преобразование равносильно умножению на матрицу, обратную к : .

Можно также представить матрицу преобразования в виде матрицы большей размерности, являющейся степенью двойки. Так, например, если мы работаем с 8-битовой строкой, мы можем представить её в виде 4-х подстрок длиной по 2 бита: , и аналогично поступить с выходной строкой . Матрица для такого преобразования получается из рекурсивного правила:

В нашем примере , и матрица преобразования имеет вид:

Применение

[править | править код]

Псевдопреобразование Адамара применяется в некоторых алгоритмах шифрования для обеспечения лучшей криптографической диффузии. Примерами таких алгоритмов являются Twofish и SAFER. При этом 2-х точечное преобразование (на входе строка длиной 2 байта) применяется во всех разновидностях SAFER, кроме последней версии SAFER++ (2000 год), в которой применяется 4-х точечное преобразование (на входе строка длиной 4 байта).

В приведенных выше алгоритмах шифрования большинство операций, в том числе и псевдопреобразование Адамара, производится над байтами. Соответственно, в формулах, описывающих преобразование, принимается равным 8