A searchable encryption method based on key-homomorphic prf and vrf

By introducing key homomorphic PRF and VRF, the separation of read and write permissions and data legitimacy verification are achieved, solving the problems of permission coupling and data security in traditional symmetric searchable encryption methods, and improving the security and reliability of cloud data systems.

CN121098478BActive Publication Date: 2026-02-24上海霄元创新中心
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511648942.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-11-12
Publication Date
2026-02-24
Estimated Expiration
2045-11-12

AI Technical Summary

Technical Problem

In traditional symmetric searchable encryption methods, read and write permissions are highly coupled, resulting in a lack of flexibility in key management, an inability to achieve fine-grained access control, and the inability of the server to verify the legitimacy of the data uploader, which poses a risk of illegal data injection and tampering.

Method used

By introducing key homomorphic PRF and VRF, independent read and write keys are generated, and the legitimacy of the data uploader is verified by VRF verification tags, thereby achieving separation of read and write permissions and verification of data authenticity.

Benefits of technology

It enables fine-grained control of read and write permissions, prevents unauthorized data injection and tampering, and improves the security and reliability of cloud data systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121098478B_ABST
    Figure CN121098478B_ABST
Patent Text Reader

Abstract

The application relates to the field of information security and cryptography technology, and provides a searchable encryption method based on a key homomorphism PRF and a VRF, which comprises the following steps: a key homomorphism PRF function is executed to generate a first master key and a second master key and to calculate an aggregated key; a VRF function is executed to generate a public-private key pair, to initialize a keyword state quantity and an encrypted database; a writeable user end calculates a main-sub index address corresponding to a target keyword, a main-sub verification label of the main-sub index address, and an encrypted data value calculated through the aggregated key, encapsulates the encrypted data value into an encrypted data packet, and sends the encrypted data packet to a cloud server end to execute an update operation; a readable user end receives an input query keyword, generates a corresponding query token based on the aggregated key, sends the query token to the cloud server end to search for matched encrypted data values, and a readable user decrypts and screens to obtain a target document identifier list corresponding to the query keyword; the key homomorphism technology and the verifiable random function are introduced, read-write permission separation is realized, and the security hidden danger problem caused by access permission coupling is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the fields of information security and cryptography, and in particular to a searchable encryption method based on key homomorphic PRF and VRF. Background Technology

[0002] With the popularization of cloud computing technology, individuals and enterprises are increasingly inclined to outsource data to cloud servers to save on storage and computing costs. However, data outsourcing also brings certain privacy leakage risks. To protect data privacy, users generally adopt the method of encrypting before uploading. However, traditional encryption causes data to lose its semantic features, and cloud service providers cannot directly perform retrieval operations on the encrypted data, severely weakening the availability of the data. Against this background, searchable encryption (SE) technology has emerged, allowing users to directly perform keyword retrieval in encrypted form. Among them, symmetric searchable encryption (SSE) has become a research hotspot due to its high efficiency. However, traditional SSE schemes mostly adopt a single-key mode, that is, the same key is used to generate search tokens and encrypt data, resulting in a high degree of coupling between "read" (search) and "write" (update data) permissions.

[0003] In the existing technology, this permission coupling exposes obvious limitations in actual application scenarios: (1) Key management lacks flexibility. Users with search permissions can also write data, which is not suitable for security-sensitive scenarios such as enterprise management, medical data or government information systems that require strict permission differentiation; (2) In traditional solutions, the server cannot verify the legitimate identity of the data uploader, which is easily threatened by malicious users uploading illegal data or external attackers tampering with existing data, seriously affecting the integrity and security of the data. Summary of the Invention

[0004] The purpose of this invention is to address the aforementioned technical problems by proposing a searchable encryption method based on key homomorphic PRF and VRF. This method aims to separate user read and write permissions and enable cloud servers to verify the legitimacy of data uploaders, thereby effectively preventing illegal data injection and tampering, and improving the security and reliability of outsourced data systems. This objective can be achieved through the following technical solutions:

[0005] This invention provides a searchable encryption method based on key homomorphic PRF and VRF, comprising the following steps:

[0006] During the system initialization phase, the data owner executes the Key-Homomorphic Pseudorandom function (KHPRF) to generate the first master key and the second master key and calculate the corresponding aggregate key, executes the Verifiable Random Function (VRF) to generate public and private key pairs, and initializes the keyword state and the encrypted database.

[0007] During the data update phase, the writable client calculates the primary and secondary index addresses corresponding to the target keyword based on the first and second primary keys. It then uses the private key SK to calculate the primary and secondary verification tags for each index address and the aggregate key to calculate the encrypted data value of the target keyword. Finally, it encapsulates the primary and secondary index addresses, verification tags, and encrypted data value into an encrypted data packet and sends it to the cloud server for update operation. The update operation involves the cloud server using the public key PK to verify the validity of the verification tags in the encrypted data packet and writing the encrypted data value from the valid encrypted data packet into the target index address corresponding to the encrypted database.

[0008] During the encrypted retrieval phase, the readable client receives the input query keywords and generates a corresponding query token based on the aggregation key. The query token is then sent to the cloud server to retrieve the matching encrypted data value. The readable client decrypts and filters the encrypted data value using the aggregation key to obtain a list of target document identifiers corresponding to the query keywords. The list of target document identifiers is a set of document IDs containing the query keywords.

[0009] Furthermore, the data owner executes the key homomorphic PRF function to generate a first master key and a second master key and calculates the corresponding aggregate key, executes the VRF function to generate a public-private key pair, and initializes the keyword state and the encrypted database, including:

[0010] Key homomorphic PRF function defined based on exponential operation homomorphism. The first master key is generated by executing the key homomorphic PRF function. With the second master key And according to the key homomorphic PRF function Calculate the aggregate key To establish a homomorphic relationship between key addition and output multiplication;

[0011] Execute the VRF function to generate a public / private key pair. The first master key generated based on the data owner. Second Master Key Aggregated key Together with the private key SK, they form a writable user key set. And distribute it to writable user terminals; extract the aggregate key. As a readable user key It is then distributed to readable user terminals; simultaneously, a verification key is configured on the cloud server side. and initialize the keyword state variables. And the encrypted database EDB, completing the parameter configuration during the system initialization phase; among which, For key homomorphic PRF functions, For hash functions, This is the first master key. This is the second master key. For aggregation key, For public key SK is the private key SK. For writable user key sets, For readable user keys, To verify the key, Here, x represents the keyword status, and w represents the target keyword.

[0012] Furthermore, during the data update phase, the writable client calculates the primary and secondary index addresses corresponding to the target keyword based on the first and second primary keys. It then uses the private key SK to calculate the primary and secondary verification tags for these index addresses and calculates the encrypted data value of the target keyword using the aggregation key. Finally, it encapsulates the primary and secondary index addresses, verification tags, and encrypted data value into an encrypted data packet and sends it to the cloud server to perform the update operation. This includes:

[0013] The data update process is triggered based on target keywords input by a writable user client.

[0014] Determine the keyword state quantity corresponding to the target keyword Is it empty? When the keyword state variable is empty. Empty, initialize keyword state variables and perform state update. When the keyword state quantity If not empty, then perform a state update. ;

[0015] Based on the first master key of the writable user terminal With the second master key Calculate the primary and secondary index addresses for the target keywords respectively, where,

[0016] The primary index address is ;

[0017] The address of the secondary index is ;

[0018] The writable client uses the private key SK to perform VRF function calculations on the primary and secondary index addresses respectively to obtain the corresponding primary and secondary verification tags, where,

[0019] The main verification tag is ;

[0020] Sub-verification label is ;

[0021] The encrypted data value of the target keyword is calculated based on the aggregated key. The encrypted data value is... ;

[0022] The primary and secondary index addresses, primary and secondary verification tags, and encrypted data values ​​are encapsulated into an encrypted data packet. Send to the cloud server to perform the update operation.

[0023] in, Here, w represents the keyword state variable, and w represents the target keyword. For key homomorphic PRF functions, This is the first master key. This is the second master key. For the aggregation key, input parameters For the target keyword w and the corresponding keyword state variables The input string to be concatenated, where || is the string concatenation operator; VRF.Evaluate() is the VRF function, and SK is the private key SK. The primary index address, For secondary index address, The XOR operator is used to mask or encrypt input parameters, id is the document identifier containing the target keyword, and op is the operation type.

[0024] Furthermore, the cloud server uses the public key (PK) to verify the validity of the primary and secondary verification tags in the encrypted data packet, including:

[0025] After responding to the update operation request from the writable client, the cloud server receives encrypted data packets.

[0026] Based on encrypted data packets, verification operations are performed on the primary and secondary verification tags respectively using the verification key, including:

[0027] ;

[0028] ;

[0029] Where PK is the public key, also known as the verification key. This is a VRF verification function. The main verification label. For secondary verification labels, To verify the results of the main verification tag, This is the verification result for the secondary verification label;

