|
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
