A verifiable multi-user fuzzy keyword search method and system
By combining the Vector and Range Decision (VSRD) matching scheme with the Shamir thresholding scheme, the accuracy and efficiency issues in multi-user fuzzy keyword search are resolved, achieving efficient and accurate fuzzy keyword search and result verification, and ensuring the integrity of search results and privacy protection in a multi-user environment.
Patent Information
- Application Number
- CN202310143212.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-21
- Publication Date
- 2026-02-13
- Estimated Expiration
- 2043-02-21
AI Technical Summary
Existing multi-user fuzzy keyword search solutions suffer from accuracy and efficiency issues in cloud computing environments. In particular, cloud servers may return incomplete or incorrect search results in multi-user scenarios, and existing solutions cannot effectively verify the correctness and completeness of search results.
The system employs a Vector and Range Decision (VSRD) matching scheme combined with the Shamir thresholding scheme. By encoding keywords into fixed-length vectors and utilizing a validation center to verify the correctness and completeness of search results, including the initialization, index building, query building, search, and validation processes, it ensures the accuracy of keyword matching and privacy protection.
It enables efficient and accurate fuzzy keyword search in multi-user environments, resists keyword selection attacks and internal keyword guessing attacks, supports verification of the correctness and completeness of search results, detects malicious operations, and improves the security and reliability of the system.
Smart Images

