Batch privacy information acquisition method based on an inadvertent pseudo-random function and a hash function

By combining an unintentional pseudo-random function and a hash function, the problems of large computational load and lack of support for batch retrieval in existing PIR query systems are solved, achieving efficient batch acquisition of privacy information and making it suitable for large-scale data transmission.

CN116541868BActive Publication Date: 2025-11-18SHENGJI (BEIJING) TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310678872.2
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-08
Publication Date
2025-11-18
Estimated Expiration
2043-06-08

AI Technical Summary

Technical Problem

Existing PIR query systems are computationally intensive and do not support batch retrieval, making it difficult to efficiently obtain information while protecting user privacy.

Method used

It employs a method based on unintentional pseudo-random functions and hash functions, and uses Cuckoo Hash and OPRF protocol to achieve data encryption and decryption, supporting the acquisition of batch privacy information.

Benefits of technology

It enables the transmission of messages of any size and number while protecting user privacy, with low computational complexity and support for the batch acquisition of privacy information from large-scale data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116541868B_ABST
    Figure CN116541868B_ABST
Patent Text Reader

Abstract

The present application provides a batch privacy information acquisition method based on an inadvertent pseudo-random function and a hash function, and belongs to the technical field of privacy information acquisition. Specifically, the method comprises the following steps: S1. A querying party randomly selects four hash functions h1, h2, h3 and H and shares them with a data party; S2. The querying party performs cuckoo hashing on a keyword b corresponding to data to be queried according to the hash functions h1, h2 and h3; S3. The querying party and the data party perform an OPRF protocol; S4. The data party sends an encrypted data corresponding keyword d and a message m to the querying party; and S5. The querying party receives the encrypted data corresponding keyword and the message sent by the data party, and judges whether the message can be successfully decrypted. The present application solves the technical problems of large amount of calculation and non-support of batch retrieval in the prior art, and can transmit messages of any size and any quantity and perform batch privacy information acquisition.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to methods for obtaining privacy information, and more particularly to a method for obtaining batch privacy information based on unintentional pseudo-random functions and hash functions, belonging to the field of privacy information acquisition technology. Background Technology

[0002] Private Information Retrieval (PIR) technology is an information retrieval technique that protects user queries while ensuring the privacy of personal information on public network platforms. When a user searches for information in a database, PIR employs methods to protect the user's query privacy, preventing the database server from knowing information related to the user's query. The development and widespread adoption of PIR require continuous improvement in privacy protection technologies, as well as increased public awareness of privacy protection.

[0003] Currently, mainstream PIR query systems fall into two categories: one based on homomorphic encryption, and the other based on oblivious transfer (OT) and oblivious pseudorandom function (OPRF). However, homomorphic encryption is highly complex, requires significant computation, and typically does not support batch retrieval. Summary of the Invention

[0004] A brief overview of the invention is given below to provide a basic understanding of certain aspects of it. It should be understood that this overview is not an exhaustive summary of the invention. It is not intended to identify key or essential parts of the invention, nor is it intended to limit the scope of the invention. Its purpose is merely to present certain concepts in a simplified form as a prelude to the more detailed description that follows.

[0005] In view of this, in order to solve the technical problems of large computational load and lack of support for batch retrieval in the existing technology, the present invention provides a batch privacy information acquisition method based on unintentional pseudo-random functions and hash functions.

[0006] Option 1: A batch privacy information acquisition method based on unintentional pseudo-random functions and hash functions, including a querying party and a data party. The data party's dataset D includes keywords d and messages m corresponding to the data stored locally; the querying party's dataset B includes keywords b corresponding to the data to be queried. When the keyword d corresponding to the data stored locally by the data party matches the keyword b corresponding to the data to be queried, the data party sends a message to the querying party; otherwise, no information is provided, and the data party cannot know the querying party's dataset B. Assume that the data party and the querying party have shared the pseudo-random function F(·,·) in advance, specifically including the following steps:

[0007] S1. The querying party randomly selects four hash functions h1, h2, h3, and H and shares them with the data party;

[0008] S2. The querying party performs a cuckoo hash on the keyword b corresponding to the data to be queried based on the hash functions h1, h2, h3.

[0009] S3. The querying party and the data party execute the OPRF protocol;

