Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2. Часть 1.doc
Скачиваний:
103
Добавлен:
02.06.2015
Размер:
5.54 Mб
Скачать

Глава 7.

Дешифрование шифра Виженера

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

Проблеме определения периода гаммы в шифре гамммирования по шифрованному тексту посвящено много работ в открытой литературе, из которых мы отмечаем работы Фридмана (W.F. Fridman). Целью данного параграфа является математическая проработка открытых научных работ с единых методологических позиций. То есть доказательное изложение известного материала с математической проработкой гипотез и приведенных там утверждений.

Краткий исторический очерк. Под шифром Виженера ниже понимается шифр гаммирования с использованием периодической гаммы малого периода. Обычно ключ такого шифра выбирается с помощью легко запоминаемых приемов. Например, с помощью таблицы Виженера со стандартным расположением алфавита.

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

--------------------------------------------------------------------------------

A A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

B B C D E F G H I J K L M N O P Q R S T U V W X Y Z A

C C D E F G H I J K L M N O P Q R S T U V W X Y Z A B

D D E F G H I J K L M N O P Q R S T U V W X Y Z A B C

E E F G H I J K L M N O P Q R S T U V W X Y Z A B C D

F| F G H I J K L M N O P Q R S T U V W X Y Z A B C D E

…………………………………………………………………….

Z Z A B C D E F G H I J K L M N O P Q R S T U V W X Y

Ключом шифра является последовательность букв 1,2,…,d. При шифровании открытого текста а12,…,аd каждая буква аj открытого текста определяет номер столбца, а соответствующая буква ключа определяет номер строки, на пересечении которых будет находится шифрованная букваbj. Ключ (лозунг) – это, как правило, легко запоминаемая фраза. Последующий отрезок длины d открытого текста шифруется на том же ключе. Отождествляя буквы этого алфавита с их номерами (от 0 до 25) при расположении букв в стандартном порядке

«A B C D E F G H I J K L M N O P Q R S T U V W X Y Z»,

уравнение шифрования j-той буквы представимо в виде bjj +j mod 26, j{1,2,…d}.

Напомним, что шифром Бофора (Beaufort) нередко называют шифр гаммирования, использующий замену

bjj -j mod 26, j{1,2,…d},

то есть шифр «расшифрования» Виженера. Очевидно, шифр Бофора представим в виде шифра Виженера

bjj -j = аj +(26-j) mod 26.

Отметим, что по К. Шеннону шифром Бофора называется шифр с уравнением шифрования j – аj = bj mod 26 и уравнением расшифрования

j-bjj mod 26.

Этот шифр также может быть представлен в виде шифра гаммирования для зашифрования букв 26 – аj , j{1,2,…}

Иногда используют усложненный шифр Виженера с перемешанным исходным алфавитом первой строки (остальные строки – сдвиги первой строки, как и в исходном шифре Виженера). Перемешивание обычно производят с помощью ключа – лозунга. Например, при ключевой фразе «WORLD TRADE CENTER» образуют неповторяющуюся последовательность ее букв «WORLDTAECN» и дополняют ее оставшимися не использованными буквами по порядку «BFGH … и т. д.». Затем выбирают число n, взаимно простое с 26 (числом букв алфавита), и образуют выборочную последовательность шага n. Например, при n=3 из последовательности «WORLDTAECNBFGH …» получают выборочную последовательность «WLANG …и т. д», которую и используют в качестве нулевой строки (строки с номером A) в таблице Виженера (остальные строки – сдвиги первой).

В 1920 году W. Фридман опубликовал результаты своих научных исследований по дешифрованию шифров типа шифра Виженера. Затем появилось достаточно много работ, уточняющих результаты Фридмана, расширяющие границы их применимости Фридман ввел в рассмотрение так называемый «индекс совпадения», на основе которого он предложил алгоритм нахождения периода гаммы наложения по известному шифрованному тексту, полученному с помощью шифра Виженера. В 1950–х годах появились публикации, в которых излагались другие алгоритмы определения периода гаммы по шифрованному тексту, так называемый метод Казиского, разработанный им в 1863 году. Последний метод был заново открыт и советским криптографом Михаилом Ивановичем Соколовым в районе 50-х годов. Для решения той же задачи позднее появился в печати и так называемый метод Регрессии-Ковариации (Кэрол и Робинс, 1986 г.).

Понятие индекса совпадения. Пусть I – некоторый конечный алфавит.

ОПРЕДЕЛЕНИЕ 1. Индексом совпадения последовательности =i1,i2,…,iNIN называется величина

