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

Лабораторная работа №8.2

.docx
Скачиваний:
34
Добавлен:
10.08.2024
Размер:
5.03 Mб
Скачать

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

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ

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

Факультет Инфокоммуникационных сетей и систем Кафедра Защищенных систем связи

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

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

Исследование протокола скрытого определения местоположения точек интереса мобильного пользователя с учётом типа POI

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

Информационная безопасность (10.03.01)

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

Студент группы ИКБ-06:

Ерохин А.Г.

(Ф.И.О.) (подпись)

Д.т.н., проф. каф. ЗСС:

Яковлев В.А.

(Ф.И.О.) (подпись)

Цель работы:

Закрепить теоретические знания студентов по разделу: “Гомоморфное шифрование”. Ознакомиться с протоколом скрытого определения точек интереса мобильного пользователя на основе изученных алгоритмов криптосистем Пэйе и Рабина.

Ход работы:

  1. Выбрали ячейку – своё местоположение

Таким образом, ячейка . Отметим её на карте (рис.1).

Рисунок 1 – Карта и ячейка местоположения

  1. Генерация ключей

  • Числа выбрать из диапазона 122-160. Проверить их на простоту с помощью теста Ферма, используя программу “Maxima”. Далее проверить условие , также используя программу “Maxima”. Если выбранные числа являются простыми и условие соблюдено, посчитать модуль .

Рисунок 2 – Использование программы Maxima для p1 и q1

Рисунок 3 – Результат работы программы

Получили:

  • Числа выбрать, исходя из диапазона: . Провести процедуру проверки такую же как при выборе чисел . Если выбранные числа являются простыми и условие соблюдено, посчитать модуль .

Рисунок 4 – Использование программы Maxima для p2 и q2

Рисунок 5 – Результат работы программы

Получили:

  • Генерируются числа из множества и из множества , удовлетворяющие условию:

С помощью программы получили следующие значения:

Проверка:

Рисунок 6 – Результат работы программы

Секретные ключи:

Открытые ключи:

Проверка генерации ключей с помощью предложенной программы (рис.7).

Рисунок 7 – Результат работы программы

  1. Формирование запроса выполняется в три этапа.

    1. Шифрование типа POI на первом открытом ключе.

Для каждого пользователь выбирает случайное целое число и вычисляет криптограммы :

где – тип точек интереса, про который пользователь запрашивает информацию.

Выбираем t = 1 (банкомат)

Рисунок 8 – Вычисление криптограмм

    1. Шифрование координаты своей ячейки на втором открытом ключе.

Для каждого пользователь выбирает случайное целое число и вычисляет криптограммы :

где – первая координата ячейки, в которой находится пользователь.

Рисунок 9 – Шифрование координаты i

    1. Шифрование координаты своей ячейки на втором открытом ключе.

Для этого пользователь выбирает случайное целое число и вычисляет еще одну криптограмму :

где – вторая координата ячейки, в которой находится пользователь.

Рисунок 10 – Шифрование координаты j

Отправленный запрос:

Рисунок 11 – Отправленный запрос

  1. Формирование сервером ответа. Сервер, получив зашифрованный запрос от пользователя, производит вычисления, состоящие из двух этапов.

    1. Сервер шифрует информацию о ближайшей POI каждого типа, хранящейся в его базе данных, при помощи открытого ключа Pk1. Для этого он дополнительно использует алгоритм шифрования криптосистемы Рабина.

    1. Сервер шифрует полученные на предыдущем шаге криптограммы при помощи открытого ключа Pk2, дополнительно используя алгоритмы шифрования криптосистем Рабина и Пэйе.

После того, как сервер вычислил криптограммы R, он посылает их пользователю в качестве ответа на полученный запрос.

Рисунок 12 – Формирование ответа сервера

  1. Дешифрование пользователем ответа сервера

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

Рисунок 13 – Полученные от сервера криптограммы

  1. Расшифровывается криптограмма , полученная от сервера секретным ключом , используя алгоритм дешифрования криптосистемы Пэйе.

Получили криптограмму криптосистемы Рабина

  1. Расшифровывается криптограмма секретным ключом , используя алгоритм дешифрования криптосистемы Рабина.

Получили криптограмму, которая содержит информацию только относительно местоположения пользователя

  1. Расшифровывается криптограмма секретным ключом , используя алгоритм дешифрования криптосистемы Пэйе.

Получили криптограмму криптосистемы Рабина, содержащую информацию о POI

  1. Расшифровывается криптограмма секретным ключом , используя алгоритм дешифрования криптосистемы Рабина.

Получили запрашиваемую информацию с базы данных сервера о ближайшей точке интереса типа t = 1 (банкомат) относительно центра ячейки (i, j), представленную в десятичном виде d = 40.

Таким образом координаты ближайшей точки интереса (2,3).

Рисунок 14 – Координаты ближайшей точки интереса

Проверим это на карте (рис.15).

Рисунок 15 – Проверка на карте

Действительно, ближайший к центру ячейки (2, 3) банкомат находится в ячейке (2, 3).

Попробуем расшифровать криптограмму, полученную от сервера, порядковый номер которой не равен второй координате j (рис.16).

Рисунок 16 – Проверка на карте

Как видим, выполнить расшифровку для криптограммы, порядковый номер которой не равен второй координате j невозможно.

  1. Выполним действия для точки интереса 2 (велосипедная парковка).

Рисунок 17 – Генерация ключей и криптограмм

Рисунок 18 – Получение запроса сервером и формирование ответа

Рисунок 19 – Получение ответа и дешифрование

Таким образом координаты ближайшей точки интереса (2,4).

Рисунок 20 – Координаты ближайшей точки интереса

Проверим это на карте (рис.21).

Рисунок 21 – Проверка на карте

Действительно, ближайшая к центру ячейки (2, 3) велопарковка находится в ячейке (2, 4).

  1. Выполним действия для точки интереса 3 (аптека).

Рисунок 22 – Генерация ключей и криптограмм

Рисунок 23 – Получение запроса сервером и формирование ответа

Рисунок 24 – Получение ответа и дешифрование

Таким образом координаты ближайшей точки интереса (2,3).

Рисунок 25 – Координаты ближайшей точки интереса

Проверим это на карте (рис.26).

Рисунок 26 – Проверка на карте

Действительно, ближайшая к центру ячейки (2, 3) аптека находится в ячейке (2, 3).

  1. Выполним действия для точки интереса 4 (почта).

Рисунок 27 – Генерация ключей и криптограмм

Рисунок 28 – Получение запроса сервером и формирование ответа

Рисунок 29 – Получение ответа и дешифрование

Таким образом координаты ближайшей точки интереса (2,3).

Рисунок 30 – Координаты ближайшей точки интереса

Проверим это на карте (рис.31).

Рисунок 31 – Проверка на карте

Действительно, ближайшая к центру ячейки (2, 3) почта находится в ячейке (2, 3).

Вывод

В ходе выполнения успешно определили точки интереса мобильного пользователя на основе изученных алгоритмов криптосистем Пэйе и Рабина. Успешно сформировали две пары ключей с использованием программы Maxima. Были сформированы запросы к серверу, который проведя работу над криптограммами успешно сформировал ответ. Полученный ответ был дешифрован, что позволило определить координаты ближайшей ячейки, в которой была расположена точка интереса.

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