Литмир - Электронная Библиотека
Содержание  
A
A

С чего начала кафедра математики на 4 факультете? С самого простейшего преобразования, осуществляемого с n-мерными двоичными векторами, с преобразования типа (GП)k, где G – группа, порожденная циклическим сдвигом (G = , g =(0,1,…,2n-1)-циклическая подстановка), П – некоторая фиксированная подстановка из S2n, а k – некоторое целое число.

Если здесь перейти от математических терминов из теории групп к обычной криптографической терминологии, то преобразование типа (GП)k – это следующий узел.

Криптография и свобода - img_2_0.png

Преобразования типа (GП)k - это, фактически, множество подстановок вида gx1П gx2П… gxkП, и задачей кафедры математики было обосновать какие-то свойства подобного множества, найти их зависимости от подстановки П. Типичная криптографическая ситуация – когда в таком узле входное слово x1,x2,…xk является ключевым параметром, требуется найти подходы к его определению по нескольким известным переходам в реализуемой подстановке.

Кафедра начала с изучения группы , т.е. группы, порожденной двумя подстановками: циклическим сдвигом g и фиксированной произвольной подстановкой П. Это естественное обобщение преобразования (GП)k, предельный случай. Свойства группы дают ответ на вопрос, что в принципе можно ожидать от нашего преобразования при увеличении длины k до бесконечности. Можем ли мы таким путем получить все подстановки или же есть какие-то запреты?

Оказалось, что если случайно и равновероятно выбрать из всей симметрической группы фиксированную подстановку П, то с вероятностью, близкой к 1, группа будет совпадать со всей симметрической группой, т.е. запретов не будет. Те подстановки П, для которых это не так, очень часто легко определяются, например, П=g, а также любая линейная подстановка, реализующая преобразование вида П(x) = ax+b, где a и b – фиксированные элементы из Z/2n.

Дальше, естественно, стали возникать вопросы: а как скоро мы сможем достичь симметрической группы? Какова будет мощность слоя (GП)k при некотором значении k, например, при k=2 или при k=3? При каком k множество (GП)k станет 2-транзитивным, т.е. по имеющимся в нем подстановкам любая пара (y1,y2), в которой y1<>y2, сможет перейти в любую пару (z1,z2), в которой z1<>z2? Что в общем случае можно будет сказать про обобщение 2-транзитивности – m-транзитивность?

За свойство 2-транзитивности взялись основательно, чувствовалось, что здесь могут быть интересные криптографические зацепки: если 2-транзитивность отсутствует, то появляются запреты переходов биграмм текста, широкое поле деятельности для криптоаналитика. Например, если П – упомянутая выше линейная подстановка, то для любой пары (y1,y2) будет справедливо соотношение:

П(y1)- П(y2) = (ay1+b) – (ay2+b) = a(y1-y2)

В этом случае при применении подстановки П сохраняется соотношение между разностями знаков, а поэтому кратной транзитивности заведомо не будет.

А если П – не линейная, а произвольная подстановка? При каком минимальном значении k множество (GП)k может достичь свойства 2-транзитивности? Всего имеется 2n(2n-1) различных пар (z1,z2), в которых z1<>z2, а количество различных подстановок в (GП)k не превосходит (2n)k. Следовательно, свойства 2-транзитивности можно достичь только при k>=2. Можно ли при k=2?

Рассмотрим множество подстановок (GП)2. Это множество реализует всевозможные преобразования произвольного значения t в значение s по формуле s = П (П (t+x1)+x2) при всевозможных x1,x2. Если бы это множество было 2-транзитивным, то для любых заранее фиксированных s1,s2, t1,t2 , в которых s1<>s2 и t1<>t2, система уравнений:

s1 = П (П (t1+x1)+x2)

s2 = П (П (t2+x1)+x2)

имела бы решение относительно x1,x2, а, следовательно, поскольку П – подстановка, то и система

s1 = П (t1+x1)+x2 (1)

s2 = П (t2+x1)+x2

имела бы решение для любых заранее фиксированных s1,s2, t1,t2, в которых s1<>s2 и t1<>t2

Отсюда, вычитая одно уравнение из другого, мы приходим к одной очень важной криптографической характеристике подстановки П – матрице частот встречаемости разностей переходов ненулевых биграмм P(П) размера (2n-1)x(2n-1), а именно, на пересечении i-ой строки и j-го столбца в этой матрице стоит значение pij – число решений системы уравнений относительно x и y:

x-y = i (2)

П(x) – П(y) = j

где i, j <> 0.

Если при каких-то i, j <> 0 pij =0, то это означает, что при заранее фиксированных s1,s2, t1,t2, в которых s1<>s2 и t1<>t2, а также t1-t2 = i, s1-s2 = j, система (1) заведомо не имеет решения, ибо в противном случае имела бы решение и система (2).

Заметим, что pij = p(2n-i)(2n-j). Действительно, каждому решению (x1,y1) системы (2) можно поставить во взаимно однозначное соответствие решение (x2,y2)=(y1,x1) системы

x-y = 2n-i

П(x) – П(y) = 2n-j

если домножить на –1 оба уравнения (2).

Из системы (2) очевидно вытекает, что число ее решений равно числу значений y, при которых

П(y+i) – П(y) = j (3)

Если каждому решению (x1,y1) системы (2) поставить во взаимно-однозначное соответствие пару (x2,y2) = (П-1(x1),П-1(y1)), то такая пара будет решением системы

x-y = j (4)

П-1(x) – П-1(y) = i

Следовательно, число решений системы (2) будет равно числу значений y, при которых

П-1(y+j) – П-1(y) = i (5)

Из (3) очевидно вытекает, что сумма всех элементов pij в i-ой строке при любом i равна 2n. Аналогично, из (5) вытекает, что сумма всех элементов pij в j-ом столбце при любом j равна 2n.

Поскольку размер P(П) равен (2n-1)x(2n-1), то из условия, что сумма всех элементов pij в i-ой строке при любом i равна 2n следует, что если бы P(П) не содержала нулей, то в любой ее строке все элементы были бы равны 1, кроме одного, равного 2. Аналогично получаем, что в этом случае в любом столбце должны быть все элементы 1, кроме одного, равного 2.

Если при некотором y выполняется

П(y+2n-1) – П(y) = 2n-1, (6)

то, поскольку 2n–2n-1 = 2n-1, то (6) будет справедливо и при значении y1 = y+2n-1. Таким образом, элемент p(2n-1)(2n-1) не может быть нечетным.

Предположим, что некоторая i-я строка целиком ненулевая. Это означает, что среди значений j,j1,…,j2n-1, получаемых по формуле

jk =П(k+i)- П(k) (7)

29
{"b":"104322","o":1}