ШИФРЫ

 

Приемов тайнописи — великое множество, и, скорее всего, это та область, где уже нет нужды придумы­вать что-нибудь существенно новое. Наиболее простой тип криптограмм — это так называемые подстановочные крип­тограммы. Составляя их, каждой букве алфавита сопостав­ляют определенный символ (иногда тоже букву) и при ко­дировании всякую букву текста заменяют на соответствую­щий ей символ. В рассказе «Золотой жук» Эдгара По при­водится как раз пример подстановочного шифра.

Автор рассказа наглядно демонстрирует, что расшиф­ровка подобных криптограмм не составляет большой про­блемы. Все основывается на том (за подробностями отсы­лаем читателя к оригиналу), что различные буквы естест­венного языка — английского, русского или какого-либо другого — встречаются в осмысленных текстах неодинако­во часто. Следовательно, то же самое верно для соответст­вующих им знаков. В еще большей мере это относится к буквосочетаниям из двух или нескольких букв: лишь некоторые из них часты, многие же вообще не употребля­ются.

Анализируя частоту появления тех или иных знаков я их сочетаний (именно так поступает герой Эдгара По), можно с большой уверенностью восстановить буквы зашиф­рованного текста. Даже если в каких-то частях текста воз­никает неоднозначность, она легко устраняется по смыслу. Этот метод (он именуется частотным анализом) основывает­ся, таким образом, на заранее известных частотах зашифро­ванных знаков. В следующей таблице указаны относитель­ные частоты букв русского языка.

Буквы «е» и «ё», а также «ь», «ъ» кодируются обычно одинаково, поэтому в таблице они не различаются. Как явствует из таблицы, наиболее частая буква русского язы­ка — «о». Ее относительная частота, равная 0,090, означа­ет, что на 1000 букв русского текста приходится в среднем 90 букв «о». В таком же смысле понимаются относительные

Таблица 2

Буква

Относит, частота

Буква

Относит, частота

»

Буква

Относит, частота

0

а

0,062

10

К

0,028

20

Ф

0,002

1

б

0,014

11

Л

0,035

21

X

0,009

2

в

0,038

12

м

0,026

22

Ц

0,004

3

г

0,013

13

н

0,053

23

ч

0,012

4

Д

0,025

14

о

0,090

24

ш

0,006

5

е, ё

0,072

15

п

0,023

25

щ

0,003

6

ж

0,007

16

р

0,040

26

ы

0,016

7

3

0,016

17

с

0,045

27

ь, ъ

0,014

8

и

0,062

18

т

0,053

28

э

0,003

9

й

0,010

19

У

0,021

29

ю

0,006

           

30

я

0,018

частоты и остальных букв. В таблице 2 не указан еще один «символ» — промежуток между словами. Его относитель­ная частота наибольшая и равна 0,175.

С помощью таблицы 2 читатель сумеет, по-видимому, расшифровать такую криптограмму (расшифровку и пояс­нения см. в дополнении 1 на стр. 15):

Цярснсмщи ямякзж онкдждм мд снкыйн гкю онгрсямнб-

нцмщф йпзоснвпялл мн б гптвзф рктцяюф нм ркнемдд.

Ненадежность подстановочных криптограмм (сравни­тельная легкость их расшифровки) была замечена уже дав- но, и потому в разное время предлагались различные дру­гие методы шифрования. Среди них важное место занимают перестановочные криптограммы. При их составлении весь текст разбивается на группы, состоящие из одинакового числа букв, и внутри каждой группы буквы некоторым образом переставляются. Если группа достаточно длинная (иногда это весь текст целиком), то число возможных пере­становок очень велико, отсюда большое многообразие пере­становочных криптограмм. Мы рассмотрим один тип пере­становочной криптограммы, которая составляется при помощи так называемого ключевого слова. Буквы текста, ко­торый должен быть передан в зашифрованном виде, перво­начально записываются в клетки прямоугольной таблицы, по ее строчкам. Буквы ключевого слова пишутся над столб­цами и указывают порядок (нумерацию) этих столбцов спо­собом, объясняемым ниже. Чтобы получить закодированный текст, надо выписывать буквы по столбцам с учетом их ну­мерации. Пусть текст таков: «В связи с создавшимся поло­жением отодвигаем сроки возвращения домой. Рамзай». Используем для записи текста, в котором 65 букв, прямо­угольную таблицу 11x6, в качестве ключевого возьмем слово из 6 букв «запись», столбцы занумеруем в соответст­вии с положением букв ключевого слова в алфавите. В ре­зультате получится следующая кодовая таблица:

Таблица 3

3

а

п

и

с

ь

2

1

4

3

5

6

в

с

в

я

3

и

с

с

о

3

д

а

в

ш

и

м

с

я

п

о

л

о

ж

е

и

и

е

м

О

т

о

д

в

и

г

а

е

м

с

р

о

к

и

в

о

3

в

Р

а

щ

н

и

я

Д

о

м

о

й

Р

а

м

3

а

й

 