[0010] S4. The data provider sends the keyword d and message m corresponding to the encrypted data to the querying party;

[0011] S5. The querying party receives the keywords and messages corresponding to the encrypted data sent by the data provider, and determines whether the querying party can successfully decrypt the messages.

[0012] Preferably, S2 specifically involves mapping the keyword b corresponding to the data to 1.2n bins, denoted as h. z(b) (b), where z(b)∈{1,2,3}, if the keyword b corresponding to the data to be queried cannot be mapped to bin using hash functions h1,h2,h3, then the data is mapped to the stash bucket and denoted as b.

[0013] Preferably, in S3, when the querying party and the data party execute the OPRF protocol, the querying party determines the input value based on the position of the keyword b corresponding to the data to be queried, while the data party input value is empty; the querying party output is F(k i ,r i ), where k i r represents the key randomly generated by the OPRF protocol. i This represents the input value from the query side; the output from the data side is k. i .

[0014] Preferably, the method for determining the query input value based on the position of keyword 'b' corresponding to the data to be queried is:

[0015] When the keyword b corresponding to the data to be queried is located in bin, and bin contains an empty space and b||z(b), then the empty space is set to a random value; the OPRF protocol input value is a random value and b||z(b);

[0016] When the keyword b corresponding to the data to be queried is located in the stash bucket, the OPRF protocol input value is b.

[0017] Preferably, S4 specifically includes the following steps:

[0018] S41. Input the key randomly generated by the data party according to the OPRF protocol and the keyword d corresponding to the data into the pseudo-random function F(·,·) to obtain;

[0019] G q =F(k) i ,d||q),i∈{1,…,1.2n},d∈D,q∈{1,2,3}

[0020] Among them, G q F(k) represents i A set of d||q), where q represents the hash identifier;

[0021] S42. The data provider encrypts the keyword d corresponding to the data:

[0022]

[0023] Where c represents the set of keywords d corresponding to the encrypted data, Enc(·,k) sym ) represents symmetric cryptography, m represents the message from the data side, H(d) represents the value of hashing the keyword d corresponding to the data using the H hash function, and M(d) represents the message m corresponding to d;

[0024] S43. Input the key randomly generated by the data party according to the OPRF protocol and the keyword d corresponding to the data into the pseudo-random function F(·,·) to obtain;

[0025] S={F(k i ,d)|d∈D},i∈{1.2n+1,…,1.2n+s}

[0026] Where S represents F(k) i The set of ,d);

[0027] S44. The data provider encrypts message m:

[0028]

[0029] Among them, c i Represents a collection of encrypted messages;

[0030] S45. Randomly obfuscate the order of keywords and messages corresponding to the encrypted data sent to the querying party.

[0031] Preferably, S45 specifically refers to: keywords d and G corresponding to the data. q G is obtained by corresponding the data in c. q c = {G q ,c},S and c i The data in the middle correspond to each other to obtain Sc i ={S,c i}, G q c and Sc are sent to the querying party after being sorted out in order.

[0032] Preferably, the method by which the querying party determines whether the message can be successfully decrypted is: the querying party determines the position of the keyword b corresponding to the data to be queried;

[0033] When the keyword b corresponding to the data to be queried is located in bin, F(k) will be used. i ,r i ) and G q F(k) in c i Match ,d||q) and if the match is successful, then according to F(k i ,d||q) in G q c finds the keyword d corresponding to the encrypted data and decrypts it to obtain the message;

[0034] When the keyword b corresponding to the data to be queried is located in the stash bucket, F(k) will be used. i ,r i ) and Sc i F(k) i Matching is performed using F(k), and if a match is successful, then the result is determined according to F(k). i ,d) in Sc i Find the corresponding encrypted message c i Decrypt the message to obtain the result.

[0035] Option 2: An electronic device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps of the batch privacy information acquisition method based on an unintentional pseudo-random function and a hash function as described in Option 1.

[0036] Option 3: A computer-readable storage medium storing a computer program thereon, wherein the computer program, when executed by a processor, implements the batch privacy information acquisition method based on an unintentional pseudo-random function and a hash function as described in Option 1.

[0037] The beneficial effects of this invention are as follows:

[0038] 1. This invention can transmit messages of any size and any number;

