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

Здесь и всюду далее нам будут встречаться два разных типа арифметических операций сложения и вычитания: в кольце Z/N и в поле GF(N+1). Операции в кольце Z/N будем обозначать обычными символами “+” и “-“, а операции в поле GF(N+1) – o и ㊀ соответственно.

Теорема 1.

Пусть П – логарифмическая подстановка, х1х2, х12 ЄZ/N, i – произвольный ненулевой элемент кольца Z/N.

Тогда если ни одна из точек х1+i,x12+i,x2 не является выколотой, то П(х1+i)- П(x1) П(х2+i)- П(x2).

Доказательство.

Предположим, что П(х1+i)- П(x1)= П(х2+i)- П(x2), тогда ФП(х1+i)- П(x1)П(х2+i)- П(x2).

Поскольку все точки не являются выколотыми, то отсюда вытекает, что (Фх1+i+roр)(Фх2+roр)=(Фх2+i+roр)(Фх1+roр).

Раскрывая скобки и сокращая одинаковые члены в левой и правой частях равенства, получаем

р (Фx1+i+rx2+r)= р(Фx2+i+rx1+r)

Поскольку р – ненулевой элемент, то отсюда вытекает, что

Фx1+ri㊀ 1)= Фx2+ri㊀ 1)

Поскольку i – произвольный ненулевой элемент Z/N, а Ф – примитивный элемент GF(N+1), то Фi1, откуда вытекает, что х12.■

Теорема 2. Пусть П – логарифмическая подстановка.

Тогда для любого ненулевого значения iЄZ/N\{0} из условия, что ни одна из точек x, x+i не является выколотой вытекает, что П(х+i)- П(x)  i.

Доказательство.

Пусть П(х+i)- П(x) = i. Тогда ФП(х+i)- П(x)= Фi, откуда Фx+r+ioр=Фix+roр), следовательно, р=рФi. Отсюда следует, что i=0. ■

Раскинулось поле широко! Операции возведения в степень и логарифмирования в конечном поле позволили ловко избавиться от неопределенности в разности значений подстановки и легко, просто элементарно решить задачу построения матрицы P(П) с минимальным числом нулей. Заметим, что если в определении логарифмических подстановок отказаться от условия, что р – произвольный ненулевой элемент поля GF(N+1), то при р=0 мы получаем обычные линейные подстановки, у которых число нулей в P(П) максимально!

Осталось совсем чуть-чуть: разобраться с выколотой точкой.

Для произвольного ненулевого фиксированного iЄZ/N рассмотрим отображение множества Z/N в Z/N вида:

Mi(х) = П(х+i)- П(х),

где П – логарифмическая подстановка. Тогда, в силу теоремы 1, количество различных значений в множестве {Mi(х), xЄZ/N\{x,x-i}}равно мощности этого множества, т.е.N-2, причем, в силу теоремы 2, это множество в точности совпадает с {Z/N\{i}}. В частности, при любом iN/2 существует такое значение х, xЄZ/N\{x,x-i}, что Mi(х)=N/2.

Теорема 3. Пусть П – логарифмическая подстановка.

Тогда если при некотором iN/2 в i-ой строке матрицы P(П) справедливо piN/2>1, то эта строка не содержит нулевых элементов.

Доказательство.

В силу теоремы 2 достаточно доказать, что pii0. Условие piN/2>1означает, что либо Mi)=N/2, либо Mi-i)=N/2. Зафиксируем то, которое равно N/2, а другое оставшееся значение обозначим через M. Суммируя, как и ранее мы уже делали в этой книге, значения Mi(х) по всем xЄZ/N, получаем:

N/2(N-1) – i + M + N/2 = 0.

Отсюда вытекает, что M=i, следовательно, pii0. ■

По коням! Пора заняться средней строчкой.

Начнем с самого любимого элемента – pN/2,N/2. Ранее мы уже отмечали, что этот элемент должен быть всегда четным (рассуждения для случая N=2n легко обобщаются для произвольного четного N). Следовательно, в логарифмической подстановке возможны только два значения pN/2,N/2: 0 или 2. Допустим, что pN/2,N/2=2. В силу теоремы 2 эти значения может давать только выколотая точка x0 и x+N/2, т.е.

