Иоганн Людвиг (граф Нассау-Хадамара)
- 1 year ago
- 0
- 0
Псевдопреобразова́ние Адама́ра ( англ. Pseudo-Hadamard Transform, PHT ) — обратимое преобразование битовых строк, используемое в криптографии для обеспечения диффузии при шифровании . Количество бит на входе преобразования должно быть чётным, чтобы было возможным разделение строки на две части равной длины. Создателем преобразования является французский математик Жак Адамар .
Пусть на вход преобразования подаётся строка бит длины . Представим её в виде двух строк длины : . Тогда в результате действия псевдопреобразования Адамара получим строку , значения подстрок которой вычисляются по следующим формулам:
Соответственно, из этих формул легко получается обратное псевдопреобразование Адамара:
Псевдопреобразование Адамара может быть представлено в матричной форме . Если записать и в векторной форме , , то преобразование будет равносильно умножению на матрицу :
Конечно, не стоит забывать, что все операции при умножении на матрицу производятся по модулю .
Обратное преобразование равносильно умножению на матрицу, обратную к : .
Можно также представить матрицу преобразования в виде матрицы большей размерности, являющейся степенью двойки. Так, например, если мы работаем с 8-битовой строкой, мы можем представить её в виде 4-х подстрок длиной по 2 бита: , и аналогично поступить с выходной строкой . Матрица для такого преобразования получается из рекурсивного правила:
В нашем примере , и матрица преобразования имеет вид:
Псевдопреобразование Адамара применяется в некоторых алгоритмах шифрования для обеспечения лучшей криптографической диффузии. Примерами таких алгоритмов являются Twofish и SAFER . При этом 2-х точечное преобразование (на входе строка длиной 2 байта) применяется во всех разновидностях SAFER, кроме последней версии SAFER++ ( 2000 год ), в которой применяется 4-х точечное преобразование (на входе строка длиной 4 байта).
В приведенных выше алгоритмах шифрования большинство операций, в том числе и псевдопреобразование Адамара, производится над байтами . Соответственно, в формулах, описывающих преобразование, принимается равным 8