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

7.2. Возможности переноса изложенных результатов на шифры поточной замены (пз)

В данном пункте, как и ранее, под открытым текстом мы будем понимать выборку из распределения Po=(P1,P2,…,P|I|), где Pj – вероятность буквы j (ее номера) в содержательном тексте.

Пусть K – некоторое множество подстановок на I. Рассмотрим шифр ПЗ (Х=IN, КN, У, f), где шифрованный текст B=(b1,b2,…,bN)=f(A,) получается из открытого текста A=a1,a2,…,aN с помощью ключа =1,2,…,NКN следующим образом:

bj=j(aj), j{1,…,N}.

Пусть d – период последовательности =1,2,…,N (см. определение 2), в случае ее локальной периодичности. Задача состоит в определении периода d последовательности  или же установления его отсутствия по известному шифрованному тексту B. Легко проверить, что значение индекса совпадения (IC) последовательности = i1,i2,…,iN IN .

IC()=,

(Fi – частота встречаемости буквы i в последовательности = i1,i2,…,iN) совпадает с индексом совпадения последовательности ()=(i1),(i2),…,(iN) при любой подстановке  на I. Предположим дополнительно, что |К|=|I| и нижние строки множества К подстановок образуют латинский квадрат, т.е. множества переходов любых двух различных подстановок не пересекаются (это условие обеспечивает несложное доказательство аналога леммы 4 для рассматриваемого здесь шифра). Тогда полученные ранее результаты по применению индекса совпадения для определения периода гаммы шифра гаммирования полностью переносятся и на рассматриваемый шифр поточной замены. Несложно проверяется и совпадение индекса БШ последовательности =i1,i2,…,iN с индексом БШ последовательности ()=(i1),(i2),…,(iN), откуда следует справедливость полученных ранее утверждений для индекса БШ и для шифра ПЗ. Трактуя уравнение a+=b как уравнение T(a)=b, где Т – подстановка вида T(j)=j+1 (mod(|I|), заключаем, что шифр гаммирования является частным случаем шифра ПЗ с множеством ключей КN, где К=(Т, Т2,…,Т|I|), Т|I| – тождественная подстановка на I.

Задача дешифрования шифра поточной замены при известном периоде ключевой последовательности. Рассмотрим шифр ПЗ (Х=INN,У,f), где шифрованный текст B=(b1,b2,…,bN)=f(A,) получается из открытого текста A=a1,a2,…,aN с помощью ключа – последовательности =1,2,…,N периода d. Мы будем предполагать, что нижние строки множества К подстановок образуют латинский квадрат |К|=|I|. Задача состоит в определении открытого текста А по известному шифрованному тексту B и известному периоду d ключа .

Метод протяжки вероятного слова. Пусть b1,b2,…,bN – известный шифртекст, N=kd+r. Рассмотрим две его подпоследовательности.

b1, b2 … , bj,… ,b(k-1)d+r,.

b1+d, b2+d,…, bj+d ,… , bkd+r

Выберем так называемое «множество вероятных слов» – слова, которые по нашему мнению, могут быть началом искомого открытого текста. Для опробуемого такого слова a`1,a`2,…,a`t, предполагая, что оно является началом искомого открытого текста, находим первые 1,2,…,t подстановок ключа (пользуясь тем, что множество К известно и тем, что нижние строки этого множества образуют латинский квадрат. Действительно, уравнение (a)=b при известных a и b однозначно разрешимо относительно  из К. Правильность угадывания вероятного слова a`1,a`2,…,a`t проверяется теперь на «читаемости» расшифрованного текста

1-1(b1+d), 2-1(b2+d),…, t-1(bt+d).

Если последовательность этих букв принимается как случайный (нечитаемый) текст, то опробуется следующее вероятное слово. В случае же «читаемости» этой последовательности полагают, что

1(b1+d), 2(b2+d),…, t(bt+d)= a1+d, a2+d,…, at+d , –

и стараются построить возможные продолжения at+d+1,…,at+d+c этого отрезка открытого текста по смыслу первых его t букв a1+d, a2+d,…, at+d. Затем опробовать каждое такое продолжение at+d+1,…,at+d+c, т. е. найти с помощью bt+d+1,…,bt+d+c и этого продолжения последовательность подстановок t+1,…,t+c, а затем для нее и расшифрованный отрезок текста

t+1-1(bt+1), t+2-1(bt+2),…, t+c-1(bt+c) = a`t+1, a`t+2,…, a`t+c.

Если текст a`1,a`2,…,a`t, a`t+1, a`t+2,…, a`t+c «нечитаемый» (он может быть таким за счет его окончания a`t+1, a`t+2,…, a`t+c.), то продолжение at+d+1,…,at+d+c отбрасывается. Если же текст a`1,a`2,…,a`t, a`t+1, a`t+2,…, a`t+c «читаемый», то ищут его возможные продолжения и т. д. Очевидно, поиск продолжений заканчивается по прочтению первых d букв открытого текста. Так как в этом случае найден отрезок ключа на d первых знаков и, следовательно, определен весь ключ. Оставшаяся часть не найденного открытого текста читается расшифрованием на найденном ключе.

Мы привели последовательность действий в методе протяжки вероятного слова исходя из предположения, что выбранные нами наиболее вероятные слова являются началом открытого текста. Обычно подбирают наиболее вероятные слова и для других позиций открытого текста. В этом случае начинают опробовать эти вероятные слова, естественно, не сначала текста, а привязываясь к их возможному месторасположению. При этом, конечно, видоизменяется и приведенный алгоритм «протяжки вероятного слова».

Метод чтения по колонкам. Пусть b1,b2,…,bN – известный шифр­текст, d – период ключевой последовательности. Рассмотрим две его подпоследовательности.

b1, b2 … , bj,… ,b(k-1)d+r, N=kd+r.

b1+d, b2+d,…, bj+d ,… , bkd+r

Для изложения «метода чтения по колонкам» введем предварительно необходимые обозначения. Будем предполагать, что открытыми текстами, подлежащими шифрованию, являются содержательные тексты с вероятностями P1,P2,…,P|I| букв алфавита I, Pj – вероятность буквы с номером j в содержательных текстах. Пусть на множестве ключей КN задано равномерное распределение (ключом является реализация выборки объема N из равномерного распределения на К). Тогда вероятность P(aj=i, aj+d=i`/j(aj)=bj, j(aj+d)=bj+d)) того, что j-тая и j+d-тая буквы открытого текста были равны, соответственно, i и i` при условии, что j-тая и j+d-тая буквы шифрованного текста равны bj и bj+d выражается формулой

P(aj=i,aj+d=i`/j(aj)=bj,j(aj+d)=bj+d)=

=.

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

=

=.

Для рассматриваемых букв шифрованного текста bj и bj+d упорядочим в соответствии с невозрастанием полученных значений условных вероятностей и запишем в вертикальную колонку пары букв открытого текста , при этом верхние пары будут иметь большую условную вероятность, чем нижние. Построив такие колонки для каждого j{1,…,N} и расположив их по порядку слева направо, можно утверждать, что пары

, ,,,…

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

Метод дешифрования с использованием взаимного индекса совпадения. Пусть =i1,i2,…,iN; `=i`1,i`2,…,i`N` – последовательности длины, соответственно, N и N` букв алфавита I.

ОПРЕДЕЛЕНИЕ. Взаимным индексом совпадения последовательностей , ` называется величина

MIC(, `)=,

где Fi (F`i) – частота встречаемости буквы i в последовательности  (`). Данная величина совпадает с вероятностью совпадения букв в последовательностях , ` при случайном независимом и равновероятном выборе позиций этих букв последовательностях , `.

Пусть  – случайная выборка объема N из некоторого распределения Р=(Pi)iI, а ` – случайная выборка объема N`=N из распределения Р`=(P`i)iI. Тогда, очевидно, величина

MIc(P,P`)=

совпадает с вероятностью Р(ij=i`j`) события (ij=i`j`) при случайном и равновероятном выборе выборе j и j` в случайных последовательностях , `.

Очевидно, для реализаций выборок , ` длины N=N` из распределений Р, Р` справедлив предельный переход по вероятности

MIC(, `)=п.в.= MIc(P,P`)

при N . Поэтому при достаточно большом N пользуются с некоторой надежностью приближением

MIC(, `)= = MIc(P,P`). (,)

Пусть, как и ранее, Р=(P1,P2,…,P|I|) вероятностное распределение букв содержательных текстов, а Р`=(P`1,P`2,…,P`|I|) – неизвестное распределение на I, принадлежащее множеству Р(К) распределений вида:

Р(-1)=(P-1(1),P-1(2),…,P-1(|I|)),