[0039] 2. The invention treats keyword querying as a problem of finding the intersection of privacy sets based on unintentional transmission and unintentional pseudo-random functions, and then simplifies information acquisition to symmetric encryption and decryption, enabling batch acquisition of privacy information;

[0040] 3. This invention has low computational complexity when the database sizes of both parties are similar and relatively large. Attached Figure Description

[0041] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0042] Figure 1 This is a schematic diagram of a batch privacy information acquisition method based on an unintentional pseudo-random function and a hash function. Detailed Implementation

[0043] To make the technical solutions and advantages of the embodiments of this application clearer, the exemplary embodiments of this application will be described in further detail below with reference to the accompanying drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not an exhaustive list of all embodiments. It should be noted that, unless otherwise specified, the embodiments and features in the embodiments of this application can be combined with each other.

[0044] Example 1, Reference Figure 1 This implementation describes a batch privacy information acquisition method based on an unintentional pseudo-random function and a hash function, comprising a querying party and a data party. The data party's dataset D includes keywords d and messages m corresponding to locally stored data; the querying party's dataset B includes keywords b corresponding to the data to be queried. When the keyword d corresponding to the locally stored data of the data party matches the keyword b corresponding to the data to be queried, the data party sends a message to the querying party; otherwise, no information is provided, and the data party cannot know the querying party's dataset B. Assuming that the data party and the querying party have shared the pseudo-random function F(·,·) in advance, the specific steps include:

[0045] S1. The querying party randomly selects four hash functions h1, h2, h3, and H and shares them with the data party;

[0046] S2. The querying party performs a cuckoo hash on the keyword b corresponding to the data to be queried based on hash functions h1, h2, h3, mapping it to 1.2n bins, denoted as h. z(b) (b), where z(b)∈{1,2,3}, if the keyword b corresponding to the data to be queried cannot be mapped to bin using hash functions h1,h2,h3, then the data is mapped to the stash bucket and denoted as b;

[0047] S3. The querying party and the data party execute the OPRF protocol: the querying party's input value is determined based on the position of the keyword 'b' corresponding to the data to be queried, while the data party's input value is empty; the querying party's output is F(k). i ,r i ), where k i represents the key randomly generated by the OPRF protocol, and represents the input value from the querying party; the output from the data party is k. i ;

[0048] The method for determining the query input value based on the position of keyword 'b' corresponding to the data to be queried is as follows:

[0049] When the keyword b corresponding to the data to be queried is located in bin, and bin contains an empty space and b||z(b), then the empty space is set to a random value; the OPRF protocol input value is a random value and b||z(b);

[0050] When the keyword b corresponding to the data to be queried is located in the stash bucket, the OPRF protocol input value is b;

[0051] S4. The data provider sends the keyword d and message m corresponding to the encrypted data to the querying party;

[0052] S41. Input the key randomly generated by the data party according to the OPRF protocol and the keyword d corresponding to the data into the pseudo-random function F(·,·) to obtain;

[0053] G q =F(k) i ,d||q),i∈{1,…,1.2n},d∈D,q∈{1,2,3}

[0054] Among them, G q F(k) represents i A set of d||q), where q represents the hash identifier;

[0055] S42. The data provider encrypts the keyword d corresponding to the data:

[0056]

[0057] Where c represents the set of keywords d corresponding to the encrypted data, Enc(·,k) sym ) represents symmetric cryptography, m represents the message from the data side, H(d) represents the value of hashing the keyword d corresponding to the data using the H hash function, and M(d) represents the message m corresponding to d;

[0058] S43. Input the key randomly generated by the data party according to the OPRF protocol and the keyword d corresponding to the data into the pseudo-random function F(·,·) to obtain;

[0059] S={F(k i ,d)|d∈D},i∈{1.2n+1,…,1.2n+s}

[0060] Where S represents F(k) i The set of ,d);

[0061] S44. The data provider encrypts message m:

[0062]

[0063] Among them, c i Represents a collection of encrypted messages;

[0064] S45. Randomly obfuscate the order of keywords and messages corresponding to the encrypted data sent to the querying party.

[0065] Regarding the keywords d and G corresponding to the data q G is obtained by corresponding the data in c. q c = {G q ,c},S and c i The data in the middle correspond to each other to obtain Sc i ={S,c i}, G q c and Sc are sent to the querying party after being sorted out in order.

