Compact public key searchable encryption method, apparatus, system, device and medium

Through the approximate trap gate sampling method and aspherical Gaussian sampling technology, the public key searchable encryption solution is optimized, and the public key searchable encryption solution in the prior art is solved in the quantum computer attack and storage overhead, and more efficient ciphertexts are achieved Retrieval and lower storage overhead.

CN118300772BActive Publication Date: 2024-12-13QUAN CHENG LABORATORY
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
CN202410568015.1
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2024-05-09
Publication Date
2024-12-13
Estimated Expiration
2044-05-09

AI Technical Summary

Technical Problem

Existing public key searchable encryption schemes have shortcomings in resisting quantum computer attacks, search efficiency and storage overhead, especially in the issue of ensuring low storage and high security at the same time.

Method used

The approximate trap gate sampling method and aspherical Gaussian sampling technology are used to combine the extensible output function to generate public and private keys, and these technologies generate searchable ciphertexts and search trap gates to achieve efficient ciphertext retrieval.

Benefits of technology

It reduces the storage overhead of public keys and trap gates, improves the efficiency of the system, effectively resists attacks from quantum computers, and provides an optimized verifiable public key searchable encryption solution.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN118300772B_ABST
    Figure CN118300772B_ABST
Patent Text Reader

Abstract

The present invention discloses a compact public key searchable encryption method, device, system, equipment and medium, belonging to the field of information encryption technology, and the method comprises the following steps: step 1, initializing the operating environment, generating the required public parameters; step 2, adopting the approximate trapdoor sampling method and the extensible output function, and running the key generation algorithm to generate the public key and the private key; step 3, generating the searchable ciphertext for the keyword attached to each encrypted file according to the public key, and uploading the generated searchable ciphertext and the ciphertext file together; step 4, based on the pre-set search keyword, adopting the non-spherical Gaussian sampling technology and the approximate trapdoor sampling algorithm, generating the retrieval trapdoor; step 5, retrieving all the searchable ciphertext according to the retrieval trapdoor, and returning the ciphertext files of all the matching searchable ciphertexts. The present invention has higher efficiency and lower public key and trapdoor storage, effectively resists the attack of quantum computers, and is better applied to the Internet of Things.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a compact public key searchable encryption method, device, system, equipment and medium, belonging to the technical field of information encryption. Background Art

[0002] The explosive growth of smart devices and the rapid development of wireless communication technology are driving the large-scale deployment of the Internet of Things. In order to better utilize the massive data obtained by IoT devices, more and more IoT applications (such as Alibaba, Google, etc.) choose to outsource data to the cloud. Users can use the unlimited computing power and storage space of cloud servers to store, analyze, and process data. However, the collaboration of cloud computing and the Internet of Things also brings many security challenges, such as incompletely trusted cloud servers and malicious eavesdroppers. To avoid privacy leakage, data is stored in encrypted form, so that performing searches or other operations on ciphertext can significantly enhance the usefulness of cloud computing.

[0003] Public key searchable encryption allows users to search for matching encrypted records (or files) based on keywords as needed, and is gaining more and more attention from academia and industry. However, most public key cryptographic schemes on the Internet are currently constructed based on integer factorization and discrete logarithm problems, such as the Diffie-Hellman protocol and the RSA encryption system. However, Shor gave an efficient quantum algorithm for the above-mentioned computationally difficult problems under classical computing, and showed that these number theory cryptographic schemes are insecure when large-scale scalable quantum computers are deployed in the future. But so far, there is no known efficient quantum algorithm that can solve the design of lattice-based cryptographic schemes.

[0004] In order to resist the attack of quantum computers, people have proposed several public key searchable encryption schemes with various characteristics. For example, Behnia et al. proposed public key searchable encryption schemes based on NTRU and LWE, respectively, and Qi et al. proposed a public key searchable encryption scheme based on RLWE. Due to low efficiency, high storage, low security, etc., the widespread adoption of these public key searchable encryption schemes in practice has been hindered. In summary, the current public key searchable encryption schemes still need to be improved in terms of simultaneously ensuring search efficiency, low storage overhead and resistance to internal keyword guessing attacks. Therefore, the present invention proposes a compact public key searchable encryption method. Summary of the invention

[0005] In order to solve the above problems, the present invention proposes a compact public key searchable encryption method, apparatus, system, device and medium, which has higher efficiency and lower public key and trapdoor storage, and can effectively resist the attack of quantum computers.

[0006] The technical solution adopted by the present invention to solve the technical problem is:

[0007] In a first aspect, an embodiment of the present invention provides a compact public key searchable encryption method, comprising the following steps:

[0008] Step 1: Initialize the operating environment and generate the required public parameters;

[0009] Step 2: Use the approximate trapdoor sampling method and the scalable output function, and run the key generation algorithm to generate the public key and the private key;

[0010] Step 3: Generate searchable ciphertext for the keywords attached to each encrypted file according to the public key, and upload the generated searchable ciphertext together with the ciphertext file;

[0011] Step 4, based on the pre-set search keywords, using the aspherical Gaussian sampling technology and the approximate trapdoor sampling algorithm to generate a retrieval trapdoor;

[0012] Step 5: retrieve all searchable ciphertexts according to the retrieval trapdoor, and return the ciphertext files of all matching searchable ciphertexts.

[0013] As a possible implementation of this embodiment, the public parameters include: security parameter λ, seed length l s , lattice trapdoor parameters p and l, modulus q = p·l, base b of the logarithmic function log, dimension of the vector Polynomial Ring n is the dimension of the polynomial ring, Gaussian parameters σ, σ1, σ2, τ, r and exist Discrete Gaussian distribution with upper width parameter τ

[0014] As a possible implementation of this embodiment, the method of using an approximate trapdoor sampling method and an extensible output function and running a key generation algorithm to generate a public key and a private key includes:

[0015] Select a s The random seed of 10 bits is used to replace a, and the extensible output function is used to generate the preset public key a, a←XOF(seed), where

[0016] Order tool vector make Then there is The vector obtained As the public key, the vector The trapdoor R is used as the private key;

[0017] Replace [1, a, b] with [seed, b], and use the KeyGen(λ) algorithm to generate the public key PK=(seed, b) and the private key SK=R, where λ is the security parameter preset by the system.

[0018] As a possible implementation of this embodiment, generating a searchable ciphertext for a keyword attached to each encrypted file according to a public key includes:

[0019] Calculate the actual public key parameters based on the public key seed;

[0020] Calculate the hash value of the keyword appended to each encrypted file;

[0021] Uniformly randomly select polynomials and combine them with public key parameters to calculate direct parameters for generating searchable ciphertext and generate searchable ciphertext.

[0022] As a possible implementation of this embodiment, the generation of a search trapdoor based on a pre-set search keyword using a non-spherical Gaussian sampling technique and an approximate trapdoor sampling algorithm includes:

[0023] Calculate the actual public key parameters based on the public key seed;

[0024] According to the private key, the intermediate parameters are sampled, and the parameters of the intermediate parameters are changed by using the aspherical Gaussian sampling technology;

[0025] Calculate the hash value of the pre-set search keyword;

[0026] According to the hash value of the corresponding keyword and the sampled intermediate parameter, the intermediate parameter of the retrieval trap is calculated;

[0027] Based on the intermediate parameters of the retrieval trapdoor and the approximate trapdoor sampling algorithm, a polynomial is generated and used as the generated retrieval trapdoor.

[0028] As a possible implementation of this embodiment, the retrieving all searchable ciphertexts according to the retrieval trap includes:

[0029] According to the search trap t w′ and the searchable ciphertext c w =(c, c1, c2), calculate the judgment parameter Among them, c1, c2 are direct parameters for searching ciphertext, c←{0,1};

[0030] For 1≤i≤n, if but otherwise, Where q = p·l, p and l are the trapdoor parameters; n is the term ring The dimension of

[0031] if Then the retrieval trap and the searchable ciphertext match each other, otherwise they do not match.

[0032] In a second aspect, an embodiment of the present invention provides a compact public key searchable encryption device, comprising:

[0033] The environment initialization module is used to initialize the operating environment and generate the required common parameters;

[0034] A key generation module, which is used to use an approximate trapdoor sampling method and an extensible output function, and run a key generation algorithm to generate a public key and a private key;

[0035] A search ciphertext generation module is used to generate searchable ciphertext for keywords attached to each encrypted file according to the public key, and upload the generated searchable ciphertext together with the ciphertext file;

[0036] A retrieval trapdoor generation module is used to generate a retrieval trapdoor based on a pre-set search keyword by using a non-spherical Gaussian sampling technique and an approximate trapdoor sampling algorithm;

[0037] The searchable ciphertext retrieval module is used to retrieve all searchable ciphertexts according to the retrieval trapdoor and return the ciphertext files of all matching searchable ciphertexts.

[0038] In a third aspect, an embodiment of the present invention provides a compact public key searchable encryption system, including a sender, a receiver and a server.

[0039] The receiver initializes the operating environment and generates the required public parameters; uses an approximate trapdoor sampling method and an extensible output function, and runs a key generation algorithm to generate the receiver's public key and private key;

[0040] The sender generates a searchable ciphertext for the keyword attached to each encrypted file according to the public key of the receiver, and uploads the generated searchable ciphertext and the ciphertext file to the server;

[0041] The receiving party generates a retrieval trapdoor based on a preset search keyword by using a non-spherical Gaussian sampling technique and an approximate trapdoor sampling algorithm and sends the retrieval trapdoor to the server;

[0042] The server retrieves all searchable ciphertexts according to the retrieval trap, returns ciphertext files of all matching searchable ciphertexts and sends them to the recipient.

[0043] In a fourth aspect, an embodiment of the present invention provides an electronic device, comprising a processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor. When the electronic device is running, the processor and the memory communicate through the bus, and the processor executes the machine-readable instructions to perform the steps of any compact public-key searchable encryption method as described above.

[0044] In a fifth aspect, an embodiment of the present invention provides a storage medium, on which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned compact public-key searchable encryption methods are executed.

[0045] The technical solution of the embodiment of the present invention may have the following beneficial effects:

[0046] The present invention uses a new approximate trapdoor sampling algorithm to improve the efficiency of trapdoor generation, and can output an approximate rather than exact original image; then combines aspheric Gaussian sampling technology and scalable output function to reduce the storage of keys and trapdoors; through the combination of these three optimization technologies, the present invention has higher efficiency and lower public key and trapdoor storage, effectively resists the attack of quantum computers, and is better applied to the Internet of Things.

[0047] The present invention provides an optimized verifiable public key searchable encryption scheme that effectively resists attacks by quantum computers. Under given parameter settings, the present invention reduces the public key memory overhead by about 27.9% and reduces the trapdoor memory overhead by about 11.5%. BRIEF DESCRIPTION OF THE DRAWINGS

[0048] Figure 1 is a flowchart of a compact public key searchable encryption method according to an exemplary embodiment;

[0049] Figure 2 is a schematic diagram showing a compact public key searchable encryption device according to an exemplary embodiment;

[0050] Figure 3 is a principle block diagram of a compact public key searchable encryption system according to an exemplary embodiment;

[0051] Figure 4 It is a flow chart of performing public key searchable encryption using the compact public key searchable encryption system of the present invention. DETAILED DESCRIPTION

[0052] The present invention will be further described below in conjunction with the accompanying drawings and embodiments:

[0053] In order to clearly illustrate the technical features of the present solution, the present invention is described in detail below through specific implementation methods and in conjunction with the accompanying drawings. The disclosure below provides many different embodiments or examples for realizing different structures of the present invention. In order to simplify the disclosure of the present invention, the components and settings of specific examples are described below. In addition, the present invention may repeat reference numbers and / or letters in different examples. This repetition is for the purpose of simplification and clarity, and does not itself indicate the relationship between the various embodiments and / or settings discussed. It should be noted that the components illustrated in the accompanying drawings are not necessarily drawn to scale. The present invention omits the description of known components and processing techniques and processes to avoid unnecessary limitations on the present invention.

[0054] like Figure 1 As shown, a compact public key searchable encryption method provided by an embodiment of the present invention includes the following steps:

[0055] Step 1: Initialize the operating environment and generate the required public parameters;

[0056] Step 2: Use the approximate trapdoor sampling method and the scalable output function, and run the key generation algorithm to generate the public key and the private key;

[0057] Step 3: Generate searchable ciphertext for the keywords attached to each encrypted file according to the public key, and upload the generated searchable ciphertext together with the ciphertext file;

[0058] Step 4, based on the pre-set search keywords, using the aspherical Gaussian sampling technology and the approximate trapdoor sampling algorithm to generate a retrieval trapdoor;

[0059] Step 5: retrieve all searchable ciphertexts according to the retrieval trapdoor, and return the ciphertext files of all matching searchable ciphertexts.

[0060] As a possible implementation of this embodiment, the public parameters include: security parameter λ, seed length l s , lattice trapdoor parameters p and l, modulus q = p·l, base b of the logarithmic function log, dimension of the vector Polynomial Ring n is the dimension of the polynomial ring, Gaussian parameters σ, σ1, σ2, τ, r and exist Discrete Gaussian distribution with upper width parameter τ

[0061] As a possible implementation of this embodiment, the method of using an approximate trapdoor sampling method and an extensible output function and running a key generation algorithm to generate a public key and a private key includes:

[0062] Select a sThe random seed of 10 bits is used to replace a, and the extensible output function is used to generate the preset public key a, a←XOF(seed), where

[0063] Order tool vector make Then there is The vector obtained As the public key, the vector The trapdoor R is used as the private key;

[0064] Replace [1, a, b] with [seed, b], and use the KeyGen(λ) algorithm to generate the public key PK=(seed, b) and the private key SK=R, where λ is the security parameter preset by the system.

[0065] As a possible implementation of this embodiment, generating a searchable ciphertext for a keyword attached to each encrypted file according to a public key includes:

[0066] Calculate the actual public key parameters based on the public key seed;

[0067] Calculate the hash value of the keyword appended to each encrypted file;

[0068] Uniformly randomly select polynomials and combine them with public key parameters to calculate direct parameters for generating searchable ciphertext and generate searchable ciphertext.

[0069] As a possible implementation of this embodiment, the generation of a search trapdoor based on a pre-set search keyword using a non-spherical Gaussian sampling technique and an approximate trapdoor sampling algorithm includes:

[0070] Calculate the actual public key parameters based on the public key seed;

[0071] According to the private key, the intermediate parameters are sampled, and the parameters of the intermediate parameters are changed by using the aspherical Gaussian sampling technology;

[0072] Calculate the hash value of the pre-set search keyword;

[0073] According to the hash value of the corresponding keyword and the sampled intermediate parameter, the intermediate parameter of the retrieval trap is calculated;

[0074] Based on the intermediate parameters of the retrieval trapdoor and the approximate trapdoor sampling algorithm, a polynomial is generated and used as the generated retrieval trapdoor.

[0075] As a possible implementation of this embodiment, the retrieving all searchable ciphertexts according to the retrieval trap includes:

[0076] According to the search trap t w′ and the searchable ciphertext c w=(c, c1, c2), calculate the judgment parameter Among them, c1, c2 are direct parameters for searching ciphertext, c←{0,1};

[0077] For 1≤i≤n, if but otherwise, Where q = p·l, p and l are the trapdoor parameters; n is the term ring The dimension of

[0078] if Then the retrieval trap and the searchable ciphertext match each other, otherwise they do not match.

[0079] like Figure 2 As shown, a compact public key searchable encryption device provided by an embodiment of the present invention includes:

[0080] The environment initialization module is used to initialize the operating environment and generate the required common parameters;

[0081] A key generation module, which is used to use an approximate trapdoor sampling method and an extensible output function, and run a key generation algorithm to generate a public key and a private key;

[0082] A search ciphertext generation module is used to generate searchable ciphertext for keywords attached to each encrypted file according to the public key, and upload the generated searchable ciphertext together with the ciphertext file;

[0083] A retrieval trapdoor generation module is used to generate a retrieval trapdoor based on a pre-set search keyword by using a non-spherical Gaussian sampling technique and an approximate trapdoor sampling algorithm;

[0084] The searchable ciphertext retrieval module is used to retrieve all searchable ciphertexts according to the retrieval trapdoor and return the ciphertext files of all matching searchable ciphertexts.

[0085] like Figure 3 As shown, a compact public key searchable encryption system provided by an embodiment of the present invention includes a sender, a receiver and a server.

[0086] The receiver initializes the operating environment and generates the required public parameters; uses an approximate trapdoor sampling method and an extensible output function, and runs a key generation algorithm to generate the receiver's public key and private key;

[0087] The sender generates a searchable ciphertext for the keyword attached to each encrypted file according to the public key of the receiver, and uploads the generated searchable ciphertext and the ciphertext file to the server;

[0088] The receiving party generates a retrieval trapdoor based on a preset search keyword by using a non-spherical Gaussian sampling technique and an approximate trapdoor sampling algorithm and sends the retrieval trapdoor to the server;

[0089] The server retrieves all searchable ciphertexts according to the retrieval trap, returns ciphertext files of all matching searchable ciphertexts and sends them to the recipient.

[0090] A compact public key searchable encryption system provided by an embodiment of the present invention mainly includes three entities: a sender, a receiver, and a server:

[0091] (1) Sender: is considered as an “honest but curious” entity. The sender extracts keywords from the file and encrypts the keywords and the file. The keywords are encrypted using a public key searchable encryption scheme. The sender sends the keyword ciphertext and the encrypted file to the server.

[0092] (2) Receiver: Considered as an “honest but curious” entity. Based on the keywords that the receiver wants to retrieve, the receiver can search the encryption scheme to generate a trapdoor. The receiver sends the trapdoor to the server.

[0093] (3) Server: Considered as an “honest but curious” entity. Used to store and test whether the ciphertext and trapdoor contain the same keyword. After receiving the trapdoor, the server tests whether the ciphertext matches the trapdoor in turn and sends all matching encrypted files to the recipient.

[0094] The present invention provides an optimized verifiable public key searchable encryption scheme with higher efficiency and lower public key and trapdoor storage. The present invention uses a new approximate trapdoor sampling algorithm to improve the efficiency of trapdoor generation, and the new approximate trapdoor sampling algorithm can output an approximate rather than an exact original image. Then, the non-spherical Gaussian sampling technology and the scalable output function are combined to reduce the storage of keys and trapdoors.

[0095] Symbols and descriptions used in the present invention: security parameter λ, seed length ls, lattice trapdoor parameters p and l, modulus q = p·l, base b of logarithmic function log, dimension of vector Polynomial Ring n is the dimension of the polynomial ring, Gaussian parameters σ, σ1, σ2, τ, r and exist Discrete Gaussian distribution with upper width parameter T The above public parameters are generated by the receiver's initialization running environment and are all known parameters. In our instantiation, we set n = 1024, p = 1536, l = 256, q = 393216, b = 16, w = 5, l s =256, σ=σ1=820.4, σ2=249.2.

