WO2024239204A1 - 一种批量隐私信息检索方法及装置 - Google Patents
一种批量隐私信息检索方法及装置 Download PDFInfo
- Publication number
- WO2024239204A1 WO2024239204A1 PCT/CN2023/095566 CN2023095566W WO2024239204A1 WO 2024239204 A1 WO2024239204 A1 WO 2024239204A1 CN 2023095566 W CN2023095566 W CN 2023095566W WO 2024239204 A1 WO2024239204 A1 WO 2024239204A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- result
- client
- hash
- batch
- hash bucket
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3887—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled by a single instruction for multiple data lanes [SIMD]
Definitions
- the present invention belongs to the field of cryptography applications, and in particular relates to a batch privacy information retrieval method and device.
- the purpose of the embodiments of the present application is to provide a batch privacy information retrieval method and device to solve the technical problems of high computing and communication overhead and low practicality existing in the related technology. It combines the fixed-weight code technology and the cuckoo hash technology, and optimizes the homomorphic encryption computing characteristics. It can save both the communication amortized overhead and the computing amortized overhead, have better performance, and can be better applied to actual scenarios.
- a batch privacy information retrieval method comprising:
- the client and the server agree on a hash function used in the cuckoo hashing technology, calculate the serial number index in the original database through the cuckoo hashing technology, retain the result of each hash function for each serial number index, and obtain a first hash bucket containing a plurality of baskets, wherein the result of the serial number index in the first hash bucket is open to both the server and the client;
- the client fills the index of the batch query into a second hash bucket of the same length as the first hash bucket by using the cuckoo hash algorithm, wherein the corresponding position is filled with the sequence index of the index of the batch query in the corresponding basket of the first hash bucket, and the filling result is encoded by using a fixed weight code encoding method;
- the client encrypts the obtained encoding results using homomorphic encryption technology as a batch query request and sends it to the server;
- the server compares the received batch query request with the first hash bucket using homomorphic encryption technology to obtain the corresponding intermediate result
- the server performs corresponding calculations on the intermediate result and the original database to obtain the query result ciphertext corresponding to the batch query request and sends it to the client;
- the client decrypts the query result ciphertext, thereby obtaining the query results of the batch query request at the same time.
- the filling result is encoded using a fixed-weight code encoding method, specifically: the length n of the largest basket in the first hash bucket is selected as the encoding domain of the fixed-weight code, the corresponding length of the fixed-weight code is m, the number k of 1s in the fixed-weight code is selected, and the filling result is mapped to the fixed-weight code.
- the client encrypts the obtained encoding result using the homomorphic encryption SIMD technology.
- the client encrypts the obtained encoding result using the SIMD technology of homomorphic encryption.
- the specific process is: for a hash bucket of length B, the B corresponding first bits in the hash bucket are encrypted into the same ciphertext, the second bit is encrypted into the second ciphertext, and so on. If the corresponding position in the corresponding hash bucket is empty, all bits of the default fixed weight code are 0.
- the server compares the received batch query request with the first hash bucket using homomorphic encryption technology to obtain a corresponding intermediate result, including:
- the server performs corresponding calculations on the intermediate result and the original database to obtain the query result ciphertext corresponding to the batch query request, including:
- the content length of the corresponding position of the original database exceeds the plaintext domain of the SIMD technology, the content is sliced, and after querying separately, several query result ciphertexts are formed and sent to the client separately.
- a batch privacy information retrieval device comprising:
- a cuckoo hash module is used for the client and the server to agree on the hash function used in the cuckoo hash technology, calculate the serial number index in the original database through the cuckoo hash technology, retain the result of each serial number index for each hash function, and obtain a first hash bucket containing a plurality of baskets, wherein the result of the serial number index in the first hash bucket is open to both the server and the client;
- An encoding module used for the client to fill the index of the batch query into a second hash bucket with the same length as the first hash bucket through the cuckoo hash algorithm, wherein the corresponding position is filled with the sequence index of the index of the batch query in the corresponding basket of the first hash bucket, and the filling result is encoded by using a fixed weight code encoding method;
- the encryption module is used by the client to encrypt the obtained encoding results using homomorphic encryption technology as a batch query request and send it to the server;
- a comparison module configured for the server to compare the received batch query request with the first hash bucket using homomorphic encryption technology to obtain a corresponding intermediate result
- a calculation module used for the server to perform corresponding calculations on the intermediate results and the original database, obtain the query result ciphertext corresponding to the batch query request and send it to the client;
- the decryption module is used for the client to decrypt the query result ciphertext, thereby obtaining the query results of the batch query request at the same time.
- an electronic device including:
- processors one or more processors
- a memory for storing one or more programs
- the one or more processors When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in the first aspect.
- a computer-readable storage medium on which computer instructions are stored, and when the instructions are executed by a processor, the steps of the method described in the first aspect are implemented.
- this application redesigns the specific query scheme for batch privacy information retrieval, combines cuckoo hashing, fixed weight code encoding and SIMD technology under homomorphic encryption, and uses the advantages of different technologies combined with specific scenarios to design and optimize query algorithms, which greatly reduces the computational overhead and reduces the query time required for batch privacy information retrieval, making the query scheme more suitable for actual scenarios.
- the batch privacy information retrieval under this scheme can greatly reduce the communication overhead and significantly reduce the size of the uploaded request ciphertext.
- Fig. 1 is a flow chart showing a method for retrieving batch privacy information according to an exemplary embodiment.
- Fig. 2 is a schematic diagram showing retaining hash function results based on all sequence numbers according to an exemplary embodiment.
- Fig. 3 is a schematic diagram showing an encryption process of a request sent by a client according to an exemplary embodiment.
- Fig. 4 is a schematic diagram of an algorithm for each index when traversing the sequence number indexes in a basket according to an exemplary embodiment.
- Fig. 5 is a schematic diagram of an algorithm for returning database content using intermediate results according to an exemplary embodiment.
- Fig. 6 is a block diagram showing a device for retrieving batch privacy information according to an exemplary embodiment.
- Fig. 7 is a schematic diagram showing an electronic device according to an exemplary embodiment.
- first, second, third, etc. may be used in the present application to describe various information, these information should not be limited to these terms. These terms are only used to distinguish the same type of information from each other.
- first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information.
- word "if” as used herein may be interpreted as "at the time of” or "when” or "in response to determining”.
- FIG. 1 is a flow chart of a method for retrieving batch private information according to an exemplary embodiment. As shown in FIG. 1 , the method is applied in a terminal and may include the following steps:
- the client and the server agree on a hash function used in the cuckoo hashing technology, calculate the serial number index in the original database using the cuckoo hashing technology, retain the result of each hash function for each serial number index, and obtain a first hash bucket containing a plurality of buckets, wherein the result of the serial number index in the first hash bucket is open to both the server and the client;
- the client fills the index of the batch query into a second hash bucket of the same length as the first hash bucket by using the cuckoo hash algorithm, wherein the corresponding position is filled with the sequence index of the index of the batch query in the corresponding basket of the first hash bucket, and the filling result is encoded by using a fixed weight code encoding method;
- the client encrypts the obtained encoding result using homomorphic encryption technology as a batch query request and sends it to the server;
- the server compares the received batch query request with the first hash bucket using homomorphic encryption technology to obtain a corresponding intermediate result
- the server performs corresponding calculations on the intermediate result and the original database to obtain the batch query request pair.
- the corresponding query result ciphertext is sent to the client;
- the client decrypts the query result ciphertext, thereby obtaining the query results of the batch query request at the same time.
- this application can be applied to scenarios such as medical databases, where visitors (clients) expect to query detailed descriptions of a series of drugs, such as corresponding treatment conditions, contraindications, instructions for use, inventory, etc., but do not expect the owner of the medical database (server) to know which series of drugs the visitor is interested in. If the server knows the list of drugs that the current query user is interested in, it can infer that the client may currently suffer from a certain disease, such as hepatitis B, etc. The user's own physical condition should be sensitive privacy information and is not expected to be exposed to the server. Inadvertent leakage may cause unnecessary trouble. The possibility of sensitive information leakage may also cause some patients to worry about the risk of leakage and give up the query function, missing some effective treatment information.
- this protocol can also be applied to basic modules in other privacy computing protocols, such as offline acceleration parts for single privacy queries or batch table lookup operations in privacy machine learning. The following is a description in conjunction with drug information query.
- the client and the server agree on the hash function used in the cuckoo hashing technology, calculate the serial number index in the original database through the cuckoo hashing algorithm, retain the result of each hash function for each serial number index, and obtain a first hash bucket containing several buckets, wherein the result of the serial number index in the first hash bucket is public to both the server and the client, as shown in FIG2 .
- the serial number index in the original database is open to both the server and the client, and the elements corresponding to the serial number index are open to the server but not to the client.
- the server has a medical database.
- the database contains detailed descriptions of drugs such as treatment diseases, contraindications, instructions for use, inventory, etc.
- the client wants to know the specific information of a series of drugs, but does not want to reveal that he is interested in this series of drugs, because such information will indirectly disclose the client's physical condition.
- the client can query the database through the required drug number to understand the detailed description of the drug, and supports querying multiple drugs at the same time.
- the cuckoo hashing technology includes multiple different hash functions.
- the cuckoo hashing technology and the specific hash function used here are open to the server and the client. This method usually selects the number of hash functions to be 3.
- the first hash bucket includes several baskets, and the position of each serial number index in the drug database in each basket is public to the server and the client.
- the client fills the index of the batch query into a second hash bucket of the same length as the first hash bucket by using the cuckoo hash algorithm, wherein the corresponding position is filled with the sequence index of the index of the batch query in the corresponding basket of the first hash bucket, and the filling result is encoded by using a fixed weight code encoding method;
- the index of the batch query is the required drug number.
- the position where each index is filled in the second hash bucket must be the result of the cuckoo hash function, that is, it will definitely appear in the basket corresponding to the corresponding position of the first hash bucket. At this time, you only need to use the column index in the box to select elements in the basket.
- step (1) since the result obtained in step (1) is public to both parties and the results of all hash functions are retained, it is equivalent to redividing the database into B baskets after repeating it three times.
- the client runs the ordinary cuckoo hash algorithm for the index, that is, only one hash result will be retained for each index.
- the conflict resolution strategy When encountering a hash conflict problem, the conflict resolution strategy will be used to recalculate the hash value of the conflicting result.
- Each index will only appear once in the hash bucket after the cuckoo hash algorithm.
- the client fills all the indexes that need to be queried into the second hash bucket of length B, it is equivalent to retrieving a data in each basket, and the size of each basket is much smaller than the size of the original database.
- each serial number that needs to be queried is mapped to the corresponding position, that is, the basket where the element is located is obtained, and the corresponding serial number index is replaced with the corresponding index that needs to be queried in the basket.
- the length n of the largest basket in the first hash bucket is selected as the encoding domain of the fixed-weight code, and the corresponding fixed-weight code length is m.
- the number of 1s in the fixed-weight code is selected as k.
- this method recommends that k be 2 to achieve a balance between the amount of computation and the amount of communication.
- Each specific basket index obtained by (2.2) is encoded using a fixed-weight code.
- the following pseudo code provides a stable mapping method from ordinary serial numbers to fixed-weight codes.
- the fixed-weight code length m satisfies Much smaller than the normal natural number encoding method:
- the input of this algorithm is the serial index i, which is an integer between 1 and n, and the input of the fixed weight code length m to determine the number of 1s in the fixed weight code.
- m' is the current calculation bit.
- the result of j is greater than or equal to
- the current calculated bit in the output fixed-weight code is set to 1, and the value of l is reduced to indicate that there are still l 1s that have not appeared.
- the loop is exited, indicating that there are no more 1s in the remaining positions of the fixed-weight code.
- the method of mapping the sequence number to the fixed weight code can be randomly defined, as long as the server and the client implement the same mapping.
- a random mapping is adopted to realize the mapping of the sequence number to the fixed weight code.
- n is much larger than k, and the length of the fixed weight code encoding is smaller than the ordinary sequence number encoding.
- the client encrypts the obtained encoding result using homomorphic encryption technology as a batch query request and sends it to the server;
- the SIMD (Single Instruction Multiple Data) technology in homomorphic encryption is used to encrypt the fixed weight code result.
- the specific encryption method is: encrypt the first bit of B corresponding bits in the hash bucket into the same ciphertext, encrypt the second bit into the second ciphertext, and so on. If the corresponding position in the corresponding hash bucket is empty, all bits of the fixed weight code are defaulted to 0.
- N depends on the polynomial degree selected by homomorphic encryption, which is public to the server and the client.
- Encryption is performed using the symmetric encryption algorithm in homomorphic encryption. Compared with public key encryption, it can reduce the size of the ciphertext and send all the encrypted results to the server.
- the number of ciphertexts is m*B/N.
- the server compares the received batch query request with the first hash bucket using homomorphic encryption technology to obtain a corresponding intermediate result; as shown in FIG4 , the following process may be included:
- step (2) the same fixed-weight code mapping method as in step (2) is adopted, and the server and the client agree in advance to use the same homomorphic encryption algorithm.
- the server performs corresponding calculations on the intermediate result and the original database to obtain the query result ciphertext corresponding to the batch query request and sends it to the client, as shown in FIG5 .
- the database content is sliced, queried separately and then transmitted back, wherein the result obtained in step 4 can be reused.
- each basket in (2) can be split into N/B blocks, spliced vertically, and the database is reshaped into N baskets.
- the maximum length of each basket is n*B/N.
- the corresponding encoding length m is reduced accordingly, further reducing the amount of calculation in the calculation process. Since the results of the N/B baskets in the returned ciphertext come from the same original basket, that is, only one ciphertext corresponding to the plaintext is valid information, and the rest are 0. At this time, if the length of the original database information is longer than the single plaintext domain of SIMD technology, it will be sliced and multiple query results will be obtained.
- SIMD technology By rotating each query result by a corresponding multiple of B, SIMD technology supports rotating the encrypted ciphertext by any number of slots, and accumulating the results, at most every N/B ciphertexts can be accumulated together, and it will not affect the final query result. For the amount of communication, it can be reduced by N/B times.
- the rotation and merging algorithm proposed in this application can further compress the size of the returned result ciphertext and is more suitable for actual network environments. Specifically, for a database of one million (2 20 ) data (each data length is set to 20KB), when two thousand queries are completed in batches, the average time required for each query is 0.27 seconds, which is about 75 times less than the previous batch query in the upload part.
- the downlink communication volume is the same as other similar solutions (if no rotation is performed, the downlink communication volume in this scenario is 0.27 seconds). volume will expand).
- the client decrypts the query result ciphertext, thereby obtaining the query results of the batch query request at the same time.
- the ciphertext received back is decrypted using the private key generated during encryption using the principle of homomorphic encryption, and decoded using the Chinese remainder theorem.
- the client can obtain the corresponding information queried. If the rotation operation is used to recombine the returned results, since the client knows the server's rotation algorithm, that is, the server knows the specific location where the corresponding information appears, the required drug information can be obtained by recombination and arrangement.
- the present application also provides an embodiment of a batch privacy information retrieval device.
- FIG6 is a schematic diagram of a batch privacy information retrieval device according to an exemplary embodiment.
- the device may include:
- the cuckoo hash module 21 is used for the client and the server to agree on the hash function used in the cuckoo hash technology, calculate the serial number index in the original database through the cuckoo hash technology, retain the result of each hash function for each serial number index, and obtain a first hash bucket containing a plurality of buckets, wherein the result of the serial number index in the first hash bucket is open to both the server and the client;
- An encoding module 22 is used for the client to fill the index of the batch query into a second hash bucket with the same length as the first hash bucket through the cuckoo hash algorithm, wherein the corresponding position is filled with the sequence index of the index of the batch query in the corresponding basket of the first hash bucket, and the filling result is encoded by using a fixed weight code encoding method;
- Encryption module 23 used for the client to encrypt the obtained encoding result using homomorphic encryption technology as a batch query request and send it to the server;
- Comparison module 24 used for the server to compare the received batch query request with the first hash bucket using homomorphic encryption technology to obtain a corresponding intermediate result
- the calculation module 25 is used for the server to perform corresponding calculations on the intermediate result and the original database to obtain the query result ciphertext corresponding to the batch query request and send it to the client;
- the decryption module 26 is used for the client to decrypt the query result ciphertext, thereby obtaining the query results of the batch query request at the same time.
- the relevant parts can be referred to the partial description of the method embodiments.
- the device embodiments described above are only illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or they may be distributed on multiple network units. You can choose the one according to your actual needs. Some or all of the modules in the embodiment can realize the purpose of the present application scheme. Ordinary technicians in this field can understand and implement it without creative work.
- the present application also provides an electronic device, comprising: one or more processors; a memory for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement the batch privacy information retrieval method as described above.
- an electronic device comprising: one or more processors; a memory for storing one or more programs; when the one or more programs are executed by the one or more processors, the one or more processors implement the batch privacy information retrieval method as described above.
- FIG7 a hardware structure diagram of any device with data processing capability in which a batch privacy information retrieval method provided in an embodiment of the present invention is located, in addition to the processor, memory and network interface shown in FIG7, any device with data processing capability in which the device in the embodiment is located can also include other hardware according to the actual function of the device with data processing capability, which will not be described in detail.
- the present application also provides a computer-readable storage medium on which computer instructions are stored, and when the instructions are executed by the processor, the batch privacy information retrieval method as described above is implemented.
- the computer-readable storage medium can be an internal storage unit of any device with data processing capabilities described in any of the aforementioned embodiments, such as a hard disk or a memory.
- the computer-readable storage medium can also be an external storage device, such as a plug-in hard disk, a smart memory card (Smart Media Card, SMC), an SD card, a flash card (Flash Card), etc. equipped on the device.
- the computer-readable storage medium can also include both an internal storage unit of any device with data processing capabilities and an external storage device.
- the computer-readable storage medium is used to store the computer program and other programs and data required by any device with data processing capabilities, and can also be used to temporarily store data that has been output or is to be output.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Databases & Information Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明公开了一种批量隐私信息检索方法及装置,该方法包括:客户端和服务端约定哈希函数,将原数据库中的序号索引通过布谷鸟哈希技术进行计算,保留每位序号索引对于每个哈希函数的结果,得到一个包含若干筐的第一哈希桶;客户端通过布谷鸟哈希算法将批量查询的索引填充进长度与第一哈希桶相同的第二哈希桶内,将填充结果利用定权码编码的方式进行编码;客户端将得到的编码结果使用同态加密技术进行加密作为批量查询请求;服务端将批量查询请求利用同态加密技术与第一哈希桶进行比较,获得对应的中间结果,将中间结果与原数据库进行相应的计算,得到对应的查询结果密文;客户端对查询结果密文进行解密,从而获得批量查询请求的查询结果。
Description
本发明属于密码学应用领域,尤其涉及一种批量隐私信息检索方法及装置。
互联网技术的飞速发展,使得云服务成为主流,大型服务商利用搭载在云服务器上的数据库为客户端提供服务,客户端通过访问云端的服务器获得信息,这一高效的服务模式下却存在隐私泄露风险,服务端能够获知用户端想要访问的具体内容,这在许多隐私敏感场景下是不被接受的,如医疗数据库等,基于隐私保护的信息检索方法能够避免这一安全问题。
传统的基于隐私保护的信息检索方法一次只能够处理一个query,而当用户同时有多个请求时,使用重复运行单词隐私信息检索方法无法获得更高的效率,其中包含大量的冗余步骤。使用批量隐私信息检索协议,其均摊计算开销远小于单词隐私信息查询方法,但对于以往的批量隐私信息检索方法,如Hao Chen等人提出的SealPIR,其首次将布谷鸟哈希技术与批量查询相结合,但由于其使用了普通的编码特性,其在降低均摊计算开销的同时需要引入额外的通信开销。RA Mahdavi等人首次提出将定权码编码应用于隐私信息检索方案,但其并未考虑批量检索的场景,且其实现方案没有充分利用同态加密的特性,计算效率无法应用于实际场景中。
发明内容
本申请实施例的目的是提供一种批量隐私信息检索方法及装置,以解决相关技术中存在的计算及通信开销过高实用性较低的技术问题,将定权码技术和布谷鸟哈希技术相结合,并针对同态加密计算特性优化,能够同时节省通信均摊开销及计算均摊开销,拥有更优的性能,能够更好的适用于实际场景。
根据本申请实施例的第一方面,提供一种批量隐私信息检索方法,包括:
客户端和服务端约定布谷鸟哈希技术中使用的哈希函数,将原数据库中的序号索引通过布谷鸟哈希技术进行计算,保留每位序号索引对于每个哈希函数的结果,得到一个包含若干筐的第一哈希桶,其中所述第一哈希桶中序号索引的结果对于服务端和客户端双方公开;
客户端通过布谷鸟哈希算法将批量查询的索引填充进长度与所述第一哈希桶相同的第二哈希桶内,其中在对应位置上填充为所述批量查询的索引在所述第一哈希桶的对应筐内的序列索引,将填充结果利用定权码编码的方式进行编码;
客户端将得到的编码结果使用同态加密技术进行加密作为批量查询请求,发送至服务端;
服务端将接收到的批量查询请求利用同态加密技术与所述第一哈希桶进行比较,获得对应的中间结果;
服务端将所述中间结果与所述原数据库进行相应的计算,得到所述批量查询请求对应的查询结果密文并发送至客户端;
客户端对所述查询结果密文进行解密,从而同时获得批量查询请求的查询结果。
进一步地,将填充结果利用定权码编码的方式进行编码,具体为:选择所述第一哈希桶中最大筐的长度n作为定权码的编码域,对应定权码的长度为m,选择定权码中1的数量k,将填充结果映射为定权码。
进一步地,客户端将得到的编码结果使用同态加密的SIMD技术进行加密。
进一步地,客户端将得到的编码结果使用同态加密的SIMD技术进行加密的过程具体为:对于长度为B的哈希桶,将哈希桶中B个对应第一位加密至同一个密文中,第二位加密至第二个密文中,依次类推,对应哈希桶中相应位置如为空,则默认定权码所有位为0。
进一步地,服务端将接收到的批量查询请求利用同态加密技术与所述第一哈希桶进行比较,获得对应的中间结果,包括:
将所述第一哈希桶的每个筐内的每一个序列索引进行对应的定权码编码;
对于每个序列索引,选择对应当前定权码为中对应位为1所在的密文,并利用同态加密的SIMD技术计算选择出的所有的密文的乘积,得到对应的中间结果。
进一步地,服务端将所述中间结果与所述原数据库进行相应的计算,得到所述批量查询请求对应的查询结果密文,包括:
将所述中间结果与所述原数据库的对应位置相乘,以获得原数据库对应位置的密文;
将每个筐中的所有结果相加,形成查询结果密文。
进一步地,当原数据库对应位置的内容长度超过SIMD技术的明文域时,将该内容切片,分别查询后形成若干查询结果密文,分别发送至客户端。
根据本申请实施例的第二方面,提供一种批量隐私信息检索装置,包括:
布谷鸟哈希模块,用于客户端和服务端约定布谷鸟哈希技术中使用的哈希函数,将原数据库中的序号索引通过布谷鸟哈希技术进行计算,保留每位序号索引对于每个哈希函数的结果,得到一个包含若干筐的第一哈希桶,其中所述第一哈希桶中序号索引的结果对于服务端和客户端双方公开;
编码模块,用于客户端通过布谷鸟哈希算法将批量查询的索引填充进长度与所述第一哈希桶相同的第二哈希桶内,其中在对应位置上填充为所述批量查询的索引在所述第一哈希桶的对应筐内的序列索引,将填充结果利用定权码编码的方式进行编码;
加密模块,用于客户端将得到的编码结果使用同态加密技术进行加密作为批量查询请求,发送至服务端;
比较模块,用于服务端将接收到的批量查询请求利用同态加密技术与所述第一哈希桶进行比较,获得对应的中间结果;
计算模块,用于服务端将所述中间结果与所述原数据库进行相应的计算,得到所述批量查询请求对应的查询结果密文并发送至客户端;
解密模块,用于客户端对所述查询结果密文进行解密,从而同时获得批量查询请求的查询结果。
根据本申请实施例的第三方面,提供一种电子设备,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如第一方面所述的方法。
根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如第一方面所述方法的步骤。
本申请的实施例提供的技术方案可以包括以下有益效果:
由上述实施例可知,本申请通过重新设计批量隐私信息检索具体查询方案,结合布谷鸟哈希、定权码编码及同态加密下SIMD技术,利用不同技术的优点结合具体场景设计优化查询算法,极大的降低了计算开销,减少批量隐私信息检索所需要的查询时间,使得查询方案能够更适用于实际场景,同时本方案下的批量隐私信息检索相比同类方案,能够极大的降低通信开销,大幅减小上传请求密文大小,具体的,针对百万条(220个)数据(每个数据长度设为256Bytes)的数据库在批量完成两千次查询时,其每次查询所需的均摊时间为3.9毫秒,相比以往批量查询在上传部分通信量减少约为75倍。本方案能够实现隐私保护下的批量信息检索服务,且通信开销及计算开销远低于之前的解决方案。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1是根据一示例性实施例示出的一种批量隐私信息检索方法的流程图。
图2是根据一示例性实施例示出的基于所有序号保留哈希函数结果的示意图。
图3是根据一示例性实施例示出的客户端发出请求的加密过程示意图。
图4是根据一示例性实施例示出的遍历筐中序号索引时针对每个索引的的算法示意图。
图5是根据一示例性实施例示出的利用中间结果返回数据库内容的算法示意图。
图6是根据一示例性实施例示出的一种批量隐私信息检索装置的框图。
图7是根据一示例性实施例示出的一种电子设备的示意图。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
图1是根据一示例性实施例示出的一种批量隐私信息检索方法的流程图,如图1所示,该方法应用于终端中,可以包括以下步骤:
(1)客户端和服务端约定布谷鸟哈希技术中使用的哈希函数,将原数据库中的序号索引通过布谷鸟哈希技术进行计算,保留每位序号索引对于每个哈希函数的结果,得到一个包含若干筐的第一哈希桶,其中所述第一哈希桶中序号索引的结果对于服务端和客户端双方公开;
(2)客户端通过布谷鸟哈希算法将批量查询的索引填充进长度与所述第一哈希桶相同的第二哈希桶内,其中在对应位置上填充为所述批量查询的索引在所述第一哈希桶的对应筐内的序列索引,将填充结果利用定权码编码的方式进行编码;
(3)客户端将得到的编码结果使用同态加密技术进行加密作为批量查询请求,发送至服务端;
(4)服务端将接收到的批量查询请求利用同态加密技术与所述第一哈希桶进行比较,获得对应的中间结果;
(5)服务端将所述中间结果与所述原数据库进行相应的计算,得到所述批量查询请求对
应的查询结果密文并发送至客户端;
(6)客户端对所述查询结果密文进行解密,从而同时获得批量查询请求的查询结果。
在具体实施中,本申请可应用于如医疗数据库等场景,访问者(客户端)期望通过查询某一系列药品的详细说明如对应治疗病症、禁忌反应、使用说明、库存等,同时不期望该医疗数据库拥有者(服务端)知道访问者对哪一系药品感兴趣,如服务端知道当前查询用户所感兴趣的药品列表,即可推断出客户端当前可能患有某种疾病等,如乙肝等,用户本身的身体情况应当为敏感隐私信息,不期望暴露给服务端,在无意中的泄露可能导致带来不必要的麻烦,敏感信息泄露的可能性也会使部分患者担心泄露风险从而放弃查询功能,错失部分有效治疗信息。此外,本协议也能够应用于其它隐私计算协议中的基本模块,如用于单次隐私查询的离线加速部分或隐私机器学习中的批量查表操作等。以下结合药品信息查询进行描述。
(1)客户端和服务端约定布谷鸟哈希技术中使用的哈希函数,将原数据库中的序号索引过布谷鸟哈希算法进行计算,保留每位序号索引对于每个哈希函数的结果,得到一个包含若干筐的第一哈希桶,其中所述第一哈希桶中序号索引的结果对于服务端和客户端双方是公开的,示例如图2所示。
所述原数据库中的序号索引对服务端和客户端双方均是公开的,序号索引对应的元素对服务端公开、对客户端不公开。在具体实施中,服务端拥有医疗数据库,以药品数据库为例,数据库中包含药品的详细说明如治疗病症、禁忌反应、使用说明、库存等,客户端想要了解一系列药品的具体信息,同时不想暴露自己对这系列药品感兴趣,因为此类信息会间接泄露客户端的身体情况,客户端能够通过所需药品编号查询数据库了解药品的详细说明,且同时支持查询多个药品,查询后,服务端无法判断客户端关心哪些药品的信息,从而无法根据查询推断出用户的身体情况等有效信息,客户端在进行一些敏感类疾病的药物查询时不必担心查询过程中个人身体情况信息泄露。布谷鸟哈希技术中包括多个不同的哈希函数,这里使用的布谷鸟哈希技术以及具体的哈希函数对于服务端和客户端都是公开的,本方法通常选择哈希函数数量为3。
具体地,对于每个序号索引,依序计算并保留3个哈希函数的结果,利用布谷鸟哈希算法将计算的结果均分在大小为B的第一哈希桶中,所述第一哈希桶包括若干筐,药品数据库中每个序号索引在每个筐中的位置对于服务端和客户端都是公开的。
对于哈希桶中的每个位置,有多个序号索引经过哈希函数运算后会被填入,假设哈希桶的长度为B,假设哈希桶大小其相当于将原数据库复制三倍后,利用布谷鸟哈希算法将复制后的数据库均分在B个位置。以便于步骤(2)中客户端在查询的时候,能够在每个筐内进行查询,此时每个筐的长度远小于分隔之前,这对于隐私信息检索过程是非常友好的。且运
行完所有哈希函数后的结果对于服务端和客户端双方都是公开的,即客户端能够知道每个元素在每个筐中的位置。
(2)客户端通过布谷鸟哈希算法将批量查询的索引填充进长度与所述第一哈希桶相同的第二哈希桶内,其中在对应位置上填充为所述批量查询的索引在所述第一哈希桶的对应筐内的序列索引,将填充结果利用定权码编码的方式进行编码;
具体地,本实施例中批量查询的索引为所需药品编号,本步骤的目的是将所有的序号索引都填入一个第二哈希桶中,其中第二哈希桶长度为B,则利用布谷鸟哈希算法,在一定失败率的前提下,能够将L个想要查询的请求利用该算法填充至B个位置中,当满足B=1.5L时,失败率为(1e-40),可以忽略不记。因此,本申请在具体实施中优选地预先确定每次批量查询的个数L,从而确定哈希桶的长度,进而开展步骤(1)~(6)的具体过程。由于布谷鸟哈希算法的特性,第二哈希桶中每个索引被填充的位置,一定是布谷鸟哈希函数结果,即一定会出现在对应第一哈希桶相应位置所在筐中,此时只需使用框内的列索引在筐中选取元素即可。
需要说明的是,由于步骤(1)获得的结果对于双方是公开的,且保留了所有哈希函数的结果,其相当于将数据库在重复3倍后重新划分在B个筐中。客户端对于索引运行普通的布谷鸟哈希算法,即对于每个索引只会保留其中一个哈希结果,遇见哈希冲突问题时,会使用解决冲突的策略重新计算冲突结果的哈希值,每个索引在布谷鸟哈希算法后在哈希桶中只会出现一次当客户端将所有需要查询的索引填充进长度为B的第二哈希桶内后,相当于在每一个筐中取回了一个数据,而每个筐的大小远小于原数据库的大小,将利用布谷鸟哈希后每个需要查询的序号映射到对应的位置,即获得元素所在的筐,将对应的序号索引替换为所在筐需要查询的对应索引。
具体地,选择所述第一哈希桶中最大筐的长度n作为定权码的编码域,对应定权码的长度为m,选择定权码中1的数量为k,通常本方法推荐k为2时能获得计算量和通信量的平衡,将每一个由(2.2)得到的具体筐内索引使用定权码进行编码,以下伪代码提供了一种稳定的从普通序号到定权码的映射方式,定权码长度m满足远小于普通自然数序号编码方式:
本算法输入为序号索引i,为1-n间的整数,并输入定权码长度m,确定定权码中1的数量。输出定权码的编码结果。初始化变量j等于i,变量l为k,使用循环对m位定权码的每一位进行运算,m′为当前计算位,当j结果大于等于时,则令输出的定权码中当前的计算位为1,同时减小l的值表示仍有l个1未出现,当l为0时退出循环,表示定权码剩余位置中不再有1出现。
需要说明的是,序号映射至定权码的方法可以随机定义,只要服务端和客户端实现约定同一种映射即可。在另一实施例中,如图3中所示,采取随机映射实现序号至定权码的映射,当客户端与服务端使用相同的从普通序号到定权码的映射时,不会影响本方法的其它步骤,实际中n远大于k,使用定权码编码长度小于普通序号编码。
(3)客户端将得到的编码结果使用同态加密技术进行加密作为批量查询请求,发送至服务端;
使用同态加密中的SIMD(Single Instruction Multiple Data,单指令流多数据流)技术对定权码结果进行加密,具体加密方法为:将哈希桶中B个对应第一位加密至同一个密文中,第二位加密至第二个密文中,依次类推,对应哈希桶中相应位置如为空,则默认定权码所有位为0。对于SIMD技术,一次支持将哈希桶中的N个定权码的对应位加密至同一个密文中,其中N取决于同态加密选择的多项式次数,对于服务端和客户端是公开的,为方便表示,图中选择N=B,示例见图3,在实际应用场景中N取值一般为4096、8192或16384。
使用同态加密中的对称加密算法进行加密,其相对于公钥加密而言,能够减小密文的大小,将加密后的结果全部发送给服务端,密文个数为m*B/N。
(4)服务端将接收到的批量查询请求利用同态加密技术与所述第一哈希桶进行比较,获得对应的中间结果;如图4所示,可以包括以下过程:
(4.1)将所述第一哈希桶的每个筐内的每一个序列索引进行对应的定权码编码。
具体地,采用与步骤(2)中相同的定权码映射方法,服务端与客户端事先约定使用相同的同态加密算法。
(4.2)对于每个序列索引,选择对应当前定权码为中对应位为1所在的密文,并利用同态加密的SIMD技术计算选择出的所有的密文的乘积,得到对应的中间结果,其中同态加密算法支持密文乘操作,且SIMD技术能够同时对N个筐执行相同的计算操作。
经过(4.2)后,若当前处理的定权码,等于对应筐中所取序号索引的定权码,则乘积结果对应位置为加密的1,否则为0,遍历所有定权码,存储所有的乘积结果。
(5)服务端将所述中间结果与所述原数据库进行相应的计算,得到所述批量查询请求对应的查询结果密文并发送至客户端,如图5所示。
(5.1)将所述中间结果与所述原数据库的对应位置相乘,以获得原数据库对应位置的密文;
(5.2)将每个筐中的所有列的结果相累加,形成查询结果密文,减少回传通信量。由于对于每个筐内,经过4.3的操作,最多只有一个加密位置为1,所以将每个筐内位置相加时,不会影响5.1获得对应数据库索取位置的内容。
在具体实施中,当数据库内容长度超过SIMD技术的明文域时,将数据库内容切片,分别查询后传回,其中步骤4获得的结果可以复用。
如对通信量有更高的要求,如数据库信息长度较大时,则可以通过重塑数据库和请求明文打包方式结合旋转操作重新组合回传结果,进一步减少通信及计算开销。当B小于N时,则结果仍有压缩空间,具体表示为:
可将(2)中每个筐中的n个元素进行拆分,拆分为N/B块,纵向拼接,数据库重塑为N个筐,每个筐最大长度为n*B/N,此时对应的编码长度m相应减小,进一步减少计算过程中的计算量。由于返回的密文中的N/B个筐的结果,来自于原始的同一个筐中,即只会出现一个密文对应的明文是有效信息,其余均是0,此时若原始数据库信息长度长于SIMD技术的单个明文域时,会进行切片并获得多个查询结果,通过将每个查询结果旋转B相应的倍数后,其中SIMD技术支持对加密后的密文旋转任意槽个数,对于结果进行累加,则最多每N/B个密文能够累加在一起,且不会影响最终的查询结果。对于放回通信量,能够缩小N/B倍。
本申请提出的旋转及合并算法,能够进一步压缩返回结果密文大小,更适用于实际中的网络环境,具体地,针对百万条(220个)数据(每个数据长度设为20KB)的数据库在批量完成两千次查询时,其每次查询所需的均摊时间为0.27秒,相比以往批量查询在上传部分通信量减少约为75倍,下行通信量与其他同类方案持平(若不进行旋转,该场景下的下行通信
量会出现膨胀)。
(6)客户端对所述查询结果密文进行解密,从而同时获得批量查询请求的查询结果。
具体地,将回传得到的密文利用在加密时生成的私钥利用同态加密原理进行解密操作,同时利用中国剩余定理进行解码,此时客户端能够得到所查询的对应信息。如果使用了旋转操作重新组合回传结果,由于客户端已知服务端的旋转算法,即服务端知晓对应信息出现的具体位置,通过重新组合排列后即可获得所需的药品信息。
与前述的批量隐私信息检索方法的实施例相对应,本申请还提供了批量隐私信息检索装置的实施例。
图6是根据一示例性实施例示出的一种批量隐私信息检索装置筐图。参照图6,该装置可以包括:
布谷鸟哈希模块21,用于客户端和服务端约定布谷鸟哈希技术中使用的哈希函数,将原数据库中的序号索引通过布谷鸟哈希技术进行计算,保留每位序号索引对于每个哈希函数的结果,得到一个包含若干筐的第一哈希桶,其中所述第一哈希桶中序号索引的结果对于服务端和客户端双方公开;
编码模块22,用于客户端通过布谷鸟哈希算法将批量查询的索引填充进长度与所述第一哈希桶相同的第二哈希桶内,其中在对应位置上填充为所述批量查询的索引在所述第一哈希桶的对应筐内的序列索引,将填充结果利用定权码编码的方式进行编码;
加密模块23,用于客户端将得到的编码结果使用同态加密技术进行加密作为批量查询请求,发送至服务端;
比较模块24,用于服务端将接收到的批量查询请求利用同态加密技术与所述第一哈希桶进行比较,获得对应的中间结果;
计算模块25,用于服务端将所述中间结果与所述原数据库进行相应的计算,得到所述批量查询请求对应的查询结果密文并发送至客户端;
解密模块26,用于客户端对所述查询结果密文进行解密,从而同时获得批量查询请求的查询结果。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其
中的部分或者全部模块来实现本申请方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
相应的,本申请还提供一种电子设备,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述的批量隐私信息检索方法。如图7所示,为本发明实施例提供的一种批量隐私信息检索方法所在任意具备数据处理能力的设备的一种硬件结构图,除了图7所示的处理器、内存以及网络接口之外,实施例中装置所在的任意具备数据处理能力的设备通常根据该任意具备数据处理能力的设备的实际功能,还可以包括其他硬件,对此不再赘述。
相应的,本申请还提供一种计算机可读存储介质,其上存储有计算机指令,该指令被处理器执行时实现如上述的批量隐私信息检索方法。所述计算机可读存储介质可以是前述任一实施例所述的任意具备数据处理能力的设备的内部存储单元,例如硬盘或内存。所述计算机可读存储介质也可以是外部存储设备,例如所述设备上配备的插接式硬盘、智能存储卡(Smart Media Card,SMC)、SD卡、闪存卡(Flash Card)等。进一步的,所述计算机可读存储介还可以既包括任意具备数据处理能力的设备的内部存储单元也包括外部存储设备。所述计算机可读存储介质用于存储所述计算机程序以及所述任意具备数据处理能力的设备所需的其他程序和数据,还可以用于暂时地存储已经输出或者将要输出的数据。
本领域技术人员在考虑说明书及实践这里公开的内容后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。
应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。
Claims (10)
- 一种批量隐私信息检索方法,其特征在于,包括:客户端和服务端约定布谷鸟哈希技术中使用的哈希函数,将原数据库中的序号索引通过布谷鸟哈希技术进行计算,保留每位序号索引对于每个哈希函数的结果,得到一个包含若干筐的第一哈希桶,其中所述第一哈希桶中序号索引的结果对于服务端和客户端双方公开;客户端通过布谷鸟哈希算法将批量查询的索引填充进长度与所述第一哈希桶相同的第二哈希桶内,其中在对应位置上填充为所述批量查询的索引在所述第一哈希桶的对应筐内的序列索引,将填充结果利用定权码编码的方式进行编码;客户端将得到的编码结果使用同态加密技术进行加密作为批量查询请求,发送至服务端;服务端将接收到的批量查询请求利用同态加密技术与所述第一哈希桶进行比较,获得对应的中间结果;服务端将所述中间结果与所述原数据库进行相应的计算,得到所述批量查询请求对应的查询结果密文并发送至客户端;客户端对所述查询结果密文进行解密,从而同时获得批量查询请求的查询结果。
- 根据权利要求1所述的方法,其特征在于,将填充结果利用定权码编码的方式进行编码,具体为:选择所述第一哈希桶中最大筐的长度n作为定权码的编码域,对应定权码的长度为m,选择定权码中1的数量k,将填充结果映射为定权码。
- 根据权利要求1所述的方法,其特征在于,客户端将得到的编码结果使用同态加密的SIMD技术进行加密。
- 根据权利要求3所述的方法,其特征在于,客户端将得到的编码结果使用同态加密的SIMD技术进行加密的过程具体为:对于长度为B的哈希桶,将哈希桶中B个对应第一位加密至同一个密文中,第二位加密至第二个密文中,依次类推,对应哈希桶中相应位置如为空,则默认定权码所有位为0。
- 根据权利要求1所述的方法,其特征在于,服务端将接收到的批量查询请求利用同态加密技术与所述第一哈希桶进行比较,获得对应的中间结果,包括:将所述第一哈希桶的每个筐内的每一个序列索引进行对应的定权码编码;对于每个序列索引,选择对应当前定权码为中对应位为1所在的密文,并利用同态加密的SIMD技术计算选择出的所有的密文的乘积,得到对应的中间结果。
- 根据权利要求1所述的方法,其特征在于,服务端将所述中间结果与所述原数据库进行相应的计算,得到所述批量查询请求对应的查询结果密文,包括:将所述中间结果与所述原数据库的对应位置相乘,以获得原数据库对应位置的密文;将每个筐中的所有结果相加,形成查询结果密文。
- 根据权利要求6所述的方法,其特征在于,当原数据库对应位置的内容长度超过SIMD技术的明文域时,将该内容切片,分别查询后形成若干查询结果密文,分别发送至客户端。
- 一种批量隐私信息检索装置,其特征在于,包括:布谷鸟哈希模块,用于客户端和服务端约定布谷鸟哈希技术中使用的哈希函数,将原数据库中的序号索引通过布谷鸟哈希技术进行计算,保留每位序号索引对于每个哈希函数的结果,得到一个包含若干筐的第一哈希桶,其中所述第一哈希桶中序号索引的结果对于服务端和客户端双方公开;编码模块,用于客户端通过布谷鸟哈希算法将批量查询的索引填充进长度与所述第一哈希桶相同的第二哈希桶内,其中在对应位置上填充为所述批量查询的索引在所述第一哈希桶的对应筐内的序列索引,将填充结果利用定权码编码的方式进行编码;加密模块,用于客户端将得到的编码结果使用同态加密技术进行加密作为批量查询请求,发送至服务端;比较模块,用于服务端将接收到的批量查询请求利用同态加密技术与所述第一哈希桶进行比较,获得对应的中间结果;计算模块,用于服务端将所述中间结果与所述原数据库进行相应的计算,得到所述批量查询请求对应的查询结果密文并发送至客户端;解密模块,用于客户端对所述查询结果密文进行解密,从而同时获得批量查询请求的查询结果。
- 一种电子设备,其特征在于,包括:一个或多个处理器;存储器,用于存储一个或多个程序;当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7任一项所述的方法。
- 一种计算机可读存储介质,其上存储有计算机指令,其特征在于,该指令被处理器执行时实现如权利要求1-7中任一项所述方法的步骤。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2023/095566 WO2024239204A1 (zh) | 2023-05-22 | 2023-05-22 | 一种批量隐私信息检索方法及装置 |
| US18/632,273 US12174990B2 (en) | 2023-05-22 | 2024-04-10 | Batch privacy information retrieval method and apparatus |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/CN2023/095566 WO2024239204A1 (zh) | 2023-05-22 | 2023-05-22 | 一种批量隐私信息检索方法及装置 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/632,273 Continuation US12174990B2 (en) | 2023-05-22 | 2024-04-10 | Batch privacy information retrieval method and apparatus |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024239204A1 true WO2024239204A1 (zh) | 2024-11-28 |
Family
ID=93564794
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/095566 Ceased WO2024239204A1 (zh) | 2023-05-22 | 2023-05-22 | 一种批量隐私信息检索方法及装置 |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US12174990B2 (zh) |
| WO (1) | WO2024239204A1 (zh) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120277104A (zh) * | 2025-06-10 | 2025-07-08 | 浙江理工大学 | 基于分层动态恒权码的关键词私有信息检索方法及装置 |
| CN121029976A (zh) * | 2025-10-30 | 2025-11-28 | 济南大学 | 一种基于倒排索引的多关键字私有信息检索方法及系统 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190026491A1 (en) * | 2017-07-24 | 2019-01-24 | Mediasift Limited | Event processing system |
| CN113343305A (zh) * | 2021-06-29 | 2021-09-03 | 招商局金融科技有限公司 | 隐私数据的交集计算方法、装置、设备及存储介质 |
| CN114661680A (zh) * | 2022-05-25 | 2022-06-24 | 蓝象智联(杭州)科技有限公司 | 一种私有数据隐匿共享方法 |
| CN115529118A (zh) * | 2022-08-25 | 2022-12-27 | 山东大学 | 一种基于全同态加密的隐私集合运算方法及系统 |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10853422B2 (en) * | 2018-04-19 | 2020-12-01 | Microsoft Technology Licensing, Llc | Private information retrieval with probabilistic batch codes |
| US11750363B2 (en) * | 2020-11-04 | 2023-09-05 | Bitdefender IPR Management Ltd. | Privacy-preserving domain name service (DNS) |
-
2023
- 2023-05-22 WO PCT/CN2023/095566 patent/WO2024239204A1/zh not_active Ceased
-
2024
- 2024-04-10 US US18/632,273 patent/US12174990B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20190026491A1 (en) * | 2017-07-24 | 2019-01-24 | Mediasift Limited | Event processing system |
| CN113343305A (zh) * | 2021-06-29 | 2021-09-03 | 招商局金融科技有限公司 | 隐私数据的交集计算方法、装置、设备及存储介质 |
| CN114661680A (zh) * | 2022-05-25 | 2022-06-24 | 蓝象智联(杭州)科技有限公司 | 一种私有数据隐匿共享方法 |
| CN115529118A (zh) * | 2022-08-25 | 2022-12-27 | 山东大学 | 一种基于全同态加密的隐私集合运算方法及系统 |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN120277104A (zh) * | 2025-06-10 | 2025-07-08 | 浙江理工大学 | 基于分层动态恒权码的关键词私有信息检索方法及装置 |
| CN121029976A (zh) * | 2025-10-30 | 2025-11-28 | 济南大学 | 一种基于倒排索引的多关键字私有信息检索方法及系统 |
Also Published As
| Publication number | Publication date |
|---|---|
| US20240394402A1 (en) | 2024-11-28 |
| US12174990B2 (en) | 2024-12-24 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN110224986B (zh) | 一种基于隐藏策略cp-abe的高效可搜索访问控制方法 | |
| CN111026788B (zh) | 一种混合云中基于同态加密的多关键词密文排序检索方法 | |
| US8904171B2 (en) | Secure search and retrieval | |
| CN101436208B (zh) | 一种密文数据库隐私保护查询方法 | |
| Wagh et al. | Differentially private oblivious ram | |
| CN110337649A (zh) | 用于搜索模式未察觉的动态对称可搜索加密的方法和系统 | |
| US20240394402A1 (en) | Batch privacy information retrieval method and apparatus | |
| CN116842242B (zh) | 一种批量隐私信息检索方法及装置 | |
| CN108595554B (zh) | 一种基于云环境的多属性范围查询方法 | |
| CN109981643A (zh) | 一种细粒度查询授权的可搜索加密方法及系统 | |
| WO2018070932A1 (en) | System and method for querying an encrypted database for documents satisfying an expressive keyword access structure | |
| CN118541693A (zh) | 多键信息检索 | |
| CN106874516A (zh) | 一种云存储中基于kcb树和布隆过滤器的高效密文检索方法 | |
| EP4185978A1 (en) | Encrypted information retrieval | |
| CN115310125A (zh) | 一种加密数据检索系统、方法、计算机设备及存储介质 | |
| CN121255849B (zh) | 基于可验证布隆过滤器的批量检索方法及电子设备 | |
| CN119885260B (zh) | 一种边缘辅助云的安全分层重复数据处理方法 | |
| CN107329911B (zh) | 一种基于cp-abe属性访问机制的缓存替换方法 | |
| CN117914593A (zh) | 数据加密方法、数据解密方法、装置、设备和可读介质 | |
| Yu et al. | Efficient encrypted range query on cloud platforms | |
| CN117336010A (zh) | 基于可信执行环境的轻量级布尔查询可搜索对称加密方法 | |
| CN115102733A (zh) | 一种高效打包的图像加密检索方法 | |
| CN120750655B (zh) | 一种密文可搜索的策略隐藏属性基加密方法 | |
| CN119249500B (zh) | 数据管理方法及装置、电子设备及存储介质 | |
| CN112486412A (zh) | 一种基于分布式对象存储系统安全的信息分散方法及系统 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23937881 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 23937881 Country of ref document: EP Kind code of ref document: A1 |