[0030] when and The validity verification passes when all verification results are 1, and the update operation is executed; when and If any verification result is 0, the verification fails and the update operation is rejected.

[0031] Furthermore, the encrypted data value in the encrypted data packet after its validity is verified is written to the target index address corresponding to the encrypted database, including:

[0032] After the validity verification is passed, the target index address is calculated based on the verified primary index address and secondary index address, using the following formula: ;

[0033] Write the encrypted data value to the corresponding target index address in the encrypted database, using the following formula: ;

[0034] in, The primary index address, For secondary index address, For the target index address, For encrypted data values, To encrypt the database, [ ] represents the assignment operation, and [ ] represents the index operation, used to encrypt the data unit corresponding to the specified target index address in the database.

[0035] Furthermore, during the encrypted retrieval phase, the readable client receives the input query keywords and generates a corresponding query token based on the aggregation key. The query token is then sent to the cloud server to retrieve matching encrypted data values, including:

[0036] The readable client receives the input query keywords and determines the keyword status corresponding to the query keywords. ;

[0037] Based on readable user key and keyword state For keyword state quantities Each item in the iteration is assigned a value i, and the calculation is performed to query the label. , each query tag Insert query token And send it to the cloud server for retrieval;

[0038] in, Here, is the keyword state variable, and is the iteration variable used for traversal. For key homomorphic PRF functions, Here, w is the aggregation key, and w is the query keyword. For querying tags, || is the string concatenation operator;

[0039] The cloud server responds to readable client-side retrieval requests based on the query token. Retrieve the corresponding encrypted data values ​​from the encrypted database and insert them sequentially into the results list. Send to the readable user terminal.

[0040] Furthermore, the readable client can decrypt and filter the encrypted data value using the aggregation key to obtain a list of target document identifiers corresponding to the query keywords. This list of target document identifiers is a set of document IDs containing the query keywords, including:

[0041] List of results received by the readable client Then, the encrypted data value is decrypted using the aggregation key to obtain the corresponding document identifier and operation instructions; the result set is updated according to the operation instructions. It then outputs a list of target document identifiers as the final output.

[0042] Furthermore, based on the query token Retrieve the corresponding encrypted data values ​​from the encrypted database and insert them sequentially into the results list. ,include:

[0043] Initialization result list ;

[0044] query token Query tags As the encrypted query address, the encrypted data values ​​corresponding to the encrypted query address are retrieved sequentially from the encrypted database and inserted into the result list. The results list will be generated after all encrypted query addresses have been retrieved. Return to the readable user interface.

[0045] Furthermore, based on the aggregated key, the encrypted data value is decrypted to obtain the corresponding document identifier and operation instructions, including:

[0046] For the results list In implement This retrieves the corresponding document identifier and operation instructions; among which, For the results list The i-th encrypted data value in the array, where i is the loop index variable, id is the document identifier, and op is the operation instruction. Here, w represents the query keyword, and || is the string concatenation operator. For aggregation key, For ordinary pseudo-random functions, This is the XOR operator, used to perform decryption calculations, XORing the encrypted data value with the output of a normal pseudo-random function to recover the plaintext information.

[0047] Furthermore, update the result set according to the operation instructions. ,include:

[0048] When the operation command is "add", the corresponding document identifier is inserted into the result set. When the operation command is del, it retrieves data from the result set. Remove the corresponding document identifier from the file.

[0049] Compared with the prior art, the present invention has at least one of the following technical advantages:

[0050] This invention, based on traditional symmetric searchable encryption methods, introduces key homomorphism and verifiable random functions to achieve separation of read and write permissions. This fundamentally solves the security risks caused by the coupling of access permissions in existing technologies, and realizes refined and mandatory access control. At the same time, it uses verifiable random functions to verify the authenticity of the data update process, enabling the server to automatically verify the legitimacy of the data source, effectively defending against illegal data injection and storage tampering attacks, and building a higher level of security architecture. Attached Figure Description

[0051] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the description of the embodiments will be briefly introduced below:

[0052] Figure 1 This is a flowchart illustrating the searchable encryption method based on key homomorphic PRF and VRF of the present invention.

[0053] Figure 2 This is a schematic diagram of the read / write interaction process of the searchable encryption method based on key homomorphic PRF and VRF of the present invention. Detailed Implementation

[0054] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail below with reference to the accompanying drawings and specific embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.

[0055] First Embodiment

[0056] Existing symmetric searchable encryption schemes typically employ a single master key structure, where the same key is used both to generate search tokens and to perform data encryption and update operations. While this model enables basic encrypted retrieval, it reveals significant structural flaws in multi-user, high-security scenarios:

[0057] (1) Key management lacks flexibility. Users with search permissions often also have write or delete permissions, making it difficult to achieve fine-grained permission division for different roles. For example, in a medical cloud system, doctors and nurses need to access the same encrypted database. Doctors can only retrieve medical records, while nurses can only upload examination results. However, the traditional SSE scheme uses the same master key to generate search tokens and encrypted data, which allows any user holding the key to perform both "read" and "write" operations simultaneously, which can easily lead to unauthorized access and data leakage.

[0058] (2) Existing solutions generally assume that the server is "honest but curious," meaning that they generally assume the server is completely trustworthy when performing storage and retrieval operations, without verifying the authenticity of the uploaded data. However, in a real cloud environment, attackers may forge encrypted data for upload or replace stored ciphertext. Because traditional SSE solutions lack a server-side data source verification mechanism, the server cannot determine the legitimacy of the data uploader, leading to security problems such as contaminated ciphertext indexes, forged information mixed into the database, and unreliable retrieval results.

[0059] The root cause of these security vulnerabilities lies in the fact that the key structure of existing SSE systems cannot express the operation identity and operation type within the encryption domain. That is, the system cannot distinguish whether an encryption operation is a "read" or a "write," where "read" corresponds to a "retrieval operation" and "write" corresponds to an "update operation," nor can it verify the legitimacy of the request source. Based on this consideration, this invention proposes a searchable encryption method based on key homomorphic PRF and VRF. By constructing a key homomorphic structure within the encryption domain, independent generation and permission separation of read and write keys are achieved. Furthermore, the verification tag output by VRF provides verifiable credentials for each data update, enabling the cloud server to proactively verify the uploader's identity and the legitimacy of the request. This allows for secure and reliable encrypted retrieval and update operations without decrypting the data. It also enables the cloud server to proactively identify and reject illegal uploads, effectively preventing illegal data injection and storage tampering at the source. The specific implementation is as follows:

[0060] like Figure 1 , 2 As shown, this invention provides a searchable encryption method based on key homomorphic PRF and VRF, comprising the following steps:

[0061] Step S1: During the system initialization phase, the data owner executes the Key-Homomorphic Pseudorandom function (KHPRF) to generate the first master key and the second master key, calculates the corresponding aggregate key, executes the Verifiable Random Function (VRF) to generate public-private key pairs, and initializes the keyword state and the encryption database, including:

[0062] Key homomorphic PRF function defined based on exponential operation homomorphism. The first master key is generated by executing the key homomorphic PRF function. With the second master key And according to the key homomorphic PRF function Calculate the aggregate key To establish a homomorphic relationship between key addition and output multiplication;

[0063] Define key homomorphic PRF function Includes the following steps:

[0064] set up It is a prime number order cyclic group, and It is a hash function. (Key homomorphic PRF function) for It satisfies the homomorphic property ;

[0065] Based on the aforementioned homomorphic properties, a master key and an aggregation key are generated, assuming the key field is... All key operations are performed in The process is conducted online, with the data owner randomly selecting the first master key. With the second master key Then calculate the aggregation key. and naturally satisfied Based on this homomorphic relationship, key layering is achieved while maintaining key homomorphism: where , This corresponds to the encryption and update permissions of writable users, and The aggregate key is used only for retrieval operations by readable users. This design makes the read and write key spaces logically independent and mathematically related, achieving access control and verifiable access control without compromising searchable cryptographic homomorphism.

[0066] Specifically, in existing cloud-based data management systems, user permissions are typically implemented through Access Control Lists (ACLs) or system account-level permission configurations. On the surface, assigning different users "read" or "write" permissions seems to meet security requirements. For example, in a hospital's electronic medical record system, doctors are set to read-only permissions, nurses can enter daily vital sign data, and administrators have full modification and upload permissions. However, this type of permission control relies entirely on server-side logic and configuration files. Once the system is attacked, the configuration is tampered with, or the identity token is stolen, attackers can bypass the logic and directly upload or modify encrypted data. In other words, even if "permissions" are set very finely in the system, the server cannot verify the legitimate source of the data at the encryption algorithm layer. As a result, once the logical layer defense is breached, the system will mistakenly treat forged or tampered data as legitimate operations. Even with SSL transmission or identity login mechanisms, only "who is logged in" is verified, not "who is uploading mathematically correct encrypted data." Therefore, simply setting access permissions for users cannot fundamentally prevent illegal data injection or encrypted data tampering, lacking strong security guarantees at the algorithmic level.

[0067] To address the security vulnerabilities of existing technologies that rely solely on logical-level access control and fail to verify data legitimacy at the cryptographic level, a key structure with mathematical constraints is generated for different users during system initialization. This ensures that users' "read" and "write" permissions are determined by the algorithm itself, rather than by server configuration or logical judgment. The system first utilizes a homomorphic pseudo-random function. Generate the first master key With the second master key and aggregation key Make it satisfy the homomorphic relation Among them, the holder of the first master key With the second master key Users who legally generate and write tags can perform upload or modification operations; while those who only hold the aggregation key... Users can only perform search queries and cannot construct write requests that satisfy the verification relationship. Upon receiving an upload request, the cloud server automatically determines the legality of the data operation by verifying whether the homomorphic function relationship is valid, achieving algorithm-level permission differentiation and security verification. This eliminates the risk of unauthorized access caused by configuration tampering or account theft in traditional access control, achieving cryptographic-level security isolation between data access and operations.

[0068] Execute the VRF function to generate a public / private key pair. The first master key generated based on the data owner. Second Master Key Aggregated key Together with the private key SK, they form a writable user key set. And distribute it to writable user terminals; extract the aggregate key. As a readable user key It is then distributed to readable user terminals; simultaneously, a verification key is configured on the cloud server side. and initialize the keyword state variables. And the encrypted database EDB, completing the parameter configuration during the system initialization phase; among which, For key homomorphic PRF functions, For hash functions, This is the first master key. This is the second master key. For aggregation key, For public key SK is the private key SK. For writable user key sets, For readable user keys, To verify the key, Here, x represents the keyword status, and w represents the target keyword.

[0069] Step S2: During the data update phase, the writable client calculates the primary and secondary index addresses corresponding to the target keyword based on the first and second primary keys. It then uses the private key SK to calculate the primary and secondary verification tags for each index address and the aggregate key to calculate the encrypted data value of the target keyword. Finally, it encapsulates the primary and secondary index addresses, verification tags, and encrypted data value into an encrypted data packet and sends it to the cloud server for update operation. The update operation involves the cloud server using the public key PK to verify the validity of the verification tags in the encrypted data packet and writing the encrypted data value from the valid encrypted data packet into the target index address corresponding to the encrypted database.

[0070] Step S3: During the encrypted retrieval phase, the readable client receives the input query keywords and generates a corresponding query token based on the aggregation key. The query token is then sent to the cloud server to retrieve the matching encrypted data value. The readable client decrypts and filters the encrypted data value using the aggregation key to obtain a list of target document identifiers corresponding to the query keywords. The list of target document identifiers is a set of document IDs containing the query keywords.

[0071] Furthermore, during the data update phase, the writable client calculates the primary and secondary index addresses corresponding to the target keyword based on the first and second primary keys. It then uses the private key SK to calculate the primary and secondary verification tags for these index addresses and calculates the encrypted data value of the target keyword using the aggregation key. Finally, it encapsulates the primary and secondary index addresses, verification tags, and encrypted data value into an encrypted data packet and sends it to the cloud server to perform the update operation. This includes:

[0072] The data update process is triggered based on target keywords input by a writable user client.

[0073] Determine the keyword state quantity corresponding to the target keyword Is it empty? When the keyword state variable is empty. Empty, initialize keyword state variables and perform state update. When the keyword state quantity If not empty, then perform a state update. ;

[0074] Based on the first master key of the writable user terminal With the second master key Calculate the primary and secondary index addresses for the target keywords respectively, where,

[0075] The primary index address is ;

[0076] The address of the secondary index is ;

[0077] The writable client uses the private key SK to perform VRF function calculations on the primary and secondary index addresses respectively to obtain the corresponding primary and secondary verification tags, where,

[0078] The main verification tag is ;

[0079] Sub-verification label is ;

[0080] The encrypted data value of the target keyword is calculated based on the aggregated key. The encrypted data value is... ;

[0081] The primary and secondary index addresses, primary and secondary verification tags, and encrypted data values ​​are encapsulated into an encrypted data packet. Send to the cloud server to perform the update operation.

[0082] in, Here, w represents the keyword state variable, and w represents the target keyword. For key homomorphic PRF functions, This is the first master key. This is the second master key. For the aggregation key, input parameters For the target keyword w and the corresponding keyword state variables The input string to be concatenated, where || is the string concatenation operator; VRF.Evaluate() is the VRF function, and SK is the private key SK. The primary index address, For secondary index address, The XOR operator is used to mask or encrypt input parameters, id is the document identifier containing the target keyword, and op is the operation type.

