Чтение онлайн

ЖАНРЫ

Криптография и свобода
Шрифт:

Теорема 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}}. В частности, при любом iN/2 существует такое значение х, xЄZ/N\{x,x– i}, что Mi(х)=N/2.

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

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

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

В силу теоремы 2 достаточно доказать, что pii0. Условие 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, следовательно, pii0.

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

Начнем с самого любимого элемента – 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/22– 2 =1.

Такое также возможно только в тривиальном поле из 3 элементов.

Следовательно, во всех реальных практически значимых случаях pN/2,N/2=0. Тогда найдется по крайней мере одна строка i, в которой pN/2,i2, и по теореме 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. Составим таблицу степеней значения Ф:

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

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

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

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

Но для шифров на новой элементной базе логарифмические подстановки позволили полнее представить общую картину того «лавинного эффекта», к достижению которого так стремятся криптографы всего мира.

Для меня же это означало еще и то, что путь к защите диссертации был открыт, несмотря на пессимистические прогнозы Степанова и проповедуемый им «патриотизм к отделу». Но на Степанова они подействовали не как на ученого, а как на администратора: красивый математический результат получен вышедшим из-под его контроля сотрудником «на стороне», на кафедре криптографии Высшей Школы КГБ. Незамедлительно последовали выводы: наказать, чтобы не высовывался и чтобы другим неповадно было изменять родному отделу! Впрочем, об этом чуть ниже.

Поделиться с друзьями: