Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Выпуск02 ДП и КП Криптографические алгоритмы на...doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
419 Кб
Скачать
☆

Cсшоидмвщомвсвпноеиадаязмомирзноавоилевсоемзздсжоговийино.

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

Таблица 2.4

0

1

2

3

4

5

0

з

и

ы

р

с

1

а

т

у

й

ь

э

2

б

в

ф

к

л

3

м

ю

я

г

х

ц

4

ч

н

о

д

е

5

ж

ш

щ

п

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

Имеется ряд шифров, в которых совмещены приемы под­становочного и перестановочного кодирования. Шифр можно еще более усложнить, если дополнительно к этому каждую букву заменять не одним, а двумя или несколькими симво­лами (буквами или числами). Рассмотрим пример. Расположим бук­вы русского алфавита в квадратной таблице 66 произ­вольным образом, например, так, как в таблице 2.4. Каждую букву шифруем парой цифр: первая цифра  это номер строки, в которой стоит данная буква, вторая  номер столбца. Например, букве «б» соответствует обозна­чение 21, а слову «шифр»  обозначение 51022304.

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

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

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

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

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

Таблица 2.5

Сообщение

2

17

2

30

7

8

17

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

10

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

После суммирования верхней и нижней строки по модулю 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.

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