RU2780150C1 - System for homomorphic data encryption based on a system of residual classes - Google Patents

System for homomorphic data encryption based on a system of residual classes Download PDF

Info

Publication number
RU2780150C1
RU2780150C1 RU2021139010A RU2021139010A RU2780150C1 RU 2780150 C1 RU2780150 C1 RU 2780150C1 RU 2021139010 A RU2021139010 A RU 2021139010A RU 2021139010 A RU2021139010 A RU 2021139010A RU 2780150 C1 RU2780150 C1 RU 2780150C1
Authority
RU
Russia
Prior art keywords
data
neural network
blocks
polynomial
encryption
Prior art date
Application number
RU2021139010A
Other languages
Russian (ru)
Inventor
Михаил Григорьевич Бабенко
Виктор Андреевич Кучуков
Николай Николаевич Кучеров
Андрей Владимирович Гладков
Original Assignee
федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет"
Filing date
Publication date
Application filed by федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет" filed Critical федеральное государственное автономное образовательное учреждение высшего образования "Северо-Кавказский федеральный университет"
Application granted granted Critical
Publication of RU2780150C1 publication Critical patent/RU2780150C1/en

Links

Images

Abstract

FIELD: computer technology.
SUBSTANCE: invention relates to computational modular systems and is designed to perform homomorphic data encryption. A system of homomorphic data encryption based on a system of residual classes (SRC), including a data encryption block, a data decryption block, contains n encryption blocks, n blocks for finding residues by modulo pj(x), j=1, ..., n, a computing environment performing calculations on encrypted data, a neural network recovery block, a decryption block, while as the system of residual classes, a polynomial system of residual classes is taken with n mutually simple polynomials pj(x) over the field F2, for which k<n is the threshold, K(x) is the secret key, which is mutually simple with each of the SRC modules, Seed(x) is a random polynomial satisfying the condition
Figure 00000064
where d is the maximum degree of the source data
Figure 00000065
, and N is the number of multiplication operations with encrypted data, the source data comes through encryption blocks to the inputs of the corresponding blocks for finding residues by modulo pj(x), together implementing data encryption according to the formula
Figure 00000066
, where i is the number of the source data, the outputs of the residue finding blocks by modulo pj(x) are connected to the inputs of the computing environment, the outputs of which are connected to the inputs of the neural network recovery block implementing the formula
Figure 00000067
, where
Figure 00000068
,
Figure 00000069
, and P(x) is the product of the modules p j (x), j=1, ..., k, the output of the neural network recovery block connected to the input of the decryption block, which finds the remainder by the secret key K(x), the output of the decryption block is the output of the system.
EFFECT: reduction in the complexity of calculations due to the use of a polynomial system of residual classes and the ability to perform calculations on encrypted data.
1 cl, 2 dwg

Description

Изобретение относится к вычислительным модулярным системам и предназначено для выполнения гомоморфного шифрования данных посредством перевода в полиномиальную систему остаточных классов и использует схему Асмута-Блума для обеспечения вычислений над зашифрованными данными.The invention relates to modular computing systems and is intended to perform homomorphic data encryption by translating residual classes into a polynomial system and uses the Asmuth-Bloom scheme to provide calculations on encrypted data.

Необходимость обеспечения безопасности хранения и обработки данных становится особенно актуальными в связи с распространением крупномасштабно распределенных вычислительных инфраструктур, таких как облака. Принимая во внимание, что ни одной отдельной службе хранения и обработки, узлу или пользователю нельзя полностью доверять, конфиденциальные данные должны быть закодированы и распределены по набору независимых узлов хранения. На основе этих фундаментальных принципов был разработан ряд надежных систем хранения, таких как схемы порогового разделения секрета, которые способны защитить данные в облаке, поскольку они потенциально обеспечивают улучшения по сравнению с обычными стратегиями шифрования и репликации, поскольку они не подвержены таким проблемам, как управление ключами и атаки методом грубой силы. При этом важной проблемой остается обработка зашифрованных данных. The need to ensure the security of data storage and processing becomes especially relevant in connection with the spread of large-scale distributed computing infrastructures, such as clouds. Given that no single storage and processing service, node, or user can be fully trusted, sensitive data must be encoded and distributed across a set of independent storage nodes. Based on these fundamental principles, a number of robust storage systems, such as threshold secret sharing schemes, have been developed that are capable of protecting data in the cloud because they potentially provide improvements over conventional encryption and replication strategies because they are not subject to issues such as key management. and brute force attacks. At the same time, the processing of encrypted data remains an important problem.

Известны способ и устройство обработки отзыва участника, оборудование и носитель информации (патент CN109981293, опубл. 05.07.2019), которые обеспечивают способ обработки отзыва участников. На основе схемы, основанной на цифровой подписи, каждый действительный член в системе управления генерирует секретную долю каждого члена, используя исторический закрытый ключ и случайное число каждого члена; каждый действительный член генерирует новый закрытый ключ, используя других участников и секретные общие ресурсы, полученные действительным участником, весь процесс гарантирует, что открытый ключ группы и закрытый ключ группы по-прежнему остаются неизменными при выходе участников, а открытый ключ группы и закрытый ключ группы по-прежнему может использоваться для подписи и проверки, что снижает стоимость обновления системы; и тем временем, если текущий частный ключ утерян, исторический частный ключ и частный ключ последующего периода не могут быть известны, так что безопасность исторической подписи и последующей подписи также гарантируется. Изобретение дополнительно раскрывает устройство обработки отзыва участников, оборудование обработки отзыва участников и читаемый носитель данных, которые имеют вышеупомянутые положительные эффекты.A method and device for processing participant feedback, equipment and an information carrier are known (patent CN109981293, published on 07/05/2019), which provide a method for processing participant feedback. Based on a digital signature based scheme, each real member in the control system generates each member's secret share using each member's historical private key and a random number; each real member generates a new private key using the other members and secret shares obtained by the real member, the whole process ensures that the group public key and group private key still remain the same when the members leave, and the group public key and group private key by can still be used for signing and verification, which reduces the cost of system upgrades; and meanwhile, if the current private key is lost, the historical private key and the subsequent period private key cannot be known, so that the security of the historical signature and the subsequent signature is also guaranteed. The invention further discloses a participant feedback processing apparatus, participant feedback processing equipment, and a readable storage medium, which have the aforementioned beneficial effects.

Недостатком данного изобретения является невозможность вычисления с зашифрованными данными.The disadvantage of this invention is the impossibility of computing with encrypted data.

Известны устройство и способ для хранения секретного ключа в гетерогенной избыточной системе (патент CN110430042, опубл. 08.11.2019), которое относится к области гетерогенных избыточных систем и технологии хранения секретных ключей шифрования, в частности к устройству и способу хранения секретного ключа в гетерогенной избыточной системе. Устройство содержит модуль сегментации секретного ключа, используемый для сегментирования секретного ключа определенной длины на m блоков секретных ключей одинаковой длины и маркировки каждого секретного ключевого блока меткой данных 1, 2, ..., m; модуль распределения секретных ключей, используемый для распределения (k-1)⋅m блоков секретных ключей на k блоков хранения секретных ключей в соответствии с установленной стратегией; модуль хранения секретного ключа, используемый для правильного хранения n блоков секретного ключа, выделенных каждому блоку хранения секретного ключа, при этом блоки хранения секретного ключа распределены в различных гетерогенных исполнительных механизмах; и модуль комбинации секретных ключей, используемый для получения блоков секретных ключей из блока хранения секретных ключей и объединения блоков секретных ключей в полный секретный ключ в соответствии с меткой данных. Секретные ключи сегментируются и хранятся в различных блоках хранения секретных ключей, так что все секретные ключи не могут быть потеряны в условиях одноточечного прорыва системы.A device and a method for storing a secret key in a heterogeneous redundant system are known (patent CN110430042, publ. 08.11.2019), which relates to the field of heterogeneous redundant systems and technology for storing secret encryption keys, in particular, to a device and method for storing a secret key in a heterogeneous redundant system . The device contains a secret key segmentation module used to segment a secret key of a certain length into m blocks of secret keys of the same length and label each secret key block with a data label 1, 2, ..., m; a secret key distribution module used to allocate (k-1)⋅m secret key blocks to k secret key storage blocks according to a set strategy; a secret key storage module used to correctly store n secret key blocks allocated to each secret key storage block, the secret key storage blocks being distributed in various heterogeneous actuators; and a secret key combination module used to obtain the secret key blocks from the secret key storage block and combine the secret key blocks into a complete secret key according to the data label. The secret keys are segmented and stored in different secret key storage units so that all the secret keys cannot be lost under the conditions of a single point system breach.

Недостатком данного изобретения является невозможность вычисления с зашифрованными данными.The disadvantage of this invention is the impossibility of computing with encrypted data.

Известна схема разделения секрета с полиномиальным делением над полем GF(Q) (заявка US2010046739, опубл. 25.02.2010), в которой секрет представлен секретным многочленом степени d над GF (q), построенным с помощью простого числа или степени простого числа. Затем секретный многочлен вкладывается в расширенный многочлен степени m, превышающей d. Полином расширения делится на n полиномов-взаимно простых делителей над GF (q) с использованием арифметики, определенной для многочленов над GF (q), для генерации n долей секрета. Каждая доля включает в себя один из полиномов делителей и соответствующий остаток. Эти n общих ресурсов распределяются между множеством взаимодействующих объектов для совместного использования секрета.A secret sharing scheme with polynomial division over the field GF(Q) is known (application US2010046739, published on February 25, 2010), in which the secret is represented by a secret polynomial of degree d over GF(q) constructed using a prime number or a power of a prime number. The secret polynomial is then embedded in the extended polynomial of degree m greater than d. The extension polynomial is divided into n coprime divisor polynomials over GF(q) using the arithmetic defined for polynomials over GF(q) to generate n shares of the secret. Each fraction includes one of the divisor polynomials and the corresponding remainder. These n shared resources are shared among multiple cooperating entities to share the secret.