П(х+N/2)- П(х)= П(х+N/2+N/2)- П(х+N/2)= П(х)- П(х+N/2)=N/2.

Отсюда вытекает, что 2П(х+N/2)=2П(х).

Рассмотрим два случая.

1. р=1, следовательно, П(х)=0. Тогда П(х+N/2)=N/2. Имеем:

ФП(х0+N/2)= ФN/2 Фx0+N/2+roр=ФN/2  ФN/2(1㊀ Фx0+r)= р  ФN/2(1oр)= р 2ФN/2 = 1.

Возводя обе части последнего равенства в квадрат и учитывая, что ФN=1, получаем такое равенство возможно только в тривиальном поле из 3 элементов.

2. р1, следовательно, П(х) =N/2, П(х+N/2)=0, откуда

ФП(х0+N/2)= 1 Фx0+N/2+roр=1  р(1㊀ ФN/2)= 1  ФN/2= 1㊀ р-1.

Возводя это равенство в квадрат, получаем значение р:

р=2-1

С учетом условия П(х) =N/2 получаем: logФ2-1 = N/2, откуда 2-1 N/22-2 =1. Такое также возможно только в тривиальном поле из 3 элементов.

Следовательно, во всех реальных практически значимых случаях pN/2,N/2=0. Тогда найдется по крайней мере одна строка i, в которой pN/2,i2, и по теореме 3 в ней не будет нулей. Общее число нулей в такой матрице, с учетом уже упоминавшейся ее симметричности, будет равно N-3. Это минимально возможное количество нулей и оно оказалось достижимым!

Заметим, что подстановка, обратная к логарифмической, также будет логарифмической. Действительно, если П(х) = logФx+roр), то ФП (х)= Фx+roр, откуда

х= logФП (х)-r1), где р1 = (㊀ р)Ф-r. Следовательно, П-1П(х) = logФП (х)-r1). При этом ФП (х)-r1=(Фx+roр)Ф-r1x  0. Для случая х=х справедливо: П(х)= logФр, при этом Фx0=(㊀ р)Ф-r, откуда х = П-1П(х) = logФ((㊀ р)Ф-r) = logФр1

Осталось построить в явном виде логарифмическую подстановку. Заметим, что условие N+1 – простое число выполняется для практически очень важного случая N=256, следовательно, логарифмические подстановки заведомо существуют при N=256. Условию N+1 – простое число удовлетворяет также N=16 и именно для этого значения мы сейчас и построим логарифмические подстановки, предоставляя заинтересованному читателю возможность построить логарифмические подстановки при N=256 самостоятельно.

В качестве примитивного элемента поля GF(17) выберем Ф=3, а также положим р=1, r=0. Составим таблицу степеней значения Ф:

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

Используя эту таблицу, построим логарифмическую подстановку П

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

и ее матрицу Р(П)

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

Это подстановка с минимально возможным числом нулей в матрице Р(П).

Это был, пожалуй, мой самый красивый математический результат. Но, к большому сожалению, логарифмические подстановки так и не нашли достойного применения в криптографии. Почему? Да очень просто – их мало. Помните фразу про долговременные ключи-подстановки в дисковых шифраторах: «Их не опробуют. Их покупают.» Если в схемы типа «Ангстрем-3» мы будем ставить только логарифмические подстановки, то опробование всевозможных вариантов подобных подстановок сведется к опробованию всего лишь трех элементов: Ф – примитивного элемента в поле Галуа GF(257), р – произвольного ненулевого элемента поля GF(257) и r – произвольного элемента из Z/256. Это – копейки, совершенно ничтожная, по криптографическим меркам, величина. Если же выбирать подстановку случайно и равновероятно из всей симметрической группы S256, то общее число опробуемых вариантов будет совершенно астрономической величиной 256!, намного превосходящей психологически недосягаемую в криптографии величину 10100.

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