Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ZiOKD / Задачник ЗиОКД-заочники.doc
Скачиваний:
94
Добавлен:
14.05.2015
Размер:
818.69 Кб
Скачать

Методы шифрования

Метод перестановок на основе маршрутов Гамильтона

Этот метод реализуется путем выполнения следующих шагов.

Шаг 1.Исходный текст разбивается на блоки. Если длина шифруемого текста не кратна длине блока, то на свободные места последнего блока помещаются служебные символы-заполнители (например, *)

Шаг 2.Символами блока заполняется таблица, в которой для каждого порядкового номера символа в блоке отводится вполне определенное место (рис. 2.1).

Исходная

таблица

Маршрут 1

Маршрут 2

Рисунок 6 - Вариант 8-элементной таблицы и маршрутов Гамильтона.

Шаг 3.Считывание символов из таблицы осуществляется по одному из маршрутов. Увеличение числа маршрутов повышает криптостойкость шифра. Маршруты выбирают либо последовательно, либо их очерёдность задаётся ключомК.

Шаг 4.Зашифрованная последовательность символов разбивается на блоки фиксированной длиныL.ВеличинаLможет отличаться от длины блоков, на которые разбивается исходный текст на шаге 1.

Расшифрование производится в обратном порядке.

Задача 11. Требуется зашифровать текст <МЕТОДЫ ПЕРЕСТАНОВКИ>. Ключ и длины зашифрованных блоков равны: К=<2,1,1>, L=4. Для шифрования использовать таблицу и два маршрута, представленные на рис. 6.

Решение. Воспользуемся вышеизложенной методикой построения шифра по шагам.

Шаг 1.Исходный текст разбивается на блок по 8 символов, включая пробелы и*, заменяющие недостающие символы в блоках: 1 2 3 4 5 6 7 8

Блок =<М Е Т О Д Ы _ П>

Блок =<Е Р Е С Т А Н О>

Блок =<В К И * * * * *>

Шаг 2.Заполняются 3 матрицы. Первая заполняется буквами блокаБ1 в соответствии с исходной таблицей Гамильтона (рисунок 6). На первой позиции записывается первая буква блокаБ1М, на второй – вторая (Е), и т. д. И так для каждого блока.

Шаг 3.Затем производится считывание данных матриц по маршрутам, определенных ключом, т. е. первая матрица считывается по маршруту 2, а вторая и третья – по маршруту 1 (рисунок 7).

Маршрут 2

Маршрут 1

Маршрут 1

Рисунок 7 - Шифрование с помощью маршрутов Гамильтона.

Путём расстановки символов в порядке следования в маршруте получим:

<ОП_ТМЕЫД> <ЕСРЕТАОН> <И*КВ****>

Шаг 4. Разбиение на блоки шифртекста производят в соответствии с длиной зашифрованного блокаL=4.

=<ОП_Т МЕЫД ЕСРЕ ТАОН И*КВ ****>

Возможно применение и других маршрутов.

Аналитические методы шифрования

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

.

Расшифрование информации осуществляется путём последовательного перемножения векторов и обратной матрицы.

Задача 12. Требуется зашифровать слово =<ЗАБАВА> с помощью матрицы-ключа А.

A=

Решение.

1.Определим числовой эквивалент исходного слова ЗАБАВАкак последовательность соответствующих порядковых номеров букв словав алфавите:

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

32

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

Буква З– восьмая в алфавите,А– первая, и т. д. Получим:

=<8,1,2,1,3,1>

2.Разобьём на два вектораи

3. Умножим матрицу А на векторыи, что получается умножением строки матрицы на столбец (вектор). Первый элемент каждой строки матрицы перемножается с первым элементом столбца (вектора), второй – со вторым, третий – с третьим. Результаты складываются, получаем 3 элемента, из которых составляем итоговый векторС1. Аналогично дляС2.

=

=

  1. Зашифрованное слово запишем в виде последовательности элементов векторов С1 и С2:

=<28,35,67,21,26,38>.

Задача 13. Расшифровать текст, полученный в задаче 12.

Решение.

1.Вычисляется определитель матрицы ключа А:

.

2.Определяется присоединённая матрица , каждый элемент которой является алгебраическим дополнением элементаматрицыА.

Дополнение элемента находят следующим образом: вычеркивают в исходной матрице строку и столбец, в которых находится данный элемент.

A=

Из оставшихся элементов составляют новую матрицу и ищут ее определитель.

.

Это и есть искомое дополнение элемента . Подобным образом ищут дополнения для всех элементов исходной матрицы. Из этих дополнений строят присоединенную матрицу, каждый элемент которой и есть дополнение соответствующего по местоположению элемента исходной матрицыA:

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

=

4.Вычисляется обратная матрица по формуле:

=,

В результате вычислений обратная матрица имеет вид:

5.Определяются векторы ирасшифрованного текста путем умножения обратной матрицына векторыС1 иС2 шифртекста, который необходимо расшифровать:

;.

Снова проводим процедуру умножения строки на столбец:

=

=

=

=

6.Получаем числовой эквивалент расшифрованного слова, составленный из элементов векторов В1 иВ2:

=<8,1,2,1,3,1>, который заменяется символами алфавита в соответствии с порядком следования букв:

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

32

А

Б

В

Г

Д

Е

Ж

З

И

Й

К

Л

М

Н

О

П

Р

С

Т

У

Ф

Х

Ц

Ч

Ш

Щ

Ъ

Ы

Ь

Э

Ю

Я

Восьмая буква – З, первая –А, и т. д.

В результате получается исходное слово:

<ЗАБАВА>

Соседние файлы в папке ZiOKD