Figure CN115964414B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application belongs to the technical field of cloud computing, and particularly relates to a verifiable multi-user fuzzy keyword search method and system. BACKGROUND
[0002] The statements in this section merely provide background information related to the present application and do not necessarily constitute the prior art.
[0003] In the example of Database-as-a-Service, due to the limited resources of the device, users prefer to outsource their massive data to the cloud server; however, this mode brings many security challenges, such as untrusted cloud servers and malicious eavesdroppers; in order to avoid privacy leakage, data is stored in encrypted form; performing search or other operations on ciphertext can significantly enhance the usefulness of encrypted databases; keyword searchable encryption allows users to search for matching encrypted records (or files) according to the required keywords, but most of them are exact keyword search; in many cases, users are not sure of the exact spelling of a certain keyword, but still want to retrieve the file; therefore, the ability to support fuzzy search is particularly important for cloud servers when the user wants to retrieve limited data information.
[0004] Fuzzy keyword searchable encryption schemes include two basic components: (1) underlying matching technology, used to provide fuzzy matching, such as predefined fuzzy dictionary, location sensitive hash (LSH) and bloom filter (BF), tree-based index and vector encoding; however, most of them have certain limitations in practical applications, for example, the algorithm based on predefined dictionary will cause high storage cost, and the use of LSH and BF may cause false positives, i.e. the server will return non-matching results, affecting the accuracy; (2) privacy protection mechanism, used to realize data and search privacy, such as symmetric encryption and asymmetric encryption, etc.; asymmetric encryption is convenient to provide rich search functions, but the amount of calculation is large; symmetric encryption brings high efficiency, the most representative is the k nearest neighbor (KNN) technology; but it has limitations in application diversity, such as not supporting multi-user scenarios; at present, most of the efficient searchable encryption schemes are based on KNN technology.
[0005] In order to adapt to multi-user scenarios, a series of multi-user keyword search schemes have been proposed, however, most of the schemes consider that the server is honest but curious, which is not always correct in practical application scenarios, and the cloud server may return incomplete or incorrect search results; in order to verify the correctness and integrity of the search results, some researchers have proposed verifiable keyword search schemes, but they either do not support fuzzy search or rely on expensive operations. SUMMARY
[0006] To overcome the above deficiencies of the prior art, the application provides a verifiable multi-user fuzzy keyword search method and system, proposes a new fuzzy keyword search technology based on wildcard, called vector sum range determination (VSRD) matching scheme, and realizes efficient and accurate fuzzy keyword search in a multi-user environment by combining VSRD and Shami r threshold scheme.
[0007] To achieve the above object, one or more embodiments of the application provide the following technical solutions:
[0008] The first aspect of the application provides a verifiable multi-user fuzzy keyword search method;
[0009] A verifiable multi-user fuzzy keyword search method based on a vector sum range determination scheme to realize keyword search, comprising:
[0010] Step S1: The verification center initializes public parameters;
[0011] Step S2: The data owner encodes the index keyword of the data into a preset fixed-length index vector and sends it to the corresponding data server for storage;
[0012] Step S3: The data searcher encodes the query keyword into a preset fixed-length query vector and sends it to the corresponding data server for searching;
[0013] Step S4: The data server performs searching according to the locally stored index vector and the received query vector, and transmits the search result to the verification center;
[0014] Step S5: The verification center verifies whether the keywords match based on the search result, and verifies the correctness and integrity of the result;
[0015] The vector sum range determination scheme is to encode each keyword into a fixed-length vector, add the index vector and the query vector to obtain a sum vector, and determine whether the keywords match by determining whether the sum vector is within a fixed range.
[0016] Further, the initialization of the public parameters is specifically:
[0017] The verification center initializes the vector sum range determination scheme based on the preset security parameters, generates public parameters, and transmits the generated public parameters to the data owner and the data searcher through a secure channel.
[0018] Further, the keywords include three types of characters: exact characters, padding characters and wildcards; wherein the exact characters refer to 26 English letters;
[0019] The fill character is used to fill the index keyword to a preset fixed length when necessary.
[0020] The wildcard represents that the character of the relevant position is uncertain, and is used to fill the query keyword to a preset fixed length when necessary.
[0021] Further, the initialization is based on a vector and range determination scheme, in particular:
[0022] A preset fixed length L and a large prime number p are selected.
[0023] Based on the large prime number p, different character encoding functions E are defined for the exact character, the fill character and the wildcard.
[0024] Further, the encoding is performed by using the character encoding function E in the vector and range determination scheme to encode the exact character, the fill character and the wildcard in the keyword.
[0025] Further, before being saved to the corresponding data server, the generated index vector is divided into k parts by using the threshold scheme of Shamir, wherein k is the number of data servers.
[0026] The data owner sends each share together with the encrypted identity tag to the corresponding data server.
[0027] Further, the search result is the matched index keyword, and the associated data is extracted according to the index keyword.
[0028] The second aspect of the present application provides a verifiable multi-user fuzzy keyword search system.
[0029] A verifiable multi-user fuzzy keyword search system based on a vector and range determination scheme to realize keyword search, comprising an initialization module, a first construction module, a second construction module, a search module and a verification module:
[0030] The initialization module is configured to: a verification center initializes public parameters.
[0031] The first construction module is configured to: a data owner encodes index keywords of data into index vectors of a preset fixed length, and sends the index vectors to a corresponding data server for saving.
[0032] The second construction module is configured to: a data searcher encodes query keywords into query vectors of a preset fixed length, and sends the query vectors to a corresponding data server for searching.
[0033] The search module is configured such that the data server performs a search based on the locally stored index vector and the received query vector, and then sends the search results to the verification center.
[0034] The verification module is configured as follows: the verification center verifies whether keywords match based on search results, and verifies the correctness and completeness of the results;
[0035] The vector and range determination scheme involves encoding each keyword into a fixed-length vector, adding the index vector and the query vector to obtain a sum vector, and determining whether the keyword matches by checking whether the sum vector is within a fixed range.
[0036] A third aspect of the present invention provides a computer-readable storage medium having a program stored thereon that, when executed by a processor, implements the steps of a verifiable multi-user fuzzy keyword search method as described in the first aspect of the present invention.
[0037] A fourth aspect of the present invention provides an electronic device including a memory, a processor, and a program stored in the memory and executable on the processor, wherein the processor executes the program to implement the steps of a verifiable multi-user fuzzy keyword search method as described in the first aspect of the present invention.
[0038] The above one or more technical solutions have the following beneficial effects:
[0039] This invention proposes a Vector and Range Decision (VSRD) matching scheme applicable to multiple fields, such as searchable encryption and private information retrieval. Combining the VSRD matching scheme and the Shamir thresholding scheme, this invention proposes a verifiable fuzzy keyword search method. This method resists Selective Keyword Attack (CKA) and Internal Keyword Guessing Attack (IKGA), and also supports verifying the correctness and completeness of search results. It can detect malicious operations performed by no more than k-1 cloud servers, such as forging false intermediate results. In addition, it achieves high efficiency while ensuring accuracy, which has been experimentally verified.
[0040] Advantages of additional aspects of the invention 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 invention. Attached Figure Description
[0041] The accompanying drawings, which form part of this invention, are used to provide a further understanding of the invention. The illustrative embodiments of the invention and their descriptions are used to explain the invention and do not constitute an improper limitation of the invention.
[0042] Figure 1 This is a timing diagram of the method in the first embodiment.
[0043] Figure 2 Interaction diagram among four entities in the method of the first embodiment.
[0044] Figure 3 System structure diagram of the second embodiment. Detailed implementation manners
[0045] The present invention will be further described below in conjunction with the accompanying drawings and embodiments.
[0046] Embodiment 1
[0047] This embodiment discloses a verifiable multi - user fuzzy keyword search method.
[0048] Before presenting the verifiable multi - user fuzzy keyword search method, first describe the vector and range determination (VSRD) matching scheme that supports fuzzy keyword search.
[0049] The VSRD scheme encodes each keyword into a vector with a preset fixed length of L, and adds the index vector and the query vector to obtain a sum vector. By determining whether the sum vector is within a fixed range, it is decided whether the keyword matches. Both theory and experiments show that the VSRD scheme can effectively return all qualified keywords without false positives.
[0050] In the VSRD scheme proposed in the present invention, a keyword can contain three types of characters: exact characters, padding character "ο", and wildcard character "*"; among them, exact characters refer to the 26 English letters, i.e., {a, b,..., z}; the padding character is used to pad the index keyword to length L when necessary; the wildcard character indicates that the character at the relevant position is uncertain and is used to pad the query keyword to length L when necessary; the key of this scheme is how to select appropriate encoding and matching mechanisms for the index and query vectors. The VSRD scheme includes the following four algorithms:
[0051] Algorithm 1: Parameter initialization (Setup)
[0052] Select a preset fixed length L for the index and query vectors and a large prime number p.
[0053] Define the character encoding function E, specifically:
[0054] (1) Randomly select 26 different numbers {μ1, μ2,..., μ<00> 26}, satisfying the sum of the 26 numbers sum = μ1 + μ2 +... + μ<00> 26 < p / 2, and set three intermediate parameters: the maximum value μ<00> max 、the minimum value μ<00> min and the maximum difference δ, that is, μ<00> max 26}, μ min = min{ μ1, μ2,..., μ 26}, δ = μ max - μ min .
[0055] For the convenience of understanding, a specific example is given. The preset fixed length L = 5, a large prime number p = 5237, { μ1, μ2,..., μ 26} = { 25, 16, 7, 41, 125, 431, 36, 94, 271, 59, 10,...}, the maximum value μ max = 431, the minimum value μ min = 7, the sum sum = 2377 and the maximum difference δ = 424 are set.
[0056] (2) The character encoding function E is expressed as follows:
[0057]
[0058] Wherein, η is the character to be encoded, ψ, φ are the encoding functions of the exact character, the padding character "o" and the wildcard "*" respectively.
[0059] The set of all bijections from {'a', 'b',..., 'z'} to { μ1, μ2,..., μ 26} is defined as Ψ, and a mapping ψ ∈ Ψ is randomly selected from the mapping set Ψ as the encoding function of the exact character, i.e. ψ(υ) ∈ { μ1, μ2,..., μ 26}.
[0060] The set of all mappings from "o" to [ μ max + 1, sum - δ - 1] is defined as Φ, and a mapping φ ∈ Φ is randomly selected from the mapping set Φ as the encoding function of the padding character "o", i.e. φ(ο) ∈ [ μ max + 1, sum - δ - 1].
[0061] The encoding function of the wildcard "*" is defined as .
[0062] Based on the above example, the encoding of the character "a" is as follows: where ψ(v) = 25, ψ(i) = 16, ψ(t) = 7, ψ(a) = 41, ψ(l) = 125, ψ(m) = 431, ψ(c) = 36, ψ(h) = 94, ψ(k) = 271, ψ(e) = 59, ψ(y) = 10,...; define φ(ο) = 839,
[0063] Algorithm Two: Index Construction (IVC)
[0064] The index keyword is the keyword extracted from the data, associated with the data, containing exact characters and padding characters "ο", for the original index keyword ω = (ω1, ω2,..., ω i …,ω l ), l≤L, where ω i is a single letter in the original index keyword, l is the number of letters in the original index keyword, and L is a preset fixed length; if l < L, the padding character "ο" is used for padding to obtain the final index keyword ω = (ω1, ω2,..., ω l ,ω l+1 ,…,ω L ).
[0065] The final index keyword ω is encoded using the character encoding function E in Algorithm One, and the encoded value is negated to obtain the index vector p, p = (-E(ω1), -E(ω2),..., -E(ω l ),-E(ω l+1 ),…,-E(ω L )).
[0066] Based on the above example, assume that there are two index keywords "vital" and "key", for the index keyword "vital", the encoded vector p1 = (-25, -16, -7, -41, -125); for the index keyword "key", it is first padded to "keyοο", and the encoded vector p2 = (-271, -59, -10, -839, -839).
[0067] Algorithm Three: Query Vector Construction (QVC)
[0068] The query keyword is the keyword provided by the data searcher for retrieval, including exact characters and wildcard characters *. For the original query keyword ω' = (ω'1, ω'2,..., ω' i ,…,ω' l ), l≤L, where ω' iis a single letter in the original query keyword, l is the number of letters in the original query keyword, L is a preset fixed length; if l < L, fill with wildcard * to get the final query keyword ω' = (ω'1, ω'2, …, ω' l l+1 L .
[0069] Encode the final query keyword ω' using the character encoding function E in Algorithm 1 to obtain the final query vector q = (E(ω'1), E(ω'2), …, E(ω' l ), E(ω' l+1 ), …, E(ω' L )).
[0070] Based on the above example, for the query keyword "vital", the encoded vector q1 = (25, 16, 7, 41, 125).
[0071] Algorithm Four: Search (Search)
[0072] For the index vector p and the query vector q, calculate the sum vector h = p + q, if each element of the vector h is equal to 0 or in the range [δ + 1, sum - μ min ], then the keywords match each other; otherwise, they do not match.
[0073] Based on the above example, the range [δ + 1, sum - μ min ] here is [425, 2370]; for h1 = p1 + q1 = (0, 0, 0, 0, 0), each element of h1 is equal to 0, which means that the index keyword "vital" and the query keyword "vital" match. For h2 = p2 + q1 = (-246, -43, -3, -798, -714), each element of h2 is not equal to 0 and not in the range [425, 2370], which means that the index keyword key and the query keyword vital do not match.
[0074] In combination with the VSRD scheme and the Shamir threshold scheme, this embodiment designs a multi-user fuzzy keyword search method, including four types of entities: data owner (DO), data user (DU), cloud platform (CP) and verification center (VC), wherein the cloud platform includes k data servers (DS), and the search method includes five stages of initialization, index construction, query construction, search and verification; first, the verification can be provided to ensure the correctness and integrity of the search result; second, even if some servers collude, the privacy information cannot be extracted.
[0075] Figure 1 is a timing diagram of the method, Figure 2 is an interaction diagram among four entities in the method, a verifiable multi-user fuzzy keyword search method, as claimed in Figure 1 Figure 2 As shown in the figure, it comprises:
[0076] Step S1: initialization, verification center initializes public parameters.
[0077] The verification center (VC) initializes the vector-based and range determination scheme according to the preset security parameter λ, that is, the algorithm one parameter initialization (VSRD. Setup), generates public parameters PP, and transmits the generated public parameters PP to the data owner (DO) and the data user (DU) through a secure channel, so as to facilitate subsequent encoding, searching and verification. Specifically, it comprises the following sub-steps:
[0078] According to the preset security parameter λ, the verification center (VC) selects a large prime number p, selects a generator g, and generates a cyclic group G = of order p. <g>.
[0079] The identity tag space of the data owner (DO) and the data user (DU) is Select a hash function H: For mapping the identity tag to the field , where represents the L-dimensional field modulo p.
[0080] The verification center (VC) executes VSRD.Setup to generate the character encoding function E.
[0081] Get the public parameter PP={p, G}, and transmit the generated public parameter PP to the data owner (DO) and the data user (DU) through a secure channel.
[0082] Step S2: Index construction, the data owner encodes the index keyword of the data into a preset fixed-length index vector and sends it to the corresponding data server for storage.
[0083] The data owner (DO) with the identity tag σ, When uploading data to the cloud platform (CP), execute algorithm two index construction (VSRD.IVC) to encode the index keyword ω=(ω1, ω2, …, ω m into an index vector x=(x1, …, x i , …, x m ), and divide x i into k parts using Shamir's threshold scheme; in order to perform identity verification, send each share together with the encrypted identity tag to the corresponding data server (DS); use another encryption algorithm to encrypt the data to be uploaded, and finally generate an index list IL σ , which specifically includes the following sub-steps:
[0084] Execute the index construction algorithm, i.e., x=VSRD.IVC(w), to obtain the index vector x.
[0085] Divide the index vector x into k parts using Shamir's threshold scheme, where k is the number of data servers (DS): let s0=x and randomly select represents the n-dimensional field modulo p, and s i is a vector, and get
[0086] Map the identity tag σ to the field using the hash function H selected in the foregoing, to obtain the corresponding value α=H(σ) of , and divide α into k parts using Shamir's threshold scheme: randomly select denote an n-dimensional field of modulo p, l i is a vector, and we get t = k - 1.
[0087] Based on the above obtained f(u) and l(u), calculate f(i), l(i) and g α , where 1≤i≤k, g is a generator of the public parameter G, since α is a vector, g α Each item of the vector is exponentiated, and an index list IL σ = {i, f(i), l(i), g α} {1≤i≤k} .
[0088] Send each data server corresponding to (f(i), l(i), g σ ) in the index list IL α to the data server DS i .
[0089] Step S3: query construction, the data searcher encodes the query keywords into a preset fixed-length query vector and sends it to the corresponding data server for searching;
[0090] Data user DU with identity tag τ, In the search, first execute Algorithm 3 Query Construction (VSRD.QVC) to convert the query keywords ω=(ω1, ω2, …, ω n ) into a query vector y=(y1, y2, …, y n ), and use Shamir's threshold scheme to divide y i into k shares; in order to perform identity verification, send each share together with the encrypted identity tag to the corresponding data server (DS), and finally generate a query list QL τ , which includes the following sub-steps:
[0091] Execute the query construction algorithm, execute y=VSRD.QVC(w'), and get the query vector y.
[0092] Use Shamir's threshold scheme to divide the query vector y into k shares, where k is the number of data servers (DS): let r0=y and randomly select denote an n-dimensional field of modulo p, s i is a vector, and we get
[0093] Map the identity tag τ to the field using the hash function H selected in the previous step, and get corresponding value β = H(τ), the encrypted identity label β is divided into k parts by Shamir's threshold scheme: randomly select denotes n-dimensional field modulo p, m i is a vector, and the following is obtained
[0094] Based on the obtained q(u) and m(u) above, q(i), m(i) and g β are calculated, where 1≤i≤k, g is a generator of the public parameter G, and the following query list QL is obtained τ = {i, q(i), m(i), g β} {1≤i≤k} .
[0095] Each data server corresponding to (q(i), m(i), g τ ) in the query list QL β is sent to the data server DS i .
[0096] Step S4: searching, the data server performs searching according to the locally stored index vector and the received query vector, and transmits the searching result to the verification center.
[0097] Specifically, the data server DS i (i = 1, 2, …, k) calculates the following sum vectors:
[0098] c i = f(i) + q(i)
[0099] v i = m(i) + l(i)
[0100] w i = c i + v i
[0101] g γ = g α g β = g α+β
[0102] where f(i) is a secret share of the index vector x i , q(i) is a secret share of the query vector y i , m(i) is a secret share of the identity label of the data user, l(i) is a secret share of the identity label of the data owner, g α is an encrypted form of the identity label of the data owner, and g β is an encrypted form of the identity tag of the data searcher, and marks the data sent by the data searcher to the data server without revealing the identity.
[0103] Let π i =(c i ,w i ), and send (i, π i ,g γ ) to the verification center (VC).
[0104] Step S5: verification, the verification center verifies whether the keywords match based on the search results, and verifies the correctness and integrity of the results, including the following sub-steps:
[0105] After receiving the search results (i, π i ,g γ ) from each data server, the verification center VC, π i =(c i ,w i ), based on (i, c i ) in the search results, obtains the polynomial θ(i) through polynomial interpolation, 1≤i≤k, and calculates the value θ(0) when i=0; based on (i, w i ) in the search results, obtains the polynomial χ(i) through polynomial interpolation, 1≤i≤k, and calculates the value χ(0) when i=0.
[0106] When the polynomial interpolation fails or g θ(0) g γ ≠g χ(0) , return ⊥, which means that the calculation results of some data servers DS are incomplete or incorrect, indicating that there is a malicious server performing malicious operations; when g θ(0) g γ =g χ(0) , if each term of θ(0) is equal to 0 or in the interval [δ+1, sum-μ min ], output 1, indicating that the index keywords and the query keywords match; otherwise, output 0, indicating that the index keywords and the query keywords do not match.
[0107] Through the above results, the matching index keywords can be found, and the associated data can be extracted according to the index keywords.
[0108] Embodiment two
[0109] The embodiment discloses a verifiable multi-user fuzzy keyword search system;
[0110] Figure 3 is a system structure diagram of a verifiable multi-user fuzzy keyword search system, as Figure 3 As shown, a verifiable multi-user fuzzy keyword search system based on a vector and range determination scheme realizes keyword search, including an initialization module, a first construction module, a second construction module, a search module and a verification module:
[0111] The initialization module is configured to initialize the public parameters by the verification center.
[0112] The first construction module is configured to encode the index keywords of the data into a preset fixed-length index vector by the data owner, and send the index vector to the corresponding data server for storage.
[0113] The second construction module is configured to encode the query keywords into a preset fixed-length query vector by the data searcher, and send the query vector to the corresponding data server for searching.
[0114] The search module is configured to perform searching according to the locally stored index vector and the received query vector by the data server, and transmit the search result to the verification center.
[0115] The verification module is configured to verify whether the keywords match based on the search result by the verification center, and verify the correctness and integrity of the result.
[0116] The vector and range determination scheme is to encode each keyword into a fixed-length vector, add the index vector and the query vector to obtain a sum vector, and determine whether the keywords match by determining whether the sum vector is within a fixed range.
[0117] Embodiment three
[0118] The purpose of this embodiment is to provide a computer-readable storage medium.
[0119] The computer-readable storage medium stores a computer program, which is executed by a processor to realize the steps in the verifiable multi-user fuzzy keyword search method according to Embodiment One of the present disclosure.
[0120] Embodiment four
[0121] The purpose of this embodiment is to provide an electronic device.
[0122] The electronic device includes a memory, a processor, and a program stored on the memory and executable on the processor, and the processor executes the program to realize the steps in the verifiable multi-user fuzzy keyword search method according to Embodiment One of the present disclosure.
[0123] The above merely provides the preferred embodiments of the present application, and is not used to limit the present application. For those skilled in the art, the present application can have various modifications and changes. Any modifications, equivalent replacements, improvements, etc. made within the principles and technical scope of the present application shall fall into the scope of the present application.< / g>
Claims
1. A verifiable multi-user fuzzy keyword search method, characterized in that, Keyword search is implemented based on vector and range determination schemes, including: Step S1: The verification center initializes common parameters; The initialization common parameters are as follows: The verification center initializes a vector- and range-based decision scheme based on preset security parameters, generates common parameters, and transmits the generated common parameters to the data owner and data searcher through a secure channel. Step S2: The data owner encodes the index keywords of the data into a preset fixed-length index vector and sends it to the corresponding data server for storage; Step S3: The data searcher encodes the query keywords into a pre-set fixed-length query vector and sends it to the corresponding data server for searching; Step S4: The data server performs a search based on the locally stored index vector and the received query vector, and sends the search results to the verification center; Step S5: The verification center verifies whether the keywords match based on the search results, and verifies the correctness and completeness of the results; Before sending the data to the corresponding data server for storage, the generated index vector is divided into k parts using Shamir's thresholding scheme, where k is the number of data servers. The data owner sends each share along with an encrypted identity tag to the corresponding data server; The vector and range determination scheme involves encoding each keyword into a fixed-length vector, adding the index vector and the query vector to obtain a sum vector, and determining whether the keyword matches by checking whether the sum vector is within a fixed range.
2. The verifiable multi-user fuzzy keyword search method as described in claim 1, characterized in that, The keywords contain three types of characters: exact characters, filler characters, and wildcards; among which, the exact characters refer to the 26 letters of the English alphabet. The padding characters are used to fill the index keywords to a preset fixed length; The wildcard indicates that the characters at the relevant positions are uncertain, and is used to fill the query keywords to a preset fixed length.
3. The verifiable multi-user fuzzy keyword search method as described in claim 2, characterized in that, The initialization is based on a vector and range determination scheme, specifically as follows: Choose a preset fixed length L and a large prime number p; Based on a large prime number p, define different character encoding functions E for exact characters, padding characters, and wildcards.
4. The verifiable multi-user fuzzy keyword search method as described in claim 3, characterized in that, The encoding method utilizes the character encoding function E in the vector and range determination scheme to encode the exact characters, filler characters, and wildcards in the keywords respectively.
5. A verifiable multi-user fuzzy keyword search method as described in claim 1, characterized in that, The search results are matching index keywords, and related data is extracted based on the index keywords.
6. A verifiable multi-user fuzzy keyword search system, characterized in that, Keyword search is implemented based on a vector and range-based decision-making scheme, including an initialization module, a first construction module, a second construction module, a search module, and a verification module. The initialization module is configured as: Verification center initialization common parameters; The initialization common parameters are as follows: The verification center initializes a vector- and range-based decision scheme based on preset security parameters, generates common parameters, and transmits the generated common parameters to the data owner and data searcher through a secure channel. The first building module is configured as follows: the data owner encodes the index keywords of the data into a preset fixed-length index vector and sends it to the corresponding data server for storage; The second building module is configured to: the data searcher encodes the query keywords into a query vector of a preset fixed length and sends it to the corresponding data server for searching; The search module is configured such that the data server performs a search based on the locally stored index vector and the received query vector, and then sends the search results to the verification center. The verification module is configured as follows: the verification center verifies whether keywords match based on search results, and verifies the correctness and completeness of the results; Before sending the data to the corresponding data server for storage, the generated index vector is divided into k parts using Shamir's thresholding scheme, where k is the number of data servers. The data owner sends each share along with an encrypted identity tag to the corresponding data server; The vector and range determination scheme involves encoding each keyword into a fixed-length vector, adding the index vector and the query vector to obtain a sum vector, and determining whether the keyword matches by checking whether the sum vector is within a fixed range.
7. An electronic device, characterized in that it comprises: Memory is used to store computer-readable instructions in a non-transitory manner. as well as Processor, for executing the computer-readable instructions, When the computer-readable instructions are executed by the processor, they perform the method described in any one of claims 1-5.
8. A storage medium, characterized in that, The computer-readable instructions are stored non-transitory, wherein when the non-transitory computer-readable instructions are executed by a computer, the instructions of the method according to any one of claims 1-5 are executed.
Citation Information
Patent Citations
Efficient verified fuzzy key word searching method based on cloud data subcontract system
CN102938767A
Searchable encryption method and system for supporting fuzzy retrieval of word morphology and word meaning in cloud environments
CN108712366A