Рейтинговые книги
Читем онлайн Криптография и свобода - Михаил Масленников

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 ... 32 33 34 35 36 37 38 39 40 ... 74

Это утверждение достаточно очевидно, поскольку θ - примитивный элемент поля GF(N+1), т.е. множество значений θ,θ2,…,θN совпадает со множеством {1,2,…,N} – мультипликативной группой поля GF(N+1), а логарифмирование – операция, обратная возведению в степень. Все проблемы с нулем подправляются вторым условием: π(х) = logθρ, если θx+r⊕ρ=0.

Такие подстановки естественно назвать логарифмическими, а точку х0, при которой π(х0) = logθρ – выколотой точкой логарифмической подстановки π.

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

Теорема 1.

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

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

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

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

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

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

ρ (θx1+i+r⊕θx2+r)= ρ(θx2+i+r⊕θx1+r)

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

θx1+r(θi⊖ 1)= θx2+r(θi⊖ 1)

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

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

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

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

Пусть π(х+i)- π(x) = i. Тогда θπ(х+i)- π(x)= θi, откуда θx+r+i⊕ρ=θi(θx+r⊕ρ)ρ, следовательно, ρ=ρθi. Отсюда следует, что i=0. ■

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

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

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

μi(х) = π(х+i)- π(х),

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

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

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

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

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

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

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

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

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

π(х0+N/2)- π(х0)= π(х0+N/2+N/2)- π(х0+N/2)= π(х0)- π(х0+N/2)=N/2.

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

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

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

θπ(х0+N/2)= θN/2⇒ θx0+N/2+r⊕ρ=θN/2 ⇒ θN/2(1⊖ θx0+r)= ρ ⇒ θN/2(1⊕ρ)= ρ⇒ 2θN/2 = 1.

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

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

θπ(х0+N/2)= 1⇒ θx0+N/2+r⊕ρ=1 ⇒ ρ(1⊖ θN/2)= 1 ⇒ θN/2= 1⊖ ρ-1.

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

ρ=2-1

С учетом условия π(х0) =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+r⊕ρ), то θπ (х)= θx+r⊕ρ, откуда

х= logθ(θπ (х)-r⊕ρ1), где ρ1 = (⊖ ρ)θ-r. Следовательно, π-1π(х) = logθ(θπ (х)-r⊕ρ1). При этом θπ (х)-r⊕ρ1=(θx+r⊕ρ)θ-r⊕ρ1=θx ≠ 0. Для случая х=х0 справедливо: π(х0)= logθρ, при этом θx0=(⊖ ρ)θ-r, откуда х0 = π-1π(х0) = logθ((⊖ ρ)θ-r) = logθρ1

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

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

i 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 θi 1 3 9 10 13 5 15 11 16 14 8 7 4 12 2 6

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

х 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 π(х) 14 12 3 7 9 15 8 13 0 6 2 10 5 4 1 11

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

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 0 1 2 1 1 2 1 1 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 3 2 1 0 1 1 1 1 1 1 2 1 1 1 1 1 4 1 1 1 0 2 1 2 1 1 1 1 1 1 1 1 5 1 1 1 2 0 1 1 1 2 1 1 1 1 1 1 6 2 1 1 1 1 0 1 1 1 1 1 1 2 1 1 7 1 1 1 2 1 1 0 1 1 1 2 1 1 1 1 8 1 2 1 1 1 1 1 0 1 1 1 1 1 2 1 9 1 1 1 1 2 1 1 1 0 1 1 2 1 1 1 10 1 1 2 1 1 1 1 1 1 0 1 1 1 1 2 11 1 1 1 1 1 1 2 1 1 1 0 2 1 1 1 12 1 1 1 1 1 1 1 1 2 1 2 0 1 1 1 13 1 1 1 1 1 2 1 1 1 1 1 1 0 1 2 14 1 1 1 1 1 1 1 2 1 1 1 1 1 1 1 15 1 1 1 1 1 1 1 1 1 2 1 1 2 1 0

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

1 ... 32 33 34 35 36 37 38 39 40 ... 74
На этой странице вы можете бесплатно читать книгу Криптография и свобода - Михаил Масленников бесплатно.
Похожие на Криптография и свобода - Михаил Масленников книги

Оставить комментарий