Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МиСКЗИ Лабораторная работа 1.pdf
Скачиваний:
0
Добавлен:
16.07.2026
Размер:
1.12 Mб
Скачать

 

1.3 Шифр Хилла

 

31

5

20 .

Для шифрования была задана ключевая матрица размерности 3 × 3:

 

= 5

7

1

 

 

Для шифра Хилла

использовался

 

полный русский алфавит,

3

2

26

 

 

включающий в себя символ «Ё», и специальные символы «!», «?», «.» и «,», всего использовано 37 символов. В таблице 1.10 представлен алфавит и порядковые номера символов, использованные в расчетах.

Таблица 1.10 – Алфавит и порядковые номера символов для шифра Хилла

 

Номер

 

Символ

 

Номер

Символ

 

Номер

 

 

Символ

Номер

Символ

 

 

0

 

 

А

 

11

К

 

22

 

 

Х

33

!

 

 

1

 

 

Б

 

12

Л

 

23

 

 

Ц

34

?

 

 

2

 

 

В

 

13

М

 

24

 

 

Ч

35

.

 

 

3

 

 

Г

 

14

Н

 

25

 

 

Ш

36

,

 

 

4

 

 

Д

 

15

О

 

26

 

 

Щ

 

 

 

 

5

 

 

Е

 

16

П

 

27

 

 

Ъ

 

 

 

 

6

 

 

Ё

 

17

Р

 

28

 

 

Ы

 

 

 

 

7

 

 

Ж

 

18

С

 

29

 

 

Ь

 

 

 

 

8

 

 

З

 

19

Т

 

30

 

 

Э

 

 

 

 

9

 

 

И

 

20

У

 

31

 

 

Ю

 

 

 

 

10

 

 

Й

 

21

Ф

 

32

 

 

Я

 

 

 

 

Для

| |

 

 

 

 

 

 

 

 

 

 

 

 

 

выполнения шифрования необходимо проверить определитель

матрицы

 

 

на соответствие условию: число является взаимно простым с

мощностью

алфавита.

Определитель

матрицы

рассчитывался

следующим

| | = 31 7 26 + 5 2 20 + 5 1 3 (3 7

6.20 + 5 5 26 + 2 1 31)

образом:

 

 

 

 

= 4725 37 = 2

 

 

 

 

 

 

 

НОД(26,37) 1

,

 

 

 

 

 

 

 

 

значит, данная матрица может быть использована для

 

 

 

 

 

 

шифрования. В качестве открытого текста была взята фамилия с добавленными буквами из имени для разбиения строки по блокам в 3 символа: «ФАМИЛИЯИМ». Строка была разбита на блоки: [ФАМ], [ИЛИ],

[ЯИМ].

 

Шифрование осуществлялось по формуле:

 

10

(1.6)

 

где – вектор-столбец,

(̅) = ∙̅

̅

,

 

 

полученный из порядковых номеров символов блока.

На рисунке 1.5 представлено шифрование блоков букв с использованием формулы 1.6.

Рисунок 1.5 – Шифрование блоков открытого текста шифром Хилла

Полученные результаты шифрования представлены в таблице 1.11. Таблица 1.11 – Шифрование шифром Хилла

Открытый

Ф

А

М

И

Л

И

Я

И

М

текст

 

 

 

 

 

 

 

 

 

Номер

21

0

13

9

12

9

32

9

13

Преобразование

23

7

31

1

27

26

2

14

8

по формуле

 

 

 

 

 

 

 

 

 

Закрытый

Ц

Ж

Ю

Б

Ъ

Щ

В

Н

З

текст

 

 

 

 

 

 

 

 

 

Для расшифровки использовалась( ) = следующая−1 ∙̅ формула:

где −1 – матрица, обратная ключевой. , (1.7) Для нахождения обратной матрицы использовалась формула:

11

где

 

 

 

−1

=

т

| |

−1

 

,

(1.8)

| |−1

транспонированная

 

матрица

алгебраических

дополнений,

 

т

 

 

 

– обратное по

модулю число

для определителя ключевой

матрицы.

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

Рисунок 1.6 – Расчет элементов матрицы алгебраических дополнений и ее

транспонирование Исходя из равенства 26 | |−1 1( 37) значение числа, обратного

по модулю определителю ключевой матрицы, равно 10.

Для нахождения обратной матрицы была использована формула 1.8, расчет представлен на рисунке 1.7.

Рисунок 1.7 – Расчет матрицы, обратной ключевой

12

Для расшифровки была использована формула 1.7, расчеты представлены на рисунке 1.8.

Рисунок 1.8 – Расшифровка блоков закрытого текста для шифра Хилла

Полученные результаты расшифровки представлены в таблице 1.12. Таблица 1.12 – Расшифровка для шифра Хилла

Закрытый

Ц

Ж

Ю

Б

Ъ

Щ

В

Н

З

текст

 

 

 

 

 

 

 

 

 

Номер

23

7

31

1

27

26

2

14

8

Преобразование

21

0

13

9

12

9

32

9

13

по формуле

 

 

 

 

 

 

 

 

 

Открытый

Ф

А

М

И

Л

И

Я

И

М

текст

 

 

 

 

 

 

 

 

 

Полученная числовая последовательность соответствует изначальной, а значит, при расшифровке получилось исходное слово.

13