Михаил Масленников - Криптография и свобода
Это утверждение достаточно очевидно, поскольку θ - примитивный элемент поля 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Это подстановка с минимально возможным числом нулей в матрице Р(π).
Откройте для себя мир чтения на siteknig.com - месте, где каждая книга оживает прямо в браузере. Здесь вас уже ждёт произведение Михаил Масленников - Криптография и свобода, относящееся к жанру Математика. Никаких регистраций, никаких преград - только вы и история, доступная в полном формате. Наш литературный портал создан для тех, кто любит комфорт: хотите читать с телефона - пожалуйста; предпочитаете ноутбук - идеально! Все книги открываются моментально и представлены полностью, без сокращений и скрытых страниц. Каталог жанров поможет вам быстро найти что-то по настроению: увлекательный роман, динамичное фэнтези, глубокую классику или лёгкое чтение перед сном. Мы ежедневно расширяем библиотеку, добавляя новые произведения, чтобы вам всегда было что открыть "на потом". Сегодня на siteknig.com доступно более 200000 книг - и каждая готова стать вашей новой любимой. Просто выбирайте, открывайте и наслаждайтесь чтением там, где вам удобно.