[0066] S5. The querying party receives the keywords and messages corresponding to the encrypted data sent by the data provider, and determines whether the message can be successfully decrypted.

[0067] The querying party determines the position of keyword b corresponding to the data to be queried. When keyword b corresponding to the data to be queried is located in bin, F(k) is set. i ,r i ) and G q F(k) in c i Match ,d||q) and if the match is successful, then according to F(k i ,d||q) in G q c

[0068] Find the keyword d corresponding to the encrypted data and decrypt it. After decryption, the message is obtained. When the keyword b corresponding to the data to be queried is in the stash bucket, F(k) is used. i ,r i ) and Sc i F(k) i Matching is performed using F(k), and if a match is successful, then the result is determined according to F(k). i ,d) in Sc i Find the corresponding encrypted message c i Decrypt the message to obtain the result.

[0069] Specifically, this embodiment allows the data provider to modify the input b. i message m i There are different numbers of tags. For example, message m1 of b1 can contain one tag, and message m2 of b2 can contain two tags.

[0070] Example 2: The computer device of the present invention may include a processor and a memory, such as a microcontroller containing a central processing unit. Furthermore, when the processor executes the computer program stored in the memory, it implements the steps of the above-described batch privacy information acquisition method based on an unintentional pseudo-random function and a hash function.

[0071] The processor referred to can be a Central Processing Unit (CPU), or other general-purpose processors, digital signal processors (DSPs), application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. A general-purpose processor can be a microprocessor or any conventional processor.

[0072] The memory may primarily include a program storage area and a data storage area. The program storage area may store the operating system and at least one application program required for a function (such as sound playback, image playback, etc.); the data storage area may store data created based on the use of the mobile phone (such as audio data, phonebook, etc.). Furthermore, the memory may include high-speed random access memory, and may also include non-volatile memory, such as hard disks, RAM, plug-in hard disks, smart media cards (SMC), secure digital cards (SD cards), flash cards, at least one disk storage device, flash memory device, or other volatile solid-state storage devices.

[0073] Example 3: Computer-readable storage medium example

[0074] The computer-readable storage medium of the present invention can be any form of storage medium that can be read by the processor of a computer device, including but not limited to non-volatile memory, volatile memory, ferroelectric memory, etc. The computer-readable storage medium stores a computer program. When the processor of the computer device reads and executes the computer program stored in the memory, the steps of the above-mentioned batch privacy information acquisition method based on unintentional pseudo-random function and hash function can be implemented.

[0075] The computer program includes computer program code, which may be in the form of source code, object code, executable file, or some intermediate form. The computer-readable medium may include: any entity or device capable of carrying the computer program code, recording media, USB flash drive, portable hard drive, magnetic disk, optical disk, computer memory, read-only memory (ROM), random access memory (RAM), electrical carrier signals, telecommunication signals, and software distribution media, etc. It should be noted that the content included in the computer-readable medium may be appropriately added to or subtracted according to the requirements of legislation and patent practice in the jurisdiction. For example, in some jurisdictions, according to legislation and patent practice, computer-readable media may not include electrical carrier signals and telecommunication signals.

[0076] Although the invention has been described with reference to a limited number of embodiments, those skilled in the art will understand from the foregoing description that other embodiments are conceivable within the scope of the invention described herein. Furthermore, it should be noted that the language used in this specification has been chosen primarily for readability and instructional purposes, and not for the purpose of interpreting or limiting the subject matter of the invention. Therefore, many modifications and variations will be apparent to those skilled in the art without departing from the scope and spirit of the appended claims. The disclosure of the invention is illustrative and not restrictive, and the scope of the invention is defined by the appended claims.

Claims