Выписывая буквы из столбцов таблицы 3 (сначала из первого, затем из второго и т. д.), получаем такую шиф­ровку:

Ссшоидмвщомвсвпноеиадаязмомирзноавоилевсоемзздс-

жоговийинаяетгкряр

Ключевое слово известно, конечно, и адресату, который поэтому без труда расшифрует это сообщение. Но для тех, ьто этим ключом не владеет, восстановление исходного текста весьма проблематично (хотя в принципе и возможно). Частотный анализ здесь по вполне понятным причинам не 1 ешает задачи. В лучшем случае, поскольку частоты букв примерно такие, как в таблице 2, он позволяет предполо­жить, что было применено перестановочное кодирование.

Использование ключевого слова, конечно, не обязатель­но, можно было указать нумерацию столбцов цифровым ьлючом, в данном случае числом 214356. Слово удобнее, если ключ надо хранить в памяти (что немаловажно для конспирации).

Имеется ряд шифров, в которых совмещены приемы под­становочного и перестановочного кодирования. Шифр можно еще более усложнить, если дополнительно к этому каждую букву заменять не одним, а двумя или несколькими симво­лами (буквами или числами). Вот Пример. Расположим бук­вы русского алфавита в квадратной таблице 6x6 произ­вольным образом, например так, как в следующей таблице.

Таблица 4

 

0

1

2

3

4

5

0

 

3

и

ы

Р

с

1

а

т

У

й

ь

9

2

 

б

в

ф

к

Л

3

м

ю

я

г

X

ц

4

ч

н

О

 

д

е

5

ж

ш

щ

п

   

Каждую букву шифруем парой цифр: первая цифра это нодеер строки, в которой стоит данная буква, вторая — номер столбца. Например, букве «б» соответствует обозна­чение 21, а слову «шифр» — обозначение 51022304.

Еще большие трудности для крйптоанализа представ­ляет шифр, связываемый с именем Тритемиуса. Этот шифр

является развитием рассматриваемого в дополнении 2 кода Цезаря и состоит в следующем. Буквы алфавита нумеруют­ся по порядку числами 0, 1 30 (см. табл. 2). При шиф­ровании ключевое слово (или номера его букв) подписы­вается под сообщением с повторениями, как показано ниже:

всвязиссоздавшимсяположениемотодвигаемсрокивозвра записьзаписьзаписьзаписьзаписьзаписьзаписьзаписьз щениядомойрамзай аписьзаписьзапис

Каждая буква сообщения «сдвигается» вдоль алфавита по следующему правилу: буква с номером т, под которой' стоит буква ключевого слова с номером k, заменяется на букву с номером l=m+k (если m+k<Z31) или букву с но­мером l^m+k—31 (если m+k^31). Например, первая буква «в» сдвигается на 7 букв и заменяется буквой «й», следующая буква «с» остается без изменения и т. д. Таким образом, номер I кодирующей буквы вычисляется по фор­муле:

l=m+k (mod 31). (1)

В цифровых обозначениях исходное сообщение и повто­ряемое ключевое слово запишутся в следующем виде: Таблица 5

Сообщение

2

17

2

30

7

8

}7

17

14

7

4

0

2

Ключ

7

0

15

8

17

27

7

0

15

8

17

27

7

Сообщение

24

8

12

17

30

15

14

11

14

6

5

13

8

Ключ

0

15

8

17

27

7

0

15

8

17

27

7

0

Сообщение

5

12

14

18

14

4

2

8

3

0

5

12

17

Ключ

15

8

17

27

7

0

15

8

17

27

7

0

15

Сообщение

16

14

to

8

2

14

7

2

16

0

25

5

13

Ключ

8

17

27

7

0

15

8

17

27

7

0

15

8

Сообщение

8

30

4

14

12

14

9

16

0

12

7

0

9

Ключ

17

27

7

0

15

8

17

27

7

0

15

8

17

После суммирования верхней и нижней строки по м0/1улю 31 получаем последовательность чисел:

9.17.17.7.24.4.24.17.29.15.21.27.9.24.23.20.3.26.22.14.26, 22.23.1.20.8.20.20.0.14.21.4.17.16.20.27.12.12.1.24. 0.6. 15.2.29.15.19.12.7.25.20.21.25.26.11. 14. 27. 22.26. 12. 7. 12.22.8.26.

Наконец, заменяя числа на буквы, приходим к закодиро­ванному тексту:

йссзшдшсюпхьйшчфгыцоыцчбфиффаохдсрфьммбшажпвю пумзщфхщылоьцымзмциы

Если ключевое слово известно, то дешифровка произво­дится безо всякого труда на основе равенства:

m~l—k (mod 31).

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

Мы рассмотрели лишь некоторые способы составления криптограмм. Заметим, что комбинируя их, можно полу­чать шифры, еще более труднодоступные для расшифровки. Однако вместе с этим возрастают трудности пользования шифром для отправителя секретного сообщения и адресата, поскольку сильно усложняется техника шифровки и де­шифровки даже при наличии ключа.

Предлагаю ознакомиться с аналогичными статьями: