Method, electronic device and server for generating homomorphic rotation operation key
By using a combination of public keys and hierarchical Galois keys in homomorphic encryption, the client authorizes the server to generate the spin operation key, which solves the problem of high cost of spin operation key generation and transmission in the traditional model, and improves efficiency and memory utilization.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SEOUL NATIONAL UNIVERSITY R&DB FOUNDATION
- Filing Date
- 2023-02-10
- Publication Date
- 2026-05-05
AI Technical Summary
In homomorphic encryption, the cost of generating and transmitting spin operation keys in the traditional client-server model is too high, especially when a large number of spin operation keys are required, resulting in an excessive computational and communication burden.
By using a combination of public keys and hierarchical Galois keys, the client generates part of the operation key and authorizes the server to use the hierarchical Galois key to generate the remaining key, reducing the computational burden on the client.
It reduces the cost of generating and transmitting rotation operation keys, improves the efficiency of the client-server model, and reduces memory usage and computational burden, especially in advanced operations such as rotation operations in deep convolutional neural networks.
Smart Images

Figure CN116582238B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to homomorphic encryption technology, and more specifically, to a method for generating a homomorphic rotation key for performing rotation operations in homomorphic encryption. Background Technology
[0002] Homomorphic encryption (HE) is an encryption method that can compute data in an encrypted state. The result of an operation on the ciphertext becomes a new ciphertext, and the plaintext obtained by decrypting this ciphertext is the same as the result of operating on the original data before encryption. Homomorphic encryption can be used to store personal information on external media or to compute that personal information while securely protecting it. For example, when using homomorphic encryption, data can be outsourced to a commercial cloud service in an encrypted state and processed in an encrypted state.
[0003] In homomorphic encryption, several data segments are encrypted into a single ciphertext. When operating on two different ciphertexts, the operation is performed between the corresponding data segments. When it's necessary to operate on data at different positions within the ciphertext while it's in an encrypted state, in some cases, it's necessary to shift the positions to allow the operation to be performed. Only the homomorphic rotation operation (which is a circular shift operation in the encrypted state) is used to change the position of data within the ciphertext in an encrypted state, and the homomorphic rotation operation corresponds to the basic operations used in homomorphic encryption.
[0004] Figure 1 This refers to the network environment of a traditional client-server model used to perform homomorphic encryption operations. (Reference) Figure 1 In a traditional client-server model used for homomorphic encryption, client 1, which generates ciphertext based on homomorphic encryption, can generate and send the necessary operation key to request server 2 to perform homomorphic encryption on the ciphertext. For example, client 1 can use its secret key to generate a rotation operation key for performing a rotation operation based on homomorphic encryption and send the generated rotation operation key to server 2, thereby performing a rotation operation on the ciphertext in server 2. The operation key required for homomorphic encryption can be generated from client 1's secret key and therefore cannot be generated in another electronic device (e.g., server 2) that does not know the secret key. Summary of the Invention
[0005] In many cases, the homomorphic spin keys used to perform spin operations in homomorphic encryption can occupy hundreds of megabytes and come in over 100 types. Therefore, generating all spin operation keys on the client device and sending them to the server incurs considerable costs.
[0006] Therefore, this invention was proposed in view of the above-mentioned problems, and one object of this invention is to provide a client-server model. Specifically, a novel method is proposed for generating operation keys for homomorphic encryption operations using a public key instead of the client's secret key, allowing the client to authorize the server to generate some operation keys for homomorphic encryption operations.
[0007] Another object of the present invention is to provide a server configured to perform homomorphic encryption on the client's ciphertext by directly generating the necessary operation key using the client's public key while performing homomorphic encryption operations, by being granted the right to generate certain operation keys by the client.
[0008] According to one aspect of the invention, the above and other objectives can be achieved by providing an electronic device comprising: a communication interface configured to support communication using a secure protocol; a memory including personal information data; and at least one processor operatively coupled to the communication interface and the memory. The at least one processor generates ciphertext obtained by encrypting the personal information data according to homomorphic encryption, and generates a public key and one or more operation keys using a secret key of the electronic device; transmits the ciphertext, the public key, and the one or more operation keys to a server via the communication interface; and receives service information obtained from the server based on a homomorphic encryption operation on the ciphertext, wherein the one or more operation keys correspond to some of all operation keys necessary for the homomorphic encryption operation.
[0009] The one or more operation keys may include a layered Galois key for homomorphic encryption rotation operations, and the layered Galois key can generate multiple rotation operation keys for the homomorphic encryption rotation operation.
[0010] These multiple rotation operation keys can be generated by repeatedly performing rotation operations on the public key using the hierarchical Galois key.
[0011] The at least one processor can generate the hierarchical Galois key in response to a k-order shift, and the plurality of rotation operation keys can be generated in response to a multiple of the k-order shift.
[0012] The master key corresponding to the k-th shift can be generated in response to a request for the k-th shift of a homomorphic encryption operation received from the server.
[0013] The one or more operation keys may include a multiplication key, a conjugate complex key, and one or more hierarchical Galois keys.
[0014] The at least one processor can generate the one or more hierarchical Galois keys in response to different step shifts.
[0015] The personal information data may include at least one of the following: user vital signs data, photos, motion images, and log data collected by the electronic device.
[0016] The server can obtain service information based on the result of performing a homomorphic encryption operation on the ciphertext to provide neural network services, artificial intelligence as a service, or search services.
[0017] According to another aspect of the present invention, a server is provided, the server including a communication interface configured to support communication using a secure protocol; and at least one processor operatively coupled to the communication interface. The communication interface receives ciphertext, a public key, and a hierarchical Galois key from an electronic device; the at least one processor, in response to a data shift request for a homomorphic encryption operation on the ciphertext, generates a rotation operation key using the public key and the hierarchical Galois key; and the at least one processor performs a rotation operation on the ciphertext using the rotation operation key.
[0018] The at least one processor can generate the spin operation key by performing a spin operation on the public key using the hierarchical Galois key.
[0019] The processor can use the hierarchical Galois key to generate a rotation operation key corresponding to a k-order shift.
[0020] The at least one processor can generate multiple rotation operation keys corresponding to multiples of the k-th order shift by repeatedly performing rotation operations on the public key using the hierarchical Galois key.
[0021] The at least one processor can request from the electronic device a hierarchical Galois key for generating a rotation operation key corresponding to the k-th order shift before receiving the hierarchical Galois key.
[0022] The at least one processor can obtain service information based on the result of performing a homomorphic encryption operation on the ciphertext, and send the service information to the electronic device to provide neural network services, artificial intelligence as a service, or search services.
[0023] The server may also include a memory in which the rotation operation key may be stored; and the at least one processor may perform a rotation operation using the rotation operation key stored in the memory in response to a renewed request for a k-order shift of the ciphertext.
[0024] The at least one processor can delete the spin operation key stored in the memory.
[0025] A method for generating a homomorphic rotation operation key for homomorphic ciphertext of an electronic device according to a first aspect of the present disclosure, comprising: receiving ciphertext, a public key, and one or more operation keys from the electronic device; generating a rotation operation key by a processor using the public key and the one or more operation keys in response to a request for homomorphic rotation operation on the ciphertext; and performing a rotation operation on the ciphertext by the processor using the rotation operation key.
[0026] The spin operation key can be generated by the processor performing a spin operation on the public key using a hierarchical Galois key.
[0027] Multiple rotation operation keys can be generated by the processor repeatedly performing rotation operations on the public key using the hierarchical Galois key. Attached Figure Description
[0028] The above and other objects, features, and advantages of the invention will become clearer from the following detailed description taken in conjunction with the accompanying drawings. In the drawings,
[0029] Figure 1 It is a network environment used for performing homomorphic encryption operations in the traditional client-server model;
[0030] Figure 2 This is a network environment of a client-server model, according to one embodiment, where an authorization server generates some operation keys;
[0031] Figure 3 The diagram illustrates a k-order rotation operation on each element of encrypted data according to one embodiment;
[0032] Figure 4 This is an example of a method for generating a homomorphic rotation operation key in a server authorized to generate operation keys, according to one embodiment;
[0033] Figure 5 This is a block diagram of a client-side component according to one embodiment;
[0034] Figure 6 This is a flowchart of a method for a client to request a service including homomorphic encryption operation from a server, according to one embodiment;
[0035] Figure 7 This is a block diagram of components including a server according to one embodiment;
[0036] Figure 8 This is a flowchart illustrating a method for performing homomorphic encryption operations by generating some operation keys in a server, according to one embodiment; and
[0037] Figure 9 This is a network environment based on a client-server model including an operation server and an operation key generation server, according to one embodiment. Detailed Implementation
[0038] In the following description, embodiments will be illustrated with reference to the accompanying drawings. However, the scope of the claims is not limited to or constrained by these embodiments. The same reference numerals in each figure indicate the same elements.
[0039] Common and general terms in the relevant technical field have been selected as the terms used in the following description. However, other terms may exist depending on technological development and / or changes, the preferences of those skilled in the art, etc. Therefore, the terms used in the following description should not be construed as limiting the technical concept, but should be understood as exemplary terms used to describe embodiments.
[0040] Furthermore, in certain cases, there may be terms that the applicant may arbitrarily choose, in which case their meaning will be described in detail in the corresponding description. Therefore, the terms used in the following description should be understood based on their meaning throughout the specification and its contents, rather than their simple names.
[0041] Figure 2 This is a network environment of client 100-server 200 model 10, which is an authorization server according to one embodiment to generate some operation keys.
[0042] Client 100 may include data to which homomorphic encryption is to be performed, and server 200 may perform homomorphic encryption on client 100's data. Client 100 may encrypt data according to homomorphic encryption and send the encrypted data to server 200 to request homomorphic encryption from the server. Client 100 may generate only some of the operation keys required for the homomorphic encryption operation, send the operation keys to server 200, and authorize server 200 to generate the remaining operation keys. In one embodiment, client 100 may authorize the generation of some operation keys by sending one or more operation keys that can generate other operation keys together with the ciphertext. The type of one or more operation keys is public key, and client 100 may send the public key and some operation keys as one or more operation keys (e.g., multiplication key, conjugate complex key (conjugate), etc.) and operation keys for generating other operation keys (e.g., rotation operation key) (e.g., layered Galois key). For example, client 100 can send the multiplication key and the conjugate complex key as some operation keys to server 200, and can send the hierarchical Galois key as an operation key for generating other operation keys to server 200.
[0043] Client 100 can use its secret key to generate a public key and one or more operation keys. In various embodiments of this disclosure, client 100 may not generate all the operation keys necessary for homomorphic encryption operations and send these operation keys to server 200. Specifically, referring to the multiple rotation operation keys necessary for homomorphic encryption rotation operations, in order to directly generate and use the necessary rotation operation keys in server 200 when necessary, client 100 may generate only the hierarchical Galois key and send the hierarchical Galois key to server 200, thereby authorizing server 200 to generate rotation operation keys.
[0044] A hierarchical Galois key is a public key that generates operation keys (evaluation keys) for rotation operations on homomorphic ciphertext. A hierarchical Galois key may include one or more Galois keys. For ease of description, a hierarchical Galois key that includes one or more Galois keys may be referred to as a hierarchical Galois key or a set of hierarchical Galois keys. For example, a hierarchical Galois key may include Galois keys corresponding to k-order shifts. Because a hierarchical Galois key is a public key, another electronic device (e.g., a server) that receives the hierarchical Galois key can use it to generate operation keys for rotation operations.
[0045] In various embodiments, server 200 can generate multiple rotation operation keys capable of performing step shifts corresponding to multiples of k by using Galois keys corresponding to k-order shifts. As an example, when the hierarchical Galois key is a Galois key corresponding to k=1, the Galois key corresponding to k=1 can be used 13 times to generate a rotation operation key for a 13th-order shift. As another example, when the hierarchical Galois key set includes Galois keys corresponding to k={1, -1, 2, -2, 4, -4, 8, -8}, a rotation operation key for a 13th-order shift can be generated sequentially using a Galois key corresponding to k=8, a Galois key corresponding to k=4, and a Galois key corresponding to k=1.
[0046] In various embodiments, client 100 may generate a hierarchical Galois key set including one or more Galois keys and send the hierarchical Galois key set to server 200. Alternatively, server 200 may first request the necessary hierarchical Galois key set from client 100.
[0047] Server 200 can directly generate the operation key required for homomorphic encryption operations by using the operation key (public key) that generates another operation key, without using the secret key of client 100.
[0048] Server 200 can provide service information to client 100 based on the result of performing a homomorphic encryption operation on the encrypted data. Server 200 can perform a homomorphic operation on the ciphertext using the ciphertext received from client 100, a public key, and some operation keys. If necessary, server 200 can generate another operation key using some operation keys received from client 100. In various embodiments, server 200 can generate a rotation operation key using the public key and the hierarchical Galois key in response to a rotation shift request for the ciphertext by receiving a hierarchical Galois key. Server 200 can generate the rotation operation key by performing a rotation operation on the public key using the hierarchical Galois key.
[0049] In various embodiments, client 100 can be various electronic devices of a user. For example, client 100 can be a user's PC, mobile device, Internet of Things (IoT) device, automobile, home appliance, sensor, etc. In various embodiments, server 200 can be various types of servers that perform operations based on homomorphic encryption. For example, server 200 can be a search server, AI as a service (AIaaS), secure AIaaS, cloud server, etc.
[0050] Client 100 can request services using homomorphic encryption operations from server 200 for personal information data. Personal information data can be collected, generated, or modified by client 100. In various embodiments, personal information data can be data for which the user requests personal information protection, or it can be managed as personal information data according to its data type. For example, personal information data can be user vital signs data, photos, motion images, log data, etc. In various embodiments, services can be provided through data processing such as neural networks, genomic analysis, AI as a service, and search. Furthermore, in various embodiments, server 200 can perform homomorphic encryption operations to provide various services.
[0051] In homomorphic encryption, operations require operation keys, and in a traditional client 1-server 2 model for performing homomorphic encryption, client 1, which encrypts data, needs to use a secret key to generate the operation keys. For example, when client 1 encrypts data, uses the secret key to generate a multiplication key of type public key, and sends the multiplication key along with the ciphertext to server 2, server 2 can use the multiplication key to perform homomorphic encryption on the ciphertext. However, when client 1 generates all the operation keys necessary for homomorphic encryption and sends them to server 2, computational burden and communication costs arise. In various embodiments of this disclosure, client 100 can send operation keys (public keys) to server 200 for generating other operation keys, such that client 100 generates only some of the operation keys necessary for homomorphic encryption, and server 200 generates the remaining operation keys.
[0052] In the client 100-server 200 model 10 according to this embodiment, there are Brakerski JFan-Vercauteran (BFV) and Cheon-Kim-Kim-Song (CKKS) as fully homomorphic encryption methods for performing various arithmetic operations on ciphertext according to homomorphic encryption. Each of these methods can perform an operation on each element of the encrypted message vector. For example, in the case of multiplication, the value obtained by multiplying each element becomes the total message vector value. For advanced operations such as bootstrapping of convolutional neural networks, matrix multiplication, and convolution, element shifting of the encrypted message vector needs to be performed beforehand, and BFV and CKKS support rotation operations for this purpose. Rotation operations on homomorphic ciphertext require a rotation operation key. (See reference...) Figure 1 Traditionally, client 1 uses a secret key to generate a rotation operation key and sends the rotation operation key to server 2, whereby server 2 performs the rotation operation on the ciphertext. However, in advanced rotation shift operations requiring multiple cyclic shifts, such as those in deep convolutional neural networks, the size of the entire rotation operation key may only be a few hundred gigabytes. For example, when using N=2... 16 and N=2 17 When using pre-trained parameters of the CKKS scheme with polynomial coefficients to implement a standard ResNet-20 network for the CIFAR-10 dataset and a ResNet-18 network for the ImageNet dataset, the server requires 265 rotation operation keys and 617 rotation operation keys, consuming 105GB and 197.6GB of memory respectively. This cost burden may make homomorphic operations virtually impossible to perform in traditional client-server 1-to-server models that use secret keys to generate rotation operation keys.
[0053] In the client 100-server 200 model where the authorization server 200 generates some operation keys according to various embodiments of this disclosure, when the client 100 generates only a hierarchical Galois key and sends it to the server 200, the server 200 can directly generate multiple rotation operation keys using the hierarchical Galois key when a rotation operation is required. The client 100 can use a secret key to generate a hierarchical Galois key of type public key, and the server 200 can directly generate and use the necessary rotation operation keys using the public key and hierarchical Galois key received from the client 100.
[0054] Figure 3 The diagram illustrates a k-order rotation operation on each element of encrypted data according to one embodiment.
[0055] In homomorphic encryption, operations requiring operation keys generated from the secret key in the electronic device generating the ciphertext include multiplication, complex conjugate operations, and rotation operations. For a given ciphertext, the multiplication and complex conjugate operation keys are a single key, while the rotation operation requires multiple operation keys depending on the degree of rotation.
[0056] In fully homomorphic encryption schemes, a rotation operation performed beforehand to apply to each element of the encrypted message vector can be described as a cyclic shift of the message vector. (See reference) Figure 3 The encrypted data 301 and 302 can be generated by multiple message vectors v0, v1, ..., v n-1 This indicates that performing a rotation operation corresponding to a k-order shift on the message vector of encrypted data 301 yields the same result as performing the operation on data 302. When performing a rotation operation on encrypted data, the position of each vector corresponding to an element can be shifted by k. For the sake of description, k can be defined as any number, and the value of k can be determined by the higher-level operation required for the rotation operation. In other words, the value of k can be determined in response to the degree of cyclic shift.
[0057] The rotation operation key requires a different rotation operation key for each rotation shift, which means a large number of rotation operation keys corresponding to various values of k are needed. The rotation operation key can be generated by the client generating the homomorphic ciphertext using the secret key in the same way as other operation keys. In various embodiments of this disclosure, the rotation operation key can be generated using only the public key generated by client 100 without using client 100's secret key. In various embodiments, server 200, unaware of client 100's secret key, can use a hierarchical Galois key (of type public key) corresponding to the k-th order shift to generate the rotation operation key for the k-th order shift.
[0058] Figure 4This is an example of a method for generating a homomorphic rotation operation key in a server 200 authorized to generate operation keys, according to one embodiment.
[0059] In one embodiment, the homomorphic encryption operation key management system 100 can generate multiple homomorphic rotation operation keys using one or more public keys received from the client 200. The one or more public keys may include a public key generated using the client 200's secret key and one or more hierarchical Galois keys. The public key used for homomorphic encryption operations may be represented as a polynomial.
[0060] In step S401, the homomorphic encryption operation key management system 100 can receive one or more public keys (e.g., public key pk and hierarchical Galois key) from the client 200.
[0061] The public key pk can be defined as the secret key s, a polynomial “a” uniformly and randomly drawn from a finite set of polynomials, a small error e, and a large constant C.
[0062] The type of layered Galois key is public key, and can be defined in response to a k-th order shift as secret key s, a polynomial “a” uniformly and randomly drawn from a finite set of polynomials, a small error e, and a large constant C.
[0063] In step S402, the homomorphic encryption operation key management system 100 can partially transform the public key pk to generate pk', and perform a rotation operation on the transformed public key pk' using a hierarchical Galois key, thereby generating a rotation operation key rk1 corresponding to k=1.
[0064] In step S403, the homomorphic encryption operation key management system 100 can use the hierarchical Galois key to perform a rotation operation on the rotation operation key rk1 generated in step S402, thereby generating a rotation operation key rk2 corresponding to k=2.
[0065] The homomorphic encryption operation key management system 100 can generate multiple rotation operation keys by repeatedly performing rotation operations using a layered Galois key, and when the layered Galois key corresponds to a k-order shift, the generated multiple rotation operation keys can correspond to multiples of the k-order shift.
[0066] Figure 5 This is a block diagram of components including a client 100 according to one embodiment.
[0067] According to this embodiment, the client 100 is an electronic device 100, and may include a processor 110, a memory 120, a communication interface 130, and a bus 140.
[0068] Processor 110 is a central processing unit and can execute one or more instructions stored in memory 120 to control the operation of electronic device 100. Processor 110 may include any type of device capable of processing data. For example, processor 110 may refer to a data processing device embedded in hardware having physically structured circuitry to perform functions represented as code or instructions included in a program. As examples of data processing devices embedded in hardware as described above, processing devices such as microprocessors, central processing units (CPUs), processor cores, multiprocessors, application-specific integrated circuits (ASICs), or field-programmable gate arrays (FPGAs) may be included. However, the invention is not limited thereto. Processor 110 may include one or more processors. Processor 110 may include at least one core.
[0069] Processor 110 can generate ciphertext obtained by encrypting personal information data stored in memory 120 according to homomorphic encryption. Processor 110 can use the secret key of electronic device 100 to generate a public key and one or more operation keys. The one or more operation keys may correspond to some of the operation keys used for homomorphic encryption operations, and may include operation keys for generating other operation keys. In one embodiment, the one or more operation keys may include a multiplication key, a conjugate complex key, and a hierarchical Galois key for homomorphic encryption rotation operations, and the hierarchical Galois key can generate multiple cyclic operation keys for homomorphic encryption cyclic operations.
[0070] In one embodiment, processor 110 may generate a hierarchical Galois key as follows.
[0071] Processor 110 can define different sets of prime numbers C = {q0, ... q...} L} and B = {p0, ..., p K-1 All these sets can be used as variables (foundations) of the remainder number system (RNS). Processor 110 can then use another set of prime numbers. Defined as a principal special prime number. When For ease of description, names can be arranged as follows: The order of the names has been changed.
[0072] The factorization dnum is α = (L+1) / dnum, and the processor 110 can define the value obtained by collecting prime numbers and multiplying them as... Processor 110 can be defined And allow |P|≥max(Q) j ).
[0073] The principal factorization mdnum is α m = (L+1) / mdnum, which can be defined as the value obtained by collecting prime numbers and multiplying them. Processor 110 can be defined And allow to satisfy
[0074] Processor 110 can define the rotation key corresponding to k of the secret key polynomial s as mswk. k ={mswk k,i} i=0,…,mdnum-1 ,in From R PQT and Extracted from a uniform distribution in the image. Processor 110 can target k = 1, -1, 2, -2, 4, -4, ..., -2 n-2 ,2 n-2 ,2 n-1 Generate each of the hierarchical Galois keys. The value k is an example, which can be determined such that the sum of combinations allowing repetitions is obtained from -2. n-1 to 2 n-1 The value of the layered Galois key. The form, and can be defined such that a e From R PQ and b e =-a e s+e e Elements extracted uniformly from the medium.
[0075] Processor 110 can generate multiple rotation operation keys by repeatedly performing rotation operations on the public key using a hierarchical Galois key. The hierarchical Galois key can be generated in response to a k-order shift and can be generated by processor 110 upon request from server 200. Processor 110 can generate multiple rotation operation keys corresponding to multiples of the k-order shift by using a hierarchical Galois key corresponding to the k-order shift. Processor 110 can generate one or more hierarchical Galois keys corresponding to different step shifts. These one or more hierarchical Galois keys can each generate multiple rotation operation keys corresponding to different step shifts. In various embodiments, when the hierarchical Galois key set includes Galois keys corresponding to k = {1, -1, 2, -2, 4, -4, 8, -8}, processor 110 can generate rotation operation keys by combining k different Galois keys. For example, processor 110 can sequentially use a Galois key corresponding to k = 8 and a Galois key corresponding to k = 2 to generate a rotation operation key for a 10-order shift.
[0076] Memory 120 may include internal and / or external memory, and may include volatile memory such as DRAM, SRAM, or SDRAM; non-volatile memory such as OTPROM, PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND flash, or NOR flash; flash drives such as SSDs, compact flash (CF) cards, SD cards, Micro-SD cards, Mini-SD cards, Xd cards, or Memory Sticks; or storage devices such as HDDs. Memory 120 may include magnetic storage media or flash storage media. However, the invention is not limited thereto.
[0077] In one embodiment, memory 120 may store personal information data, secret keys, public keys, and hierarchical Galois keys of electronic device 100. Personal information data may include user vital sign data, photographs, motion images, or log data collected by electronic device 100.
[0078] Communication interface 130 may include one or more communication interfaces for providing wired or wireless communication. In various embodiments, communication interface 130 may use security protocols to send and receive keys and tokens over secure or authenticated channels. For example, communication interface 130 may use Transport Layer Security (TLS) or Internet Protocol Security (IPSec). Communication interface 130 can prevent external attackers from launching denial-of-service attacks or replay attacks during communication with server 200 due to key exposure or key corruption.
[0079] Bus 140 is a logical / physical path connecting processor 110, memory 120, and communication interface 130. For example, processor 110 can perform read and write operations on memory 120 via bus 130.
[0080] Figure 6 This is a flowchart of a method by which a client 100 requests a service including homomorphic encryption operation from a server 200, according to one embodiment.
[0081] In step S601, according to one embodiment, an electronic device (e.g., client 100) may request a service using homomorphic encryption from server 200. This service may include processing of homomorphically encrypted ciphertext; for example, the result of processing the homomorphic ciphertext using a neural network may be provided as service information. Electronic device 100 may request the service using homomorphic encryption from server 200 for ciphertext generated by encrypting personal information data stored in memory 120 using homomorphic encryption.
[0082] In step S602, client 100 may generate one or more public keys using the secret key. The one or more public keys may include operation keys. For example, the one or more public keys may include a multiplication key and a conjugate complex key. The one or more public keys may correspond to some of the operation keys required for homomorphic encryption operations. The one or more public keys may include operation keys (e.g., layered Galois keys) capable of generating another operation key (e.g., a rotation operation key). In one embodiment, client 100 may generate a layered Galois key (public key) capable of generating a rotation operation key for performing a rotation operation of homomorphic encryption. Client 100 may generate a layered Galois key for k-order shifts, and when using a layered Galois key for k-order shifts, multiple rotation operation keys corresponding to multiples of the k-order shift can be used without using the secret key. The layered Galois key may include one or more Galois keys and may be a set of Galois keys including multiple values corresponding to k.
[0083] In step S603, client 100 may send homomorphically encrypted ciphertext and one or more public keys to server 200. The one or more public keys may include operation keys and operation keys capable of generating other operation keys. For example, the one or more public keys may include multiplication keys, conjugate complex keys, and hierarchical Galois keys.
[0084] In step S604, client 100 can receive service information from server 200, including the result of a homomorphic encryption operation on the ciphertext. Server 200 can process the service request for the ciphertext and perform the homomorphic encryption operation at this time. During the homomorphic operation on the ciphertext, server 200 can directly generate and use the necessary operation key using the public key received from client 100 when necessary. For example, server 200 can use a neural network to send the result of the ciphertext operation as service information to client 100.
[0085] Figure 7 This is a block diagram of components including server 200 according to one embodiment.
[0086] According to one embodiment, server 200 may include processor 210, memory 220, communication interface 230, and bus 240.
[0087] Processor 210 is a central processing unit and can execute one or more instructions stored in memory 220 to control the operation of server 200. Processor 210 may include any type of device capable of processing data. For example, processor 110 may refer to a data processing device embedded in hardware having physically structured circuitry to perform functions represented as code or instructions included in a program. As examples of data processing devices embedded in hardware as described above, processing devices such as microprocessors, CPUs, processor cores, multiprocessors, ASICs, or FPGAs may be included. However, the invention is not limited thereto. Processor 210 may include one or more processors. Processor 210 may include at least one core.
[0088] Processor 210 can, in response to a data shift request to perform homomorphic encryption on ciphertext received from client 100, generate a rotation operation key using client 100's public key and a hierarchical Galois key, and perform a rotation operation on the ciphertext using the rotation operation key. Processor 210 can generate the rotation operation key by performing a rotation operation on client 100's public key using the hierarchical Galois key, without using client 100's secret key. The hierarchical Galois key can be generated in response to a k-order shift, and processor 210 can generate multiple rotation operation keys corresponding to multiples of the k-order shift by repeatedly performing the rotation operation using the hierarchical Galois key corresponding to the k-order shift. Before receiving the hierarchical Galois key from client 100, processor 210 can first request a hierarchical Galois key corresponding to the step shift required for the homomorphic encryption operation. That is, server 200 can request a set of hierarchical Galois keys from client 100 by specifying a set of values for k.
[0089] In one embodiment, processor 210 may use a hierarchical Galois key to generate one or more rotation operation keys as follows.
[0090] When a rotation key l can be generated, the processor 210 can define l = l0 + l1 + ... + l u-1 , where each l i These are all values where the layered Galois key exists. Processor 210 can first use the layered Galois key l0 in the encryption key (public key) to generate the rotation operation key for l0. Processor 210 then... right Perform rotation operations to generate And this operation is performed on r = 0, ..., dnum-1 using this method. The result is the generation of... And it generates the rotation operation key for l0. Furthermore, the processor 210 can obtain the key from the key used for k. (j-1) =l0+l1+…+l j-1 Rotation operation key Generate for k (j) =l0+l1+…+l j Rotation operation key
[0091] Processor 210 can be used Through l j For ciphertext Apply rotation operation to generate This operation can be performed on all r = 0, ..., dnum-1. The result can generate... It becomes k (j) The rotation operation key. Processor 210 can handle all l0, l1, ..., l u-1 Perform the above process to generate the rotation operation key for l.
[0092] Processor 210 can provide neural network services, AI as a service, or search services. Processor 210 can handle homomorphic encryption operations as a means of processing services.
[0093] Memory 220 may include internal and / or external memory, and may include volatile memory such as DRAM, SRAM, or SDRAM; non-volatile memory such as OTPROM, PROM, EPROM, EEPROM, mask ROM, flash ROM, NAND flash memory, or NOR flash memory; flash drives such as SSDs, CF cards, SD cards, Micro-SD cards, Mini-SD cards, Xd cards, or Memory Sticks; or storage devices such as HDDs. Memory 220 may include magnetic storage media or flash storage media. However, the invention is not limited thereto.
[0094] In one embodiment, memory 220 may include ciphertext from client 100, one or more public keys, and directly generated operation keys. For example, memory 220 may include ciphertext from client 100, the public key of the ciphertext, a multiplication key, a conjugate complex key, a hierarchical Galois key set, and multiple rotation operation keys generated from the hierarchical Galois key set.
[0095] Communication interface 230 may include one or more communication interfaces for providing wired or wireless communication. In various embodiments, communication interface 230 may use security protocols to send and receive keys and tokens over secure or authenticated channels. For example, communication interface 230 may use TLS or IPSec. Communication interface 230 can prevent denial-of-service attacks or replay attacks by external attackers during communication with client 100 due to key exposure or key corruption.
[0096] Bus 240 is a logical / physical path connecting processor 210, memory 220, and communication interface 230. For example, processor 210 can perform read and write operations on memory 220 via bus 230.
[0097] Figure 8 This is a flowchart of a method for performing homomorphic encryption operations by generating some operation keys in server 200 according to one embodiment.
[0098] In step S801, server 200 may receive a service request from client 100. This service may include a process for processing homomorphic encryption operations on homomorphic ciphertext generated by client 100. For example, the service may be an operation using a neural network.
[0099] In step S802, server 200 may receive homomorphically encrypted ciphertext and one or more public keys from client 100. The one or more public keys may include operation keys (e.g., multiplication keys or conjugate complex keys) and operation keys (layered Galois keys) capable of generating other operation keys (e.g., rotation operations), and may include, for example, layered Galois keys. Layered Galois keys generate multiple rotation operation keys necessary for homomorphically encrypted rotation operations.
[0100] In step S803, server 200 may generate a rotation operation key using one or more public keys in response to a homomorphic rotation operation request on the ciphertext. Server 200 can generate the rotation operation key by performing a rotation operation on the public key using a hierarchical Galois key. For example, when the hierarchical Galois key corresponds to a k-order shift, if server 200 performs a rotation operation on the public key using the hierarchical Galois key, a rotation operation key for the k-order shift is generated. Server 200 can generate a rotation operation key corresponding to a step shift corresponding to a multiple of k by repeatedly performing rotation operations on the public key using the hierarchical Galois key. Server 200 can generate the necessary rotation operation keys according to the progress of the rotation operation request. Rotation operation requests can be generated in various cases where each element needs to be shifted to perform another operation on the ciphertext.
[0101] In step S804, the server 200 can perform a rotation operation on the ciphertext using a rotation operation key. For example, in the case of a k-order shift rotation operation key, a k-order shift rotation operation can be performed on the ciphertext.
[0102] In step S805, server 200 may send service information to client 100 based on the result of an operation on the ciphertext, which includes the rotation operation of step S804. The service information may be, for example, a search result.
[0103] Figure 9 This is a network environment based on a client 100-server 200 model according to one embodiment, including an operation server 200a and an operation key generation server 200b.
[0104] According to one embodiment, client 100 can send a public key, a hierarchical Galois key, and homomorphic ciphertext to server 200. The public key and hierarchical Galois key are used to generate a rotation operation key. Server 200 may include an operation server 200a that processes service operations and an operation key generation server 200b that generates operation keys for performing homomorphic encryption operations. Client 100 may send only the ciphertext to operation server 200a and may send the public key and hierarchical Galois key to operation key generation server 200b.
[0105] When a request for a rotation operation on the ciphertext is received, operation server 200a can request a rotation operation key corresponding to the required step shift from operation key generation server 200b. Operation key generation server 200b can generate the rotation operation key using the public key and hierarchical Galois key sent by client 100, and sends the generated rotation operation key to operation server 200a in response to client 100's operation key request. Although in Figure 9Only one client 100 is shown in the example, but multiple clients 100 can request services from server 200, and server 200 can provide various types of services.
[0106] The above embodiments can be implemented by hardware components, software components, and / or combinations of hardware and software components. For example, the apparatus, methods, and components described in the embodiments can be implemented using one or more general-purpose or special-purpose computers, such as processors, controllers, arithmetic logic units (ALUs), digital signal processors, microcomputers, field-programmable gate arrays (FPGAs), programmable logic units (PLUs), microprocessors, or any other means capable of executing and responding to instructions. The processing apparatus can execute an operating system (OS) and one or more software applications running on the operating system. Furthermore, the processing apparatus can access, store, manipulate, process, and generate data in response to the execution of software. For ease of understanding, even though a processing apparatus is described as being used in certain situations, those skilled in the art will recognize that a processing apparatus can include multiple processing elements and / or various types of processing elements. For example, a processing apparatus can include multiple processors or one processor and one controller. Additionally, another processing configuration, such as a parallel processor, can be employed.
[0107] Software may include computer programs, code, instructions, or combinations thereof, and may configure a processing device to operate as needed or to independently or jointly instruct the processing device. Software and / or data may be permanently or temporarily embodied in a type of machine, component, physical device, virtual device, computer storage medium or apparatus, or transmitted signal wave for interpretation by the processing device or to provide instructions or data to the processing device. Software may be distributed across networked computer systems and stored or executed in a distributed manner. Software and data may be stored on one or more computer-readable recording media.
[0108] The method according to the embodiments can be implemented in the form of program instructions, which can be executed by various computer means and recorded in a computer-readable medium. The computer-readable medium may include program instructions, data files, data structures, etc., individually or in combination. The program instructions recorded in the medium may be specifically designed and configured for the embodiments, or the program instructions recorded in the medium may be known and used by those skilled in the art of computer software. Examples of computer-readable recording media include magnetic media such as hard disks, floppy disks, and magnetic tapes; optical media such as CD-ROMs and DVDs; magneto-optical media such as floppy disks; and hardware devices specifically configured to store and execute program instructions, such as ROMs, RAMs, and flash memory. Examples of program instructions include not only machine language code generated by a compiler, but also high-level language code that can be executed by a computer using an interpreter. The aforementioned hardware devices may be configured to operate as one or more software modules to perform the operations of the embodiments, and vice versa.
[0109] According to embodiments of this disclosure, the client device does not need to directly generate multiple homomorphic rotation keys and send them to the server performing the homomorphic operation. Instead, it can generate only a hierarchical Galois key and authorize the server to generate multiple homomorphic rotation keys, thereby appropriately distributing computational load between the client device and the server and significantly reducing communication costs.
[0110] According to embodiments of this disclosure, since the server can directly generate the homomorphic rotation key required for homomorphic encryption operations when necessary, management can be performed such that homomorphic rotation keys corresponding to various step shifts are deleted or stored in memory.
[0111] As described above, although embodiments have been described with reference to limited examples and drawings, those skilled in the art can make various modifications and variations based on the above description. For example, suitable results can be achieved even when the described techniques are performed in a different order than the described methods, and / or when components of the described systems, structures, devices, circuits, etc., are combined or associated in a different manner than the described methods, or are replaced or substituted by other components or equivalents. Therefore, other implementations, other embodiments, and equivalents of the claims also fall within the scope of the claims.
Claims
1. An electronic device comprising: A communication interface configured to support communication using a secure protocol; Storage for personal information data; as well as At least one processor, operatively coupled to the communication interface and the memory, wherein, The at least one processor: Generate ciphertext by encrypting the personal information data according to homomorphic encryption, and generate a public key and one or more operation keys by using the secret key of the electronic device; The ciphertext, the public key, and the one or more operation keys are sent to the server through the communication interface; and Receive service information from the server based on the homomorphic encryption operation on the ciphertext, and The one or more operation keys correspond to some of all the operation keys required for the homomorphic encryption operation. Wherein, the one or more operation keys include a hierarchical Galois key for homomorphic encryption rotation operations, and the hierarchical Galois key generates multiple rotation operation keys for the homomorphic encryption rotation operations. The plurality of rotation operation keys are generated by repeatedly performing rotation operations on the public key using the hierarchical Galois key.
2. The electronic device according to claim 1, wherein, The at least one processor generates the layered Galois key in response to a k-order shift, and the plurality of rotation operation keys are generated in response to a multiple of the k-order shift.
3. The electronic device according to claim 2, wherein, The master key corresponding to the k-th shift is generated in response to a request for the k-th shift of the homomorphic encryption operation received from the server.
4. The electronic device according to claim 1, wherein, The one or more operation keys include a multiplication key, a conjugate complex key, and one or more hierarchical Galois keys.
5. The electronic device according to claim 4, wherein, The at least one processor generates the one or more hierarchical Galois keys in response to different step shifts.
6. The electronic device according to claim 1, wherein, The personal information data includes at least one of the following collected by the electronic device: user vital signs data, photos, motion images, and log data.
7. The electronic device according to claim 1, wherein, The server obtains the service information based on the result of performing a homomorphic encryption operation on the ciphertext, in order to provide neural network services, artificial intelligence services, or search services.
8. A server, comprising: A communication interface configured to support communication using a secure protocol; as well as At least one processor, wherein the at least one processor is operatively coupled to the communication interface, wherein, The communication interface receives ciphertext, public key, and hierarchical Galois key from the electronic device; In response to a data shift request for a homomorphic encryption operation on the ciphertext, the at least one processor generates a rotation operation key using the public key and the hierarchical Galois key; and The at least one processor performs a rotation operation on the ciphertext using the rotation operation key. The at least one processor generates the rotation operation key by performing a rotation operation on the public key using the hierarchical Galois key.
9. The server according to claim 8, wherein, The at least one processor uses the layered Galois key to generate a rotation operation key corresponding to a k-order shift.
10. The server according to claim 9, wherein, The at least one processor generates a plurality of rotation operation keys corresponding to multiples of the k-th order shift by repeatedly performing rotation operations on the public key using the hierarchical Galois key.
11. The server according to claim 8, wherein, Before receiving the hierarchical Galois key, the at least one processor requests from the electronic device a hierarchical Galois key for generating a rotation operation key corresponding to a k-order shift.
12. The server according to claim 8, wherein, The at least one processor obtains service information based on the result of performing a homomorphic encryption operation on the ciphertext, and sends the service information to the electronic device to provide neural network services, artificial intelligence services, or search services.
13. The server according to claim 8, further comprising a memory, wherein, The rotation operation key is stored in the memory; and In response to a renewed request for a k-order shift of the ciphertext, the at least one processor performs a rotation operation using the rotation operation key stored in the memory.
14. The server according to claim 13, wherein, The at least one processor deletes the rotation operation key stored in the memory.
15. A method for generating a homomorphic rotation operation key, the homomorphic rotation operation key being used for homomorphic ciphertext in an electronic device, the method comprising: Receive ciphertext, a public key, and one or more operation keys from the electronic device; In response to a request for a homomorphic rotation operation on the ciphertext, the processor generates a rotation operation key using the public key and the one or more operation keys; as well as The processor performs a rotation operation on the ciphertext using the rotation operation key. The rotation operation key is generated by the processor performing a rotation operation on the public key using a hierarchical Galois key. Multiple rotation operation keys are generated by the processor repeatedly performing rotation operations on the public key using the hierarchical Galois key.
Citation Information
Patent Citations
Variable Relinearization in Homomorphic Encryption
US20180375640A1