- •Алгоритмы и сложность вычислений. Введение
- •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). Отсюда следует, что