1.5 Шифр Виженера
Для шифрования шифром Виженера в качестве открытого текста была взята фамилия «ФАМИЛИЯ», в качестве ключа шифрования было взято имя «ИМЯ». В таблице 1.15 представлено шифрование открытого текста.
Таблица 1.15 – Шифрование слова шифром Виженера
Открытый текст |
Ф |
А |
М |
И |
Л |
И |
Я |
Порядковый номер |
21 |
0 |
13 |
9 |
12 |
9 |
32 |
Гамма |
И |
М |
Я |
И |
М |
Я |
И |
Порядковый номер гаммы |
9 |
13 |
32 |
9 |
13 |
32 |
9 |
Преобразованный порядковый номер |
30 |
13 |
12 |
18 |
25 |
8 |
8 |
Закрытый текст |
Э |
М |
Л |
С |
Ш |
З |
З |
18
1.6 Криптоанализ аффинного шифра
Для криптоанализа аффинного шифра был взят зашифрованный текст «3 юмор.txt» в электронном курсе КМЗИ. Исходный текст файла представлен в приложении А.
Первым этапом был проведен поиск языковых артефактов, оставшихся в тексте после шифрования. В тексте было найдено слово, написанное через дефис, «гад-ад». Было сделано предположение, что буквы «А» и «Д» являются буквами «Т» и «О» соответственно. Буква «Г» является буквой «Ч», так как исходя из построения предложений слово «гад» всегда идет после запятой. В тексте не использовалась буква «Ё», значит мощность алфавита равна 32.
Исходя из сделанного предположения, была построена система из трех
уравнений: |
0 |
= 18 + 32; |
|
|
|
|
|
|
4 |
= 14 + 32; |
|
|
|
|
|
Из решения системы |
3 |
= 23 + 32; |
|
|
и |
|
. После |
|
уравнений получено, что |
|
|
||||
расшифровки был получен оригинальный текст с |
помощью кода (рисунок |
||||||
|
= 7 |
|
= 2 |
|
|||
1.14). Код программы представлен в приложении Б.
Рисунок 1.14 – Фрагмент расшифрованного текста
19
|
|
1.7 Криптоанализ шифра Хилла |
||||||||
|
|
Для криптоанализа шифра Хилла было взято задание для 2 варианта. |
||||||||
По условию задана мощность |
алфавита |
|
, |
, |
а также две матрицы: |
|||||
|
|
|
= 16 |
|
9 |
|
|
: |
||
изначальная матрица и ее зашифрованная |
версия |
|||||||||
|
= 31 |
|
||||||||
|
|
|
|
17 |
|
22 . |
|
|
||
|
|
|
|
13 |
|
0 |
|
|
|
|
|
|
|
|
14 |
13 |
|
|
|||
где |
|
−1 – матрица, обратная |
|
= ∙ |
|
|
, |
|
(1.10) |
|
|
|
|
|
была |
использована формула: |
|||||
|
|
Для нахождения ключевой матрицы= |
|
−1 |
||||||
|
|
исходной. |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|||
|
Для исходной матрицы была построена и транспонирована матрица |
|||||||||
алгебраических дополнений, расчеты представлены на рисунке 1.15.
Рисунок 1.15 – Расчет элементов матрицы алгебраических дополнений
исходной матрицы и ее транспонирование Для исходной| | матрицы= 16 ∙22 −был(17рассчитан∙9) = 199определитель31 = 13.матрицы | |:
Исходя из равенства 13 ∙| |−1 ≡ 1( 31) значение числа, обратного по модулю определителю ключевой матрицы, равно 12.
Для нахождения обратной матрицы была использована формула 1.8, расчет представлен на рисунке 1.16.
20
Рисунок 1.16 – Расчет матрицы, обратной исходной
С помощью формулы 1.10 была найдена ключевая матрица, расчет представлен на рисунке 1.17.
∙ = 22 |
Рисунок 1.17 – Расчет ключевой матрицы |
0 |
|
= . |
||||||
22 ∙ 16 |
9 |
= 726 |
682 31 = 13 |
|||||||
Для проверки корректности вычислений исходная матрица |
|
была |
||||||||
зашифрована с использованием полученной ключевой матрицы |
: |
|
|
|||||||
21 |
23 |
17 |
22 |
727 |
695 |
14 |
13 |
|
|
|
|
|
|
|
21 |
|
|
|
|
|
|
