Лабораторные и практики / 08_ЛР / 8_ЛР
.pdfМИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ
ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ
«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА» (СПбГУТ)
_____________________________________________________________________________
Кафедра информационной безопасности телекоммуникационных систем Дисциплина «Основы криптографии с открытыми ключами»
Лабораторная работа 8
«Изучение криптосистемы МАК-ЭЛИС»
Выполнила: |
студ. гр. |
|
. |
. .
Проверил: |
проф. Яковлев В.А.. |
Санкт-Петербург
2021
Цель лабораторной работы
Изучить преобразования, выполняемые при шифровании и дешифровании сообщений в системе Мак-Элис, а также простейшие попытки ее взлома.
Ход работы
Генерирование порождающей матрицы
1.Выбираем следующие параметры криптосистемы Мак-Элис: Длина кодового слова: = 32 бита Длина информационного сообщения: = 17 бит
Число исправляемых ошибок: = 3 Неприводимый полином: ( ) = 3 + + 1
Минимальное кодовое расстояние: ≥ 2 3 + 1 = 7
2.Генерируем порождающую матрицу в программе MAGMA.exe:
Рисунок 1. Генерация порождающей матрицы.
Рисунок 2. Сгенерированная матрица.
Генерация ключей
(̃, ) − открытый ключ, ̃ = ;
(, , ) − закрытый ключ.
3.Запускаем программу McEliece.exe. Загружаем сгенерированную ранее порождающую матрицу G:
Рисунок 3. Загрузка порождающей матрицы G.
4. Генерируем не сингулярную (невырожденную) матрицу S:
Рисунок 4. Генерация матрицы S.
5. Генерируем перестановочную матрицу P:
Рисунок 5. Генерация матрицы P.
6. Получаем произведение матриц G*P:
Рисунок 6. Произведение G*P.
Рисунок 7. Проверка произведения матриц G и P.
7. Вычисляем матрицу ̃ путем произведения матриц S и (G*P):
Рисунок 8. Вычисление матрицы ̃ = .
Рисунок 9. Проверка произведения матриц S и (G*P).
Шифрование
8.Выбираем сообщение в виде двоичной последовательности длиной k = 17 бит:
Сообщение: 00111001010100101
9.Переходим во вкладку «Шифрование». Вводим сообщение, генерируем случайный двоичный вектор Z длины n, и веса (т.е. числа единиц в нём) не
более , вычисляем произведение сообщения и матрицы (S*G*P): ̃. Вычисляем криптограмму = ̃ .
Рисунок 10. Шифрование сообщения.
Полученная криптограмма: 10111100001110010101100110101001
Дешифрование
10.Переходим во вкладку «Дешифрование». Вычисляем вектор ̃ = −1, а также получаем матрицу, обратную P:
Рисунок 11. Вычисление вектора ̃.
11.Путем вычитания двоичного вектора ошибок Z исправим не более ошибок в ̃, что даст некоторый двоичный вектор ̃ длины k:
Рисунок 12. Исправление ошибок в ̃.
12.Восстанавливаем сообщение как = ̃ −1, а также получаем матрицу, обратную S:
Рисунок 13. Восстановление сообщения.
Восстановленное сообщение: 00111001010100101
Исходное сообщение: 00111001010100101
Видим, что расшифрованное сообщение такое же, как двоичная последовательность, зашифрованное ранее.
Криптоанализ
13. Переходим во вкладку «Криптоанализ» и нажимаем кнопку «Атака»:
Рисунок 14. Атака на криптосистему.
Для рассматриваемого примера атака прошла успешно. Видно, что полученное сообщение совпадает с сообщением, которое зашифровывали ранее.
14.Рассчитаем вероятности успеха атаки на КС Мас-Элис при длине кодового слова n = 32 и различном количестве информационных символов k:
Вероятность атаки:
−
усп =
1) При k = 22:
При t = 1:
3122
усп = 3222 = 0,313
При t = 2:
3022
усп = 3222 = 0,091
2) При k = 17:
При t = 1:
3117
усп = 3217 = 0,469
При t = 2:
3017
усп = 3217 = 0,212
При t = 3:
2917
усп = 3217 = 0,092
3) При k = 12:
При t = 1:
3112
усп = 3212 = 0,625
При t = 2:
3012
усп = 3212 = 0,383
При t = 3:
2912
усп = 3212 = 0,230
При t = 4:
2812
усп = 3212 = 0,135
4) При k = 7:
При t = 1:
317
усп = 327
При t = 2:
307
усп = 327
При t = 3:
297
усп = 327
При t = 4:
287
усп = 327
При t = 5:
277
усп = 327
=0,781
=0,605
=0,464
=0,352
=0,264
Таблица 1. Вероятности успеха криптоатаки при различном количестве искусственно вводимых ошибок.
k |
|
|
t |
|
|
|
|
|
|
|
|
||
1 |
2 |
3 |
4 |
5 |
||
|
||||||
|
|
|
|
|
|
|
22 |
0,313 |
0,091 |
– |
– |
– |
|
|
|
|
|
|
|
|
17 |
0,469 |
0,212 |
0,092 |
– |
– |
|
|
|
|
|
|
|
|
12 |
0,625 |
0,383 |
0,230 |
0,135 |
– |
|
|
|
|
|
|
|
|
7 |
0,781 |
0,605 |
0,464 |
0,352 |
0,264 |
|
|
|
|
|
|
|