CN115021993B - Verifiable public key searchable encryption system and method - Google Patents
Verifiable public key searchable encryption system and method Download PDFInfo
- Publication number
- CN115021993B CN115021993B CN202210587635.0A CN202210587635A CN115021993B CN 115021993 B CN115021993 B CN 115021993B CN 202210587635 A CN202210587635 A CN 202210587635A CN 115021993 B CN115021993 B CN 115021993B
- Authority
- CN
- China
- Prior art keywords
- searchable
- key
- public key
- sender
- cloud server
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000008569 process Effects 0.000 claims description 14
- 230000006870 function Effects 0.000 claims description 13
- 238000012795 verification Methods 0.000 claims description 13
- 238000009795 derivation Methods 0.000 claims description 9
- 238000004590 computer program Methods 0.000 claims description 7
- 238000005070 sampling Methods 0.000 claims description 6
- 230000017105 transposition Effects 0.000 claims description 4
- 229920006260 polyaryletherketone Polymers 0.000 description 6
- 241000499940 Behnia Species 0.000 description 2
- 238000005417 image-selected in vivo spectroscopy Methods 0.000 description 2
- 238000012739 integrated shape imaging system Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000002441 reversible effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 206010021703 Indifference Diseases 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005553 drilling Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 229920000126 latex Polymers 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000012545 processing Methods 0.000 description 1
- 230000005477 standard model Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0861—Generation of secret information including derivation or calculation of cryptographic keys or passwords
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
- H04L9/3239—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
The utility model provides a verifiable public key searchable encryption system and a method, belonging to the technical field of searchable encryption, wherein the scheme comprises a key generation center, a sender, a receiver and a cloud server; wherein: the key generation center is used for initializing the operation environment and generating a main public key and a main private key based on a built-in initialization algorithm; the sender and the receiver obtain respective public keys and corresponding private keys thereof through the key generation center; the sender generates searchable ciphertexts for the keywords attached to each encrypted file according to the public key and the private key of the sender and the public key of the receiver, and uploads the generated searchable ciphertexts and the encrypted files corresponding to the searchable ciphertexts to the cloud server; the receiving party generates a retrieval trapdoor based on a preset search keyword and submits the retrieval trapdoor to the cloud server; and the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor and sends the encrypted file corresponding to the matched searchable ciphertexts to the receiving party.
Description
Technical Field
The disclosure belongs to the technical field of searchable encryption, and particularly relates to a system and a method for searchable encryption of a verifiable public key.
Background
The statements in this section merely provide background information related to the present disclosure and may not constitute prior art.
In the big data era, cloud storage and computing provide great convenience and management efficiency. With the rapid development of networks, the data volume is also increasing sharply. To ensure the privacy and security of the stored data, users typically encrypt and store it in the cloud. However, in such an environment, the user will encounter a problem of being unable to search for keywords in the massive data, which limits flexibility of file sharing in the cloud environment to some extent. Public Key Encryption with Keyword Search (PEKS) can effectively support users to retrieve encrypted data in the cloud. The goal of PEKS is to retrieve the target encrypted file by searching for a particular keyword. It enables any sender to send encrypted files to a server, which files include searchable ciphertext associated with a keyword. The recipient may retrieve the encrypted file containing the particular key.
However, PEKS does not provide trapdoor privacy, i.e., trapdoors are prone to reveal keyword information. More specifically, the ciphertext of any selected key may be freely generated using the public key of the recipient. Thus, when a trapdoor is obtained, it can be checked by a test algorithm whether the trapdoor is associated with a key. To prevent such information leakage, huang and Li propose Public Key Authenticated Encryption (PAEKS) using Keyword Search, in which Encryption requires a Key of a sender, so that an attacker cannot freely generate a ciphertext of an arbitrarily selected Keyword.
With some pioneering work by researchers, many PAEKS protocols have been introduced to enhance the safety of PAEKS protocols. Some of them further consider the forthcoming quantum attack. In various PAEKS schemes Qin et al first think that in the actual scenario, each encrypted file is associated with multiple searchable ciphertexts. In this case, PAEKS needs to ensure that no adversary knows whether two searchable ciphertext tuples exist that are associated with the same key, respectively. Therefore, they introduced an enhanced security concept called Multi-Ciphertext indifference (MCI) to simulate such a scene. Furthermore, pan and Li follow this concept, introducing a concept called Multi-Trapdoor Privacy (MTP) to ensure that no adversary knows whether two Trapdoor groups each have a Trapdoor associated with the same key. However, the inventors have found that the Pan and Li solution not only fails to satisfy MCI, but also has drawbacks in terms of MTP safety certification. Furthermore, to resist quantum attacks, behnia et al propose PEKS schemes based on NTRU and LWE, respectively. Zhang et al proposed a PAEKS scheme based on LWE to achieve higher security. Unfortunately, these solutions have some drawbacks in terms of privacy protection for keyword searches.
Disclosure of Invention
In order to solve the above problems, the present disclosure provides a verifiable public key searchable encryption system and method, and the scheme provides a search function for protecting privacy, satisfies the indistinguishability of multiple ciphertext and the privacy of multiple trapdoors, and can effectively resist keyword guessing attack.
According to a first aspect of the embodiments of the present disclosure, there is provided a verifiable public key searchable encryption system, including a key generation center, a sender, a receiver, and a cloud server; wherein: the key generation center is used for initializing the operation environment and generating a main public key and a main private key based on a built-in initialization algorithm;
the sender and the receiver obtain respective public keys and corresponding private keys thereof through the key generation center; the public key and the private key are generated based on a key derivation algorithm built in the key generation center and the master public key and the master private key;
the sender generates a searchable cipher text for the keywords attached to each encrypted file according to the public key and the private key of the sender and the public key of the receiver, and uploads the generated searchable cipher text and the encrypted file corresponding to the searchable cipher text to the cloud server;
the receiving party generates a retrieval trapdoor based on a preset search keyword and submits the retrieval trapdoor to the cloud server;
and the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor and sends the encrypted file corresponding to the matched searchable ciphertexts to the receiving party.
Furthermore, the sender generates a searchable cipher text for the keywords attached to each encrypted file according to the public key and the private key of the sender and the public key of the receiver, and the sender performs identity verification on the keywords when encrypting the keywords by introducing the private key of the sender into the generation of the searchable cipher text.
Further, the searchable cryptograph is generated specifically by the following steps:
calculating the hash value of the keyword attached to each encrypted file;
calculating intermediate parameters of the searchable ciphertexts according to the hash values of the corresponding keywords;
running a SamplePre (sk, pk, h, zeta, sigma, alpha, u) algorithm according to the public key of the receiver, wherein pk and sk are respectively the public key and the private key of the sender, and h belongs to R q Andcalculating verification parameters for given parameters, wherein zeta, sigma and alpha are Gaussian parameters;
and uniformly and randomly selecting a polynomial, and combining the intermediate parameters and the verification parameters of the searchable ciphertext to calculate direct parameters for generating the searchable ciphertext and generate the searchable ciphertext.
Further, the receiver generates a retrieval trapdoor based on a preset search keyword and submits the retrieval trapdoor to the cloud server, specifically:
calculating a hash value of a preset searched keyword;
calculating an intermediate parameter of the retrieval trapdoor according to the hash value of the corresponding keyword;
generating a polynomial based on intermediate parameters of the retrieval trapdoor and an original image sampling algorithm, wherein the polynomial is used for generating the retrieval trapdoor; and the product of the transposition of the intermediate parameter of the retrieval trapdoor and the polynomial is equal to the randomly selected polynomial in the process of generating the searchable ciphertext.
Further, the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor, and specifically includes:
calculating a judgment parameter according to the retrieval trapdoor and the searchable ciphertext;
if the judgment parameter meets the preset condition, y =1, otherwise y =0;
if it is notc =0, it indicates that the search trapdoor and the searchable ciphertext match each other, otherwise, they do not match.
Further, the method generates a master public key and a master private key based on a built-in initialization algorithm, where the initialization algorithm specifically includes: and running a TrapGen function generating polynomial and a trap door related to the polynomial, and calculating to obtain a main public key and a main private key based on the polynomial and the trap door.
Further, the key derivation algorithm adopts a Derive (mpk, msk, ID) algorithm, where mpk is a master public key, msk is a master private key, and ID is an ID of a sender or a receiver.
According to a second aspect of the embodiments of the present disclosure, there is provided a verifiable public key searchable encryption method based on the above-mentioned one verifiable public key searchable encryption system, the method including:
initializing a key generation center operating environment, and generating a main public key and a main private key based on a built-in initialization algorithm;
generating respective public keys of the sender and the receiver and corresponding private keys thereof through the key generation center; the sender generates searchable ciphertexts for the keywords attached to each encrypted file based on the public key and the private key of the sender and the public key of the receiver, and uploads the generated searchable ciphertexts and the encrypted files corresponding to the searchable ciphertexts to the cloud server; the receiving party generates a retrieval trapdoor based on a preset search keyword and sends the retrieval trapdoor to the cloud server;
and the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor and sends the encrypted file corresponding to the matched searchable ciphertexts to the receiving party.
According to a third aspect of the embodiments of the present invention, there is provided an electronic device, including a memory, a processor, and a computer program stored in the memory for execution, the processor executing the computer program to perform the following steps:
initializing a key generation center operating environment, and generating a main public key and a main private key based on a built-in initialization algorithm;
generating respective public keys of the sender and the receiver and corresponding private keys thereof through the key generation center; the sender generates a searchable cipher text for the keywords attached to each encrypted file based on the public key and the private key of the sender and the public key of the receiver, and uploads the generated searchable cipher text and the encrypted file corresponding to the searchable cipher text to the cloud server; the receiving party generates a retrieval trapdoor based on a preset search keyword and sends the retrieval trapdoor to the cloud server;
and the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor and sends the encrypted file corresponding to the matched searchable ciphertexts to the receiving party.
According to a fourth aspect of embodiments of the present invention, there is provided a non-transitory computer-readable storage medium having stored thereon a computer program which, when executed by a processor, performs the steps of:
initializing a key generation center operating environment, and generating a main public key and a main private key based on a built-in initialization algorithm;
generating respective public keys of the sender and the receiver and corresponding private keys thereof through the key generation center; the sender generates a searchable cipher text for the keywords attached to each encrypted file based on the public key and the private key of the sender and the public key of the receiver, and uploads the generated searchable cipher text and the encrypted file corresponding to the searchable cipher text to the cloud server; the receiving party generates a retrieval trapdoor based on a preset search keyword and sends the retrieval trapdoor to the cloud server;
and the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor and sends the encrypted file corresponding to the matched searchable ciphertexts to the receiving party.
Compared with the prior art, this disclosed beneficial effect is:
(1) The scheme provides a search function for protecting privacy, meets the indistinguishable multi-ciphertext and multi-trapdoor privacy, and can effectively resist keyword guessing attack.
(2) According to the scheme, the private key of the sender is used as the input of the generation process of the searchable cipher text, so that the sender can carry out identity verification on the keyword when encrypting the keyword, and the server cannot launch keyword guessing attack on the cipher text shared by the sender and the receiver again, because the server cannot represent the sender to calculate the authenticated cipher text, namely, an internal attacker cannot launch the keyword guessing attack again.
(3) The scheme takes the identity IDs of the sender and the receiver as the corresponding public keys, thereby effectively simplifying the complexity of public key management and improving the processing efficiency.
Advantages of additional aspects of the disclosure will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the disclosure.
Drawings
The accompanying drawings, which are included to provide a further understanding of the disclosure, illustrate embodiments of the disclosure and together with the description serve to explain the disclosure and are not to limit the disclosure.
Fig. 1 is a schematic diagram of an operation process of a verifiable public key searchable encryption system according to an embodiment of the present disclosure.
Detailed Description
The present disclosure is further illustrated by the following examples in conjunction with the accompanying drawings.
It should be noted that the following detailed description is exemplary and is intended to provide further explanation of the disclosure. Unless defined otherwise, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs.
It is noted that the terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of example embodiments according to the present disclosure. As used herein, the singular forms "a", "an", and "the" are intended to include the plural forms as well, and it should be understood that when the terms "comprises" and/or "comprising" are used in this specification, they specify the presence of stated features, steps, operations, devices, components, and/or combinations thereof, unless the context clearly indicates otherwise.
The embodiments and features of the embodiments in the present disclosure may be combined with each other without conflict.
The first embodiment is as follows:
it is an object of the present embodiment to provide a verifiable public key searchable encryption system.
As shown in fig. 1, a verifiable public key searchable encryption system includes a key generation center, a sender, a receiver, and a cloud server; wherein: the key generation center is used for initializing the running environment and generating a main public key and a main private key based on a built-in initialization algorithm;
the sender and the receiver obtain respective public keys and corresponding private keys thereof through the key generation center; the public key and the private key are generated based on a key derivation algorithm built in the key generation center and the main public key and the main private key;
the sender generates searchable ciphertexts for the keywords attached to each encrypted file according to the public key and the private key of the sender and the public key of the receiver, and uploads the generated searchable ciphertexts and the encrypted files corresponding to the searchable ciphertexts to the cloud server;
the receiving party generates a retrieval trapdoor based on a preset search keyword and submits the retrieval trapdoor to the cloud server;
and the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor and sends the encrypted file corresponding to the matched searchable ciphertexts to the receiving party.
Furthermore, the sender generates a searchable cipher text for the keywords attached to each encrypted file according to the public key and the private key of the sender and the public key of the receiver, and the sender performs identity verification on the keywords when encrypting the keywords by introducing the private key of the sender into the generation of the searchable cipher text.
Further, the searchable ciphertext is generated by specifically adopting the following steps:
calculating the hash value of the keyword attached to each encrypted file;
calculating intermediate parameters of the searchable ciphertext according to the hash value of the corresponding keyword;
running a SamplePre (sk, pk, h, zeta, sigma, alpha, u) algorithm according to the public key of the receiver, wherein pk and sk are respectively the public key and the private key of the sender, and h belongs to R q Andcalculating verification parameters for given parameters, wherein zeta, sigma and alpha are Gaussian parameters;
and uniformly and randomly selecting a polynomial, and calculating a direct parameter for generating the searchable cipher text by combining the intermediate parameter and the verification parameter of the searchable cipher text to generate the searchable cipher text.
Further, the receiver generates a retrieval trapdoor based on a preset search keyword and submits the retrieval trapdoor to the cloud server, specifically:
calculating hash values of preset searched keywords;
calculating an intermediate parameter of the retrieval trapdoor according to the hash value of the corresponding keyword;
generating a polynomial based on the intermediate parameters of the retrieval trapdoor and the primary image sampling algorithm, wherein the polynomial is used for generating the retrieval trapdoor; and the product of the transposition of the intermediate parameter of the retrieval trapdoor and the polynomial is equal to the randomly selected polynomial in the process of generating the searchable ciphertext.
Further, the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor, specifically:
calculating judgment parameters according to the retrieval trapdoor and the searchable ciphertext;
if the judgment parameter meets the preset condition, y =1, otherwise y =0;
if it is notc =0, it indicates that the search trapdoor and the searchable ciphertext match each other, otherwise, they do not match.
Further, the method generates a master public key and a master private key based on a built-in initialization algorithm, where the initialization algorithm specifically includes: and running a TrapGen function generating polynomial and a trap door related to the polynomial, and calculating to obtain a main public key and a main private key based on the polynomial and the trap door.
Further, the key derivation algorithm adopts a Derive (mpk, msk, ID) algorithm, where mpk is a master public key, msk is a master private key, and ID is an ID of a sender or a receiver.
Specifically, for the convenience of understanding, the following detailed description of the embodiments is provided with reference to the accompanying drawings:
in order to solve the problems in the prior art, this embodiment provides a verifiable public key searchable encryption system, where the system includes a key generation center, a sender, a receiver, and a cloud server, and specifically executes the following processes:
(1) The key generation center initializes the operation environment, and the used main public key and the corresponding main private key are generated by an initialization algorithm in the operation process;
wherein the initialization algorithm is Setup (1) λ ) An algorithm, where λ is a security bit, and the initialization algorithm specifically is:
the key generation center runs TrapSen (q, sigma, h = 0) algorithm according to a safety parameter lambda preset by a system, wherein q is the modulus of a ring, sigma is a Gaussian parameter, and h is belonged to R q Andis a given parameter. If a' is not given at the input, it indicates that the algorithm is atWherein a' is uniformly selected. Generating a polynomialAnd trapdoors associated therewithThereby calculating a master public key mpk and a master private key msk.
Wherein, the superscripts m and k are known setting parameters. The method specifically comprises the following substeps:
uniformly and randomly selecting polynomial u ← R q ;
Run TrapGen (q, σ, h = 0) algorithm, where q is the modulus of the loop, σ is the Gaussian parameter, h ∈ R q Andis a given parameter. If a' is not given at the input, it indicates that the algorithm is atWherein a' is uniformly selected. The algorithm generates a polynomialAnd trapdoors associated therewithSatisfies a = (a' T ,-a′ T T) T ;
And generating a master public key mpk = a and a master private key msk = T according to the result of the steps.
(2) The sender and the receiver respectively send the identity id to a secret key generation center to obtain respective public keys and corresponding private keys. This step takes the user's identity as their public key, which simplifies the complexity of public key management. The public key and the corresponding private key used in the operation process are generated by a key generation center operating a key derivation algorithm;
the key derivation algorithm is a Derive (mpk, msk, id) algorithm, where id is an identity of a sender (or a receiver), and the key derivation algorithm specifically includes:
the key generation center calculates the hash value of the identity according to the received identity id; and calculating an intermediate parameter h according to the hash value of the corresponding identity. The key generation center runs a DelTrap (mpk, msk, h, s) algorithm, wherein mpk and msk are a main public key and a main private key of KGC respectively,given the parameters. From which the public and private keys of the user are calculated. The method specifically comprises the following substeps:
for identity id, calculate h id H (id), where the functionIs a Full-Rank differential coding (FRD) function, which can convert the Full-Rank data into a Full-Rank dataThe element in (1) is mapped to R q The reversible element of (1);
running DelTrap (mpk, msk, h, s) algorithm, outputting T, wherein mpk and msk are the main public key and the main private key of KGC respectively,given parameters. Wherein the DelTrap algorithm comes from the paper Micciancio, D., peikert, C.: trapdoors for latices: simpler, tigner, faster, smaller. In: advances in cryptography-EUROCRYPT 2012.pp.700-718 (2012).
Generating a public key pk = a according to the result of the above steps i : and the private key sk = T.
(3) And the sender generates a searchable cipher text for the keywords attached to each encrypted file according to the private key of the public key and the public key of the receiver, and uploads the generated searchable cipher text and the cipher text file to the cloud server together. This step requires the sender to authenticate the key when it is encrypted. To accomplish this, the present technique takes the sender's private key as part of the input. Thus, the server cannot again launch a key guessing attack on the ciphertext shared by the sender and receiver because it cannot compute an authenticated ciphertext on behalf of the sender. I.e. the insider can no longer initiate critical test guessing attacks.
The process that the sender generates the searchable ciphertexts for the keywords attached to each encrypted file according to the secret key is as follows:
calculating the hash value of the keyword attached to each encrypted file;
calculating intermediate parameters of the searchable ciphertext according to the hash value of the corresponding keyword;
running a primitive sampling SamplePre (sk, pk, h, zeta, sigma, alpha, u) algorithm according to the public key of a receiver, wherein pk and sk are respectively the public key and the private key of a sender, and h belongs to R q Andis a given parameter, ζ, σ, α are gaussian parameters. Thereby calculating the verification parameters. Wherein the SamplePre algorithm comes from the papers michianciio, d., peikert, c. (2012). Simpler, righter, faster, smaller. In: EUROCRYPT 2012.characteristics Notes in Computer science, vol 7237.Springer; paper Genise, n., michciancio, d.: fast Gaussian sampling for trailer drilling with arbitrary module in: eurocypt 2018 shows a loop variant of the algorithm, which is used in this embodiment.
Uniformly and randomly selecting a polynomial, and then combining intermediate parameters and verification parameters of the searchable ciphertext to calculate direct parameters for generating the searchable ciphertext and generate the searchable ciphertext;
and the sender generates a searchable ciphertext s for the keyword attached to each encrypted file and uploads the generated searchable ciphertext and the ciphertext file to the cloud server together. The method specifically comprises the following substeps:
for the keyword w, calculate h w H (w), wherein the functionIs a full rank differential coding function which can be applied toThe element in (1) is mapped to R q The reversible element of (1);
calculating a w =a T +(0,h w g T ) T =(a T ,h w g T +h id g T ) T Where a is the public key of the recipient,
uniformly and randomly selecting polynomial s ← U (R) q ), e′←D R,τ ,c 1 ∈R 2 WhereinRepresents R m-k (R k R) a Gaussian distribution with variance τ (γ, τ);
operation ofAlgorithm, where T s Is the public key of the sender, a s′ As described above, id s For the identity of the sender, h is E.R q Is a given parameter, ζ, σ, α are gaussAnd (4) parameters. Thereby calculating the verification parameter c 1 : to satisfy
Generating searchable ciphertext s = (b, c) according to the result of the above steps 2 ,c 1 )。
(4) And the receiving party generates a retrieval trapdoor based on the preset searched keywords and submits the retrieval trapdoor to the cloud server.
The process of generating the retrieval trapdoor comprises the following steps:
calculating a hash value of a preset searched keyword;
calculating an intermediate parameter of the retrieval trapdoor according to the hash value of the corresponding keyword;
generating a polynomial based on the intermediate parameters of the retrieval trapdoor and the primary image sampling algorithm, wherein the polynomial is used for generating the retrieval trapdoor; and the product of the transposition of the intermediate parameter of the retrieval trapdoor and the polynomial is equal to the randomly selected polynomial in the process of generating the searchable ciphertext.
Specifically, the receiving party inputs a keyword w desired to be searched, and generates a retrieval trapdoor t w ∈R m And submitted to the cloud server. The method specifically comprises the following substeps:
for the keyword w, calculate h w H (w), wherein function H is an FRD function as described above;
calculating a w =a T +(0,h w g T ) T =(a T ,h w g T +h id g T ) T ;
Running the pre-image sample SamplePre (T, a) w ,h w ζ, σ, α, u) algorithm to generate a polynomial x ∈ R m To satisfyWherein T, a w ,h w U is as described above, ζ, σ, α are given gaussian parameters;
generating a retrieval trapdoor t according to the result of the steps w And (= x). Wherein, onThe notation T indicates transposed meaning.
(5) And the cloud server retrieves all searchable ciphertexts according to the retrieval trapdoor, returns all matched ciphertext files of the searchable ciphertexts and sends the ciphertext files to the receiving party.
The process of the cloud server retrieving all searchable ciphertexts according to the retrieval trapdoor is as follows:
according to the search trapdoor t w And searchable ciphertext s = (b, c) 2 ,c 1 ) Calculating the judgment parameter y = c 2 -b T t w ;
Wherein, b, c 2 ,c 1 Direct parameters for searchable ciphertexts, c 1 ←{0,1};
If the judgment parameter y is closer toBut not 0, then y =1, otherwise y =0; whereinRepresents a floor function for q/2; q is the modulus of the integer ring, a known parameter;
if it is notc =0, it indicates that the search trapdoor and the searchable ciphertext match each other, otherwise, they do not match.
And according to the result of the process, the cloud server returns all the ciphertext files meeting the trapdoor retrieval condition.
The scheme is based on the Ring-ISIS/LWE difficulty assumption of the lattice cipher, which provides long-term security and is currently considered to be resistant to attack by quantum computers, done under a standard model. The invention provides a search function for protecting privacy, and meets the indistinguishability of multiple ciphertext and the privacy of multiple trapdoors. The security of the key ciphertext is based on the difficulty of the Ring-LWE problem and the security of the key trapdoor is based on the difficulty of the Ring-ISIS problem. The present invention provides a privacy-preserving search function that is resistant to keyword guessing attacks, as compared to Behnia et al and Zhang et al PEKS schemes.
Example two:
it is an object of the present embodiment to provide a verifiable public key searchable encryption method.
A verifiable public key searchable encryption method based on the above-mentioned one verifiable public key searchable encryption system, the method comprising:
initializing a key generation center operating environment, and generating a main public key and a main private key based on a built-in initialization algorithm;
generating respective public keys of the sender and the receiver and corresponding private keys thereof through the key generation center; the sender generates searchable ciphertexts for the keywords attached to each encrypted file based on the public key and the private key of the sender and the public key of the receiver, and uploads the generated searchable ciphertexts and the encrypted files corresponding to the searchable ciphertexts to the cloud server; the receiving party generates a retrieval trapdoor based on a preset search keyword and sends the retrieval trapdoor to the cloud server;
and the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor and sends the encrypted file corresponding to the matched searchable ciphertexts to the receiving party.
Further, the system of the present embodiment corresponds to the method of the first embodiment, and the technical details thereof have been described in detail in the first embodiment, so that the details are not repeated herein.
Example three:
the embodiment aims at providing an electronic device.
An electronic device comprising a memory, a processor and a computer program stored to run on the memory, the processor when executing the program performing the steps of:
initializing a key generation center operating environment, and generating a main public key and a main private key based on a built-in initialization algorithm;
generating respective public keys of the sender and the receiver and corresponding private keys thereof through the key generation center; the sender generates a searchable cipher text for the keywords attached to each encrypted file based on the public key and the private key of the sender and the public key of the receiver, and uploads the generated searchable cipher text and the encrypted file corresponding to the searchable cipher text to the cloud server; the receiving party generates a retrieval trapdoor based on a preset search keyword and sends the retrieval trapdoor to the cloud server;
and the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor and sends the encrypted file corresponding to the matched searchable ciphertexts to the receiving party.
Example four:
an object of the present embodiments is to provide a non-transitory computer-readable storage medium.
A non-transitory computer readable storage medium having stored thereon a computer program which when executed by a processor performs the steps of:
initializing a key generation center operating environment, and generating a main public key and a main private key based on a built-in initialization algorithm;
generating respective public keys of the sender and the receiver and corresponding private keys thereof through the key generation center; the sender generates searchable ciphertexts for the keywords attached to each encrypted file based on the public key and the private key of the sender and the public key of the receiver, and uploads the generated searchable ciphertexts and the encrypted files corresponding to the searchable ciphertexts to the cloud server; the receiving party generates a retrieval trapdoor based on a preset search keyword and sends the retrieval trapdoor to the cloud server;
and the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor and sends the encrypted file corresponding to the matched searchable ciphertexts to the receiving party.
Those of ordinary skill in the art will appreciate that the various illustrative elements, i.e., algorithm steps, described in connection with the embodiments disclosed herein may be implemented as electronic hardware, or combinations of computer software and electronic hardware. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the implementation. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the present disclosure.
The verifiable public key searchable encryption system and method provided by the embodiment can be realized, and have wide application prospects.
The above description is only a preferred embodiment of the present disclosure and is not intended to limit the present disclosure, and various modifications and changes may be made to the present disclosure by those skilled in the art. Any modification, equivalent replacement, improvement and the like made within the spirit and principle of the present disclosure should be included in the protection scope of the present disclosure.
Claims (7)
1. A verifiable public key searchable encryption system is characterized by comprising a key generation center, a sender, a receiver and a cloud server; wherein: the key generation center is used for initializing the running environment and generating a main public key and a main private key based on a built-in initialization algorithm;
the sender and the receiver obtain respective public keys and corresponding private keys thereof through the key generation center; the public key and the private key are generated based on a key derivation algorithm built in the key generation center and the master public key and the master private key;
the sender generates a searchable cipher text for the keywords attached to each encrypted file according to the public key and the private key of the sender and the public key of the receiver, and uploads the generated searchable cipher text and the encrypted file corresponding to the searchable cipher text to the cloud server; the generation of the searchable cryptograph specifically adopts the following steps:
calculating the hash value of the keyword attached to each encrypted file;
calculating intermediate parameters of the searchable ciphertexts according to the hash values of the corresponding keywords;
run according to the public key of the receiverAlgorithm, where pk, sk are the public key of the sender andthe private key is used to encrypt the data,andfor the given parameters of the process, it is preferred,the parameters are Gaussian parameters, and the verification parameters are calculated according to the parameters;
uniformly and randomly selecting a polynomial, and calculating a direct parameter for generating the searchable cipher text by combining the intermediate parameter and the verification parameter of the searchable cipher text to generate the searchable cipher text;
the receiving party generates a retrieval trapdoor based on a preset search keyword and submits the retrieval trapdoor to the cloud server; the method comprises the following specific steps:
calculating hash values of preset searched keywords;
calculating an intermediate parameter of the retrieval trapdoor according to the hash value of the corresponding keyword;
generating a polynomial based on intermediate parameters of the retrieval trapdoor and an original image sampling algorithm, wherein the polynomial is used as the generated retrieval trapdoor; the product of the transposition of the intermediate parameter of the retrieval trapdoor and the polynomial is equal to the randomly selected polynomial in the process of generating the searchable ciphertext;
the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor, and specifically comprises the following steps:
calculating judgment parameters according to the retrieval trapdoor and the searchable ciphertext;
if the judgment parameter meets the preset condition, thenOtherwise, otherwise(ii) a Wherein,is a judgment parameter;
If it is notIf the search trapdoor is matched with the searchable ciphertext, otherwise, the search trapdoor is not matched with the searchable ciphertext;
and sending the encrypted file corresponding to the matched searchable cipher text to the receiving party.
2. The system of claim 1, wherein the sender generates searchable ciphertexts for each keyword attached to the encrypted file according to the public key and the private key of the sender and the public key of the receiver, and the sender performs identity verification on the keywords when encrypting the keywords by introducing the private key of the sender into the generation of the searchable ciphertexts.
3. The verifiable public key searchable encryption system as claimed in claim 1, wherein said generating a master public key and a master private key is based on a built-in initialization algorithm, wherein said initialization algorithm is specifically: and operating a TrapGen function generator polynomial and a trapdoor associated with the polynomial, and calculating to obtain a main public key and a main private key based on the polynomial and the trapdoor.
4. A verifiable public key searchable encryption system as in claim 1, wherein said key derivation algorithm employs a Derive (mpk, msk, ID) algorithm, where mpk is a master public key, msk is a master private key, and ID is the identity ID of the sender or receiver.
5. A verifiable public key searchable encryption method based on a verifiable public key searchable encryption system according to any of claims 1-4, said method comprising:
initializing a key generation center operating environment, and generating a main public key and a main private key based on a built-in initialization algorithm;
generating respective public keys of the sender and the receiver and corresponding private keys thereof through the key generation center; the sender generates a searchable cipher text for the keywords attached to each encrypted file based on the public key and the private key of the sender and the public key of the receiver, and uploads the generated searchable cipher text and the encrypted file corresponding to the searchable cipher text to the cloud server; the receiving party generates a retrieval trapdoor based on a preset search keyword and sends the retrieval trapdoor to the cloud server;
and the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor and sends the encrypted file corresponding to the matched searchable ciphertexts to the receiving party.
6. An electronic device comprising a memory, a processor and a computer program stored for execution on the memory, wherein the processor when executing the program performs the tasks of a verifiable public key searchable encryption system as set forth in claim 1:
initializing a key generation center operating environment, and generating a main public key and a main private key based on a built-in initialization algorithm;
generating respective public keys of the sender and the receiver and corresponding private keys thereof through the key generation center; the sender generates searchable ciphertexts for the keywords attached to each encrypted file based on the public key and the private key of the sender and the public key of the receiver, and uploads the generated searchable ciphertexts and the encrypted files corresponding to the searchable ciphertexts to the cloud server; the receiving party generates a retrieval trapdoor based on a preset search keyword and sends the retrieval trapdoor to the cloud server;
and the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor and sends the encrypted file corresponding to the matched searchable ciphertexts to the receiving party.
7. A non-transitory computer-readable storage medium, on which a computer program is stored, which, when executed by a processor, performs the tasks of a verifiable public key searchable encryption system as claimed in claim 1:
initializing a key generation center operating environment, and generating a main public key and a main private key based on a built-in initialization algorithm;
generating respective public keys of the sender and the receiver and corresponding private keys thereof through the key generation center; the sender generates a searchable cipher text for the keywords attached to each encrypted file based on the public key and the private key of the sender and the public key of the receiver, and uploads the generated searchable cipher text and the encrypted file corresponding to the searchable cipher text to the cloud server; the receiving party generates a retrieval trapdoor based on a preset search keyword and sends the retrieval trapdoor to the cloud server;
and the cloud server retrieves all searchable ciphertexts based on the retrieval trapdoor and sends the encrypted file corresponding to the matched searchable ciphertexts to the receiving party.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210587635.0A CN115021993B (en) | 2022-05-27 | 2022-05-27 | Verifiable public key searchable encryption system and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210587635.0A CN115021993B (en) | 2022-05-27 | 2022-05-27 | Verifiable public key searchable encryption system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115021993A CN115021993A (en) | 2022-09-06 |
CN115021993B true CN115021993B (en) | 2023-02-28 |
Family
ID=83070278
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210587635.0A Active CN115021993B (en) | 2022-05-27 | 2022-05-27 | Verifiable public key searchable encryption system and method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115021993B (en) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116599771B (en) * | 2023-07-14 | 2023-09-22 | 浙江云针信息科技有限公司 | Data hierarchical protection transmission method and device, storage medium and terminal |
CN117768119A (en) * | 2024-01-03 | 2024-03-26 | 北京睿航至臻科技有限公司 | Searchable encryption identity authentication method based on semi-quantum entanglement |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105553660A (en) * | 2016-01-25 | 2016-05-04 | 华中科技大学 | Dynamic searchable public key encryption method |
CN112861153A (en) * | 2021-02-10 | 2021-05-28 | 华中科技大学 | Keyword searchable delay encryption method and system |
CN113626484A (en) * | 2021-07-03 | 2021-11-09 | 西安电子科技大学 | Searchable encryption method and system capable of flexibly replacing ciphertext and computer equipment |
CN113794561A (en) * | 2021-09-14 | 2021-12-14 | 山东大学 | Public key searchable encryption method and system |
CN114244498A (en) * | 2021-12-06 | 2022-03-25 | 国网河南省电力公司电力科学研究院 | Dynamic searchable public key encryption method with forward security |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106803784B (en) * | 2017-03-30 | 2020-11-27 | 福州大学 | Lattice-based multi-user fuzzy searchable encryption method in secure multimedia cloud storage |
CN108200063B (en) * | 2017-12-29 | 2020-01-03 | 华中科技大学 | Searchable public key encryption method, system and server adopting same |
CN109086615A (en) * | 2018-08-03 | 2018-12-25 | 上海海事大学 | A kind of support multiple key search public key encryption method of anti-keyword guessing attack |
-
2022
- 2022-05-27 CN CN202210587635.0A patent/CN115021993B/en active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105553660A (en) * | 2016-01-25 | 2016-05-04 | 华中科技大学 | Dynamic searchable public key encryption method |
CN112861153A (en) * | 2021-02-10 | 2021-05-28 | 华中科技大学 | Keyword searchable delay encryption method and system |
CN113626484A (en) * | 2021-07-03 | 2021-11-09 | 西安电子科技大学 | Searchable encryption method and system capable of flexibly replacing ciphertext and computer equipment |
CN113794561A (en) * | 2021-09-14 | 2021-12-14 | 山东大学 | Public key searchable encryption method and system |
CN114244498A (en) * | 2021-12-06 | 2022-03-25 | 国网河南省电力公司电力科学研究院 | Dynamic searchable public key encryption method with forward security |
Non-Patent Citations (1)
Title |
---|
基于身份的具有否认认证的关键字可搜索加密方案;曹素珍 等;《电子与信息学报》;20211109;第44卷(第3期);第2节第1段至第5节最后一段 * |
Also Published As
Publication number | Publication date |
---|---|
CN115021993A (en) | 2022-09-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110224986B (en) | Efficient searchable access control method based on hidden policy CP-ABE | |
Li et al. | Full verifiability for outsourced decryption in attribute based encryption | |
Wang et al. | Attribute-based data sharing scheme revisited in cloud computing | |
CN108885741B (en) | Tokenization method and system for realizing exchange on block chain | |
US10129029B2 (en) | Proofs of plaintext knowledge and group signatures incorporating same | |
CN108599937B (en) | Multi-keyword searchable public key encryption method | |
Backes et al. | A Security API for Distributed Social Networks. | |
CN115021993B (en) | Verifiable public key searchable encryption system and method | |
Sun et al. | Secure searchable public key encryption against insider keyword guessing attacks from indistinguishability obfuscation | |
CN106789044B (en) | Searchable encryption method for cipher text data public key stored in cloud on grid under standard model | |
Cheon et al. | Ghostshell: Secure biometric authentication using integrity-based homomorphic evaluations | |
Zhang et al. | DOPIV: Post-quantum secure identity-based data outsourcing with public integrity verification in cloud storage | |
CN111431705B (en) | Reverse password firewall method suitable for searchable encryption | |
CN112861153A (en) | Keyword searchable delay encryption method and system | |
CN110866135B (en) | Response length hiding-based k-NN image retrieval method and system | |
Li et al. | Enabling efficient and secure data sharing in cloud computing | |
Liu et al. | Efficient and strongly unforgeable identity‐based signature scheme from lattices in the standard model | |
CN111786790A (en) | Privacy protection identity-based encryption method and system with keyword search function | |
CN111902809A (en) | Ciphertext searching method, device and equipment based on CP-ABE under fog calculation and storage medium | |
Cheng et al. | Public key authenticated encryption with keyword search from LWE | |
Qin et al. | Simultaneous authentication and secrecy in identity-based data upload to cloud | |
Lyu et al. | Tightly SIM-SO-CCA secure public key encryption from standard assumptions | |
CN114422273A (en) | Sensitive decision data safety sharing method in intelligent construction engineering information system | |
Liu et al. | Time-controlled hierarchical multikeyword search over encrypted data in cloud-assisted IoT | |
Balasubramanian | Hash functions and their applications |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |