Homomorphic encryption-based dynamic vector database system and homomorphic encryption-based vector operation method

WO2026160913A1PCT designated stage Publication Date: 2026-07-30SEOUL NAT UNIV HOSPITAL
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
SEOUL NAT UNIV HOSPITAL
Filing Date
2026-01-23
Publication Date
2026-07-30

Smart Images

  • Figure KR2026001412_30072026_PF_FP_ABST
    Figure KR2026001412_30072026_PF_FP_ABST
Patent Text Reader

Abstract

This dynamic vector database system includes a client which requests a query, and a server for operation by using data in a server repository to generate an encrypted result value for the requested query. The client includes: a query vector encryption unit for encrypting the query to generate an encrypted query vector; a communication unit for transmitting the encrypted query vector to the server and receiving the encrypted result value from the server; and a result decryption unit for decrypting and outputting the encrypted result value. The server includes: a key caching unit for caching a key vector of the server repository; a query caching unit for caching the query vector; and a vector operation unit for generating the encrypted result value including an inner product result by performing an inner product operation on the cached key vector and the query vector.
Need to check novelty before this filing date? Find Prior Art

Description

Homomorphic Encryption-Based Dynamic Vector Database System and Homomorphic Encryption-Based Vector Operation Method

[0001] The present invention relates to a homomorphic encryption-based dynamic vector database system and a homomorphic encryption-based vector operation method, and more specifically, to a homomorphic encryption-based dynamic vector database system and a homomorphic encryption-based vector operation method.

[0002] With the advancement of artificial intelligence and big data analysis technologies, the importance of technologies for performing similarity searches in large-scale vector databases is increasing. In particular, when processing vector data containing sensitive information such as biometric data and financial data, homomorphic encryption, which enables computations on encrypted data to prevent information leakage, is gaining attention as a key security alternative.

[0003] However, existing homomorphic encryption-based search technologies suffer from the following problems due to structural limitations stemming from their reliance on plaintext preprocessing. First, there is inefficiency during dynamic updates. Existing technologies face the issue of consuming massive computational costs when dynamic updates, such as data insertion and deletion, occur. This becomes a major factor hindering system scalability in real-world database environments where data is added or modified in real time.

[0004] Second is the excessive communication and computational cost. Significant communication costs are incurred between the client and the server during the search process, which reduces the overall real-time performance of the system. Furthermore, complex rotation operations or key-switching processes performed on the server side increase search latency.

[0005] Third, there is a lack of structural separation and modularization. In the existing approach, operations on queries and keys are tightly coupled, making it difficult to efficiently cache query operation components within the server or to independently optimize key operations.

[0006] As a result, there is low computational reusability and limitations in system design optimization when processing large datasets. Therefore, there is a need to develop an optimized homomorphic encryption search system that can maintain security in large vector databases while drastically reducing communication costs and enabling dynamic updates at a low cost.

[0007] Accordingly, the technical problem of the present invention is conceived from this point, and the objective of the present invention is to provide a homomorphic encryption-based dynamic vector database system capable of ultra-high-speed searching and equipped with communication efficiency and dynamic scalability.

[0008] Another objective of the present invention is to provide a homomorphic encryption-based vector operation method utilizing the homomorphic encryption-based dynamic vector database system.

[0009] A homomorphic encryption-based dynamic vector database system according to the concept of the present invention includes a client requesting a query and a server that performs operations using data in a server storage to generate an encrypted result value for the requested query. The client includes a query vector encryption unit that encrypts the query to generate an encrypted query vector, a communication unit that transmits the encrypted query vector to the server and receives the encrypted result value from the server, and a result decryption unit that decrypts and outputs the encrypted result value. The server includes a key caching unit that caches a key vector in a server storage, a query caching unit that caches the query vector, and a vector operation unit that performs an inner product operation on the cached key vector and the query vector to generate the encrypted result value containing the inner product result.

[0010] In one embodiment, a homomorphic encryption-based dynamic vector database system applies Butterfly Decomposition to the key vectors to obtain an operation-optimized form ( It may further include a dictionary operation unit that converts to a dictionary.

[0011] In one embodiment, the pre-operation unit has the number of automorphism operations required for the transformation of the key vector. at To reduce complexity, the product of a permutation matrix and a butterfly matrix can be used. The key caching unit can maintain the set of key ciphertexts obtained by the prior operation unit as a Key Cache.

[0012] In one embodiment, the query caching unit saves network bandwidth by allowing the client to transmit only a single ciphertext, and the query operation part ( Multiple transformations for ) can be generated and cached.

[0013] In one embodiment, the vector operation unit can perform an inner product operation without additional key conversion by using the value cached in the query caching unit and the value cached in the key caching unit.

[0014] In one embodiment, the inner product operation of the vector operation unit is a query operation part ( ) and key operation part( ) can be performed independently without mutual influence. The above query caching unit is a query operation part ( ) is preprocessed and stored, and the key caching unit is the key operation part ( After ) is pre-processed and stored, the vector operation unit is a query operation part ( ) and the above key operation part ( By performing the operation, the inner product result ciphertext can be generated as the above encrypted result value.

[0015] In one embodiment, the vectors are encoded into the coefficients of a polynomial, and the operation in the vector operation unit is a separated query operation part ( ) and key operation part( The result of the inner product can be placed in the constant term of the polynomial generated by the multiplication of ).

[0016] In one embodiment, the caching of the key vector in the key caching unit can be performed when the server is offline without communicating outside the server.

[0017] A homomorphic encryption-based dynamic vector database system according to the concept of the present invention includes a server that receives an encrypted query vector from a client and performs an inner product with previously stored encrypted key vectors. The homomorphic encryption-based dynamic vector database system includes a query operation part ( A query operation unit for ), and a key operation unit (logically separated from the query operation unit, and a key operation unit ( It includes a key operation unit for ). The server applies Butterfly Decomposition to vectors to obtain an operation-optimized form ( It includes a key caching unit that converts and stores the data in advance, but ensures that no real-time computation cost (Online Computation Cost) is incurred for key vector generation upon receiving a query; a query caching unit that performs necessary conversion operations (Automorphism, Key-switching reconstruction, etc.) on the server side for a single query ciphertext received from a client to generate and cache multiple converted query components required for inner product operations; and a vector operation unit that generates an inner product result ciphertext by multiplying the converted query components generated by the query caching unit and the key vectors pre-calculated and stored by the prior operation unit / key caching unit.

[0018] In one embodiment, the server applies Butterfly Decomposition to the key vectors to obtain a computationally optimized form ( It may further include a dictionary operation unit that converts to a dictionary.

[0019] In one embodiment, the key caching unit maintains the set of key ciphertexts obtained by the prior operation unit as a Key Cache, and the query caching unit has a query operation part ( Multiple transformations for ) can be generated and cached.

[0020] In one embodiment, the inner product operation of the vector operation unit is a query operation part ( ) and key operation part( ) can be performed independently without mutual influence. The above query caching unit is a query operation part ( ) preprocesses and stores, and the key caching unit is a key operation part ( After pre-processing and storing ), the vector operation unit is a query operation part ( ) and the above key operation part ( By performing the operation, the inner product result ciphertext can be generated as the above encrypted result value.

[0021] In one embodiment, the vectors are encoded into the coefficients of a polynomial, and the operation in the vector operation unit is a separated query operation part ( ) and key operation part( The result of the inner product can be placed in the constant term of the polynomial generated by the multiplication of ).

[0022] A homomorphic encryption-based vector operation method according to the concept of the present invention receives a query request from a client and returns an encrypted result value to the client through operation with a key vector of a server. The homomorphic encryption-based vector operation method comprises: an encrypted query vector generation step in which a query vector encryption unit of the client encrypts the query to generate an encrypted query vector; a precomputation step in which a precomputation unit of the server applies Butterfly Decomposition to the key vector to pre-convert it into an operation-optimized form; a key caching step in which a key caching unit of the server caches a set of key ciphertexts converted by the precomputation unit as a key value; a query caching step in which a query caching unit of the server generates and caches a plurality of conversion values ​​for operation on the encrypted query vector; an operation step in which a vector operation unit of the server performs an operation on a value cached in the key caching unit and a value cached in the query caching unit to generate an encrypted result value; and a result decryption step in which a result decryption unit of the client decrypts the encrypted result value to generate a result value.

[0023] According to one aspect of the present invention, a homomorphic encryption-based dynamic vector database system enables ultra-fast searching by efficiently performing vector operations and achieving low search latency in an encrypted database.

[0024] In addition, the client can minimize communication costs by transmitting only a single query ciphertext and utilizing the server's Query Caching and Key Caching structures.

[0025] In addition, data can be added or deleted in real time without interrupting the database, and new keys can be updated at low computing costs as only Butterfly Decomposition and Key Caching need to be performed on the corresponding key.

[0026] In addition, the query operation unit and the key operation unit are functionally separated, making modularization easy in terms of system design, optimization, and security analysis.

[0027] However, the effects of the present invention are not limited to the above effects and may be extended in various ways without departing from the spirit and scope of the present invention.

[0028] FIG. 1 is a diagram illustrating a homomorphic encryption-based dynamic vector database system according to an embodiment of the present invention.

[0029] FIG. 2 is a flowchart illustrating a homomorphic encryption-based vector operation method according to an embodiment of the present invention.

[0030] FIG. 3 is a conceptual diagram illustrating the operation of a homomorphic encryption-based dynamic vector database system according to an embodiment of the present invention.

[0031] The embodiments described in this specification and the configurations illustrated in the drawings are merely preferred examples of the disclosed invention, and various modifications that may replace the embodiments and drawings of this specification may exist at the time of filing this application.

[0032] Additionally, the same reference numerals or symbols presented in each drawing of this specification represent parts or components that perform substantially the same function.

[0033] Furthermore, the terms used in this specification are for describing embodiments and are not intended to limit or / or restrict the disclosed invention. Singular expressions include plural expressions unless the context clearly indicates otherwise. In this specification, terms such as "comprising" or "having" are intended to indicate the existence of the features, numbers, steps, actions, components, parts, or combinations thereof described in the specification, and do not preclude the existence or addition of one or more other features, numbers, steps, actions, components, parts, or combinations thereof.

[0034] Additionally, terms including ordinal numbers, such as "first," "second," etc., as used herein may be used to describe various components, but said components are not limited by said terms, and said terms are used solely for the purpose of distinguishing one component from another. For example, without departing from the scope of the present invention, the first component may be named the second component, and similarly, the second component may be named the first component. The term "and / or" includes a combination of a plurality of related described items or any one of a plurality of related described items.

[0035] In addition, terms such as "~part," "~unit," "~block," "~part," and "~module" may refer to a unit that processes at least one function or operation. For example, the above terms may refer to at least one piece of hardware such as an FPGA (field-programmable gate array) or ASIC (application specific integrated circuit), at least one piece of software stored in memory, or at least one process processed by a processor.

[0036] FIG. 1 is a diagram illustrating a homomorphic encryption-based dynamic vector database system according to an embodiment of the present invention.

[0037] Referring to FIG. 1, a homomorphic encryption-based dynamic vector database system includes a client (200) that requests a query and a server (100) that generates an encrypted result value for the requested query.

[0038] The above client (200) includes a query vector encryption unit (210) and a result decryption unit (220). The above client (200) further includes a control unit (250) that controls each component of the above client (200), an input unit (260) that receives a user's request from the outside, an output unit (270) for displaying results to the user, a communication unit (280) that communicates with the server (100), and a storage unit (290) that stores necessary data.

[0039] In the present invention, unlike general slot encoding, vector encoding encodes each element of a vector into the coefficient position of a polynomial. For example, the Coefficients Encoding method of CKKS can be adopted, and the message polynomial is It can be configured in the form of.

[0040] The above query vector encryption unit (210) vectorizes and encrypts the query that is a user's request, and after vector encoding the query that is a request, the query vector Encrypted by encoding in the form (order in reverse order). For example, the query vector encryption unit (210) encrypts the query vector into a single ciphertext Encrypt as.

[0041] This means that, in order to reduce the computational burden on the server (100), the client does not perform complex preprocessing and sends a simple encrypted query to the server (100).

[0042] The above result decryption unit (220) can decrypt and output the encrypted result value received from the server (100). Specifically, the client receives from the server (100) The polynomial is received and decrypted to obtain the plaintext polynomial. The value existing at the constant term (or specific coefficient position) of the polynomial can be extracted to obtain the final inner product value (Score).

[0043] This means that, in order to reduce the computational burden on the server (100), the client does not perform complex preprocessing and sends a simple encrypted query to the server (100).

[0044] The above result decryption unit (220) can decrypt and output the encrypted result value received from the server (100). Specifically, the client receives from the server (100) The polynomial is received and decrypted to obtain the plaintext polynomial. The value existing at the constant term (or specific coefficient position) of the polynomial can be extracted to obtain the final inner product value (Score).

[0045] The above server (100) includes a dictionary operation unit (110), a key caching unit (120), a query caching unit (130), and a vector operation unit (140). The above server (100) further includes a server control unit (150) that controls each component of the above server (100), a server input unit (260) that receives data from the outside, a server output unit (270) that outputs data to the outside, a server communication unit (180) that communicates with the client (200), and a server storage unit (190) that stores necessary data. The above server (100) includes a key operation unit ( Optimize ) in advance in a form completely separated from the query, and maintain it as a Key Cache.

[0046] When constructing data in the server storage (190) or adding a new key vector, Butterfly Decomposition is performed in advance for each key vector to obtain an optimized set of key ciphertexts. Store and maintain it in the server storage.

[0047] The above-mentioned pre-calculation unit (110) pre-calculates and stores an encrypted key vector to be stored in the server storage (190). At this time, the key vector is It is structured in the form and designed so that the degrees cancel out during query and multiplication, and the inner product value accumulates in the constant term.

[0048] Specifically, the prior operation unit (110) applies the Butterfly Decomposition technique to the construction (or update time) of the key database of the server storage (190) to a ciphertext set optimized for inner product operations. It is converted and saved in advance.

[0049] The key caching unit (120) caches the stored set of key ciphertexts (encrypted key vector). This forms a Key Caching structure independent of the query. Through this, query transformation logic ( ) and key conversion / storage logic( ) can be implemented as independent modules, and each can be optimized into a Query Caching / Key Caching form.

[0050] The key caching unit (120) caches a pre-processed key vector without additional real-time conversion or computation on the key vector at the time of the actual query request, so no separate computation is required, and thus no Online Computation Cost for Key generation / conversion occurs.

[0051] In addition, when a new key is added to the server storage (190), only Butterfly Decomposition and Cache Append for the key need to be performed, so the Key Caching structure can be naturally expanded during dynamic updates.

[0052] The above query caching unit (130) has, for the encrypted query vector transmitted from the client (200), a query operation part ( It performs necessary transformations (Automorphism, Key-switching reconstruction, etc.) for ). That is, the query caching unit (130) caches various forms of query components required for the inner product within the server.

[0053] Specifically, the query caching unit (130) receives one Based on, the form required for inner operations It generates a Query Caching Strategy. This process is named the Query Caching Strategy and reconfigures the existing key-switching step from the perspective of minimizing communication, thereby replacing the transmission of multiple query ciphertexts with the transmission of a single ciphertext and internal server conversion.

[0054] Also, query operations ( This is cached for reuse within the server and can be recycled for multiple key blocks.

[0055] The above vector operation unit (140) performs operations (multiplication, dot product) on the cached key vector and the query vector to generate the encrypted result value including the dot product result. That is, the already perfectly preprocessed and cached key ( , Butterfly Decomposed & Key Caching) and transformations, cached queries( Since Query Caching is ready, multiplication can be performed immediately without complex logic.

[0056] The execution of multiplication refers to performing a tensor product or ciphertext multiplication on the transformed query component and the cached (pre-computed) key component, and the operation expression and, without separate shift or rotation, the result of this multiplication (and cumulative sum) itself is the inner product result ciphertext ( ) becomes. Through Query Caching and Key Caching, operations in the Online Phase can be simplified into pure multiplication and cumulative sum.

[0057] The operations of the above homomorphic encryption-based dynamic vector database system are described below.

[0058] an integer raised to a power of 2, Let's call it an integer. and It is defined as. For inner product calculation It relies on the RLWE ciphertext defined above.

[0059] Encryption primarily follows a coefficient encoding variant of CKKS, but the encoding uses space It allows sparse packing that may not use at all. The message is dimension It is represented as a real number vector. Message Given this, it is a polynomial Encode as follows.

[0060] <Mathematical Formula 1>

[0061]

[0062] Here is the scaling factor. The ciphertext is the RLWE encryption of the plaintext, and the plaintext is It is an element of. That is, plaintext ciphertext that encrypts It satisfies the following decoding formula.

[0063] <Mathematical Formula 2>

[0064]

[0065] Here is a secret key and is a small error.

[0066] Basic homomorphic operations are as follows.

[0067]

[0068] Addition

[0069] Given, addition is defined as follows.

[0070] <Mathematical Formula 3>

[0071]

[0072]

[0073] Tensor

[0074] Given , the tensor (i.e., multiplication without relinearization) is defined as follows.

[0075]

[0076] <Mathematical Formula 4>

[0077]

[0078]

[0079] Relinearization

[0080] Given , relinearization is defined as follows.

[0081] <Mathematical Formula 5>

[0082]

[0083] Here refers to RLWE key switching, and this key switching is the secret key at Switch to.

[0084]

[0085] Automorphism

[0086] and automorphism (which Given (for ), an automorphism is defined as follows.

[0087] <Mathematical Formula 6>

[0088]

[0089] Here is the secret key at It means RLWE key switching to switch.

[0090]

[0091] Shift

[0092] and the amount of shift When, the shift is defined as follows.

[0093] <Mathematical Formula 7>

[0094]

[0095] The important point is polynomials The point is that it can be multiplied without introducing a scaling factor.

[0096]

[0097] The following explains the internal calculation.

[0098] query vector , key vector Let's say. For simplicity, the size of the message vector Assume this is a power of 2. The plaintext representations of the query and key are as follows.

[0099] <Mathematical Formula 8>

[0100]

[0101] Then, the inner product of the query vector and the key vector becomes the constant term of the product of the two plaintexts. If so, the following equation holds.

[0102] <Mathematical Formula 9>

[0103]

[0104]

[0105] The exponent of the non-zero term is Since it is within the range, the constant term can be extracted using the sum of several automorphisms. Specifically, the constant term can be obtained through the following sum.

[0106] <Mathematical Formula 10>

[0107]

[0108] Here And, Since, to calculate the inner product Dog automorphism is required.

[0109] Redundant automorphisms can be minimized when calculating multiple keys simultaneously. Since a single plaintext can encode d elements at a time, redundant automorphisms can be reduced by applying shift operations to all calculated inner products. The query inner product with the i-th key If so, the d scores can be expressed as follows.

[0110] <Mathematical Formula 11>

[0111]

[0112] if second If expressed as such, the above equation can be simplified as follows.

[0113] <Mathematical Formula 12>

[0114]

[0115] Therefore, if we swap the order of sum indices i and j, it is clear that only r-1 automorphisms are needed to efficiently calculate the inner product over d keys by calculating the shift and sum before the automorphisms.

[0116] As can be seen from the equation above, queries and keys can be operated on separately before multiplication. This allows for efficient computation because queries and keys can be cached separately. Specifically, the following list of queries and keys is required.

[0117] <Mathematical Formula 13>

[0118]

[0119] Then, d scores can be calculated at once through r multiplications.

[0120] <Mathematical Formula 14>

[0121]

[0122] This explains Butterfly Decomposition to reduce redundant shifts.

[0123] Let's represent it as follows. Then am. since, To calculate this, r(d-1) shifts are required, which cannot be ignored. Therefore, to reduce the number of required moves to d-r+rlog(r) at The transformation to was decomposed.

[0124] For i=0,...,r-1 A vector representing Let's say, and for j=0....,d-1 A vector representing Let's say that. Then and Transformation matrix between It is as follows.

[0125] <Mathematical Formula 15>

[0126]

[0127] also It can be represented as.

[0128] Is Since it is a rectangular matrix of size, first cast and It can be decomposed into. That is, and the size of each matrix is am.

[0129] <Mathematical Formula 16>

[0130]

[0131]

[0132] Here Is It is an identity matrix of dimension and It is self-evident that it can be decomposed into r submatrices. Therefore, the total number of moves is By , r(s-1)=dr and rlog(r) is by

[0133] When the number of data points is less than d=4096, the number of required automorphisms can be further reduced. This reduction is achieved by selectively leaving coefficients in the output polynomial that do not overlap with the score locations. Therefore, when the output polynomial does not need to be fully encoded by all d coefficients, automorphisms can be minimized by focusing only on the relevant coefficient locations.

[0134] If the input size n is a power of 2 and is less than 4096, ... must be applied to the set of coefficients s. For example, considering the case where d=4096, r=1024, and n=2048, the required set of polynomials can be represented by the following indices.

[0135] <Mathematical Formula 17>

[0136]

[0137] By utilizing this approach, the total number of required automorphisms is effectively reduced due to the small number of data points.

[0138] In addition, this allows only the polynomial elements corresponding to the required score values ​​in part b to be extracted. This is necessary to distinguish between zero points and uninputted values, but it reduces communication costs by up to two times. Furthermore, the decoding process is simplified because there is no need to transmit information about the number of data points n during the decoding process.

[0139] Bitwise reverse encoding for maintaining index consistency. When the data size is small, using the key switching reduction technique can cause a problem where the key index does not align with the score vector. Therefore, encoding the key in bitwise reverse order allows index consistency to be maintained regardless of whether optimization techniques are used. When the data size is small, using the key switching reduction technique can cause problems. The encryption key index may no longer be accurately aligned with the positions of the score vector elements. To resolve this issue, encoding the encryption key in bitwise reverse order preserves index consistency regardless of the applied optimization technique. This ensures that transformations and operations on the encrypted data are predictable and remain consistent with the original order.

[0140] The key storage method for dynamic database updates in the system of the present invention is as follows.

[0141] Each ciphertext is associated with a single encryption key, enabling efficient and persistent database operations with minimal overhead. Through this approach, basic operations such as insertion, deletion, and retrieval can be performed with a finite and minimal amount of computation.

[0142] For insertion, new ciphertext can be simply added to the database, and for deletion, ciphertext can be removed based on an index. Both operations are highly efficient as they have a time complexity of O(1). Thanks to the amorphous nature of these operations, simple database management is possible without complex cryptographic transformations, while guaranteeing scalability, low computational overhead, and preventing error accumulation.

[0143] Despite the system's flexibility regarding dynamic updates, key caching using deferred updates can further improve search operation speed and significantly reduce overall search time. In this method, pre-calculated key components It stores the query. Consequently, since only self-homomorphism conversion for the query ciphertext is required during the query operation, iterative calculations are not necessary.

[0144] The system according to the present invention can skip relinearization because it separates query and key operations before multiplication and leaves only addition after multiplication. However, response communication costs increase by 50%. This trade-off may be acceptable in scenarios where faster search response times are prioritized over bandwidth efficiency.

[0145] Shift operations can be optimized by leveraging the characteristics of the ciphertext's internal representation, particularly when stored in the inverse-theoretic transformation (iNTT) format. In this format, shift operations essentially behave as if they directly copy parts b and a of the ciphertext, and are processed solely through memory access operations without additional computational overhead.

[0146] To further optimize processing efficiency, shift and sum operations can be combined, effectively reducing the need for individual shift operations. By adding or subtracting each element of the ciphertext from the shifted index, this process is simplified into a single sum operation. This approach improves performance and reduces memory access latency by reducing shift operations to simple sum operations.

[0147] FIG. 2 is a flowchart illustrating a homomorphic encryption-based vector operation method according to an embodiment of the present invention.

[0148] Referring to FIG. 2, the homomorphic encryption-based vector operation method comprises an encrypted query vector generation step (S100), a pre-operation step (S200), a key caching step (S300), a query caching step (S400), an operation step (S500), and a result decryption step (S600). According to the homomorphic encryption-based vector operation method, a query is requested from a client, and an encrypted result value is returned to the client through operation with the server's key vector.

[0149] In the above-mentioned encrypted query vector generation step (S100), the client's query vector encryption unit encrypts the query to generate an encrypted query vector.

[0150] In the above pre-calculation step (S200), the pre-calculation unit of the server applies Butterfly Decomposition to the key vector and converts it into a pre-calculated form optimized for computation.

[0151] In the key caching step (S300), the key caching unit of the server caches the set of key ciphertexts converted by the prior operation unit as a key value.

[0152] In the above query caching step (S400), the query caching unit of the server generates and caches a plurality of transformation values ​​for operations on the encrypted query vector.

[0153] In the above operation step (S500), the vector operation unit of the server performs an operation on the value cached in the key caching unit and the value cached in the query caching unit to generate an encrypted result value.

[0154] The result decryption step (S600) includes a result decryption step in which the result decryption unit of the client decrypts the encrypted result value to generate a result value.

[0155] Since the operations at each step of the above homomorphic encryption-based vector operation method are identical to the description of the operations of the homomorphic encryption-based dynamic vector database system described in FIG. 1, a repetitive description is omitted.

[0156] FIG. 3 is a conceptual diagram illustrating the operation of a homomorphic encryption-based dynamic vector database system according to an embodiment of the present invention.

[0157] Referring to FIG. 3, before processing a client's request, a pre-processed encrypted key vector is cached in the server storage. When the client requests an encrypted query, the encrypted query is simply converted into query elements for vector operations and cached. Then, the pre-cached encrypted key vector and query elements are operated on to transmit a ciphertext containing the inner product result to the client in a short time. Since the client decrypts and outputs this, the client encrypts / decrypts the query, and the server performing the vector operations executes the operations in an encrypted state. Consequently, complex vector operations can be performed using the server's computing power while efficiently protecting the client's sensitive information.

[0158] According to the present invention, when performing a vector inner product operation, the query operation part ( ) and key operation part( By algorithmically separating the query-related preprocessing / transformation, query-related preprocessing / transformation is processed in batches on the server in the form of Query Caching, and key-related preprocessing / transformation is performed and stored in the offline stage in the form of Key Caching (Pre-computed Key Storage), thereby having the characteristic of separating query operations and key operations.

[0159] In addition, the client sends only the minimum ciphertext, and the server separates the query operation part ( By performing necessary transformations (Automorphism, Key-switching reconstruction, etc.) on the ) and caching various forms of query components required for the inner product within the server, communication bandwidth can be drastically reduced.

[0160] In addition, the server's key vectors apply the Butterfly Decomposition technique at the time of database construction / update to a ciphertext set optimized for inner product operations ( It is converted and stored in advance. This is a Key Caching structure, and the cost of key conversion at the time of query processing (Online) is zero.

[0161] Also, separated and cached queries ( ) and Key( Since all of ) are prepared in an optimized form, the inner product operation can be performed using only simple multiplication and cumulative sum without complex rotation operations.

[0162] Specific embodiments have been illustrated and described above. However, the invention is not limited to the embodiments described above, and those skilled in the art may make various modifications without departing from the essence of the technical concept of the invention as described in the following claims.

[0163] (Explanation of symbols)

[0164] 100: Server 110: Dictionary Computation Unit

[0165] 120: Key Caching Unit 130: Query Caching Unit

[0166] 140: Vector operation unit 150: Server control unit

[0167] 160: Server Input Section 170: Server Output Section

[0168] 180: Server Communications Unit 190: Server Storage

[0169] 200: Client 210: Query Vector Encryption Unit

[0170] 220: Result decoding unit 250: Control unit

[0171] 260: Input section 270: Output section

[0172] 280: Communications Unit 290: Storage Unit

Claims

1. A client requesting a query; and A homomorphic encryption-based dynamic vector database system comprising a server that performs operations using data in a server storage to generate an encrypted result value for the requested query, The above client A query vector encryption unit that encrypts the above query to generate an encrypted query vector; A communication unit that transmits the above encrypted query vector to the server and receives the above encrypted result value from the server; and It includes a result decryption unit that decrypts and outputs the above encrypted result value, and The above server is Key caching unit that caches key vectors in server storage; A query caching unit that caches the above query vector; and A homomorphic encryption-based dynamic vector database system comprising a vector operation unit that generates an encrypted result value including an inner product result by performing an inner product operation on the cached key vector and the query vector.

2. In Paragraph 1, The above server is The computationally optimized form obtained by applying Butterfly Decomposition to the above key vectors ( A homomorphic encryption-based dynamic vector database system characterized by further including a dictionary operation unit that converts to a dictionary.

3. In Paragraph 2, The above-mentioned pre-operation unit [describes] the number of automorphism operations required for the transformation of the above-mentioned key vector at To reduce complexity, we use the product of a permutation matrix and a butterfly matrix, and A homomorphic encryption-based dynamic vector database system characterized in that the key caching unit maintains a set of key ciphertexts obtained by the prior operation unit as a Key Cache.

4. In Paragraph 1, The above query caching unit saves network bandwidth by allowing the client to transmit only a single ciphertext, and the query operation part ( A homomorphic encryption-based dynamic vector database system characterized by generating and caching multiple transformations for ).

5. In Paragraph 4, A homomorphic encryption-based dynamic vector database system characterized by the above vector operation unit performing an inner product operation without additional key conversion using a value cached in the above query caching unit and a value cached in the above key caching unit.

6. In Paragraph 1, The inner product operation of the above vector operation unit is the query operation part ( ) and key operation part( ) is performed independently without mutual influence, and The above query caching unit is the query operation part ( ) is preprocessed and stored, and the key caching unit is the key operation part ( After ) is pre-processed and saved, The above vector operation unit is the query operation part ( ) and the above key operation part ( A homomorphic encryption-based dynamic vector database system characterized by performing an operation to generate an inner product result ciphertext as the encrypted result value.

7. In Paragraph 1, The above vectors are encoded into the coefficients of the polynomial, and The operation in the above vector operation unit is a separated query operation part ( ) and key operation part( A homomorphic encryption-based dynamic vector database system characterized by the inner product result being located in the constant term of a polynomial generated by the multiplication of ).

8. In Paragraph 1, A homomorphic encryption-based dynamic vector database system characterized in that the caching of key vectors in the key caching unit is performed without communicating outside the server and while the server is offline.

9. A homomorphic encryption-based dynamic vector database system comprising a server that receives an encrypted query vector from a client and performs an inner product with previously stored encrypted key vectors, Query operation part( Query operation unit for ); and Logically separated from the above query operation unit, and the key operation part ( Includes a key operation unit for ), The above server is, The computationally optimized form obtained by applying Butterfly Decomposition to vectors ( A key caching unit that converts and stores in advance as ), but ensures that no real-time computation cost (Online Computation Cost) for key vector generation occurs upon receiving a query; A query caching unit that performs necessary transformation operations (automorphism, key-switching reconstruction, etc.) on the server side for a single query ciphertext received from a client to generate and cache multiple transformed query components necessary for an inner product operation; and A homomorphic encryption-based dynamic vector database system characterized by including a vector operation unit that generates an inner product result ciphertext by multiplying the transformed query components generated by the query caching unit and the key vectors pre-operated and stored by the pre-operation unit / key caching unit.

10. In Paragraph 9, The above server is The computationally optimized form obtained by applying Butterfly Decomposition to the above key vectors ( A homomorphic encryption-based dynamic vector database system characterized by further including a dictionary operation unit that converts to a dictionary.

11. In Paragraph 9, The above key caching unit maintains the set of key ciphertexts obtained by the above dictionary operation unit as a Key Cache, and The above query caching unit is the query operation part ( A homomorphic encryption-based dynamic vector database system characterized by generating and caching multiple transformations for ).

12. In Paragraph 9, The inner product operation of the above vector operation unit is the query operation part ( ) and key operation part( ) is performed independently without mutual influence, and The above query caching unit is the query operation part ( ) preprocesses and stores, and the key caching unit is a key operation part ( After pre-processing and saving ), The above vector operation unit is the query operation part ( ) and the above key operation part ( A homomorphic encryption-based dynamic vector database system characterized by performing an operation to generate an inner product result ciphertext as the encrypted result value.

13. In Paragraph 9, The above vectors are encoded into the coefficients of the polynomial, and The operation in the above vector operation unit is a separated query operation part ( ) and key operation part( A homomorphic encryption-based dynamic vector database system characterized by the inner product result being located in the constant term of a polynomial generated by the multiplication of ).

14. A homomorphic encryption-based vector operation method that receives a query request from a client and returns an encrypted result value to the client through operation with a key vector of a server, An encrypted query vector generation step in which the query vector encryption unit of the above client encrypts the query to generate an encrypted query vector; A pre-computation step in which the pre-computation unit of the above server applies Butterfly Decomposition to the key vector and converts it into a pre-computation optimized form; A key caching step in which the key caching unit of the above server caches the set of key ciphertexts converted by the above-mentioned pre-computation unit as a key value; A query caching step in which the query caching unit of the above server generates and caches a plurality of transformation values ​​for operations on the above encrypted query vector; A calculation step in which a vector operation unit of the above server calculates a value cached in the key caching unit and a value cached in the query caching unit to generate an encrypted result value; and A homomorphic encryption-based vector operation method comprising a result decryption step in which a result decryption unit of the above client decrypts the above encrypted result value to generate a result value.