[0083] Furthermore, the cloud server uses the public key (PK) to verify the validity of the primary and secondary verification tags in the encrypted data packet, including:

[0084] After responding to the update operation request from the writable client, the cloud server receives encrypted data packets.

[0085] Based on encrypted data packets, verification operations are performed on the primary and secondary verification tags respectively using the verification key, including:

[0086] ;

[0087] ;

[0088] Where PK is the public key, also known as the verification key. This is a VRF verification function. The main verification label. For secondary verification labels, To verify the results of the main verification tag, This is the verification result for the secondary verification label;

[0089] when and The validity verification passes when all verification results are 1, and the update operation is executed; when and If any verification result is 0, the verification fails and the update operation is rejected.

[0090] Furthermore, the encrypted data value in the encrypted data packet after its validity is verified is written to the target index address corresponding to the encrypted database, including:

[0091] After the validity verification is passed, the target index address is calculated based on the verified primary index address and secondary index address, using the following formula: ;

[0092] Write the encrypted data value to the corresponding target index address in the encrypted database, using the following formula: ;

[0093] in, The primary index address, For secondary index address, For the target index address, For encrypted data values, To encrypt the database, [ ] represents the assignment operation, and [ ] represents the index operation, used to encrypt the data unit corresponding to the specified target index address in the database.

[0094] Furthermore, during the encrypted retrieval phase, the readable client receives the input query keywords and generates a corresponding query token based on the aggregation key. The query token is then sent to the cloud server to retrieve matching encrypted data values, including:

[0095] The readable client receives the input query keywords and determines the keyword status corresponding to the query keywords. ;

[0096] Based on readable user key and keyword state For keyword state quantities Each item in the iteration is assigned a value i, and the calculation is performed to query the label. , each query tag Insert query token And send it to the cloud server for retrieval;

[0097] in, Here, is the keyword state variable, and is the iteration variable used for traversal. For key homomorphic PRF functions, Here, w is the aggregation key, and w is the query keyword. For querying tags, || is the string concatenation operator;

[0098] The cloud server responds to readable client-side retrieval requests based on the query token. Retrieve the corresponding encrypted data values ​​from the encrypted database and insert them sequentially into the results list. Send to the readable user terminal.

[0099] Furthermore, the readable client can decrypt and filter the encrypted data value using the aggregation key to obtain a list of target document identifiers corresponding to the query keywords. This list of target document identifiers is a set of document IDs containing the query keywords, including:

[0100] List of results received by the readable client Then, the encrypted data value is decrypted using the aggregation key to obtain the corresponding document identifier and operation instructions; the result set is updated according to the operation instructions. It then outputs a list of target document identifiers as the final output.

[0101] Furthermore, based on the query token Retrieve the corresponding encrypted data values ​​from the encrypted database and insert them sequentially into the results list. ,include:

[0102] Initialization result list ;

[0103] query token Query tags in As the encrypted query address, the encrypted data values ​​corresponding to the encrypted query address are retrieved sequentially from the encrypted database and inserted into the result list. The results list will be generated after all encrypted query addresses have been retrieved. Return to the readable user interface.

[0104] Furthermore, based on the aggregated key, the encrypted data value is decrypted to obtain the corresponding document identifier and operation instructions, including:

[0105] For the results list In implement This retrieves the corresponding document identifier and operation instructions; among which, For the results list The i-th encrypted data value in the array, where i is the loop index variable, id is the document identifier, and op is the operation instruction. Here, w represents the query keyword, and || is the string concatenation operator. For aggregation key, For ordinary pseudo-random functions, This is the XOR operator, used to perform decryption calculations, XORing the encrypted data value with the output of a normal pseudo-random function to recover the plaintext information.

[0106] Furthermore, update the result set according to the operation instructions. ,include:

[0107] When the operation command is "add", the corresponding document identifier is inserted into the result set. When the operation command is del, it retrieves data from the result set. Remove the corresponding document identifier from the file.

[0108] Although the present invention has been disclosed above with reference to preferred embodiments, it is not intended to limit the present invention. Any person skilled in the art can make possible changes and modifications to the technical solutions of the present invention by utilizing the methods and techniques disclosed above without departing from the spirit and scope of the present invention. Therefore, any simple modifications, equivalent changes and alterations made to the above embodiments based on the technical essence of the present invention without departing from the content of the technical solutions of the present invention shall fall within the protection scope of the technical solutions of the present invention.

Claims

1. A searchable encryption method based on key homomorphic PRF and VRF, characterized in that, Includes the following steps: During the system initialization phase, the data owner executes a key homomorphic PRF function to generate a first master key and a second master key, calculates the corresponding aggregate key, executes a VRF function to generate a public-private key pair, and initializes the keyword state quantity and the encrypted database. The keyword state quantity is used to trigger a data update process based on a target keyword, determining the keyword state quantity corresponding to the target keyword. Is it empty; when the keyword state quantity If empty, initialize the keyword state quantity. and perform state update. When the keyword state quantity If not empty, then perform the state update. ; The target keywords; During the data update phase, the writable client calculates the primary and secondary index addresses corresponding to the target keyword based on the first master key and the second master key. It then uses the private key SK to calculate the primary and secondary verification tags for each index address and the aggregate key to calculate the encrypted data value of the target keyword. Finally, it encapsulates the primary and secondary index addresses, the primary and secondary verification tags, and the encrypted data value into an encrypted data packet and sends it to the cloud server for update operation. The update operation involves the cloud server using the public key PK to verify the validity of the primary and secondary verification tags in the encrypted data packet and writing the encrypted data value from the valid encrypted data packet into the target index address corresponding to the encrypted database. During the encrypted retrieval phase, the readable client receives the input query keywords and generates a corresponding query token based on the aggregation key. The query token is then sent to the cloud server to retrieve the matching encrypted data value. The readable client decrypts and filters the encrypted data value using the aggregation key to obtain a list of target document identifiers corresponding to the query keywords. The list of target document identifiers is a set of document IDs containing the query keywords.

2. The searchable encryption method according to claim 1, characterized in that, The data owner executes the key homomorphic PRF function to generate the first master key and the second master key and calculates the corresponding aggregate key, executes the VRF function to generate the public-private key pair, and initializes the key state and the encrypted database, including: The key homomorphic PRF function is defined based on the exponential operation homomorphism. The first master key is generated by executing the key homomorphic PRF function. With the second master key And according to the key homomorphic PRF function Calculate the aggregation key To establish a homomorphic relationship between key addition and output multiplication; The public-private key pair is generated by executing the VRF function. The first master key generated based on the data owner. The second master key The aggregation key Together with the private key SK, they constitute a writable user key set. And distribute it to the writable user terminal; extract the aggregate key. As a readable user key And assign it to the readable user terminal; at the same time, configure the verification key on the cloud server. and initialize the keyword state variable. and the encrypted database EDB, to complete the parameter configuration of the system initialization phase; wherein, the For the key homomorphic PRF function, the For hash functions, the The first master key, the The second master key, the For the aggregation key, the For the public key SK is the private key SK, and the For the set of writable user keys, the For the readable user key, the The verification key, the Let x be the keyword state variable, and w be the target keyword.

3. The searchable encryption method according to claim 2, characterized in that, During the data update phase, the writable client calculates the primary and secondary index addresses corresponding to the target keyword based on the first master key and the second master key. It then uses the private key SK to calculate the primary and secondary verification tags for each index address and calculates the encrypted data value of the target keyword using the aggregate key. Finally, it encapsulates the primary and secondary index addresses, the primary and secondary verification tags, and the encrypted data value into an encrypted data packet and sends it to the cloud server to perform the update operation. The data update process is triggered based on the target keywords input by the writable user terminal; Determine the keyword state quantity corresponding to the target keyword. Is it empty; when the keyword state quantity If empty, initialize the keyword state quantity. and perform state update. When the keyword state quantity If not empty, then perform the state update. ; Based on the first master key of the writable user terminal With the second master key Calculate the primary and secondary index addresses of the target keywords respectively, where, The primary index address is ; The address of the secondary index is ; The writable client uses the private key SK to perform the VRF function calculation on the primary and secondary index addresses respectively to obtain the corresponding primary and secondary verification tags, wherein... The main verification tag is ; Sub-verification label is ; The encrypted data value of the target keyword is calculated based on the aggregate key, and the encrypted data value is... ; The primary and secondary index addresses, the primary and secondary verification tags, and the encrypted data value are encapsulated into the encrypted data packet. The update operation is performed on the cloud server. Among them, the The keyword state quantity is w, where w is the target keyword. For the key homomorphic PRF function, the The first master key, the The second master key, the Input parameters for the aggregation key The target keyword w and the corresponding keyword state quantity The input string to be concatenated, where || is the string concatenation operator; VRF.Evaluate() is the VRF function; SK is the private key SK; and the... The primary index address, the For the secondary index address, the The XOR operator is used to mask or encrypt the input parameters, id is a document identifier containing the target keyword, and op is the operation type.