Недостатком данного изобретения недостаточная защищенность данных и невозможность вычисления с зашифрованными данными.The disadvantage of this invention is the lack of data security and the impossibility of computing with encrypted data.

Наиболее близким по технической сути является способ и система для безопасного хранения данных с использованием схемы разделения секрета (заявка US2019288841, опубл. 19.09.2019), в котором на основе Китайской теоремы об остатках предоставляется метод безопасного хранения целевого числа. Генерируется набор из n пар взаимно простых чисел, при этом целевое число (секрет) может быть однозначно получено из любого t из n пар. В одном аспекте делители предварительно выбираются так, что любые случайно выбранные n целых чисел из последовательности являются допустимой последовательностью Асмута-Блума для любой структуры доступа (t, n), где 1 <t≤n≤N. В другом аспекте предусмотрены средства для предварительного сохранения членов последовательности Миньотта или Асмута-Блума из N делителей в справочной таблице, из которой могут быть выбраны n делителей. Таким образом поддерживается гибкая структура доступа. Совместное использование секретов для выбранной структуры доступа может быть сгенерировано без необходимости выполнять трудоемкий процесс вычисления последовательностей Миньотта для каждого секрета и структуры доступа. Объем памяти, необходимый для хранения секретных долей, также уменьшается за счет хранения и извлечения пар сравнения в форме индекса и остатка.The closest in technical essence is a method and system for secure storage of data using a secret sharing scheme (application US2019288841, published on September 19, 2019), in which, based on the Chinese remainder theorem, a method for secure storage of a target number is provided. A set of n pairs of coprime numbers is generated, while the target number (secret) can be uniquely obtained from any t of n pairs. In one aspect, the divisors are preselected such that any randomly selected n integers from the sequence are a valid Asmuth-Bloom sequence for any access structure (t, n) where 1 <t≤n≤N. In another aspect, means are provided for pre-storing the terms of the Mignotte or Asmuth-Bloom sequence of N divisors in a lookup table from which n divisors can be selected. Thus, a flexible access structure is maintained. Sharing secrets for a chosen access structure can be generated without having to perform the laborious process of computing Mignotte sequences for each secret and access structure. The amount of memory required to store secret shares is also reduced by storing and retrieving comparison pairs in the form of index and remainder.

Недостатком данного изобретения является сложность выполнения операций с большими числами для получения частей секрета и невозможность вычислений с зашифрованными данными.The disadvantage of this invention is the complexity of performing operations with large numbers to obtain parts of the secret and the impossibility of computing with encrypted data.

Техническим результатом данного изобретения является снижение сложности вычислений за счет применения полиномиальной системы остаточных классов и расширение функциональных возможность, а именно выполнение вычислений над зашифрованными данными.The technical result of this invention is to reduce the complexity of calculations through the use of a polynomial system of residual classes and expand the functionality, namely, performing calculations on encrypted data.

Технический результат достигается тем, что система гомоморфного шифрования данных на основе системы остаточных классов (СОК), включающая блок шифрования данных, блок дешифрования данных, содержит n блоков шифрования, n блоков нахождения остатков по модулю pj(x), j=1,…,n, вычислительную среду, выполняющую вычисления над зашифрованными данными, нейросетевой блок восстановления, блок дешифрования, при этом в качестве системы остаточных классов взята полиномиальная система остаточных классов с n взаимно простыми многочленами pj(x) над полем F2, для которых k<n является порогом, K(x) – секретный ключ, который взаимно прост с каждым из модулей СОК, Seed(x) - случайный многочлен, удовлетворяющий условию

Figure 00000001
- максимальная степень исходных данных
Figure 00000002
, а N - максимальное количество операций умножения с зашифрованными данными, исходные данные поступают через блоки шифрования на входы соответствующих блоков нахождения остатков по модулю pj(x), совместно реализующих шифрование данных по формуле
Figure 00000003
где i - номер исходных данных, выходы блоков нахождения остатков по модулю pj(x) соединены с входами вычислительной среды, выходы которой соединены со входами нейросетевого блока восстановления, реализующего формулу
Figure 00000004
Figure 00000005
а P(x) - произведение модулей p j (x) принятых k секретов, j=1,…,k, выход нейросетевого блока восстановления соединен со входом блока дешифрования, осуществляющего нахождение остатка по секретному ключу K(x), выход блока дешифрования является выходом системы, при этом нейросетевой блок восстановления содержит n нейронных сетей конечного кольца, выполняющих оператор взятия остатка по модулю pj(x) произведения входного значения
Figure 00000006
на веса нейронной сети
Figure 00000007
, n блоков умножения многочленов, выполняющих умножение на
Figure 00000008
, блок суммирования многочленов, при этом каждый вход нейросетевого блока восстановления подключен к каждому входу нейронных сетей конечного кольца, выходы которых подключены к входам соответствующих блоков умножения многочленов, выходы которых подключены ко входам блока суммирования многочленов, выход которого является выходом нейросетевого блока восстановления.The technical result is achieved by the fact that the homomorphic data encryption system based on the system of residual classes (SOC), including a data encryption unit, a data decryption unit, contains n encryption units, n units for finding residues modulo p j (x) , j=1,… ,n, a computing environment that performs calculations on encrypted data, a neural network recovery unit, a decryption unit, while the system of residual classes is taken as a polynomial system of residual classes with n coprime polynomials p j (x) over the field F 2 , for which k< n is a threshold, K(x) is a secret key that is relatively prime to each of the RNS modules, Seed(x) is a random polynomial that satisfies the condition
Figure 00000001
- the maximum degree of the initial data
Figure 00000002
, and N is the maximum number of multiplication operations with encrypted data, the original data is fed through encryption blocks to the inputs of the corresponding blocks for finding residues modulo p j (x), jointly implementing data encryption according to the formula
Figure 00000003
where i is the number of initial data, the outputs of the units for finding residues modulo p j (x) are connected to the inputs of the computing environment, the outputs of which are connected to the inputs of the neural network recovery unit that implements the formula
Figure 00000004
Figure 00000005
and P(x) is the product of modules p j (x) of received k secrets , j=1,…,k, the output of the neural network recovery unit is connected to the input of the decryption unit, which finds the remainder by the secret key K(x), the output of the decryption unit is the output of the system, while the neural network recovery unit contains n finite ring neural networks that perform the operator of taking the remainder modulo p j (x) of the product of the input value
Figure 00000006
on the weights of the neural network
Figure 00000007
, n polynomial multiplication blocks that perform multiplication by
Figure 00000008
, a polynomial summation unit, wherein each input of the neural network recovery unit is connected to each input of the finite ring neural networks, the outputs of which are connected to the inputs of the corresponding polynomial multiplication units, the outputs of which are connected to the inputs of the polynomial summation unit, the output of which is the output of the neural network recovery unit.

Сущность изобретения основана на следующем математическом аппарате. В полиномиальной системе остаточных классов (СОК) число представляется в виде полинома F(x), который в свою очередь представляется как набор остатковThe essence of the invention is based on the following mathematical apparatus. In the polynomial system of residual classes (RMS), a number is represented as a polynomial F(x), which in turn is represented as a set of residuals

Figure 00000009
Figure 00000009

где f i (x)=rest(F(x)/p i (x)), остаток от деления многочленов; p i (x) – взаимно простые многочлены над полем F2, например трехчлены вида p i (x)=x 15 +x a +1, где a=[1,2,3,4,5,6,7,8,9,11,13,14]. При этом в данной (k,n) схеме разделения секрета используется порог k при разделении секрета на n=k+r частей, т.е. любые k остатков могут восстановить секрет, а менее k остатков уже не могут. Для перехода от двоичного представления к полиномиальному будем ставить в соответствие числу в двоичной системе счисления 10112 многочлен x 3 +x+1 над F 2 , т.е. 1 соответствует 1 перед соответствующей степенью. Вычисления над полем F2 соответствуют операции XOR, суммирования по модулю 2. Математический аппарат основан на следующих свойствах:wheref i (x)=rest(F(x)/p i (x))the remainder of the division of polynomials;p i (x) are coprime polynomials over the field F2, for example, trinomials of the formp i (x)=x fifteen +x a +1, wherea=[1,2,3,4,5,6,7,8,9,11,13,14].However, in this (k,n) the secret sharing scheme uses a thresholdk when splitting the secret inton=k+rparts,those. any k residues can restore the secret, but less than k residues cannot. To move from a binary representation to a polynomial, we will associate the number in the binary system with 10112 polynomialx 3 +x+1 aboveF 2 , i.e. 1 corresponds to 1 before the corresponding degree. Calculations over the field F2 correspond to the XOR operation, modulo 2 summation. The mathematical apparatus is based on the following properties:

Figure 00000010
Figure 00000010

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

Figure 00000011
и
Figure 00000012
, где
Figure 00000013
- количество обрабатываемых данных, подлежащих гомоморфному шифрованию, при этом заранее известно, что при гомоморфном шифровании в вычислительной среде будет выполнено не более N умножений с зашифрованными данными. Под вычислительной средой могут пониматься любые ЭВМ, выполняющие вычисления над зашифрованными данными, в том числе, с использованием облачных вычислений. Система гомоморфного шифрования определяется двумя параметрами:
Figure 00000014
- секретный ключ, взаимно прост с каждым из модулей СОК,
Figure 00000015
- случайное число, при этом существуют следующие условия: из свойства 1) следует, что количество операций сложения с шифр текстом неограниченно, из свойства 2) и Китайской теоремы об остатках следует, что количество операций умножение с зашифрованными данными ограничено следующим неравенствомLet the initial data be given, reduced to a representation in the form of polynomials
Figure 00000011
and
Figure 00000012
, where
Figure 00000013
- the amount of processed data subject to homomorphic encryption, while it is known in advance that with homomorphic encryption in the computing environment no more than N multiplications with encrypted data will be performed. A computing environment can be understood as any computer that performs calculations on encrypted data, including using cloud computing. The homomorphic encryption system is defined by two parameters:
Figure 00000014
- secret key, coprime with each of the SOK modules,
Figure 00000015
- a random number, while the following conditions exist: from property 1) it follows that the number of addition operations with cipher text is unlimited, from property 2) and the Chinese remainder theorem it follows that the number of multiplication operations with encrypted data is limited by the following inequality