[0096] Next, the three optimization techniques mentioned above are described in detail.

[0097] Optimization technique 1: a new approximate trapdoor sampling method ASampPre.

[0098] Given parameters and The ASampPre algorithm uses an approximate trapdoor sampling method to obtain an approximate pre-image satisfy Where e is the error vector. The algorithm mainly includes the following steps:

[0099] 1. First construct a new tool vector Let vector We have Here, the vector The trapdoor is

[0100] 2. Sampling vector Juzhong For Upper covariance matrix The discrete Gaussian distribution of .

[0101] 3. Sample x using a new semi-random pre-image sampling algorithm SampleGadget, that is, x←SampleGadget(v). The SampleGadget algorithm first deterministically generates an approximate error e, let e = v mod p. Then for k = (ve) / p, randomly sample Among them We have<pg,x> =pk=ve mod q.

[0102] By outputting the polynomial v, the SampleGadget algorithm outputs the polynomial Make<f,x> =v-emod q, where For Discrete Gaussian distribution with upper width parameter r.

[0103] sampling Make<f,x> =ve mod q, where For Discrete Gaussian distribution with upper width parameter r. Samples x using the semi-random sampling algorithm SampleGadget(v).

[0104] 4. Calculation in satisfy in is The discrete Gaussian distribution with upper width parameter σ has a covariance matrix σ 2 I.

[0105] Optimization technique 2: Aspheric Gaussian sampling.

[0106] Based on the above approximate trapdoor sampling algorithm, we get an approximate original image y. We can calculate the 12-norm upper bound of the approximate original image as The upper bound of the maximum number of bits required to store the approximate original image is in In order to further reduce the storage of y, we choose to sample on the aspherical Gaussian, that is, Upper covariance matrix We can calculate the l2 norm upper bound of the approximate original image as The upper bound of the maximum number of bits required to store the approximate original image is Given σ = σ1 = 820.4, σ2 = 249.2, Φ1 ≈ 69458.38, Φ2 ≈ 41187.06, Ψ1 ≈ 76555.56, Ψ2 ≈ 67754.16. By comparison, it can be seen that by using the aspherical Gaussian sampling technique, the upper bound of the l2 norm of the approximate original image is reduced by 40.7%, and the upper bound of the maximum number of bits required to store the approximate original image is reduced by 11.5%.

[0107] Optimization technique three: scalable output function.

[0108] In step 1 of optimization technique 1, we obtain the vector And the trap door We choose to use an l s This step reduces the storage of public key a from 5120 bits to 256 bits, reducing memory overhead by 95%.

[0109] like Figure 4 As shown, the specific process of performing public key searchable encryption using the compact public key searchable encryption system of the present invention includes the following steps.

[0110] Step 101: The receiver initializes the operating environment and runs a key generation algorithm to generate the receiver's public key and private key.

[0111] The receiver initializes the operating environment mainly to generate the public parameters required by the system and broadcast them to the sender and the server. The public parameters are: security parameter λ, seed length l s , lattice trapdoor parameters p and l, modulus q = p·l, base b of the logarithmic function log, dimension of the vector Polynomial Ring n is the dimension of the polynomial ring, Gaussian parameters σ, σ1, σ2, τ, r and exist Discrete Gaussian distribution with upper width parameter τ The above common parameters are all known parameters. In our instantiation, we set n = 1024, p = 1536, l = 256, q = 393216, b = 16, w = 5, l s =256, σ=σ1=820.4, σ2=249.2.

[0112] The key generation algorithm is the KeyGen(λ) algorithm, where λ is a security parameter preset by the system. We will optimize the vector As the public key, the trapdoor R is the private key. In order to reduce the storage of the public key, we choose to use an l s The random seed of 100 bits is used to replace a, and the scalable output function of optimization technique 3 is used to generate a. This step reduces the storage of the public key a from 5120 bits to 256 bits, reducing the memory overhead by 95%.

[0113] Step 101 mainly includes the following sub-steps:

[0114] Sampling a l s Random seed of bits We get a←XOF(seed), where This step reduces the storage of the public key a from 5120 bits to 256 bits, reducing the memory overhead by 95%.

[0115] sampling in For Discrete Gaussian distribution with upper width parameter σ.

[0116] Order tool vector make We have

[0117] According to the results of the above steps, the public key PK = (seed, b) and the private key SK = R are generated. In summary, for compactness, the public key PK is replaced by [seed, b] from the original [1, a, b], so that the storage of the public key is reduced from 35840 bits to 25856 bits, reducing the memory overhead by about 27.9%.

[0118] Step 102: The sender generates searchable ciphertext for the keywords attached to each encrypted file according to the public key of the receiver, and uploads the generated searchable ciphertext and the ciphertext file to the server. The process of the sender generating searchable ciphertext for the keywords attached to each encrypted file according to the key is as follows: calculating the actual public key parameter according to the public key seed of the receiver; calculating the hash value of the keyword attached to each encrypted file; uniformly randomly selecting a polynomial, and then combining it with the public key parameter to calculate the direct parameter for generating the searchable ciphertext, thereby generating the searchable ciphertext.

[0119] The sender generates a searchable ciphertext c for each keyword attached to the encrypted file. w , and upload the generated searchable ciphertext and ciphertext file to the server together, which specifically includes the following sub-steps:

[0120] For the receiver's public key PK = (seed, b), we get a←XOF(seed).

[0121] For keyword w, calculate u = H (w), where the function is a full-rank differential encoding function, which can The elements in are mapped to reversible elements in;

[0122] Uniform random sampling c←{0,1},

[0123] calculate and Juzhong represents the floor function of q / 2; we use the hash value of the keyword as part of the ciphertext c instead of appending it to the recipient's public key.

[0124] Generate a searchable ciphertext c based on the results of the above steps w =(c, c1, c2).

[0125] Step 103: The receiver generates a search trap based on the preset search keyword and submits it to the server. In this step, the approximate trap sampling method ASampPre of optimization technique 1 and the non-spherical Gaussian sampling of optimization technique 2 are combined to further compress the size of the trap while improving efficiency.

[0126] The process of generating a retrieval trapdoor is as follows:

[0127] Calculate the actual public key parameters based on the recipient's public key seed;

[0128] According to the private key of the receiver, the intermediate parameters are sampled;

[0129] Calculate the hash value of the pre-set search keyword;

[0130] According to the hash value of the corresponding keyword and the sampled intermediate parameter, the intermediate parameter of the retrieval trap is calculated;

[0131] Based on the intermediate parameters of the retrieval trap and the approximate trap sampling algorithm, a polynomial is generated, and the polynomial is used as the generated retrieval trap.

[0132] Specifically, the receiver inputs the keyword w′ that he wants to search for and generates a retrieval trap t w′ , and submit it to the server. It includes the following sub-steps:

[0133] For the receiver's public key PK = (seed, b), we get a←XOF(seed).

[0134] sampling Juzhong We use the aspheric Gaussian sampling technique and change the parameter ∑ p , so that the original image

[0135] For keyword w′, calculate u=H(w′), where function H is the FRI) function as described above.

[0136] Calculate v = H(kw) - [1, a, b]·p.

[0137] Sample x←SampleGadget(v). The SampleGadget algorithm is a semi-random pre-image sampling algorithm. By outputting the polynomial v, the SampleGadget algorithm outputs the polynomial x, such that<f,x> =ve mod q.

[0138] calculate Juzhong

[0139] Generate a retrieval trap door t based on the results of the above steps w′ =y. Wherein, the superscript T means transposition. Given σ=σ1=820.4, σ2=249.2, Φ1≈69458.38, Φ2≈41187.06, Ψ1≈76555.56, Ψ2≈67754.16. By comparison, by using the above optimization technique, the upper bound of the l2 norm of the approximate original image is reduced by 40.7%, and the upper bound of the maximum number of bits required to store the approximate original image is reduced by 11.5%.

[0140] Step 104: The server retrieves all searchable ciphertexts according to the retrieval trap, returns the ciphertext files of all matching searchable ciphertexts and sends them to the recipient.

[0141] The process of the server retrieving all searchable ciphertexts according to the retrieval trap is as follows:

[0142] According to the search trap t w′ and the searchable ciphertext c w =(c, c1, c2), calculate the judgment parameter Among them, c1, c2 are direct parameters for searching ciphertext, c←{0,1};

[0143] If for 1≤i≤n, if but otherwise,

[0144] if This means that the retrieval trap and the searchable ciphertext match each other, otherwise they do not match.

[0145] According to the results of the above steps, the server returns all ciphertext files that meet the trapdoor retrieval conditions.

[0146] An electronic device provided by an embodiment of the present invention includes a processor, a memory and a bus, wherein the memory stores machine-readable instructions executable by the processor. When the device is running, the processor and the memory communicate through the bus, and the processor executes the machine-readable instructions to perform the steps of any compact public-key searchable encryption method as described above.

[0147] Specifically, the above-mentioned memory and processor can be general-purpose memory and processor, which are not specifically limited here. When the processor runs the computer program stored in the memory, the above-mentioned compact public-key searchable encryption method can be executed.

[0148] Those skilled in the art will appreciate that the structure of the electronic device does not limit the electronic device and may include more or fewer components than shown in the figure, or combine or split certain components, or arrange the components differently.

[0149] In some embodiments, the electronic device may also include a touch screen that can be used to display a graphical user interface (e.g., a startup interface of an application) and receive user operations on the graphical user interface (e.g., startup operations for an application). The specific touch screen may include a display panel and a touch panel. The display panel may be configured in the form of LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode), etc. The touch panel may collect the user's contact or non-contact operations on or near it, and generate pre-set operation instructions, for example, the user uses any suitable object or accessory such as a finger, stylus, etc. on the touch panel or near the touch panel. In addition, the touch panel may include two parts: a touch detection device and a touch controller. Among them, the touch detection device detects the user's touch position and posture, detects the signal brought by the touch operation, and transmits the signal to the touch controller; the touch controller receives the touch information from the touch detection device, converts it into information that the processor can process, and then sends it to the processor, and can receive and execute commands sent by the processor. In addition, the touch panel can be implemented by various types such as resistive, capacitive, infrared and surface acoustic wave, and any technology developed in the future can also be used to implement the touch panel. Further, the touch panel can cover the display panel, and the user can operate on or near the touch panel covered on the display panel according to the graphical user interface displayed on the display panel. After the touch panel detects the operation on or near it, it is transmitted to the processor to determine the user input, and then the processor provides corresponding visual output on the display panel in response to the user input. In addition, the touch panel and the display panel can be implemented as two independent components or integrated.

[0150] Corresponding to the method for starting the above-mentioned application, an embodiment of the present invention further provides a storage medium on which a computer program is stored. When the computer program is executed by a processor, the steps of any of the above-mentioned compact public-key searchable encryption methods are executed.

[0151] The application startup device provided in the embodiment of the present application can be specific hardware on the device or software or firmware installed on the device. The device provided in the embodiment of the present application, its implementation principle and the technical effect produced are the same as those in the aforementioned method embodiment. For the sake of brief description, the parts not mentioned in the device embodiment can refer to the corresponding contents in the aforementioned method embodiment. Those skilled in the art can clearly understand that for the convenience and simplicity of description, the specific working processes of the systems, devices and units described above can all refer to the corresponding processes in the aforementioned method embodiment, and will not be repeated here.

[0152] Those skilled in the art will appreciate that the embodiments of the present application may be provided as methods, systems, or computer program products. Therefore, the present application may adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the present application may adopt the form of a computer program product implemented in one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) that include computer-usable program code.

[0153] In the embodiments provided in the present application, it should be understood that the disclosed devices and methods can be implemented in other ways. The device embodiments described above are merely schematic. For example, the division of modules is only a logical function division. There may be other division methods in actual implementation. For example, multiple modules or components can be combined or integrated into another system, or some features can be ignored or not executed. Another point is that the mutual coupling or direct coupling or communication connection shown or discussed can be through some communication interfaces, and the indirect coupling or communication connection of devices or modules can be electrical, mechanical or other forms.

[0154] The modules described as separate components may or may not be physically separated, and the components shown as modules may or may not be physical modules, that is, they may be located in one place or distributed on multiple network modules. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.

[0155] In addition, each functional module in the embodiments provided in the present application may be integrated into one processing module, or each module may exist physically separately, or two or more modules may be integrated into one module.

[0156] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to generate a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.

[0157] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.

[0158] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.

[0159] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present invention rather than to limit it. Although the present invention has been described in detail with reference to the above embodiments, ordinary technicians in the relevant field should understand that the specific implementation methods of the present invention can still be modified or replaced by equivalents. Any modification or equivalent replacement that does not depart from the spirit and scope of the present invention should be covered within the scope of protection of the claims of the present invention.

Claims

1. A compact public key searchable encryption method, characterized in that: The following steps are involved: Step 1: Initialize the operating environment and generate the required public parameters; Step 2: Use the approximate trapdoor sampling method and the scalable output function, and run the key generation algorithm to generate the public key and the private key; Step 3: Generate searchable ciphertext for the keywords attached to each encrypted file according to the public key, and upload the generated searchable ciphertext together with the ciphertext file; Step 4, based on the pre-set search keywords, using the aspherical Gaussian sampling technology and the approximate trapdoor sampling algorithm to generate a retrieval trapdoor; Step 5, retrieve all searchable ciphertexts according to the retrieval trapdoor, and return the ciphertext files of all matching searchable ciphertexts; The step of generating searchable ciphertext for the keyword attached to each encrypted file according to the public key includes: Calculate the actual public key parameters based on the public key seed; Calculate the hash value of the keyword appended to each encrypted file; Uniformly randomly select polynomials and combine them with public key parameters to calculate direct parameters for generating searchable ciphertext and generate searchable ciphertext.

2. The compact public key searchable encryption method according to claim 1, characterized in that: The public parameters include: security parameters , seed length , lattice trapdoor parameter , modulus , logarithmic function The base of , the dimension of the vector , polynomial ring , is the dimension of the polynomial ring, Gaussian parameter ,exist The upper width parameter is Discrete Gaussian distribution of .

3. The compact public key searchable encryption method according to claim 2, characterized in that: The method adopts an approximate trapdoor sampling method and an extensible output function, and runs a key generation algorithm to generate a public key and a private key, including: Select One Random seed of bits Instead of a, use the extensible output function to generate a preset public key , , ; Order tool vector , ,make , then , the obtained vector As the public key, the vector Trapdoor As a private key; Will Replace with ,use Algorithm to generate public key and private key ,in, Preset safety parameters for the system.

4. The compact public key searchable encryption method according to claim 1, characterized in that: The method of generating a search trapdoor based on a pre-set search keyword by using a non-spherical Gaussian sampling technique and an approximate trapdoor sampling algorithm includes: Calculate the actual public key parameters based on the public key seed; According to the private key, the intermediate parameters are sampled, and the parameters of the intermediate parameters are changed by using the aspherical Gaussian sampling technology; Calculate the hash value of the pre-set search keyword; According to the hash value of the corresponding keyword and the sampled intermediate parameter, the intermediate parameter of the retrieval trap is calculated; Based on the intermediate parameters of the retrieval trapdoor and the approximate trapdoor sampling algorithm, a polynomial is generated and used as the generated retrieval trapdoor.

5. The compact public key searchable encryption method according to any one of claims 1 to 4, characterized in that: The method of retrieving all searchable ciphertexts according to the retrieval trap includes: According to the search trap and searchable ciphertext , calculate the judgment parameter ,in, is a direct parameter for searching ciphertext, ; for ,if , but ;otherwise, ;in, , is the trapdoor parameter; The term ring The dimension of if , then the retrieval trap and the searchable ciphertext match each other, otherwise they do not match.

6. A compact public key searchable encryption device, characterized in that: include: The environment initialization module is used to initialize the operating environment and generate the required public parameters; A key generation module, which is used to use an approximate trapdoor sampling method and an extensible output function, and run a key generation algorithm to generate a public key and a private key; A search ciphertext generation module is used to generate searchable ciphertext for keywords attached to each encrypted file according to the public key, and upload the generated searchable ciphertext together with the ciphertext file; A retrieval trapdoor generation module is used to generate a retrieval trapdoor based on a pre-set search keyword by using a non-spherical Gaussian sampling technique and an approximate trapdoor sampling algorithm; A searchable ciphertext retrieval module is used to retrieve all searchable ciphertexts according to the retrieval trapdoor and return the ciphertext files of all matching searchable ciphertexts; The step of generating searchable ciphertext for the keyword attached to each encrypted file according to the public key includes: Calculate the actual public key parameters based on the public key seed; Calculate the hash value of the keyword appended to each encrypted file; Uniformly randomly select polynomials and combine them with public key parameters to calculate direct parameters for generating searchable ciphertext and generate searchable ciphertext.

7. A compact public key searchable encryption system, characterized in that: Including sender, receiver and server, The receiver initializes the operating environment and generates the required public parameters; uses an approximate trapdoor sampling method and an extensible output function, and runs a key generation algorithm to generate the receiver's public key and private key; The sender generates a searchable ciphertext for the keyword attached to each encrypted file according to the public key of the receiver, and uploads the generated searchable ciphertext and the ciphertext file to the server together; The receiving party generates a retrieval trapdoor based on a preset search keyword by using a non-spherical Gaussian sampling technique and an approximate trapdoor sampling algorithm and sends the retrieval trapdoor to the server; The server retrieves all searchable ciphertexts according to the retrieval trap, returns ciphertext files of all matching searchable ciphertexts and sends them to the recipient; The sender generates searchable ciphertext for the keywords attached to each encrypted file according to the public key of the receiver, including: Calculate the actual public key parameters based on the public key seed; Calculate the hash value of the keyword appended to each encrypted file; Uniformly randomly select polynomials and combine them with public key parameters to calculate direct parameters for generating searchable ciphertext and generate searchable ciphertext.

8. An electronic device, characterized in that: It includes a processor, a memory and a bus, the memory stores machine-readable instructions executable by the processor, when the electronic device is running, the processor and the memory communicate through the bus, and the processor executes the machine-readable instructions to perform the steps of the compact public-key searchable encryption method as described in any one of claims 1-5.

9. A storage medium, characterized in that: The storage medium stores a computer program, which, when executed by a processor, executes the steps of the compact public-key searchable encryption method as described in any one of claims 1 to 5.

Citation Information

Patent Citations

  • More efficient post-quantum signatures

    CA3199161A1

  • More efficient post-quantum signatures

    CN113424492A

  • Public key searchable encryption method and system

    CN113794561A

  • Verifiable public key searchable encryption system and method

    CN115021993A

  • Lattice-based public key authentication searchable encryption method, system and terminal

    CN115442130A