IC()=,

где Fi – частота встречаемости буквы i в последовательности = i1,i2,…,iN (число мест, на которых стоит буква i).

Из данного определения следует, что индекс совпадения последовательности =i1,i2,…,iN равен вероятности P(ij=ij`) совпадения букв данной последовательности на случайно и равновероятно выбранных местах j, j`, jj`.

Действительно, априори, буква ij=i может принимать любое значение из I, следовательно, число Fi (Fi –1) есть число возможных благоприятных событий (ij=ij`=i), а N(N–1) есть число всех возможных выборов пар упорядоченных мест (j,j`) в последовательности i1,i2,…,iN..

Далее будем предполагать, что I – алфавит открытого текста некоторого языка. При необходимости, в дальнейшем, мы отождествляем буквы этого алфавита с их номерами (от 0 до |I|–1) при расположении букв в стандартном порядке. Через Ро=(Р12,…,Р|I|) обозначим вероятностное распределение на I, где Рi – вероятность буквы iI в содержательных открытых текстах; через А(N)=а12,…,аN будем обозначать реализацию случайной выборки объема N из генеральной совокупности распределения Ро (далее будем говорить кратко выборка из распределения Ро).

Покажем, что

IC(А(N))=

при N (сходимость по вероятности).

Докажем этот факт, предварительно уточнив обозначения. Именно положим: Fi=Fi(N). Имеем

.

Второй сомножитель слагаемого в сумме может быть преобразован так

,

где (N){0,1}. Поэтому

при N,

откуда и вытекает указанное выше утверждение.

Аналогично, для реализации G(N) выборки объема N из равномерного распределения на I

IС(G(N))приN.

Для фиксированного содержательного текста а12,…,аN мы полагаем, что

при N,

в связи с чем IC(а12,…,аN) .

При случайном выборе последовательности =i1,i2,…,iN индекс совпадения IC() является случайной величиной, и представляет интерес подсчет его математического ожидания. При различных предположениях о вероятностном распределении на множестве U возможных гамм ниже будет подсчитано среднее значение индекса совпадения шифрованного текста B(N)=B(А(N),G(N))=b1,b2,…,bN, где bjj +j (mod |I|), j.

Среднее значение индекса совпадения для открытых текстов. Обозначим через Е(IC(A)) математическое ожидание случайной величины IC(A(N)), вычисленной для случайной реализации А(N)=а12,…,аN выборки из вероятностного распределения Ро=(Р12,…,Р|I|). Через Ро(ij=ij`) обозначим вероятность совпадения букв в случайной выборке А(N)=а12,…,аN на случайно и равновероятно выбранных местах j, j`, jj`. Здесь мы считаем, что вероятностная мера задана на выборках А(N) и на парах j, j`.

ЛЕММА 1. Справедливы равенства

Е(IC(A))= Ро(ij=ij`)=,

ДОКАЗАТЕЛЬСТВО. Вероятность совпадения двух букв в случайной реализации выборки А(N)=а12,…,аN из распределения Ро на фиксированных различных местах равна , и не зависит от выбора этих мест. Поэтому

Ро(ij=ij`)= .

С другой стороны,

Е(IC(A))== (ij=ij`)Р(А) = Ро(ij=ij`)=.

Обозначим через Е(IC(G)) математическое ожидание случайной величины IC(G(N)), вычисленной для реализации G=G(N)=выборки из равномерного вероятностного распределения на I, а через РG(=) – вероятность совпадения букв в случайной выборке G(N)=1,2,…,N на случайно и равновероятно выбранных местах j, j`, j j`.

Аналогично доказательству леммы 1 легко доказывается равенство

Е(IC(G))= PG(=) = .

Рассмотрим подмножество Хс всех реализаций А(N)=а12,…,аN выборки из вероятностного распределения Ро=(Р12,…,Р|I|), состоящее из всех реализаций А(N)=а12,…,аN, для которых частота Fi iI приблизительно равна NPi. Таким образом, Хс состоит из наиболее вероятных реализаций. Здесь, как и ранее, Fi=Fi(N) – частота встречаемости символа iI.

ЛЕММА 2. Для любой последовательности А(N)=а12,,…,аN из Хс вероятность Pc(=) совпадения двух случайно и равновероятно выбранных букв последовательности А(N) (отметим, что индекс совпадения IC(А(N)) равен Pc(=)) приблизительно равна

.

ДОКАЗАТЕЛЬСТВО. Имеем

IC(А(N))= Pс(=)=

= ==.

Отметим, что в формулировке леммы 2 множество Хс определено нестрого, в связи с чем и приближенное равенство некорректно. Устранить определенную некорректность можно, определив множество Хс как множество, состоящее из всех реализаций А(N)=а12,…,аN, для которых частоты Fi, iI удовлетворяют неравенствам NPi –   Fi  NPi +. Утверждение леммы 2 в этом случае будет состоять в указании верхней и нижней оценок IC(А(N)). Так, например, несложно показывается, что

IC(А(N))  +2/N–1 +|I|2 – |I|.

Пусть U – некоторое подмножество множества IN .Через Р обозначим равномерное вероятностное распределение на U. Элемент множества U будем обозначать через G(N)=1,2,…,N

Для G(N)=1,2,…,N из U и А(N) из IN образуем последовательность

B(N)=B(А(N),G(N))=b1,b2,…,bN,

где bjj+j (mod|I|), j.Последовательность B(N) будем трактовать как шифрованный текст, полученный зашифрованием текста А(N) на ключе-гамме G(N) в шифре гаммирования

(Х=IN,К= U,У= IN, f), f(а12,…,аN; 1,2,…,N)= b1,b2,…,bN.

Среднее значение индекса совпадения для шифрованных текстов. Пусть (Х=IN,К=U,У=IN,f) – шифр гаммирования. При заданных вероятностных распределениях Рo, на I и Р на UIN на Х индуцируется вероятностное распределение и на У индуцируется вероятностное распределение РУ и, следовательно, имеется и вероятностное распределение случайной величины IC(B), где В – шифрованный текст, полученный в результате шифрования случайного текста А(N) при случайном и равновероятном выборе ключа G(N) из U. Обозначим через ЕU(IC(B)) математическое ожидание случайной величины IC(B) для случайного шифртекста B, а через РУ(bj=bj`) – вероятность совпадения букв в шифртексте B(N)=f(А(N),G(N))=b1,b2,…,bN на случайно и равновероятно выбранных местах j, j`, j j`.

ЛЕММА 3. Пусть U=IN. Тогда справедливы равенства

ЕU(IC(B))= РУ(bj=bj`)= .

ДОКАЗАТЕЛЬСТВО. Справедливость утверждения леммы 3 вытекает из индуцированного на множестве шифртекстов равновероятного вероятностного распределения и утверждения леммы 1.

Обозначим через R=(N1,N2,…,Nk) – произвольное разбиение множества {1,2,…,N}, а через П=((=),П()) разбиение множества пар {1,2,…,N}х{1,2,…,N}, индуцированное разбиением R. Именно, {j,j`}П(=), тогда и только тогда, когда j и j` одновременно принадлежат одному классу (блоку) разбиения R; {j,j`}П(), когда j и j` принадлежат разным классам разбиения R. Разбиению П поставим в соответствие подмножество U(П) множества ключей К=IN. Это подмножество U(П) определим так: последовательность 1,2,…,N принадлежит U(П) тогда и только тогда, когда j=j` для любой пары {j,j`}(=).

ЛЕММА 4. Пусть последовательность 1,2,…,N случайно и равновероятно выбирается из множества U(П), Тогда: а) P()=1/|I| для любого j{1,…,N} и iI; б) P(j=j`)=1/|I| для {j,j`} П().

ДОКАЗАТЕЛЬСТВО. По определению, множество U(П) состоит из тех и только тех последовательностей =1,2,…,N , для которых значения элементов одинаковы на позициях, принадлежащих одному блоку разбиения R. Таким образом, каждой такой последовательности  соответствует последовательность значений (Nj) из I , то есть  – функция на множестве блоков {N1,N2,…,Nk}. Очевидно, что |U(П)|=|I|k и существует взаимнооднозначное соответствие между последовательностями из U(П) и множеством всех слов Ik, откуда и вытекают утверждения леммы.

В множестве (=) выделимподмножество П(=) всех пар различных элементов (j,j`), jj`.

Величина Р(П(=))=равна вероятности случайного и равновероятного выбора пары индексов {j,j`} из множества П(=), аналогично, Р(П())=равна вероятности случайного и равновероятного выбора пары индексов (j,j`) из множества П().

ТЕОРЕМА 1. Пусть шифртекст B=B(N) получается шифрованием случайного текста А(N) (выборки из распределения Ро) c помощью равновероятного выбора ключа G(N) из U(П). Тогда справедливы равенства

ЕU(IC(B))= РУ(bj=bj`)=+.