Figure 00000016
Figure 00000016

С точки зрения безопасности действует следующее ограничениеFrom a security point of view, the following restriction applies

Figure 00000017
Figure 00000017

Тогда исходные данные

Figure 00000018
могут быть представлены в виде шифр текстов
Figure 00000019
по следующей формулеThen the initial data
Figure 00000018
can be presented in the form of cipher texts
Figure 00000019
according to the following formula

Figure 00000020
Figure 00000020

При дешифровании на основе k частей поWhen decrypted based on k parts by

Figure 00000021
Figure 00000021

где

Figure 00000022
где P(x) - произведение модулей p j (x), j=1,…,k. where
Figure 00000022
where P(x) is the product of modules p j (x), j=1,…,k.

Изобретение поясняется фигурами 1 и 2. The invention is illustrated by figures 1 and 2.

На фигуре 1 изображена общая схема системы гомоморфного шифрования данных на основе системы остаточных классов, содержащая n блоков 1.i шифрования, n блоков 2.i нахождения остатков по модулю p i (x), i=1,…,n, вычислительную среду 3, нейросетевой блок восстановления 4, блок дешифрования 5. Вход системы подключен к входам блоков 1.i шифрования, выходы которых подключены к входам соответствующих блоков 2.i нахождения остатков по модулю p i (x), выходы которых подключены к входам вычислительной среды 3, в которой осуществляется обработка зашифрованных текстов, результат обработки из вычислительной среды 3 поступает на входы нейросетевого блока восстановления 4, выход которого подключен ко входу блока дешифрования 5, выход которого является выходом системы.The figure 1 shows the general scheme of the homomorphic data encryption system based on the system of residual classes, containing n encryption blocks 1.i, n blocks 2.i of finding residues modulo p i (x), i=1,…,n, computing environment 3 , neural network recovery unit 4, decryption unit 5. The system input is connected to the inputs of encryption units 1.i, the outputs of which are connected to the inputs of the corresponding units 2.i of finding residues modulo p i (x) , the outputs of which are connected to the inputs of the computing environment 3, in which the processing of ciphertexts is carried out, the result of processing from the computing environment 3 is fed to the inputs of the neural network recovery unit 4, the output of which is connected to the input of the decryption unit 5, the output of which is the output of the system.

Фигура 1 поясняет, но не ограничивает данное изобретение, например, блоки 2.i нахождения остатков по модулю p i (x), реализующий операцию

Figure 00000023
, может быть объединен с блоком 1.i шифрования, реализуя общие вычисления по формуле
Figure 00000024
Figure 1 explains, but does not limit the invention, for example, blocks 2.i of finding residues modulo p i (x), which implements the operation
Figure 00000023
, can be combined with the encryption block 1.i, implementing the general calculations according to the formula
Figure 00000024

На фигуре 2 раскрыта схема нейросетевого блока восстановления 4, содержащая n нейронных сетей конечного кольца 6.i, выполняющих оператор взятия остатка по модулю pi(x) произведения входного значения

Figure 00000025
на веса нейронной сети
Figure 00000026
, n блоков умножения многочленов 7.i, выполняющих умножение на
Figure 00000027
, блок суммирования многочленов 8, при этом каждый вход нейросетевого блока восстановления 4 подключен к каждому входу нейронных сетей конечного кольца 6.i, тем самым сообщая по каким модулям получен секрет для вычисления
Figure 00000026
и
Figure 00000027
в блоке умножения многочленов 7.i.The figure 2 discloses a diagram of the neural network recovery unit 4, containing n neural networks of the finite ring 6.i, executing the operator of taking the remainder modulo p i (x) of the product of the input value
Figure 00000025
on the weights of the neural network
Figure 00000026
, n polynomial multiplication blocks 7.i, performing multiplication by
Figure 00000027
, the polynomial summation block 8, each input of the neural network recovery block 4 is connected to each input of the neural networks of the finite ring 6.i, thereby reporting which modules the secret was obtained for calculating
Figure 00000026
and
Figure 00000027
in the polynomial multiplication block 7.i.

