Евразийский сервер публикаций

Евразийский патент № 036613

   Библиографические данные
(11)036613    (13) B1
(21)201990063

 A ]   B ]   C ]   D ]   E ]   F ]   G ]   H ] 

Текущий раздел:      


Документ опубликован 2020.11.30
Текущий бюллетень: 2020-11  
Все публикации: 036613  
Реестр евразийского патента: 036613  

(22)2016.06.22
(51) G06F 21/62(2013.01)
(43)A1 2019.06.28 Бюллетень № 06  тит.лист, описание 
(45)B1 2020.11.30 Бюллетень № 11  тит.лист, описание 
(86)RU2016/000382
(87)2017/222407 2017.12.28
(71)АВТОНОМНАЯ НЕКОММЕРЧЕСКАЯ ОБРАЗОВАТЕЛЬНАЯ ОРГАНИЗАЦИЯ ВЫСШЕГО ОБРАЗОВАНИЯ "СКОЛКОВСКИЙ ИНСТИТУТ НАУКИ И ТЕХНОЛОГИЙ" (RU)
(72)Панагиотис Каррас, Никитин Артем Антонович (RU)
(73)АВТОНОМНАЯ НЕКОММЕРЧЕСКАЯ ОБРАЗОВАТЕЛЬНАЯ ОРГАНИЗАЦИЯ ВЫСШЕГО ОБРАЗОВАНИЯ "СКОЛКОВСКИЙ ИНСТИТУТ НАУКИ И ТЕХНОЛОГИЙ" (RU)
(74)Фелицына С.Б. (RU)
(54)ДВУХРЕЖИМНАЯ СХЕМА ШИФРОВАНИЯ, ОБЕСПЕЧИВАЮЩАЯ СРАВНЕНИЕ, ОСНОВАННОЕ НА ИНДЕКСИРОВАНИИ
   Формула 