ДОКАЗАТЕЛЬСТВО. Пусть B(N)=B(А(N),G(N))=b1,b2,…,bN . Ранее отмечалось, что индекс совпадения IC(B(N)) последовательности b1,b2,…,bN совпадает с вероятностью РВ(bj=bj`) совпадения шифрованных букв на случайно и равновероятно выбранных двух различных местах. Пользуясь определением математического ожидания случайной величины, получаем

Е(IC(B(N)) =.

Последняя величина совпадает с РУ(bj=bj`). Определим события С(1), С(2). Событие С(1) состоит в выборе пары индексов (j, j`) из П(=), а С(2) – в выборе (j, j`) из П(). Тогда

==

=

+=

=

+=

= Р(С(1))

+ P(C(2)).

Первое слагаемое преобразуем следующим образом:

Р(С(1)= =Р(С(1))=

=Р(С(1))=

=Р(С(1))= Р(С(1))=

=Р(С(1)) .

При получении последнего равенства использована лемма 1.

При случайном и равновероятном выборе G из U и выполнении условия С(2) значения вG случайны и равновероятны (см. лемму 4). С учетом этого факта преобразуем теперь второе слагаемое.

P(C(2))=

= P(C(2))=

= P(C(2))=

= P(C(2)),

где Р(=– вероятность события (при случайном и равновероятном выборе.

Следовательно,

P(C(2))=

= Р(С(2))=Р(С(2)).

Объединяя результаты преобразований двух слагаемых, получаем

ЕU(IC(B))= РУ(bj=bj`)=+.

Укажем и второй способ доказательства теоремы 1. Представим вероятность РУ(bj=bj`) в следующем виде:

РУ(bj=bj`)==

= +=

=+.

Используя теперь технику доказательства леммы 1, предыдущее выражение преобразуется к виду

+.

СЛЕДСТВИЕ ТЕОРЕМЫ 1. Если R – разбиение множества {1,2,…,N} на одноэлементные подмножества (k=N, |П(=)| = 0), то есть рассматривается множество U(П)=I N, то

ЕU(IC(B))= РУ(bj=bj`)=.

Если R – одноэлементное разбиение (k=1), то

ЕU(IC(B))= РУ(bj=bj`)=.

Утверждения следствия вытекают из теоремы 1; они также могут быть доказаны исходя из утверждений лемм 3, 1.

Среднее значение индекса совпадения шифрованных текстов в шифре Виженера. Напомним, что шифром Виженера называют шифр гаммирования, множеством ключей которого являются коротко-периодические лозунги. Имея дело с гаммами конечной длины, понятие периодичности конечной последовательности и ее периода требует математической формализации.

ОПРЕДЕЛЕНИЕ 2. Назовем конечную последовательность i1,i2,…,iN локально-периодической (или, кратко - периодической), если найдется натуральное число d, 2dN, при котором для любого j, в случае j+d N, выполняется равенство ij =ij+d. Число d c указанным свойством назовем локальным периодом, или, короче, периодом данной последовательности. (Период конечной последовательности определен данным определением, вообще говоря, неоднозначно).

Говоря ниже о том, что некоторая последовательность имеет локальный период мы, не оговаривая это, считаем, что рассматриваемая последовательность локально-периодическая.

Обозначим через – множество всех локально-периодических последовательностей периодаd, Nd+r и рассмотрим разбиение Rd=(N1,N2,…,Nd) множества номеров {1,2,…,N}, где

N1={1, 1+d, … ,1+kd }

N2={2, 2+d, … , 2+kd }

…………………………………………….

Nr={r, r+d, …. , r+kd}

Nr+1={r+1, r+1+d, …. , r+1+(k-1)d}

Nr+2={r+2, r+2+d, …. , r+2+(k-1)d}

……………………………………………..

Nd ={d, 2d, … ,d+(k-1)d}

Любая последовательность из такова, что ее элементы, стоящие на местах с номерами из одного блока номеров, одинаковы. Разбиению Rd соответствует разбиение Пd =(d (=),Пd)) множества различных пар номеров. При этом ясно, что =U(П), так как, очевидно, любую последовательность длины N c периодом d можно получить случайно и равновероятно, выбирая d-грамму в алфавите I и повторяя ее необходимое число раз до получения последовательности длины N. Следовательно, ||=|I|d, и для подмножества Пd (=) пар различных элементов из d(=) получаем

d (=)|= (k+1)kr + k(k-1)(d-r),

где k и r определены равенством N=kd+r (r – остаток от деления N на d). Используя последнее равенство, получаем

d ()|=N(N-1) – (k+1)kr – k(k-1)(d-r).

Из полученных значений мощностей |Пd (=)| и |Пd ()| и утверждения теоремы 1 непосредственно вытекает

СЛЕДСТВИЕ 2 ТЕОРЕМЫ 1. Пусть шифртекст B=B(N) получается шифрованием случайного текста А(N) (выборки из распределения Ро) c помощью равновероятного выбора ключа G(N) из множества всех периодических последовательностей периодаd, N=kd+r. Тогда справедливы равенства

ЕU(IC(B))= РУ(bj=bj`)=

= +(1–).

В частности, при r=0

ЕU(IC(B))= РУ(bj=bj`)=

= +(1-)=+.

Среднее значение индекса совпадения шифрованных текстов, зашифрованных почти периодическими гаммами.

ОПРЕДЕЛЕНИЕ 3. Назовем конечную последовательность i1,i2,…,iN К–прибли-женной к локально-периодической последовательности периода d, если расстояние Хэмминга (i1,i2,…,iN;) между данными последовательностями равно К. Последовательность i1,i2,…,iN назовем последовательностью с К-приближенным периодом d, если она является К-приближенной к некоторой локально-периодической последовательности периода d.

ЗАМЕЧАНИЕ 1. Пусть I=Z/|I| – кольцо вычетов по модулю |I|. Из определения следует, что каждую последовательность с К-приближенным периодомd можно представить в виде суммы по модулю |I| некоторого вектора – последовательности i1,i2,…,iN периода d из компонент, принадлежащих Z/|I|, и некоторого вектора «помех» С(N,К)=с12,…,сN с числом К ненулевых компонент. Очевидно, верно и обратное утверждение: сумма такого вида будет последовательностью с К-приближенным периодом d.

Следовательно, процесс шифрования открытого текста А(N)=а12,…,аN гаммой G(N)= с К-приближенным периодомd можно представить в виде последовательного выполнения двух процессов: наложения на открытый текст А(N) вектора помех С(N,К) и затем зашифрования результата гаммой i1,i2,…,iN периода d.

ЛЕММА 5. Пусть а12,…,аN – выборка из распределения Ро=(Р12,…,Р|I|), а С(N,К)=с12,…,сN – равновероятно выбранный вектор из множества всех векторов, имеющих ровно К ненулевых компонент. Тогда последовательность а`1,а`2,…,а`N, где а`j j +cj (mod(|I|) является выборкой из распределения Р`о=(Р`1,Р`2,…,Р`|I|), где

Р`i = Pi (1-) + .

ДОКАЗАТЕЛЬСТВО.

Р(аj +cj=i) = P(аj =i/cj=0)P(cj=0) + P(аj +cj=i/cj 0)P(cj 0)=

Pi + P(аj +cj=i/cj 0,аj i )P(cj 0) P(аj i) =

=Pi +(1-Pi )=

=Pi (1-)+(1-Pi)=

=Pi (1-) –Pi + =

= Pi (1-) + =

= Pi (1-) + .

Пусть последовательность а`1,а`2,…,а`N, получена зашифрованием случайной выборки из распределения Ро=(Р12,…,Р|I|) наложением случайно и равновероятно выбранной гаммы из множества всех гамм с К-приближенным периодом d.

Замечание 1 и утверждение данной леммы сводит задачу подсчета вероятности совпадения двух букв на случайно и равновероятно выбранных различных местах в случайной последовательности а`1,а`2,…,а`N к аналогичной решенной задаче для гаммирования случайной последовательностью периода d.

Среднее значение индекса совпадения для шифра Виженера с фиксированным ключом.

ТЕОРЕМА 2. Пусть шифртекст B=B(N) получается шифрованием случайного текста А(N) (выборки из распределения Ро=(P1,P2,…,PN)) c помощью фиксированного ключа G(N)=. Тогда среднее значение Е(IC(B)) индекса совпадения случайного шифртекста совпадает с вероятностью Р(bj=bj`) совпадения букв на случайно выбранных различных местах в случайном шифртексте, и это значение равно

+,

где П(=) – множество всех различных позиций j, j`, для которых , а П() – множество всех остальных позиций (операции в индексах по

модулю |I|).

ДОКАЗАТЕЛЬСТВО.

Р(bj=bj`)=E(IC(B))==

=+ =

=+..

Вероятность представляется в виде

=PiPi+,

в частности, =. Поэтому

Р(bj=bj`)=E(IC(B)= +.

.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]