Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции / Лекция 5 и 6 - Гомоморфное шифрование.pptx
Скачиваний:
0
Добавлен:
04.06.2026
Размер:
2.33 Mб
Скачать

Для устранения этого недостатка разработан другой протокол,

в котором пользователь дополнительно шифрует вторую координату j.

Таким образом, протокол на основе криптосхемы Пэйе отвечает требованиям безопасности:

Только мобильный пользователь знает свое фактическое местоположение.

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

Злоумышленник не может иметь доступ к информации о местоположении пользователя, поскольку координаты отправляются на сервер в зашифрованном виде.

Злоумышленник, пытающийся атаковать сервер, не может получить доступ к открытому тексту, поскольку у него нет секретного ключа.

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

Протокол передает клиенту избыточные данные.

Особенности протокола скрытного определения местоположения “точек интереса” мобильного пользователя при сокрытии типа POI , обеспечивающий конфиденциальность данных сервера

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

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

2.Выбираются следующие два больших простых числа , так, чтобы , где .

Так как на втором этапе сервер производит вычисления, используя криптосистему Рабина, необходимо, чтобы все сгенерированные числа удовлетворяли условию: , где – сгенерированное простое число.

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

Секретными ключами являются: и , а открытыми ключами: и .

В этой схеме p и q используются как закрытый ключ для схемы Рабина и как закрытый ключ для схемы Пэйе.

Формирование запроса выполняется в три этапа и происходит следующим образом:

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

Для каждого

{1,2,…, } пользователь выбирает случайное

целое число

 

и

вычисляет криптограммы

 

:

 

 

1

 

=

 

1, 1

= 1

 

 

 

 

 

=

 

 

 

 

1

 

12

 

 

,

 

 

 

 

0

 

 

 

 

 

 

 

 

 

 

1

 

1

 

если

 

 

 

 

 

= 1

 

 

 

 

 

 

0, 1

 

 

 

 

 

 

 

 

 

 

 

если

 

1

 

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

запрашивает информацию.

 

Таким образом, пользователь зашифровывает 1, если = , и 0 в

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

Шифрование пользователем своей координаты i

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

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

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

Пэйе.

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

открытом ключе.

Для этого пользователь выбирает случайное целое число 2

и вычисляет еще одну криптограмму :

= , 2 = 2 2 22 ,

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

Все полученные криптограммы пользователь отправляет на сервер в качестве запроса.

Ответ сервера

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

1.Вычисляется n2 криптограмм , где ,

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

Для чего каждая полученная криптограмма cl возводится в степень

, шифруется

на первом открытом ключе по схеме Рабина, далее все m

криптограмм

перемножаются.

 

Шифрование по схеме Рабина

Ответ сервера (продолжение)

2. Вычисляется n криптограмм , где

путем перемножения полученных криптограмм предварительно возведенных в степень и зашифрованных по схеме шифрования Рабина. Также проводится вторичное шифрование криптограммы c (зашифрованной пользователем) координаты на втором открытом ключе по схеме Пейе.

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

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

Расшифровка ответа сервера

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

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

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