1. A method for batch acquisition of privacy information based on unintentional pseudo-random functions and hash functions, characterized in that, The dataset consists of a querying party and a data party. The data party's dataset D includes keywords d and messages m corresponding to the data stored locally. The querying party's dataset B includes keywords b corresponding to the data to be queried. When the keyword d corresponding to the data stored locally by the data party matches the keyword b corresponding to the data to be queried, the data party sends a message to the querying party; otherwise, it provides no information, and the data party cannot know the querying party's dataset B. Assume that the data party and the querying party have shared a pseudo-random function in advance. Specifically, it includes the following steps: S1. The querying party randomly selects four hash functions. And share it with the data provider; S2. The querying party uses the hash function. Perform a cuckoo hash on the keyword 'b' corresponding to the data to be queried; S3. The querying party and the data party execute the OPRF protocol; S4. The data provider sends the keyword d and message m corresponding to the encrypted data to the querying party; S4 specifically includes the following steps: S41. Input the key randomly generated by the data provider according to the OPRF protocol and the keyword d corresponding to the data into the pseudo-random function. In the middle, we obtain; ; in, express The set, where q represents the hash identifier; S42. The data provider encrypts the keyword d corresponding to the data: ; in, This represents the set of keywords d corresponding to the encrypted data. This represents symmetric cryptography, where m represents the message from the data provider. This represents the value obtained by hashing the keyword d corresponding to the data using the H hash function. express Corresponding message ; S43. Input the key randomly generated by the data provider according to the OPRF protocol and the keyword d corresponding to the data into the pseudo-random function. In the middle, we obtain; S= i ; Where S represents A set; S44. The data provider encrypts message m: ; in, Represents a collection of encrypted messages; S45. Randomly obfuscate the order of keywords and messages corresponding to the encrypted data sent to the querying party; S5. The querying party receives the keywords and messages corresponding to the encrypted data sent by the data provider, and determines whether the querying party can successfully decrypt the messages.

2. The batch privacy information acquisition method based on unintentional pseudo-random functions and hash functions according to claim 1, characterized in that, S2 specifically involves mapping the keyword b corresponding to the data to... In bin, it is recorded as ,in, If the keyword 'b' corresponding to the data to be queried cannot be obtained using a hash function... If mapped to a bin, then the data is mapped to a stash bucket, denoted as... .

3. The batch privacy information acquisition method based on unintentional pseudo-random functions and hash functions according to claim 2, characterized in that, Specifically, in S3, when the querying party and the data party execute the OPRF protocol, the querying party's input value is determined based on the position of the keyword 'b' corresponding to the data to be queried, while the data party's input value is empty; the querying party's output is... ,in, This represents a key randomly generated by the OPRF protocol. This represents the input value from the query side; the output from the data side is... .

4. The batch privacy information acquisition method based on unintentional pseudo-random functions and hash functions according to claim 3, characterized in that, The method for determining the query input value based on the position of keyword 'b' corresponding to the data to be queried is as follows: when When located in bin, bin contains empty spaces and If so, the empty space will be set to a random value; The OPRF protocol input values ​​are random values ​​and ; When the keyword b corresponding to the data to be queried is located in the stash bucket, the OPRF protocol input value is b.

5. The batch privacy information acquisition method based on unintentional pseudo-random functions and hash functions according to claim 4, characterized in that, S45 specifically refers to the keyword d corresponding to the data. and The data in the middle correspond to each other to obtain S and The data in the middle correspond to each other to obtain ,Will and After obfuscating the order, it is sent to the querying party.

6. The batch privacy information acquisition method based on unintentional pseudo-random functions and hash functions according to claim 5, characterized in that, The method by which the querying party determines whether the message can be successfully decrypted is: the querying party determines the position of the keyword 'b' corresponding to the data to be queried; When the keyword 'b' corresponding to the data to be queried is located in bin, and In Perform a match; if a match is successful, then proceed according to... exist Find the keyword d corresponding to the encrypted data and decrypt it to obtain the message. When the keyword 'b' corresponding to the data to be queried is located in the stash bucket, In Perform a match; if a match is successful, then proceed according to... exist Find the corresponding encrypted message Decrypt the message to obtain the result.

7. An electronic device, characterized in that, The device includes a memory and a processor. The memory stores a computer program, and the processor executes the computer program to implement the steps of the batch privacy information acquisition method based on an unintentional pseudo-random function and a hash function as described in any one of claims 1-6.

8. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the computer program is executed by the processor, it implements the batch privacy information acquisition method based on an unintentional pseudo-random function and a hash function as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Efficient privacy set intersection calculation method and system based on assistance of cloud server

    CN112910631A

  • Privacy keyword query method, device and system

    CN115186145A