- •Алгоритмы и сложность вычислений. Введение
- •49. Определение нормальных алгоритмов Маркова.
- •§ 1. Нормальные алгоритмы
- •50. Определение Машины Тьюринга.
- •§ 2. Машины тьюринга
- •51. Определение частично рекурсивных функций. Основные функции.
- •1. Матрицы Адамара и их свойства.
- •2. Матрицы Силъвестра-Адамара их свойства.
- •3. Преобразования Уолша-Адамара булевых функций.
- •4. Преобразование Фурье булевой функции.
- •5. Схема Грина быстрых преобразований Уолша и Фурье.
- •6. Критерий нелинейности булевых функций.
- •7. Расстояние до линейных структур.
- •8. Порядок нелинейности.
- •9. Совершенно нелинейные функции.
- •10. Расстояние до аффинных функций и корреляция.
- •11. Булевы функции от нечетного числа аргументов.
5. Схема Грина быстрых преобразований Уолша и Фурье.
Для
матриц Сильвестра-Адамара
имеет
место следующая факторизация (разложение
матрицы в произведение матриц)
,
где
![]()
![]()
Jk- единичная матрица порядкаk.
ДОКАЖЕМ указанную факторизацию индукцией по m.
При m=1 имеем
т.е.
указанная факторизация справедлива.
Так
как
то можно записать, что
,
![]()
.
С учетом этих равенств имеем