(57) 1. Способ поиска в базе данных, содержащий этапы, на которых
выполняют на сервере базы данных шифрование множества значений данных в базе данных с использованием первого режима шифрования для получения зашифрованных значений данных;
выполняют на клиентской машине шифрование связанного значения с использованием второго режима шифрования для получения зашифрованного связанного значения, причем второй режим шифрования отличается от первого режима шифрования;
принимают от клиентской машины на сервере базы данных зашифрованное связанное значение;
сравнивают на сервере базы данных связанное значение с множеством значений данных с использованием зашифрованного связанного значения и зашифрованных значений данных без дешифрования зашифрованного связанного значения; и
передают на клиентскую машину от сервера базы данных результат сравнения, причем результат сравнения содержит набор зашифрованных значений данных;
причем значения, зашифрованные с использованием первого режима шифрования, невозможно сравнивать друг с другом.
2. Способ по п.1, в котором на этапе сравнения связанного значения с множеством значений данных с использованием зашифрованных связанных значений и зашифрованного значения данных сравнивают связанное значение с множеством значений данных с использованием операции над зашифрованными связанными значениями и зашифрованными значениями данных.
3. Способ по п.1, в котором
одно или более зашифрованных значений данных представляют собой значения ключа, используемые для индексирования зашифрованных значений данных,
при этом на этапе сравнения связанного значения с множеством значений данных сравнивают связанное значение с множеством значений данных с использованием зашифрованных связанных значений, значений ключа и зашифрованных значений данных.
4. Способ по п.1, в котором
на этапе шифрования множества значений данных в базе данных преобразуют каждое из множества значений данных в вектор значений;
на этапе шифрования связанного значения преобразуют связанное значение в связанный вектор и
на этапе сравнения связанного значения с множеством значений данных получают скалярное произведение векторов значений на связанный вектор.
5. Способ по п.4, в котором
каждый из векторов значений содержит зашумленный подвектор значений;
связанный вектор содержит зашумленный связанный подвектор;
причем зашумленный связанный подвектор ортогонален каждому из зашумленных подвекторов значений.
6. Способ по п.4, дополнительно содержащий этапы, на которых
выбирают случайный множитель для каждого из векторов значений и
масштабируют каждый вектор значений с помощью соответствующего выбранного множителя.
7. Способ по п.5, дополнительно содержащий этапы, на которых
выбирают первый случайный положительный множитель и второй случайный положительный множитель для каждого из векторов значений;
масштабируют каждый зашумленный подвектор значений с помощью соответствующего первого случайного множителя и
масштабируют остальную часть каждого из векторов значений с помощью соответствующего второго случайного положительного множителя.
8. Способ по п.4, дополнительно содержащий этап, на котором
выбирают обратимую матрицу; при этом
на этапе преобразования каждого из значений данных в вектор значений преобразуют значения данных в вектор-столбец значений и умножают одну из обратной матрицы и транспонированной матрицы на вектор-столбец значений; и
на этапе преобразования связанного значения в связанный вектор преобразуют связанное значение в связанный вектор-столбец и умножают другую из обратной матрицы и транспонированной матрицы на связанный вектор-столбец.
9. Способ индексирования значений данных, содержащий этапы, на которых
выполняют шифрование множества значений данных с использованием первого режима шифрования для получения зашифрованных значений данных;
выполняют шифрование одного или более связанных значений с использованием первого режима шифрования для получения первых зашифрованных связанных значений и с использованием второго режима шифрования для получения вторых зашифрованных связанных значений, причем второй режим шифрования отличается от первого режима шифрования;
сравнивают указанное одно или более связанных значений с множеством значений данных с использованием вторых зашифрованных связанных значений и зашифрованных значений данных без дешифрования вторых зашифрованных связанных значений; и
индексируют зашифрованные значения данных на основании упомянутого сравнения с использованием первых зашифрованных связанных значений в качестве значений ключа,
при этом значения, зашифрованные с использованием первого режима шифрования, невозможно сравнивать друг с другом; и
значения, зашифрованные с использованием второго режима шифрования, невозможно сравнивать друг с другом.
10. Способ по п.9, дополнительно содержащий этапы, на которых
выполняют шифрование другого связанного значения с использованием первого режима шифрования для получения другого первого зашифрованного связанного значения и с использованием второго режима шифрования для получения другого второго зашифрованного связанного значения;
сравнивают указанное другое связанное значение с множеством значений данных с использованием указанного другого второго зашифрованного связанного значения, значений ключа и зашифрованных значений данных;
добавляют указанное другое первое зашифрованное связанное значение в качестве другого значения ключа на основании упомянутого сравнения.
11. Способ по п.9, в котором на этапе индексирования зашифрованных значений данных выполняют построение иерархической структуры индексов, причем узлы в иерархической структуре индексов представляют собой значения ключа.
12. Способ по п.11, в котором иерархическая структура индексов представляет собой двоичное дерево поиска.
13. Способ по п.12, в котором двоичное дерево поиска представляет собой АВЛ-дерево.
14. Способ по п.9, дополнительно содержащий этап, на котором добавляют неоднозначность по меньшей мере в одно из значений данных с тем, чтобы стало возможным множество интерпретаций для каждого из указанного по меньшей мере одного значения данных, при этом только одна интерпретация из множества интерпретаций является истинной.
15. Способ по п.9, дополнительно содержащий этап, на котором добавляют неоднозначность по меньшей мере в одно из указанного одного или более связанных значений с тем, чтобы стало возможным множество интерпретаций для указанного по меньшей мере одного из одного или более связанных значений, при этом только одна интерпретация из множества интерпретаций является истинной.
16. Способ по п.9, в котором
на этапе шифрования множества значений данных с использованием первого режима шифрования преобразуют значения данных в векторы значений;
на этапе шифрования одного или более связанных значений с использованием первого режима шифрования преобразуют связанные значения в первые связанные векторы;
на этапе шифрования одного или более связанных значений с использованием второго режима шифрования преобразуют связанные значения во вторые связанные векторы и
на этапе сравнения указанного одного или более связанных значений с множеством значений данных получают скалярные произведения векторов значений на вторые связанные векторы.
17. Сервер индексирования значений данных, содержащий
средство хранения, выполненное с возможностью хранения зашифрованных значений данных, причем зашифрованные значения данных представляют собой множество значений данных, зашифрованных с использованием первого режима шифрования;
блок приема, выполненный с возможностью приема от клиента первых зашифрованных связанных значений и вторых зашифрованных связанных значений, причем первые зашифрованные связанные значения представляют собой одно или более связанных значений, зашифрованных с использованием первого режима шифрования, а вторые зашифрованные связанные значения представляют собой одно или более связанных значений, зашифрованных с использованием второго режима шифрования, при этом второй режим шифрования отличается от первого режима шифрования; и
блок обработки, выполненный с возможностью
сравнения одного или более связанных значений с множеством значений данных с использованием вторых зашифрованных связанных значений и зашифрованных значений данных без дешифрования вторых зашифрованных связанных значений; и
индексирования зашифрованных значений данных на основании упомянутого сравнения с использованием первых зашифрованных связанных значений в качестве значений ключа,
при этом зашифрованные значения данных невозможно сравнивать друг с другом.
18. Сервер по п.17, в котором
блок приема дополнительно выполнен с возможностью приема другого первого зашифрованного связанного значения и другого второго зашифрованного значения, причем другое первое зашифрованное связанное значение является другим связанным значением, зашифрованным с использованием первого режима шифрования, а другое второе зашифрованное значение является другим связанным значением, зашифрованным с использованием второго режима шифрования; а
блок обработки дополнительно выполнен с возможностью
сравнения другого связанного значения с множеством значений данных с использованием указанного другого второго зашифрованного связанного значения, значений ключа и зашифрованных значений данных; и
добавления другого первого зашифрованного связанного значения в качестве другого значения ключа на основании упомянутого сравнения,
при этом сервер дополнительно содержит блок отправки, выполненный с возможностью отправки результата упомянутого сравнения клиенту.
19. Клиентская машина для приема результата поиска, содержащая
блок отправки, выполненный с возможностью отправки второго зашифрованного связанного значения на сервер, причем второе зашифрованное связанное значение является связанным значением, зашифрованным с использованием второго режима шифрования, причем сервер содержит зашифрованные значения данных, представляющие собой множество значений данных, зашифрованных с использованием первого режима шифрования;
блок приема, выполненный с возможностью приема от сервера результата сравнения между связанным значением и множеством значений данных с использованием второго зашифрованного связанного значения и зашифрованных значений данных без дешифрования второго зашифрованного связанного значения, причем результат содержит набор зашифрованных значений данных; и
блок обработки, выполненный с возможностью дешифрования набора зашифрованных значений данных,
при этом зашифрованные значения данных невозможно сравнивать друг с другом.
20. Клиентская машина по п.19, в которой блок отправки дополнительно выполнен с возможностью отправки первого зашифрованного связанного значения на сервер, причем первое зашифрованное связанное значение является связанным значением, зашифрованным с использованием первого режима шифрования.
21. Клиентская машина по п.20, в которой блок обработки выполнен с возможностью шифрования связанного значения с использованием второго режима шифрования для получения второго зашифрованного связанного значения и шифрования указанного связанного значения с использованием первого режима шифрования для получения первого зашифрованного связанного значения.
22. Клиентская машина по п.19, в которой
по меньшей мере одно из множества значений данных имеет неоднозначность, так что для каждого, по меньшей мере, из некоторых из множества значений данных возможно множество интерпретаций, причем только одна интерпретация из множества интерпретаций является истинной;
при этом процессор выполнен с возможностью извлечения истинных интерпретаций значений данных из набора зашифрованных значений данных.
Zoom in