4. The searchable encryption method according to claim 3, characterized in that, The cloud server uses the public key (PK) to verify the validity of the primary and secondary verification tags in the encrypted data packet, including: The cloud server receives the encrypted data packet after responding to the update operation request from the writable client. Based on the encrypted data packet, verification operations are performed on the primary and secondary verification tags respectively using the verification key, including: ; ; Wherein, PK is the public key PK, i.e., the verification key, and the For VRF verification functions, the The main verification label, the For the secondary verification label, the For the verification result of the main verification label, the The verification result for the sub-verification label; When the and stated The validity verification passes when all the verification results are 1, and the update operation is performed; when the... and stated If any of the verification results is 0, the verification fails and the update operation is rejected.

5. The searchable encryption method according to claim 4, characterized in that, Writing the encrypted data value from the encrypted data packet after it has passed validity to the target index address corresponding to the encrypted database includes: After the validity verification is passed, the target index address is calculated based on the verified primary index address and the secondary index address, using the following formula: ; The encrypted data value is written to the corresponding target index address in the encrypted database, using the following formula: ; Among them, the The primary index address, the For the secondary index address, the For the target index address, the For the encrypted data value, the For the encrypted database, the For assignment operations, the [ ] represents indexing operations, used for data units corresponding to the target index address specified in the encrypted database.

6. The searchable encryption method according to claim 5, characterized in that, During the encrypted retrieval phase, the readable client receives input query keywords and generates a corresponding query token based on the aggregation key. The query token is then sent to the cloud server to retrieve the matching encrypted data value, including: The readable user terminal receives the input query keywords and determines the keyword status quantity corresponding to the query keywords. ; Based on the readable user key and the keyword status... Regarding the keyword state quantity Each item in the iteration is assigned a value i, and the calculation is performed to query the label. Each of the aforementioned query tags Insert the query token And send it to the cloud server for retrieval; Among them, the The keyword state variable is i, which is the iteration variable used for traversal. For the key homomorphic PRF function, the The aggregation key is w, the query keyword is w, and the aggregation key is w. The query tag is defined as ||, which is the string concatenation operator. The cloud server responds to the retrieval request from the readable user client, based on the query token. Retrieve the corresponding encrypted data value from the encrypted database and insert it sequentially into the result list. , and send to the readable user terminal.

7. The searchable encryption method according to claim 6, characterized in that, The readable client uses the aggregation key to decrypt and filter the encrypted data value to obtain a list of target document identifiers corresponding to the query keyword. The list of target document identifiers is a set of document IDs containing the query keyword, including: The readable user terminal receives the result list. Then, the encrypted data value is decrypted based on the aggregation key to obtain the corresponding document identifier and operation instructions; the result set is updated according to the operation instructions. It then outputs the final list of target document identifiers.

8. The searchable encryption method according to claim 7, characterized in that, According to the query token Retrieve the corresponding encrypted data value from the encrypted database and insert it sequentially into the result list. ,include: Initialize the result list ; The query token The query tags in As an encrypted query address, the encrypted data value corresponding to the encrypted query address is sequentially retrieved from the encrypted database and inserted into the result list. The result list will be generated after all encrypted query addresses have been retrieved. Return to the readable user terminal.

9. The searchable encryption method according to claim 8, characterized in that, Based on the aggregate key, the encrypted data value is decrypted to obtain the corresponding document identifier and operation instructions, including: For the list of results In implement Obtain the corresponding document identifier and the operation instruction; wherein, For the list of results The encrypted data value in the i-th item, where i is a circular index variable, id is the document identifier, and op is the operation instruction. Here, w represents the query keyword, and || represents the string concatenation operator; The aggregation key. For ordinary pseudo-random functions, the The XOR operator is used to perform decryption calculations, XORing the encrypted data value with the output of the ordinary pseudo-random function to recover the plaintext information.

10. The searchable encryption method according to claim 9, characterized in that, Update the result set according to the operation instructions. ,include: When the operation instruction is "add", the corresponding document identifier is inserted into the result set. When the operation instruction is del, from the result set Remove the corresponding document identifier from the document.

Citation Information

Patent Citations

  • Public key searchable encryption method based on fully homomorphic encryption

    CN115941155A

  • Forward security dynamic symmetry searchable encryption method without client state

    CN120050037A