ЛР-14 (Изучение криптосистемы Мак-Элис)
.docxМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ, СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РФ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕУЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)
Факультет Кибербезопасности
Кафедра Защищенных систем связи
Дисциплина Криптографические протоколы
ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №14
Изучение криптосистемы Мак-Элис
(тема отчета)
10.03.01 Информационная безопасность
(код и наименование направления/специальности)
Студент:
Лянгузов Н.А., ИКБ - 31
(Ф.И.О., № группы) (подпись)
Преподаватель:
проф., Яковлев В.А.
(уч. степень, уч. звание, Ф.И.О.) (подпись)
Цель лабораторной работы
Изучить преобразования, выполняемые при шифровании и дешифровании сообщений в системе Мак-Элис, а также простейшие попытки ее взлома.
Ход выполнения работы
Таблица 1. Параметры кодов Гоппы, реализуемых в программе
Поле GF(2m) |
Длина кода Гоппы n |
Число исправляемых ошибок tA |
Неприводимый полином g(z) |
Число информационных символов k |
GF(23) |
8 |
2 |
z^2+z+1 |
2 |
GF(24) |
16 |
3 |
z^3+z+1 |
4 |
z^3+z^2+1 |
4 |
|||
GF(25) |
32 |
2 |
z^2+z+1 |
22 |
3 |
z^3+z+1 |
17 |
||
z^3+z^2+1 |
17 |
|||
4 |
z^4+z+1 |
12 |
||
z^4+z^3+1 |
12 |
|||
z^4+z^3+z^2+z+1 |
12 |
Генерирование порождающей матрицы.
Параметры криптосистемы Мак-Элис:
Длина кодового слова:
Длина информационного сообщения
Число искусственно вводимых ошибок
Рисунок 1. Генерирование порождающей матрицы
Рисунок 2. Порождающая матрица.
Параметры кода Гоппы:
Длина
Размерность
Минимальное расстояние
Генерация
ключей, где
– открытый ключ,
– закрытый ключ
Генерация порождающей матрицы G.
Рисунок 3. Генерирование порождающей матрицы G
Генерация не сингулярной матрицы S.
Рисунок 4. Генерирование не сингулярной матрицы S
Генерация перестановочной матрицы P
Рисунок 5. Генерирование перестановочной матрицы P
Генерация произведений матриц G*P
Рисунок 6. Генерирование матрицы G*P
Рисунок 7. Проверка
Генерация
матрицы
Рисунок
8.
Генерирование
матрицы
Рисунок 9. Проверка
Шифрование сообщений (не менее трех) длиной k=17
Случайное сообщение, содержащее номер варианта 22:
11111101101111100 (312231+00)
11111111111011001 (313122+01)
11111101101011011 (312222+11)
Шифрование сообщения 1
Вектор Z: 00000000000010000000011000000000
Криптограмма: 00100000011001001110011110000001
Рисунок 10. Шифрование сообщения 1
Дешифрование сообщения 1
Вычисление
вектора
,
а так же матрицы, обратной P.
Рисунок 11. Вычисление вектора и обратной матрицы для сообщения 1
Восстановление сообщения 1
Рисунок 12. Восстановление сообщения 1
Восстановленное сообщение 1: 11111101101111100
Исходное сообщение 1: 11111101101111100
Как видно, расшифрованное сообщение такое же, как и последовательность, зашифрованная ранее.
Криптоанализ сообщения 1
Номера столбцов: 5 15 20 4 17 16 25 32 14 10 19 9 2 26 8 21 27
Нулевой вектор Z: 00000000000000000
Восстановленное сообщение: 11111101101111100
Рисунок 13. Атака на криптосистему сообщения 1
Шифрование сообщения 2
Вектор Z: 01010000000000100000000000000000
Криптограмма: 10100101001101110100100000000111
Рисунок 14. Шифрование сообщения 2
Дешифрование сообщения 2
Вычисление вектора , а так же матрицы, обратной P.
Рисунок 15. Вычисление вектора и обратной матрицы для сообщения 2
Восстановление сообщения 2
Рисунок 16. Восстановление сообщения 2
Восстановленное сообщение 2: 11111111111011001
Исходное сообщение 2: 11111111111011001
Как видно, расшифрованное сообщение такое же, как и последовательность, зашифрованная ранее.
Криптоанализ сообщения 2
Номера столбцов: 20 16 11 25 29 31 17 5 26 6 21 15 1 18 22 28 7
Нулевой вектор Z: 00000000000000000
Восстановленное сообщение: 11111111111011001
Рисунок 17. Атака на криптосистему сообщения 2
Шифрование сообщения 3
Вектор Z: 00001000000000101000000000000000
Криптограмма: 00010010010000011100011101001000
Рисунок 18. Шифрование сообщения 3
Дешифрование сообщения 3
Вычисление вектора , а так же матрицы, обратной P.
Рисунок 19. Вычисление вектора и обратной матрицы для сообщения 3
Восстановление сообщения 3
Рисунок 20. Восстановление сообщения 3
Восстановленное сообщение 3: 11111101101011011
Исходное сообщение 3: 11111101101011011
Как видно, расшифрованное сообщение такое же, как и последовательность, зашифрованная ранее.
Криптоанализ сообщения 3
Номера столбцов: 28 8 22 25 14 19 11 31 29 32 1 26 3 24 10 9 4
Нулевой вектор Z: 00000000000000000
Восстановленное сообщение: 11111101101011011
Рисунок 21. Атака на криптосистему сообщения 3
Расчеты вероятности успеха атаки на КС Мак-Элис при выборе различных значений k и t.
,
где
Для k = 22
Для k = 17
Для k = 12
Для k = 4
Для k = 2
Занесем полученные данные в таблицу и на ее основе построим график
Таблица 2. Вероятности успеха атаки
k |
t |
|||
1 |
2 |
3 |
4 |
|
22 |
0,313 |
0,091 |
– |
– |
17 |
0,469 |
0,212 |
0,092 |
– |
12 |
0,625 |
0,383 |
0,23 |
0,135 |
4 |
0,75 |
0,55 |
0,393 |
– |
2 |
0,75 |
0,536 |
– |
– |
Рисунок 22. График зависимости P от k при разных t
Из таблицы и графика видно, что при увеличении вводимых ошибок или увеличения длины информационного сообщения, вероятность успеха атаки снижается.
Вывод:
В ходе выполнения лабораторной работы были изучены преобразования, выполняемые при шифровании и дешифровании сообщений в системе Мак-Элис, а также простейшие попытки ее взлома.
Санкт-Петербург
2026
