Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

крипта_14

.docx
Скачиваний:
0
Добавлен:
17.06.2026
Размер:
2.53 Mб
Скачать

МИНИСТЕРСТВО ЦИФРОВОГО РАЗВИТИЯ,

СВЯЗИ И МАССОВЫХ КОММУНИКАЦИЙ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ

УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

«САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ТЕЛЕКОММУНИКАЦИЙ ИМ. ПРОФ. М.А. БОНЧ-БРУЕВИЧА»

(СПбГУТ)

Факультет Кибербезопасности

Кафедра Защищенных систем связи

Дисциплина Криптографические протоколы

ОТЧЕТ ПО ЛАБОРАТОРНОЙ РАБОТЕ №14

Изучение криптосистемы Мак-Элис

(тема отчета)

Направление/специальность подготовки

(код и наименование направления/специальности)

Выполнил студент 3 курса:

(Ф.И.О., № группы) (подпись)

Преподаватель:

д.т.н., проф. Яковлев В.А.

(Ф.И.О., № группы) (подпись)

Цель лабораторной работы

Изучить преобразования, выполняемые при шифровании и дешифровании сообщений в криптосистеме Мак-Элис, а также простейшие попытки ее взлома.

Если не получается открыть матрицу в “McEliese”:

Надо сгенерированный файл с матрицей закинуть на диск С и туда же закинуть ехе файл программы. В остальном надо поебаться с установкой доп библиотек

Выполнение лабораторной работы

  1. Параметры криптосистемы Мак-Элис:

Длина кода Гоппы n = 32,

длина информационного сообщения k = 22 бита,

число искусственно вводимых ошибок tA = 2.

Сгенерируем для выбранных параметров порождающую матрицу с применением кода Гоппы:

  1. Параметры кода Гоппы:

Длина n = 25 = 32 бита,

размерность k ≥ 25–2∙5 = 22 бита,

минимальное расстояние d ≥ 2∙2+1 = 5.

  1. Процесс генерации ключей и шифрования:

Загрузим в программу “McEliece” раннее сгенерированную порождающую матрицу G и убедимся в правильности параметров системы:

Сгенерируем несингулярную матрицу S:

Сгенерируем перестановочную матрицу P:

Рассчитаем произведение матриц G и P:

Получили матрицу G*P:

Рассчитаем произведение матриц S, G и P:

Получили матрицу S*G*P:

Таким образом, закрытым ключом является набор {несингулярная матрица S, порождающая матрица G, перестановочная матрица P}.

Открытым ключом является {Произведение матриц S*G*P, параметр tA = 2}.

Зададим двоичное сообщение и сгенерируем случайный вектор ошибок Z, найдем криптограмму:

ГNГNX, где Г- номер группы в двоичном виде (5 бит), N - номер по журналу (5 бит). Х- случайные биты

Г = 32

N = 05

Тогда для текущего варианта сообщение

  1. М = 10000001011000000101 + 00 = 1000000101100000010100

  2. М = 10000001011000000101 + 01 = 1000000101100000010101

  3. М = 10000001011000000101 + 10 = 1000000101100000010110

Шифрование 1-го сообщения:

Сообщение m1: 10000001011000000010100

Вектор Z1: 01110100010110010111011000111001

Криптограмма c1: 011101000101100101110110000001001

Шифрование 2-го сообщения

Сообщение m2: 10000001011000000010101

Вектор Z2: 000000000000000000001000010000000

Криптограмма c2: 11001100110111010001000010011101

Шифрование 3-го сообщения:

Сообщение m3: 1000000101100000010110

Вектор Z3: 00000000010000100000000000000000

Криптограмма c3: 011101011011001010111111101010

  1. Процесс дешифрования:

Вычислим обратную P матрицу P-1 и вектор c1’=c1*P-1:

Используя алгоритм декодирования для кода Гоппы с порождающей матрицей G, исправим не более tA = 2 ошибок в c’, в результате чего получим некоторый двоичной вектор m’ длины k. (В программе исправление ошибок реализовано за счет вычитания двоичного вектора ошибок Z):

Далее, для восстановления сообщения найдем обратную S матрицу S-1 и умножим двоичных вектор m’ на эту матрицу. m = m’*S-1

Восстановленное сообщение m1: 1000000101100000010100

Те же действия повторим для расшифрования сообщения m2 и m3:

Восстановленное сообщение m2: 1000000101100000010101

Восстановленное сообщение m3: 1000000101100000010110

  1. Атака на криптосистему:

Номера столбцов:

31, 23, 21, 13, 17, 8, 22, 9, 16, 4, 7, 19, 2, 10, 5, 12, 20, 14, 6, 18, 11, 29

Нулевой вектор Z (ограниченный столбцами): 00000000000000000000000

Восстановленное сообщение m1: 1000000101100000010100

Номера столбцов:

Вот список номеров с изображения, записанный через запятую:

11, 26, 2, 9, 19, 10, 5, 4, 21, 15, 7, 23, 22, 29, 12, 32, 1, 25, 16, 20, 13, 14

Нулевой вектор Z (ограниченный столбцами): 00000000000000000000000

Восстановленное сообщение m2: 1000000101100000010101

Номера столбцов:

Вот список номеров с изображения, записанный через запятую:

4, 26, 7, 8, 6, 25, 18, 23, 32, 14, 2, 20, 21, 22, 24, 9, 17, 12, 3, 30, 31, 19

Нулевой вектор Z (ограниченный столбцами): 00000000000000000000000

Восстановленное сообщение m3: 1000000101100000010110

Алгоритм атаки:

Система случайно выбирает k столбцов матрицы S*G*P (открытого ключа), проверяя при этом необходимые условия для взлома. Если матрица, составленная из выбранных k столбцов, окажется несингулярной и вектор Z, ограниченный этими столбцами, окажется нулевым, то сообщение будет восстановлено. Во всех трех случаях атака выполнилась успешно.

В программе для простоты полагается, что злоумышленнику известны биты, в которых появляется ошибка. В реальности же, взломщику не известен вектор ошибок Z, так как он абсолютно случайный, поэтому процесс подбора столбцов происходит до тех пор, пока не появится сообщение с известным характером избыточности.

  1. Расчеты вероятности успеха атаки на КС Мак-Элис при выборе различных значений k и t.

Вероятность того, что вектор Z окажется нулевым равна:

Итоговая таблица:

Размерность (k)

t=1

t=2

t=3

t=4

t=5

t=6

k=22

0.312500

0.090726

0.024194

0.005840

0.001251

0.000232

k=17

0.468750

0.211694

0.091734

0.037959

0.014912

0.005523

k=12

0.625000

0.383065

0.229839

0.134733

0.076990

0.042772

k=4

0.875000

0.762097

0.660484

0.569383

0.487819

0.414995

k=2

0.937500

0.877016

0.818548

0.762097

0.707661

0.655242

График зависимостей

Из таблицы и графика видно, что при увеличении вводимых ошибок или увеличения длины информационного сообщения, вероятность успеха атаки снижается

Вывод

В ходе выполнения лабораторной работы были изучены преобразования, выполняемые при шифровании и дешифровании сообщений в криптосистеме Мак-Элис, а также простейшие попытки ее взлома.

Санкт-Петербург

2026

Соседние файлы в предмете Криптографические протоколы