Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Теория Алгоритмов_заоч_14 / ТА_сам_подг(зо).doc
Скачиваний:
39
Добавлен:
07.06.2015
Размер:
507.9 Кб
Скачать

2 Шифр с использованием омофонов

Буквы исходного текста шифруются числами от 000 до 999, причем каждая буква шифруется некоторым множеством чисел в зависимости от вероятности ее появления в тексте (см. таблицу ниже). Например букве О будет поставлено в сответствие 90 трехразрядных случайных чисел, букве К – 28; букве Б – 14 и т.д. При шифровании каждой буквы выбирают случайным образом одно число из множества омофонов для этой буквы. В результате таких действий вероятность появления омофонов в шифротексте равновероятна, что обеспечивает защиту от криптоаналитических атак, основанных на частотном анализе.

Таблица – Вероятности появления букв в исходном русскоязычном тексте

про-

бел

О

Е

И

А

Н

Т

С

Р

В

Л

К

М

Д

П

У

0,175

0,090

0,072

0,070

0,061

0,052

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,009

0,007

0,006

0,006

0,004

0,004

0,003

0,003

0,002

3 Шифр Гронсфельда

Алгоритм шифрования следующий (алфавиты исходного и шифротекста совпадают): под символами исходного текста записывают цифры числового ключа. Если исходный текст оказался длинее ключа, то ключ циклически повторяется до исчерпания исходного текста. Для замены каждой буквы исходного текста выбирают ту букву алфавита, которая смещена по отношению к заменяемой на величину цифры ключа. Например, применив для шифрования фразы Я СТУДЕНТ ДГМА ключ 2718 (основание натурального логарифма), получим следующее:

Я

С

Т

У

Д

Е

Н

Т

Д

Г

М

А

2

7

1

8

2

7

1

8

2

7

1

8

Б

Ш

У

Ы

З

П

О

Ь

З

Л

Н

И

Таблица 3 – Сокращенный русский алфавит (пропущены Ё, Й )

Алфа-

вит

А

Б

В

Г

Д

Е

Ж

З

И

К

Л

М

Н

О

П

№ буквы

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Продолжение таблицы

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ь

Ы

Ъ

Ю

Э

Я

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

Шифр Гронсфельда представляет частный случай системы шифрования Вижинера.

4 Система шифрования Вижинера

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

Таблица 4 – Квадрат Вижинера

Ключ

А

Б

В

Г

Д

….

Э

Ю

Я

0

А

Б

В

Г

Д

….

Э

Ю

Я

1

Б

В

Г

Д

Е

….

Ю

Я

А

2

В

Г

Д

Е

Ж

….

Я

А

Б

3

Г

Д

Е

Ж

З

….

А

Б

В

….

….

….

….

….

….

….

….

….

….

29

Ю

Я

А

Б

В

….

Ы

Ъ

Э

30

Я

А

Б

В

Г

….

Ъ

Э

Ю

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

Пример

Необходимо зашифровать фразу «Я ИЗУЧАЮ КРИПТОГРАФИЮ», используя систему шифрования Вижинера. Для шифрования использовать ключ «АМУЛЕТ» (в нижней строке приведен шифротекст).

Я

И

З

У

Ч

А

Ю

К

Р

И

П

Т

О

Г

Р

А

Ф

И

Ю

А

М

У

Л

Е

Т

А

М

У

Л

Е

Т

А

М

У

Л

Е

Т

А

Ниже приведен шифротекст

А

Ф

Ь

Э

Ъ

Т

Ю

Х

В

У

Ф

Г

О

П

Б

Л

Щ

Ь

Ю

Дешифрование выполняют аналогично – под строкой шифротекста записивают ключ при необходимости циклически его повторяя. Каждую пару символов, расположенных в одном столбце заменяют буквой исходного текста: по букве ключа находят строку в таблице 3, затем в этой строке находят букву шифротекста, которая определяет столбец; исходный символ – первая буква столбца.

Соседние файлы в папке Теория Алгоритмов_заоч_14