г
|
д
|
е
|
ж
|
з
|
и
|
й
|
к
|
л
|
м
|
н
|
о
|
п
|
р
|
с
|
т
|
р
|
с
|
т
|
у
|
ф
|
х
|
ц
|
ч
|
ш
|
щ
|
ъ
|
ы
|
ь
|
э
|
ю
|
я
|
у
|
ф
|
х
|
ц
|
ч
|
ш
|
щ
|
ъ
|
ы
|
ь
|
э
|
ю
|
я
|
а
|
б
|
в
|
При зашифровке буква А заменялась буквой Г Б заменялась на Д, Б-Ей так далее. Так, например, слово "РИМ" превращалось в слово "УЛП". Получатель сообщения "УЛП" искал эти буквы в нижней строке и по буквам над ними восстанавливал исходное слово "РИМ". Ключом в шифре Цезаря является величина сдвига 3-й нижней строки алфавита. Преемник Юлия Цезаря - Цезарь Август - использовал тот же шифр, но с ключом - сдвиг 4. Слово "РИМ" он в этом случае зашифровал бы в буквосочетание "ФМР".
В художественной литературе классическим примером шифра замены является известный шифр "Пляшущие человечки" (К. Дойля). В нем буквы текста заменялись на символические фигурки людей. Ключом такого шифра являлись позы человечков,, заменяющих буквы.
Примерно в конце первого тысячелетия арабские ученые придумали метод, который позволял довольно быстро и легко взламывать такие шифры при условии, что имеется довольно большой кусок текста (хотя бы 2-3 сотни знаков). Дело в том, что при тщательном изучении богословами священной книги мусульман - Корана - выяснилось, что некоторые буквы алфавита появляются в текстах очень часто, а другие, наоборот, очень редко. Более внимательные наблюдения показали, что частота появления одной и той же буквы в различных текстах почти постоянна. Это значит, что если взять несколько не очень коротких текстов, для каждого из них подсчитать, сколько раз в нем встречается интересующая нас буква, и разделить это число на общее число знаков в тексте, то все полученные значения окажутся очень близкими между собой. В таблице изображена частота букв русского алфавита. Обратим внимание на то, что в ней учитываются буквы и пробел, но не учитываются знаки препинания. Как видно, в русских текстах чаще всего встречается буква "о", а реже всего буквы "ф" и "э", их частоты отличаются в 45 раз (таблица 1.2).
Для расшифровки текста предлагается поступать так:
- сначала для каждого символа шифрованного текста подсчитать его частоту;
- затем расположить эти символы в порядке убывания частоты: сначала самый частый, потом следующий и так далее;
- расположить буквы алфавита данного языка тоже в порядке убывания частоты;
- заменить в шифрованном тексте первую букву первого списка на первую букву второго списка и так далее.
Таблица 1.2.
Буква
|
пробел
|
о
|
е, ё
|
а
|
и
|
т
|
н
|
с
|
Частота
|
0,175
|
0,090
|
0,072
|
0,062
|
0,062
|
0,053
|
0,053
|
0,045
|
Буква
|
р
|
в
|
л
|
к
|
м
|
д
|
п
|
у
|
частота
|
0,040
|
0,038
|
0,035
|
0,028
|
0,026
|
0,025
|
0,023
|
0,021
|
Буква
|
я
|
ы
|
з
|
ь, ъ
|
б
|
г
|
ч
|
й
|
Частота
|
0,018
|
0,016
|
0,016
|
0,014
|
0,014
|
0,013
|
0,012
|
0,010
|
Буква
|
х
|
ж
|
ю
|
ш
|
ц
|
щ
|
э
|
ф
|
Частота
|
0,009
|
0,007
|
0,006
|
0,006
|
0,004
|
0,003
|
0,002
|
0,002
|
Рассмотрим на примере применение данного метода. Возьмем текст, зашифрованный с помощью шифра замены, представленного выше (для простоты рассуждений сохраним пробелы между словами).
Ю еивюкгзя ймнм фдтрфзо гмжлядкфджгъц,
Я гмвл гм тижийкмк гиждргию кждеи,
Фдтгмййю фъчм дг обифдэ гмедяджгдц
Ибмяйигржзцйядод йкдбеи
Гмк, фмйы ю гм лвжл - рлчи ф тифмкгдц бзжм
Фмйы взж емжмазфмк з кбмгыю лнмазк,
З йбифмг нлрл ю рдядбы ф едрблггдв взжм
Азф нлрмк сдкы дрзг еззк.
Для начала подсчитаем общее количество знаков в тексте (напомним, что учитываются только буквы и пробелы между словами, но не знаки препинания) - 270. Затем составим таблицу частоты знаков в зашифрованном тексте (таблица 1.3).
После этого начнем заменять буквы из зашифрованного текста сходными с ними по частоте из русского алфавита, пользуясь таблицами 1 и 2. Далее, если мы видим две буквы со схожими частотами, то будем руководствоваться правилами русского языка и просто благозвучием, например, нет слов ю, ф и т.д. Буквы "Ь" и "Д" из нашего текста имеют частоты близкие к буквам "Е" и "О". Таким образом, букву "М" следует заменить на букву "Е", нежели на "О", в таком случае "Д" меняем на "О", получим:
Ю еивюкгзя йене фотрфзо гежляокфожгъц,
Я гевл ге тижийкек гижоргию кжоеи,
Фотгеййю фъче ог обифоэ гееояожгоц
Ибеяйигржзцйяооо йкобеи
Гек, фейы ю ге лвжл - рлчи ф тифекгоц бзже
З йбифег нлрл ю рояобы ф еорблггов взже
Азф нлрек сокы орзг еззк.
Таблица 1.3
Знак
|
Пробел
|
м
|
д
|
г
|
к
|
з
|
ф
|
и
|
Количество
|
45
|
24
|
21
|
20
|
15
|
14
|
14
|
13
|
Частота
|
0,166
|
0,089
|
0,078
|
0,074
|
0,056
|
0,052
|
0,052
|
0,048
|
Знак
|
ж
|
й
|
л
|
р
|
б
|
е, ё
|
ю
|
я
|
Количество
|
12
|
10
|
10
|
9
|
8
|
7
|
7
|
7
|
Частота
|
0,044
|
0,037
|
0,037
|
0,033
|
0,030
|
0,026
|
0,026
|
0,026
|
Знак
|
в
|
ы
|
н
|
т
|
ц
|
а
|
о
|
ъ, ь
|
Количество
|
6
|
5
|
4
|
4
|
4
|
3
|
3
|
2
|
Частота
|
0,022
|
0,019
|
0,015
|
0,015
|
0,015
|
0,011
|
0,011
|
0,007
|
Знак
|
ч
|
с
|
э
|
п
|
у
|
х
|
ш
|
щ
|
Количество
|
2
|
1
|
1
|
0
|
0
|
0
|
0
|
0
|
Частота
|
0,007
|
0,004
|
0,004
|
0
|
0
|
0
|
0
|
0
|
После замены можно увидеть, что в тексте часто повторяется слово "ге", что может означать только "не", следовательно, "г" меняется на "н". Далее заметим, что буквой "з" обозначается одно слово, перед которым в одном случае ставится запятая, а в другом - нет. Эта буква к тому же стоит на стыке согласных, а значит - "з" обозначает гласную букву. Предположим, что это буква "и", снова поменяем текст:
Ю еивюкния йене фотрфио нежляокфожнъц,
Я невл не тижийкек нижорнию кжоеи,
Фотнеййю фъче ог обифоэ нееояожгоц
Ибеяйинржицйяооо йкобеи
Нек, фейы ю не лвжл - рлчи ф тифекноц биже
Фейы виж еежеазфек и кбеныю лнеаик,
И йбифен нлрл ю рояобы ф еорблннов взже
Азф нлрек сокы орин еиик.
Затем мы видим, что буква "к" стоит после букв "и" и "е" в конце слова, что характерно для глаголов. Сверяясь с таблицей частотности, мы видим две согласные с похожей частотой - это "т" и "с". Кроме того, нельзя не заметить, что в тексте присутствует слово "нек", что естественно соответствует слову "нет". Таким образом "к" в данном шифре означает "т". Далее по таблице частотности у нас следует буква "ф". Она обозначает слово из одной буквы, которое не может быть ничем другим, кроме как предлогом: в или к. Но так как у буквы "в" частота встречаемости в русском алфавите больше, то значит в шифровке "ф" меняем на "т". Снова изменим текст.
Ю еивютния йене вотрвио нежляотвожнъц,
Я невл не тижийтет нижорнию тжоеи,
Вотнеййю въче ог обивоэ нееояожгоц
Ибеяйинржицйяооо йтобеи
Нет, вейы ю не лвжл - рлчи в тиветноц биже
Вейы виж еежеазвет и тбеныю лнеаит,
И йбивен нлрл ю рояобы в еорблннов взже
Азв нлрек соты орин еиит.
Теперь рассмотрим букву "и". Судя по ее расположению в словах, она означает гласную букву, а из гласных самая большая частота из нерассмотренных нами у буквы "а". Продолжим продвигаться по таблице частотности. Буква "ж" по таблице частотности соответствует букве "р", а букве "й" - "с". Кроме того, в тексте еще встречаются слова из одной буквы, которые являются предлогами. Одна из них - "я", которая как раз по частотности соответствует букве "к". Теперь снова рассмотрим текст.
Ю еавютния сене вотрвио нерляотворнъц,
Do'stlaringiz bilan baham: |