Рассмотрим пример. Пусть взята полиномиальная система остаточных классов p1=x15+x+1, p2=x15+x2+1, p3=x15+x3+1, p4=x15+x4+1, p5=x15+x5+1, p6=x15+x6+1, p7=x15+x7+1, p8=x15+x8+1, p9=x15+x9+1, p10=x15+x11+1, p11=x15+x13+1, p12=x15+x14+1 с порогом k=10. В качестве секретного ключа задан многочлен K(x)=x49+x+1. Пусть надо произвести вычисления над числами D1(x)=x9+x+1, D2(x)=x16+x+1, вычислим d, получим d=max(deg(D1(x)),deg(D2(x)))=max(9,16)=16. Проверим условие (N+1)⋅d<deg(K(x)), откуда следует, что вычислительная система может выполнять до 2 умножений над зашифрованными данными. Пусть N=1.Consider an example. Let the polynomial system of residual classes p 1 =x 15 +x+1, p 2 =x 15 +x 2 +1, p 3 =x 15 +x 3 +1, p 4 =x 15 +x 4 +1, p 5 \u003d x 15 +x 5 +1, p 6 \u003d x 15 +x 6 +1, p 7 \u003d x 15 +x 7 +1, p 8 \u003d x 15 +x 8 +1, p 9 \u003d x 15 +x 9 +1, p 10 =x 15 +x 11 +1, p 11 =x 15 +x 13 +1, p 12 =x 15 +x 14 +1 with threshold k=10. The polynomial K(x)=x 49 +x+1 is given as a secret key. Let it be necessary to perform calculations on the numbers D 1 (x)=x 9 +x+1, D 2 (x)=x 16 +x+1, calculate d, we get d=max(deg(D 1 (x)),deg (D 2 (x)))=max(9,16)=16. Let's check the condition (N+1)⋅d<deg(K(x)), which implies that the computing system can perform up to 2 multiplications on encrypted data. Let N=1.

Вычислим

Figure 00000028
, получим:Compute
Figure 00000028
, we get:

Figure 00000029
.
Figure 00000029
.

Вычислим

Figure 00000030
, получим:Compute
Figure 00000030
, we get:

Figure 00000031
.
Figure 00000031
.

Пусть

Figure 00000032
при кодировании
Figure 00000033
, тогда в блоках 1.j шифрования и блоках 2.j нахождения остатков по модулю p j (x) получают следующие значения
Figure 00000034
, которые совместно со значением модуля p j (x) передаются в вычислительную среду 3:Let
Figure 00000032
when encoding
Figure 00000033
, then in blocks 1.j of encryption and blocks 2.j of finding residues modulo p j (x) the following values are obtained
Figure 00000034
, which together with the value of the module p j (x) are transferred to the computing environment 3:

Figure 00000035
Figure 00000035

Пусть

Figure 00000036
при кодировании
Figure 00000037
, тогда в блоках 1.j шифрования и блоках 2.j нахождения остатков по модулю p j (x) получают следующие значения
Figure 00000038
, которые совместно со значением модуля p j (x) передаются в вычислительную среду 3:Let
Figure 00000036
when encoding
Figure 00000037
, then in blocks 1.j of encryption and blocks 2.j of finding residues modulo p j (x) the following values are obtained
Figure 00000038
, which together with the value of the module p j (x) are transferred to the computing environment 3:

Figure 00000039
Figure 00000039

Пусть в вычислительной среде 3 выполняется сложение зашифрованных чисел. ПолучимLet the computing environment 3 perform the addition of encrypted numbers. Get

Figure 00000040
Figure 00000040

Пусть для восстановления из вычислительной среды 3 получено 10 частей из 12, и поскольку порог равен 10, то этого достаточно для восстановления. Пусть для простоты получены результаты по первым 10 модулям, т.е. R1(x)-R10(x). Данные значения с соответствующими модулями поступают в нейросетевой блока восстановления 4.Let 10 parts out of 12 be obtained for recovery from computing environment 3, and since the threshold is 10, this is enough for recovery. Let, for simplicity, the results for the first 10 modules be obtained, i.e. R 1 (x)-R 10 (x). These values with the corresponding modules are sent to the neural network recovery unit 4.

В нейронной сети конечного кольца 6.1 на основе принятых значений модуля находятся значенияIn the neural network of the finite ring 6.1, based on the received values of the modulus, the values are found

Figure 00000041
Figure 00000041

тогда на выходе нейронной сети конечного кольца будет значениеthen the output of the neural network of the final ring will be the value

Figure 00000042
Figure 00000042

которое поступает на вход блока умножения многочленов 7.1, выполняющий умножение на

Figure 00000043
, и подающий на свой выход, который является входом блока суммирования многочленов 8, значение
Figure 00000044
which is fed to the input of the polynomial multiplication block 7.1, which performs multiplication by
Figure 00000043
, and feeding to its output, which is the input of the polynomial summation block 8, the value
Figure 00000044

Аналогичные вычисления проводятся в остальных блоках 6.i и 7.i. В случае, когда данные по этим модулям не приняты, значения принимаются равными 0.Similar calculations are carried out in the remaining blocks 6.i and 7.i. In the case when data on these modules is not accepted, the values are taken equal to 0.

Таким образом, на выходе блока суммирования многочленов 8 получим зашифрованный результат сложения x60+x58+x50+x16+x12+x11+x10+x2+x.Thus, at the output of the polynomial summation block 8, we get the encrypted result of addition x 60 +x 58 +x 50 +x 16 +x 12 +x 11 +x 10 +x 2 +x.

