The present disclosure relates to a computing device for processing homomorphic encryption and an operating method thereof, and more particularly, to a query information processing method and device using a fully homomorphic encrypted database.
Encryption systems such as Rivest, Shamir, and Adleman (RSA), elliptic curve cryptography (ECC), and advanced encryption standard (AES) requires a process of decrypting a ciphertext into plaintext in order to perform operation processing on the ciphertext, and there is a possibility that information may be leaked during the decryption process.
A homomorphic encryption technology devised to solve this problem uses mathematical characteristics called homomorphic operation to enable combination and operation processing on encrypted data, thereby preventing information leakage during the decryption process. In other words, the homomorphic encryption allows arbitrary operations on the ciphertexts to directly perform operations on the encrypted data without a separate decryption process, thereby improving the stability of the messages.
Usually, the plaintext and ciphertext of the fully homomorphic encryption are composed in the form of polynomial ring, and methods of improving an operation speed by enabling the multiple data to be stored in one ciphertext to perform a single instruction multiple data (SIMD) operation and a parallel operation on multiple data are being proposed. In particular, the SIMD is a method of packing data within specifications defined by ciphertext generation parameters and mainly padding the remaining space with 0, and libraries known as HElib, SEAL, and HEAAN PALISADE implement fully homomorphic encryption.
However, there is a defined standard for performing an SIMD operation on a fully homomorphic encrypted database, and data should be stored and operated according to a structure for the standard. Here, when a data format of the device is not identical to this structure, there is a problem of unnecessary storage space being required when performing data encryption.
As a result, when these existing methods are maintained, storage spaces of users requesting queries are not only excessively required due to the continuous increase in the size of the database, but the number of encrypted messages in the data search results will also increase, thereby causing problems such as data processing speed delay, server transmission delay, and network load.
The present disclosure provides a query information processing method capable of reducing a data size of a query search result and improving transmission efficiency accordingly by generating a plaintext index using a key value of a record on which a data value of a fully homomorphic encrypted structured database is dependent and efficiently performing a search query using an encryption index that encrypts the plaintext index, and a computing device for performing the same.
According to an aspect of the present disclosure, a query information processing method of a database performed on a computing device includes: pre-building a plaintext index corresponding to a fully homomorphic encrypted structured database; generating an encryption index by homomorphically encrypting the plaintext index; identifying query information requested from a client; indexing the encryption index in response to the query information; acquiring search result data through a homomorphic operation corresponding to a result value indexed by the encryption index; and providing the search result data to the client.
According to another aspect of the present disclosure, a computing device includes: a processor; and a memory communicating with the processor, in which the memory stores instructions that cause the processor to perform operations, and the operations include: an operation of pre-building a plaintext index corresponding to a fully homomorphic encrypted structured database; an operation of generating an encryption index by homomorphically encrypting the plaintext index; an operation of identifying query information requested from a client; an operation of indexing the encryption index in response to the query information; an operation of acquiring search result data through a homomorphic operation corresponding to a result value indexed by the encryption index; and an operation of providing the search result data to the client.
According to still another aspect of the present disclosure for achieving the above-described object, a computer program stored in a computer-readable recording medium may include a program code for executing the above-described operation method.
The following description illustrates only a principle of the present disclosure. Therefore, those skilled in the art may implement the principle of the present disclosure and invent various apparatuses included in the spirit and scope of the present disclosure although not clearly described or illustrated in the present specification. In addition, it is to be understood that all conditional terms and embodiments mentioned in the present specification are obviously intended only to allow those skilled in the art to understand a concept of the present disclosure in principle, and the present disclosure is not limited to embodiments and states particularly mentioned as such.
The above-described objects, features, and advantages will become more obvious from the following detailed description associated with the accompanying drawings. Therefore, those skilled in the art to which the present disclosure pertains may easily practice a technical idea of the present disclosure.
Further, in describing the present disclosure, when it is decided that a detailed description of the well-known technology associated with the present disclosure may unnecessarily make the gist of the present disclosure unclear, it will be omitted.
Various embodiments of the present disclosure will be described with reference to the accompanying drawings.
Referring to
To this end, the database 200 may be a server that stores and manages one or more data built in advance to provide data to the client 100 in a fully homomorphic encrypted form, and an example thereof may include a data center, a database management system server, a storage server, etc.
The system of the present disclosure configured in this way may be configured as a system that connects the client 100 device and the database 200 device as individual computing devices, or may be installed and executed in a service form on the same server or computing device, respectively. In another embodiment of the present disclosure, each computing device may be executed as a virtual machine in a cloud computing environment.
In this system configuration, the database 200 may pre-build a plaintext index corresponding to a fully homomorphic encrypted structured database and homomorphically encrypt the plaintext index to generate an encryption index.
When the query information requested from the client 100 is identified, the database 200 may perform an operation to index the encryption index in response to the query information, acquire search result data through a homomorphic operation corresponding to the result value indexed by the encryption index, and provide the search result data to the client 100.
By the plaintext index and encryption index-based index process, it is possible to efficiently process queries while minimizing an unnecessary storage space and reduce the maximum number of ciphertexts provided as query search results. Accordingly, a specific data processing process using the embodiment of the present disclosure will be described in detail with reference to
First, referring to
More specifically, first, the database 200 pre-builds a plaintext index corresponding to a fully homomorphic encrypted structured database (S101).
More specifically, for example, the fully homomorphic encrypted plaintext and ciphertext stored in database 200 are configured in the form of a polynomial ring, and the number of data that may be stored in one ciphertext may be pre-designated as n according to the highest order of the polynomial ring determined by a ciphertext parameter setting value.
In the case of the conventional method, when the fully homomorphic encryption with n designated in this way is performed on a structured database with rows R and columns C, the technologies described as the related art described above are typically processed in two methods.
The first method is a method of generating and storing each data row of the structured database as one ciphertext, and the total number of ciphertexts may be generated as R*┌C/n┐.
In addition, the second method is a method of generating ciphertexts for each data column of the structured database, and the total number of ciphertexts may be generated as C*┌R/n┐.
Here, referring to
In the plaintext index generated in this way, when the total number of records may be defined as K, and the number of sets of key values of each record may be defined as [V_1, . . . , V_K], and the maximum value among them may be defined as V_MAX, the relationship between each number and the R value, which is the number of rows in the existing structured database, may be represented by the following Mathematical Expression 1.
Referring to the plaintext index configured in
Regarding this, referring back to
Here, by generating the encryption index that homomorphically encrypts the plaintext index, the comparison and search results for search queries may be efficiently derived with a small storage space. The process of generating an encryption index for a more specific plaintext index may be described with reference to
First, variable settings such as Mathematical Expression 2 below may be processed.
According to the variable setting, when performing the encryption of the plaintext index, the encryption may be processed with a ciphertext matrix having a preset size of X×Y, and additionally, the encryption key ciphertext array having a size of Y in the form of the encrypted key may also be generated.
Referring to
When such a separate index is configured in the form of a file, the result of the entire database size or x*┌R/n┐ ciphertexts is transmitted in the existing database processing method, whereas the processing result of the database 200 according to an embodiment of the present disclosure enables the index and result provision of the query even if only x*┌Y/n┐ ciphertexts are transmitted. Since Y is less than or equal to the total number of rows R of the fully homomorphic encrypted structured database and is often much smaller than the total number of data N, it can be seen that the communication volume between the client 100 and the database 200 may be significantly reduced on average by using index data according to an embodiment of the present disclosure.
Meanwhile, referring back to
Here, the query information may include index condition information requesting a specific value of the fully homomorphic encrypted structured database.
The database 200 indexes the encryption index in response to the query information (S107), acquires the search result data through the homomorphic operation corresponding to the result value indexed by the encryption index (S109), and provides the search result data to the client 100 (S111).
As illustrated in
First, referring to Table 1 below, the overall process of generating the encryption index for the plaintext index may be exemplified as the following pseudocode.
Accordingly, referring to
Referring to
In this case, when data remains in the set even after extracting X data, database 200 may insert the representative key again into the back of the FIFO queue. When the size of the FIFO queue is less than X−1, 0 is inserted until the size becomes X−1, and then the representative key is inserted. The processing result according to this is illustrated in
Thereafter, referring to
The database 200 may repeatedly process the processing processes of
Meanwhile,
Referring to
Specifically, the processor 308 may include at least one of a central processing unit (CPU), a micro processor unit (MPU), a micro controller unit (MCU), a graphic processing unit (GPU), a microprocessor, a digital signal processor, a microcontroller, an application processor (AP), and logic devices capable of performing functions similar thereto.
The input/output device 302 may include at least one of a keypad, a keyboard, a touchscreen, and a display device. The memory device 304 may store data and/or programs, etc.
The interface 306 may perform a function of transmitting data to or receiving data from a communication network. The interface 306 may be wired or wireless. For example, the interface 306 may include an antenna or a wired/wireless transceiver, etc. The memory 304 may further include a high-speed DRAM and/or SRAM, etc., as a volatile operating memory for improving the operation of the processor 308 and protecting personal information.
In addition, the memory 304 stores programming and data configurations that provide the functions of some or all of the modules described herein. For example, it may include logic to perform selected aspects of the learning method described above.
A program or application is loaded as a set of instructions that includes each step of performing the acquisition method described above stored in the memory 304, and causes the processor to perform each step.
Furthermore, various exemplary embodiments described herein may be implemented in computer-readable recording medium using, for example, software, hardware, or a combination thereof.
According to a hardware implementation, embodiments described herein may be implemented using at least one of application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), processors, controllers, micro-controllers, microprocessors, and electric units for executing other functions. In some cases, embodiments described herein may be implemented as a control module itself.
According to a software implementation, embodiments such as procedures and functions described herein may be implemented as separate software modules. Each of the software modules may execute one or more functions and operations described herein. A software code may be implemented as a software application written in a suitable programming language. The software code may be stored in a memory module and executed by a control module.
According to an embodiment of the present disclosure, by pre-building the plaintext index corresponding to the fully homomorphic encrypted structured database and homomorphically encrypting the plaintext index to generate the encryption index, it is possible to efficiently perform the query search and reduce the maximum number of provided ciphertexts accordingly.
Accordingly, the present disclosure can provide the query information processing method capable of reducing the data size of the query search results and improving the transmission efficiency accordingly, and the computing device for performing the same.
The spirit of the present disclosure has been described only by way of example hereinabove, and the present disclosure may be variously modified, altered, and substituted by those skilled in the art to which the present disclosure pertains without departing from essential features of the present disclosure.
Accordingly, embodiments disclosed in the disclosure and the accompanying drawings are provided in order to describe the technical spirit of the disclosure rather than limiting the technical spirit of the disclosure, and the scope of the disclosure is not limited by these embodiments and the accompanying drawings. The scope of the disclosure should be interpreted by the following claims, and it should be interpreted that all spirits equivalent to the following claims fall within the scope of the disclosure.
Number | Date | Country | Kind |
---|---|---|---|
10-2023-0115045 | Aug 2023 | KR | national |