Так
как по предположению индукции верно
равенство
,
то
![]()
и факторизация доказана.
Например, при m =2 факторизация имеет вид
,
где
,
.
Из равенств
![]()
следует, что матрица
,
, содержит в каждой строке и в каждом
столбце ровнодва ненулевых
элемента, равных либо 1,либо -1.Следовательно,
умножение любой вектор-строки размерности
2mна столбец
матрицы
связано с одной операцией сложения
или вычитания компонент данной
вектор-строки, а общее число таких
операций при умножении вектора-строки
на матрицу
равно 2m
.Так как умножение вектора-строки
на матрицу
можно свести к последовательному
умножению на матрицы
,то общее число операций при
таком умножении равноm2m.
Отметим, что число умножений
вектора-строки на матрицуHпорядка 2mбез
применения схемы быстрого, умножения
требует 22mопераций. Способ быстрого умножения
вектор-строки на матрицу Сильвестра-Адамара
с использованием приведенной факторизации
обычно называют схемой Грина. Применение
этой схемы к равенствам (1)и (2)называют, соответственно,
быстрым преобразованием Уолша-Адамара
и быстрым преобразованием Фурье.
6. Критерий нелинейности булевых функций.
В соответствии с принципами, сформулированными К. Шенноном, при синтезе криптографических систем выдвигаются два требования, которые обычно называются требованием перемешивания и требованием рассеивания. Для обеспечения выполнения требования перемешивания для осуществления криптографических преобразований используются нелинейные функции. Таким образом, требование нелинейности для дискретных функций является весьма существенным для обеспечения криптографической стойкости шифрсистем.
В этой связи необходимо иметь критерий, определяющий меру нелинейности криптографических функций. Такой критерий должен учитывать известный в криптографии принцип, заключающийся в том, что функция является неприемлемой с криптографической точки зрения, если она простыми преобразованиями приводится к функции, не обладающей хорошими криптографическими качествами. Поэтому критерий нелинейности должен быть инвариантен относительно некоторой группы преобразований, переводящих одну функцию в другую.
Действительно, например, булева функция
![]()
содержит
все нелинейные члены после перемножения.
Однако, функция
состоит из одного члена и является
криптографически неприемлемой.
Как и ранее ниже для различения обозначений F – функция, а F2 –конечное поле из двух элементов, для поля будем использовать обозначение GF(2), столь же общепринятое, как и F2. Для множества всех двоичных наборов длины k (координатного векторного пространства над полем GF(2)) используем обозначение [GF(2)]k.
Критерий нелинейности булевых функций.
В криптографических приложениях часто используются функции вида
.
Например, преобразования S-блоков шифрсистемы DES (см. параграф 1.4) определяются функцией
.
Вместе с тем, критерий нелинейности удобно сводить к критериям нелинейности булевых функций вида
.
В этих целях
используется понятие линейной структуры.
Говорят, что функция
имеет линейную структуру, если существует
такой ненулевой вектор
и нeтpивиaльнoe линейное отображение
такое, что сумма
принимает
одно и то же значение, равное 0 или 1, для
всех
.
Эта линейная структура
может быть выражена через линейные
структуры булевой функции
.
По этой причине основное внимание будет
уделено критериям нелинейности булевых
функций f. В этих целях будет использоваться
алгебраическая нормальная форма функции
f , имеющая вид:
.
По определению считаем, что функция f нелинейна, если ее алгебраическая нормальная форма (многочлен Жегалкина) содержит члены степени выше первой.
Расстояние функции f до ближайшей аффинной функции L определим равенством
,
где
- расстояние Хэмминга между f и L и A(n) -
множество всех аффинных функций
.
Для исследования
- расстояния функции f до множества A(n)
рассмотрим
- группу всех обратимых преобразований
пространства
.
В этой группе рассмотрим подгруппу
AGL(n) всех аффинных преобразований.
Известно, что любой элемент
может быть записан в виде
, где A – регулярная (невырожденная)
матрица
и
.
Положим
![]()
- множество всех булевых функций от nпеременных.
Действие группы
на множество
определим равенством
,
где
.
В этих терминах описание критериев нелинейности функций можно сделать более общим и более точным. Любой такой критерий определяется функцией D
,
которая принимает значения из соответствующего множества W.
Функция f удовлетворяет
критерию нелинейности, если D(f))W1,
W1W - соответствующим
образом определенное подмножество.
Существенно, чтобы значения D были
инвариантны при таких преобразованиях
из
,
которые переводят функцию f в другую
функцию g , не удовлетворяющую
криптографическим требованиям. В
совокупность таких преобразований
обычно включают аффинные преобразования.
Для определения
критерия рассмотрим максимальную
подгруппу
,
которая оставляет D инвариантным, т.е.
.
Группу
будем называть группой симметрий D.
Исследование критериев нелинейности
связано с описанием группы симметрий.
Прежде всего
покажем, что расстояние
до ближайшей аффинной функции инвариантно
относительно операции действия аффинной
группы
.
Этот результат получим в качестве
следствия из теоремы, сформулированной
ниже.
Пусть
и для
обозначим
;
- группа всех обратимых преобразований
.
Положим
=
.
Будем
называть
группой симметрий множества H.
Теорема
1. Для любого подмножества
группа симметрий
совпадает с группой симметрий H, т.е.
.
ДОКАЗАТЕЛЬСТВО состоит из двух пунктов.
а)
Покажем, что
. Возьмем
и
.
Пусть
такое, что
.
Тогда
,
так как операция действия
на Ф(n) оставляет инвариантным расстояние
Хэмминга. Из определения
следует, что
и, следовательно,
.
Таким образом,
при любом.
Так
как
есть подгруппа группы
,
то существует обратный элемент
.
Действуя этим элементом, получаем, что
.
Следовательно,
и
.
б)
Покажем, что
.
Заметим, что для любого
существует такое
,
что
и,
следовательно,
.
С другой стороны, так как
,
то
- получили противоречие..
Следствие
1.Группа симметрий J(для минимума расстоянийдо множества аффинных функций L есть
аффинная группа
.
С
учетом теоремы 1 остается показать, что
- аффинная группа
.
Очевидно,
что
.
Кроме того, для любого
существует такой индекс i, что i -я
компонентаi(x1,…,xn)
вектораx не является
аффинной. Тогда, если g(x1,…,xn)= xi, то функцияg(x1,…,xn)=i(x1,…,xn)
.
Отсюда следует, что![]()