В блоке дешифрования 5 находится остаток по секретному ключу K(x).The decryption block 5 contains the remainder of the secret key K(x).

(x60+x58+x50+x16+x12+x11+x10+x2+x) mod (x49+x+1)= x16+x9.(x 60 +x 58 +x 50 +x 16 +x 12 +x 11 +x 10 +x 2 +x) mod (x 49 +x+1)= x 16 +x 9 .

Проведем проверку, сложив в поле F2[x] значения D1(x)=x9+x+1, D2(x)=x16+x+1, получим x16+x+1+ x9+x+1= x16+x9 . Let's check by adding in the field F 2 [x] the values D 1 (x)=x 9 +x+1, D 2 (x)=x 16 +x+1, we get x 16 +x+1+ x 9 +x +1= x16 + x9 .

Таким образом, заявляемая система позволяет производить вычисления над зашифрованными числами.Thus, the claimed system allows to perform calculations on encrypted numbers.

Преимуществом данного устройства является выполнение операций над полем

Figure 00000045
что позволяет производить вычисления с использованием логического элемента XOR, а также возможность выполнения операций над зашифрованными числами.The advantage of this device is to perform operations on the field
Figure 00000045
which allows you to perform calculations using the XOR logic element, as well as the ability to perform operations on encrypted numbers.

Реализация всего устройства возможна с использованием программируемых логических интегральных схем (ПЛИС), специализированных интегральных схем, а также в виде алгоритма работы ЭВМ и может использоваться как отдельное устройство, так и как сопроцессор для выполнения гомоморфного шифрования данных на основе системы остаточных классов.The implementation of the entire device is possible using programmable logic integrated circuits (FPGA), specialized integrated circuits, as well as in the form of a computer operation algorithm and can be used as a separate device or as a coprocessor to perform homomorphic data encryption based on a system of residual classes.

Claims (1)

Система гомоморфного шифрования данных на основе системы остаточных классов (СОК), включающая блок шифрования данных, блок дешифрования данных, отличающаяся тем, что содержит n блоков шифрования, n блоков нахождения остатков по модулю pj(x), j = 1, …, n, вычислительную среду, выполняющую вычисления над зашифрованными данными, нейросетевой блок восстановления, блок дешифрования, при этом в качестве системы остаточных классов взята полиномиальная система остаточных классов с n взаимно простыми многочленами pj(x) над полем F2, для которых k<n является порогом, K(x) - секретный ключ, который взаимно прост с каждым из модулей СОК, Seed(x) - случайный многочлен, удовлетворяющий условию
Figure 00000046
, где d - максимальная степень исходных данных
Figure 00000047
, а N - максимальное количество операций умножения с зашифрованными данными, исходные данные поступают через блоки шифрования на входы соответствующих блоков нахождения остатков по модулю pj(x), совместно реализующих шифрование данных по формуле
Figure 00000048
, где i - номер исходных данных, выходы блоков нахождения остатков по модулю pj(x) соединены с входами вычислительной среды, выходы которой соединены с входами нейросетевого блока восстановления, реализующего формулу
Figure 00000049
, где
Figure 00000050
,
Figure 00000051
, а P(x) - произведение модулей p j (x) принятых k секретов, j = 1, …, k, выход нейросетевого блока восстановления соединен с входом блока дешифрования, осуществляющего нахождение остатка по секретному ключу K(x), выход блока дешифрования является выходом системы, при этом нейросетевой блок восстановления содержит n нейронных сетей конечного кольца, выполняющих оператор взятия остатка по модулю pj(x) произведения входного значения
Figure 00000052
на веса нейронной сети
Figure 00000053
, n блоков умножения многочленов, выполняющих умножение на
Figure 00000054
, блок суммирования многочленов, при этом каждый вход нейросетевого блока восстановления подключен к каждому входу нейронных сетей конечного кольца, выходы которых подключены к входам соответствующих блоков умножения многочленов, выходы которых подключены к входам блока суммирования многочленов, выход которого является выходом нейросетевого блока восстановления.
A system of homomorphic data encryption based on a system of residual classes (RCS), including a data encryption unit, a data decryption unit, characterized in that it contains n encryption units, n units of finding residues modulo p j (x) , j = 1, …, n , a computing environment that performs calculations on encrypted data, a neural network recovery unit, a decryption unit, while the system of residual classes is taken as a polynomial system of residual classes with n coprime polynomials p j (x) over the field F 2 , for which k<n is threshold, K(x) is a secret key that is coprime with each of the RNS modules, Seed(x) is a random polynomial that satisfies the condition
Figure 00000046
, where d is the maximum power of the original data
Figure 00000047
, and N is the maximum number of multiplication operations with encrypted data, the original data is fed through encryption blocks to the inputs of the corresponding blocks for finding residues modulo p j (x), jointly implementing data encryption according to the formula
Figure 00000048
, where i is the number of initial data, the outputs of the blocks for finding residues modulo p j (x) are connected to the inputs of the computing environment, the outputs of which are connected to the inputs of the neural network recovery block that implements the formula
Figure 00000049
, where
Figure 00000050
,
Figure 00000051
, and P(x) is the product of modules p j (x) of received k secrets , j = 1, …, k, the output of the neural network recovery unit is connected to the input of the decryption unit, which finds the remainder by the secret key K(x), the output of the decryption unit is the output of the system, while the neural network recovery block contains n finite ring neural networks that execute the operator of taking the remainder modulo p j (x) of the product of the input value
Figure 00000052
on the weights of the neural network
Figure 00000053
, n polynomial multiplication blocks that perform multiplication by
Figure 00000054
, a polynomial summation unit, wherein each input of the neural network recovery unit is connected to each input of the finite ring neural networks, the outputs of which are connected to the inputs of the corresponding polynomial multiplication units, the outputs of which are connected to the inputs of the polynomial summation unit, the output of which is the output of the neural network recovery unit.
RU2021139010A 2021-12-27 System for homomorphic data encryption based on a system of residual classes RU2780150C1 (en)

Publications (1)

Publication Number Publication Date
RU2780150C1 true RU2780150C1 (en) 2022-09-19

Family

ID=

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100046739A1 (en) * 2008-08-22 2010-02-25 Schneider James P Sharing a secret using polynomial division over gf(q)
RU161050U1 (en) * 2015-10-29 2016-04-10 Артем Константинович Вишневский HOMOMORPHIC DATA ENCRYPTION DEVICE
RU163440U1 (en) * 2016-04-04 2016-07-20 Артем Константинович Вишневский DEVICE FOR HOMORPHIC DATA ENCRYPTION WITH COMPUTATION ERROR CONTROL
CN109981293A (en) * 2019-03-28 2019-07-05 郑州师范学院 A kind of Membership Revocation processing method, device, equipment and storage medium
US20190288841A1 (en) * 2016-11-24 2019-09-19 Payfont Limited Method and system for securely storing data using a secret sharing scheme
CN110430042A (en) * 2019-06-28 2019-11-08 中国人民解放军战略支援部队信息工程大学 A kind of device and method storing code key in isomery redundant system

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100046739A1 (en) * 2008-08-22 2010-02-25 Schneider James P Sharing a secret using polynomial division over gf(q)
RU161050U1 (en) * 2015-10-29 2016-04-10 Артем Константинович Вишневский HOMOMORPHIC DATA ENCRYPTION DEVICE
RU163440U1 (en) * 2016-04-04 2016-07-20 Артем Константинович Вишневский DEVICE FOR HOMORPHIC DATA ENCRYPTION WITH COMPUTATION ERROR CONTROL
US20190288841A1 (en) * 2016-11-24 2019-09-19 Payfont Limited Method and system for securely storing data using a secret sharing scheme
CN109981293A (en) * 2019-03-28 2019-07-05 郑州师范学院 A kind of Membership Revocation processing method, device, equipment and storage medium
CN110430042A (en) * 2019-06-28 2019-11-08 中国人民解放军战略支援部队信息工程大学 A kind of device and method storing code key in isomery redundant system

Similar Documents

Publication Publication Date Title
Kiss et al. Private set intersection for unequal set sizes with mobile applications
US9973334B2 (en) Homomorphically-created symmetric key
Wang et al. Cryptanalysis of a symmetric fully homomorphic encryption scheme
US8345861B2 (en) Sharing a secret using polynomial division over GF(Q)
Rohith et al. Image encryption and decryption using chaotic key sequence generated by sequence of logistic map and sequence of states of Linear Feedback Shift Register
Kasianchuk et al. Rabin's modified method of encryption using various forms of system of residual classes
Rodenburg et al. Blockchain and quantum computing
JP2020074039A (en) Method and system for encrypting data
Chatterjee et al. Accelerating sorting of fully homomorphic encrypted data
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
Gupta et al. Single secret image sharing scheme using neural cryptography
Ghazanfaripour et al. Designing a digital image encryption scheme using chaotic maps with prime modular
US11108543B2 (en) Method for encrypting data for distributed storage
Sokouti et al. Medical image encryption: an application for improved padding based GGH encryption algorithm
GB2556902A (en) Method and system for securely storing data using a secret sharing scheme
Strenzke A smart card implementation of the McEliece PKC
US11599681B2 (en) Bit decomposition secure computation apparatus, bit combining secure computation apparatus, method and program
Deryabin et al. Secure verifiable secret short sharing scheme for multi-cloud storage
US11895230B2 (en) Information processing apparatus, secure computation method, and program
RU2780150C1 (en) System for homomorphic data encryption based on a system of residual classes
Prasad et al. A combined encryption compression scheme using chaotic maps
Dharani et al. Survey on secret sharing scheme with deduplication in cloud computing
Abutaha et al. New one way hash algorithm using non-invertible matrix
Binu et al. Simple and efficient secret sharing schemes for sharing data and image
Lemnouar Security limitations of Shamir’s secret sharing