Searchable encryption method supporting fuzzy sorting retrieval based on cloud environment
By adopting a searchable encryption method that supports fuzzy sorting retrieval in the cloud computing environment, we construct the correlation index and fuzzy index of ciphertext and encrypted key fields, and use bilinear group sum and locally sensitive hash functions to perform encrypted feature vector calculations. , solves the problem of fuzzy search and user input incorrect keywords in cloud computing, improves the relevance and accuracy of search results, reduces the user-side computing power burden, and ensures data security.
Patent Information
- Application Number
- CN202411119252.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-15
- Publication Date
- 2024-12-13
AI Technical Summary
In the cloud computing environment, existing searchable encryption technology is difficult to effectively deal with fuzzy searches and users enter incorrect keywords, resulting in inaccurate search results and wasted computing resources. The computing power of user equipment is limited, resulting in a large amount of resources consumed by ciphertext decryption in use. , affects the user experience.
Using a searchable encryption method based on cloud environment that supports fuzzy sorting retrieval, the correlation index and fuzzy index of ciphertext and encrypted key fields are constructed by generating public keys, private keys and index keys, and the bilinear group sum and The local sensitive hash function performs encryption feature vector calculation, realizes optimization of search trap gate and decryption processes, and reduces the user-side computing power burden.
It improves the relevance and accuracy of search results, reduces invalid transmission and calculation, reduces the computing power burden on the user side, improves user experience and system efficiency, and ensures data security.
Smart Images

Figure CN119128965A_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical fields of data retrieval, data security and cloud computing, and in particular relates to a searchable encryption method supporting fuzzy sorting retrieval based on a cloud environment. Background Art
[0002] With the booming development of cloud computing, its convenience and high cost-effectiveness have prompted many individuals and institutional users to choose to migrate their information to the cloud, thereby effectively reducing the burden of local storage and maintenance. In order to ensure the security of cloud data, encryption technology has become an indispensable key strategy. However, this also poses new challenges to the efficient search of ciphertext data. Therefore, searchable encryption technology came into being.
[0003] In a cloud environment, computing resources are particularly valuable. Invalid search results will not only lead to a waste of computing resources, but may also affect the user experience. Therefore, it is crucial to ensure the accuracy and relevance of search results. At the same time, considering that in actual application scenarios, it is not uncommon for users to fail searches or receive unexpected results due to entering incorrect keywords, which further exacerbates the problem of waste of search resources. In addition, existing solutions are limited in their ability to calculate the correlation between keywords and documents, while users in actual applications often only need the most relevant documents. Since users need to wait until the document is decrypted to verify its relevance, this lag makes inaccurate search results also a source of waste of computing power.
[0004] As the amount of data continues to grow, the amount of ciphertext data stored in the cloud is also increasing. This trend brings new challenges, namely that decrypting the ciphertext returned from the cloud requires a lot of computing power. In actual applications, client devices such as mobile phones and tablets usually have limited computing power. The computing power and time consumption caused by decrypting a large amount of ciphertext seriously affect the user experience and reduce the practicality of searchable encryption methods. Therefore, designing a searchable encryption method with powerful search capabilities and can significantly reduce the computing power load on the user side has become a hot issue in the field of cryptography research. Summary of the invention
[0005] In order to solve the shortcomings of the prior art, improve the relevance and accuracy of search results, reduce invalid transmission and calculation, and reduce the computing power burden on the user side, the present invention adopts the following technical solutions:
[0006] A searchable encryption method based on a cloud environment that supports fuzzy sorting and retrieval is applied to data owners:
[0007] Generate public key PK, private key SK and index key IK, and encrypt plaintext with public key PK;
[0008] According to the correlation between the plaintext and the key field, a correlation index between the ciphertext and the encrypted key field is constructed; features are extracted and encrypted for the key field, and an encrypted feature vector is calculated according to the index key IK to construct a fuzzy index;
[0009] Send the ciphertext set C, the correlation index and the fuzzy index to the cloud server, and send the index key IK to the data user, so that the data user can encrypt the search information according to the index key IK, and construct a search trap of the search information feature and its encrypted feature vector, so that the cloud server can find the matching encrypted key field from the fuzzy index according to the search trap, and find the most relevant ciphertext in combination with the correlation index;
[0010] The private key SK is sent to the data user so that the data user can initially decrypt the ciphertext on the edge server authorized by the data user before the data user finally decrypts it.
[0011] Furthermore, the encrypted plaintext comprises the following steps:
[0012] Step 1.1, select two bilinear groups with large prime order p and generators g1 and g2 respectively and And the bilinear pairing e:
[0013] Step 1.2: In the multiplication group modulo p In the example, α and β are randomly selected so that Get the public key
[0014] In the multiplicative group modulo p In the example, t is randomly selected so that Get the private key
[0015] Set the length parameter l, vector S = {0,1} l , that is, S is a random string of length l composed of 0 and 1, and two reversible matrices are set Representing a real number matrix with a length and width of l×l, the index key IK={S,(M1,M2)} is obtained;
[0016] Step 1.3, random selection (the multiplicative group modulo p);
[0017] Setting A i =r i ·e(g1,h β ) γ , e() means that for any Both Bilinear pairing of ;
[0018] Set CT = {CT1, CT2, ..., CT n}, CT i As a whole, it is used to represent the parameters in the ciphertext, D i represents a plaintext document, n represents the number of documents, H() represents a hash function, H: Coming Soon The elements in are hashed to a 01 string of length λ. Indicates the adopted security parameters;
[0019] Set CD = {CD1, CD2, ..., CD n},
[0020] The final ciphertext is C = (CT, CD).
[0021] Furthermore, the relevance index adopts a reverse index ranking table, each column of which is based on D i With W j The relevance scores are sorted from high to low, and the construction includes the following steps:
[0022] Step 2.1.1, calculate the keyword w j In document D i The word frequency in tf j,i , the word frequency is equal to the keyword w j The number of occurrences divided by document D i The total number of words in is as follows:
[0023]
[0024] Step 2.1.2, calculate the keyword w j In document D i Keyword frequency weight in The logarithmic function is used to reduce the difference between frequencies, thereby reducing the adverse effects of high-frequency words on the model. The formula is as follows:
[0025]
[0026] Step 2.1.3, calculate keyword w j In document D i The weighted partition score Z in ij , set each document to be composed of three parts: title, abstract and body, and set the weights of these three parts to g1, g2, g3 respectively, and g1, g2, g3 need to meet the following conditions:
[0027] g1,g2,g3∈[0,1];
[0028] g1≥g2≥g3;
[0029] g1+g2+g3=1;
[0030] At the same time, set f1(w j ), f2(w j ), f3(w j ) is used to represent the keyword w j In document D i The frequency of occurrence in the three parts of the calculation weighted partition score Z ij =f1(w j )g1+f2(w j )g2+f3(w j )g3;
[0031] Step 2.1.4, calculate keyword w j With Document D i The relevance score
[0032] Step 2.1.5: Based on the correlation scores, construct an inverted index ranking table of encrypted keywords and ciphertexts.
[0033] Furthermore, the fuzzy index adopts a fuzzy index table, and its construction includes the following steps:
[0034] Step 2.2.1: Set the keyword set W = {w1,w2,w3,...,w m}Use the encoding function to transform into a vector V = (v1, v2, ..., v m ), for a given keyword, calculate its adjacent character set as Ad, for a binary vector A = {a0, a1, ..., a l}, set the initial value of each element to 0, and use the hash function H to map each element of Ad to a number between 0 and (l-1). i )=j,a j =1;
[0035] Step 2.2.2: Use q locality-sensitive hash functions to hash each vector v i Perform calculations to obtain q hash values, randomly select q real numbers, and calculate the eigenvalue FH. The formula is as follows:
[0036] FH i =h1×r1+h2×r2+...+h q × q
[0037] Step 2.2.3, set the order of the fuzzy index table to (n+1)×m1, where m1 is the number of keywords after deduplication and encryption; set the element (1,i) in the first row of the fuzzy index table to be the eigenvalue FH of the keyword i , 1≤i≤m1;
[0038] Step 2.2.4, calculate the encrypted feature vector corresponding to the keyword, and use the index key pair vector V = (v1, v2, ..., v m ) is encrypted, and the index key IK is set to S = (s1, s2, ..., s l ), let vector v i =(x1,x2,...,x l ), randomly select a real number r, and the encryption process is as follows:
[0039] x′ j =x″ j =x j ,s j =1;
[0040]
[0041] set up:
[0042]
[0043] Among them, x′ j , x″ j represents the intermediate variable, X′ i , X″ i Represents the set corresponding to the intermediate variable;
[0044] Calculate based on the reversible matrices M1 and M2 in the index key IK:
[0045]
[0046] Finally, v i The encryption result is: i =(I′ i ,I″ i );
[0047] Step 2.2.5: Set the elements of each column of the fuzzy index table to the encryption keywords Enc(w i ) and the encrypted feature vector I i , 1≤j≤n.
[0048] A searchable encryption method based on a cloud environment that supports fuzzy sorting and retrieval is applied to data users:
[0049] Obtain the index key IK from the data owner and use it to encrypt the search information, construct a search trap of the search information features and their encrypted feature vectors, so that the cloud server finds the matching encrypted key field from the fuzzy index according to the search trap, and finds the most relevant ciphertext in combination with the correlation index, wherein the ciphertext set C is encrypted by the public key PK generated by the data owner, the correlation index is constructed by the correlation between the ciphertext generated by the data owner and the encrypted key field, and the fuzzy index is constructed by the key field features generated by the data owner, the key field ciphertext, and the encrypted feature vector calculated according to the index key IK;
[0050] The private key SK generated by the data owner is obtained to authorize the edge server to initially decrypt the ciphertext obtained from the cloud server, and then the data user will finally decrypt it.
[0051] Furthermore, the generation of the search trapdoor comprises the following steps:
[0052] Step 4.1, convert the keyword w to be searched into a vector v using the encoding function;
[0053] Step 4.2: Use q local sensitive hash functions to calculate the vector v, obtain q hash values, randomly select q real numbers, and calculate the eigenvalue FH. The formula is as follows:
[0054] FH=h1×r1+h2×r2+…+h q × q
[0055] Step 4.3: Encrypt the vector v and set the index key IK to S = (s1, s2, ..., s l ), set the vector v = (y1, y2, ..., y l ), randomly select a real number r′, and the encryption process is as follows:
[0056] y′ j =y″ j =y j ,s j =0;
[0057]
[0058] set up:
[0059]
[0060] Among them, y′ j ,y″ j represents the intermediate variable, Y′ i , Y″ i Represents the set corresponding to the intermediate variable;
[0061] Calculate based on the reversible matrices M1 and M2 in the index key IK:
[0062]
[0063] Finally, the encryption result of v is T = (T′ i ,T″ i );
[0064] Step 4.4: Generate search trap door T w =(FH,T,num), where num represents the number of documents required.
[0065] A searchable encryption method based on cloud environment supporting fuzzy sorting retrieval, applied to cloud servers:
[0066] Obtain the correlation index between the ciphertext and the encrypted key field constructed by the data owner based on the correlation between the plaintext and the key field;
[0067] Obtain the fuzzy index constructed by the data owner by extracting features from key fields, encrypting them, and calculating the encrypted feature vector based on the index key IK;
[0068] Obtain the ciphertext obtained by the data owner by encrypting the plaintext with the public key PK;
[0069] Obtain the search trapdoor of the search information features and their encrypted feature vectors constructed by the data user by encrypting the search information with the index key IK, wherein the index key IK is generated by the data owner; find the matching encryption key field from the fuzzy index according to the search trapdoor, and find the most relevant ciphertext in combination with the correlation index;
[0070] The ciphertext is sent to the edge server so that the edge server initially decrypts the ciphertext according to the private key SK and then the data user finally decrypts the ciphertext. The private key SK is sent by the data owner to the data user.
[0071] Furthermore, the cloud server search process includes the following steps:
[0072] Step 5.1, according to the eigenvalue FH contained in the search trap, find the closest eigenvalue in the first row of the fuzzy index;
[0073] Step 5.2: According to the encrypted vector T contained in the search trap, calculate the similarity between the keyword to be searched and the keyword encrypted vector I in the fuzzy index, and find the encrypted keyword Enc(w i ), let the similarity be R = (r1, r2, ..., r l ), the calculation process is as follows:
[0074] When S in the index key IK is (s1, s2, ..., s l )'s ith position i is 1, the eigenvector v i =(x1,x2,...,x l )、v=(y1,y2,...,y l ),but:
[0075] x′ i =x″ i =x i
[0076]
[0077] Among them, x′ j , x″ j , y′ j ,y″ j represents an intermediate variable;
[0078] calculate:
[0079]
[0080] When S in the index key IK is (s1, s2, ..., s l )'s ith position i is 0, then:
[0081] y′ i =y″ i =y i
[0082]
[0083] calculate:
[0084]
[0085] The overall calculation formula is:
[0086]
[0087] Among them, X′ i , X″ i , Y′ i , Y″ i represents the set corresponding to the intermediate variable, M1 and M2 represent the reversible matrix in the index key IK, r and r′ represent the random numbers used for encryption. It can be seen that the random numbers r and r used for encryption have no effect on the result of the similarity calculation;
[0088] Step 5.3: In the inverted index ranking table, according to the encrypted keyword Enc(w i ) Find the most relevant encrypted document number;
[0089] Step 5.4: Find the corresponding number of encrypted documents according to the data user's document demand num, and return them to the edge server.
[0090] A searchable encryption method supporting fuzzy sorting retrieval based on a cloud environment is applied to an edge server to obtain a private key SK authorized by a data user and use it to preliminarily decrypt the most relevant ciphertext obtained from the cloud server, and send the decrypted intermediate ciphertext to the data user for final decryption; the most relevant ciphertext is found by finding a matching encrypted key field from a fuzzy index based on a search trapdoor and combining it with a correlation index; the ciphertext is encrypted by the data owner using a public key PK; the correlation index is constructed by the data owner based on the correlation between the plaintext and the key field; the fuzzy index is obtained by the data owner based on keyword features, encrypted keywords, and an encrypted feature vector calculated based on an index key IK; the search trapdoor is constructed by the data user using the index key IK obtained from the data owner to encrypt the search information based on the search information features and its encrypted feature vector.
[0091] Furthermore, the decryption comprises the following steps:
[0092] Step 6.1: Get the most relevant ciphertext C sub After the private key SK is obtained, a preliminary decryption is performed to obtain the intermediate ciphertext. The formula is as follows:
[0093]
[0094] Among them, g1 and g2 are bilinear groups and Generators of, bilinear pairing e: In the multiplicative group modulo p In the example, α and β are randomly selected so that In the multiplicative group modulo p In the example, t is randomly selected so that A i =r i ·e(g1,h β ) γ , e() means that for any Both Bilinear pairing of ;
[0095]
[0096] Step 6.2, obtain the intermediate ciphertext IC = (r i ,CT i) and sent to the data user so that the data user can perform the final decryption to obtain the required plaintext. The decryption operation is as follows:
[0097]
[0098] Where CT={CT1, CT2, ..., CT n}, C=(CT,CD) represents the ciphertext, D i represents a plaintext document, n represents the number of documents, and data users can obtain the plaintext D with minimal computing power consumption. i .
[0099] The advantages and beneficial effects of the present invention are:
[0100] The present invention takes into account the possibility that users may enter incorrect keywords, processes the keywords and constructs a fuzzy index table to perform fuzzy keyword search. Even if the user enters incorrect keywords, the system can still search normally and return the most relevant documents. This greatly improves user experience and fault tolerance;
[0101] The present invention considers the importance of keywords appearing in different parts of the document, calculates the relevance score by combining the keyword frequency and weight, and generates an inverted index ranking table to sort the document relevance, thereby improving the accuracy and efficiency of search results and enabling users to find the most relevant documents more quickly;
[0102] The present invention uses the edge server to outsource part of the decryption calculation. The edge server will bear the calculations that require a lot of computing power during the decryption process. The outsourcing part of the decryption calculation does not completely decrypt the ciphertext, which protects the security of the document and reduces the user's decryption load, thereby improving the practicality of the method.
[0103] The present invention adopts an efficient method when generating indexes and searching for trapdoors, which improves efficiency while ensuring security, reduces the computing power consumption of data owners and data users, and makes the system more efficient and reliable in practical applications. BRIEF DESCRIPTION OF THE DRAWINGS
[0104] Figure 1 is a flow chart of a method in an embodiment of the present invention. DETAILED DESCRIPTION
[0105] The specific implementation of the present invention is described in detail below in conjunction with the accompanying drawings. It should be understood that the specific implementation described here is only used to illustrate and explain the present invention, and is not used to limit the present invention.
[0106] The purpose of the present invention is to overcome the above-mentioned deficiencies existing in the prior art, such as the inability to process wrong keywords, the inability to sort the relevance of search results, and the high computing load of users. To this end, the present invention provides a searchable encryption method based on a cloud environment that supports fuzzy sorting retrieval, such as Figure 1 As shown, the specific steps include:
[0107] Step 1: System establishment and initialization. The data owner generates a public key PK, a private key SK, and an index key IK. The public key is used to encrypt the document, and the ciphertext set C is obtained and sent to the cloud server. At the same time, the private key and the index key are sent to the data user for document decryption and search trap generation, respectively. The specific steps are as follows:
[0108] Step 1.1: The data owner selects two bilinear groups with large prime order p and generators g1 and g2 respectively. and And the bilinear pairing e:
[0109] Step 1.2: Multiplication group modulo p Randomly select α and β from Get the public key
[0110] The multiplicative group modulo p Randomly select t from Get the key
[0111] Set the length parameter l, and set the vector S = {0,1} l , that is, S is a random string of length l composed of 0 and 1, two reversible matrices That is, a real number matrix with a length and width of l×l, and the index key IK={S,(M1,M2)} is obtained.
[0112] Step 1.3: Random selection of data owners (the multiplicative group modulo p);
[0113] Assume A i =r i ·e(g1,h β ) γ , e() means that for any Both Bilinear pairing of ;
[0114] Let CT = {CT1, CT2, ..., CT n}, CT i As a whole, it is used to represent the parameters in the ciphertext, D irepresents a plaintext document, n represents the number of documents, H() represents a hash function, H: Coming Soon The elements in are hashed to a 01 string of length λ. Indicates the adopted security parameters;
[0115] Let CD={CD1,CD2,...,CD n},
[0116] The data owner obtains the ciphertext C = (CT, CD).
[0117] Step 2: Generate index: The data owner generates an index based on the plaintext document set D = {D1, D2, ..., D n} Extract keyword set W = {W1, W2, ..., W m}, generate an inverted index ranking table and a fuzzy index table, and send the inverted index ranking table and the fuzzy index table to the cloud server.
[0118] Step 2.1: Generate an inverted index ranking table, including the following steps:
[0119] Step 2.1.1, calculate the keyword w j In document D i The word frequency in tf j,i , the word frequency is equal to the keyword w j The number of occurrences divided by document D i The total number of words in is as follows:
[0120]
[0121] Step 2.1.2, calculate the keyword w j In document D i Keyword frequency weight in The logarithmic function is used to reduce the difference between frequencies, thereby reducing the adverse effects of high-frequency words on the model. The formula is as follows:
[0122]
[0123] Step 2.1.3, calculate keyword w j In document D i The weighted partition score Z in ij , set each document to be composed of three parts: title, abstract and body, and set the weights of these three parts to g1, g2, g3 respectively, and g1, g2, g3 need to meet the following conditions:
[0124] g1,g2,g3∈[0,1];
[0125] g1≥g2≥g3;
[0126] g1+g2+g3=1;
[0127] At the same time, let f1(w j ), f2(w j ), f3(w j ) represents the keyword w j In document D i The frequency of occurrence in the three parts of the calculation weighted partition score Z ij =f1(w j )g1+f2(w j )g2+f3(w j )g3.
[0128] Step 2.1.4, calculate keyword w j With Document D i The relevance score
[0129] Step 2.1.5: Construct the inverted index ranking as shown in Table 1. The Enc(id(D i )) is based on D i With w j The relevance scores are sorted from high to low:
[0130] <![CDATA[Enc(w1)]]> <![CDATA[Enc(w2)]]> … <![CDATA[Enc(w m )]]> <![CDATA[Enc(id(D1))]]> <![CDATA[Enc(id(D3))]]> … <![CDATA[Enc(id(D2))]]> <![CDATA[Enc(id(D2))]]> <![CDATA[Enc(id(D1))]]> … <![CDATA[Enc(id(D1))]]> … … … … <![CDATA[Enc(id(D n ))]]> <![CDATA[Enc(id(D2))]]> … <![CDATA[Enc(id(D3))]]>
[0131] Table 1. Inverted index ranking table
[0132] Step 2.2: The steps for generating the fuzzy index table are:
[0133] Step 2.2.1: Set the keyword set W = {w1,w2,w3,...,w m}Use the encoding function to transform into a vector V = (v1, v2, ..., v m ), the calculation process is as follows: for a given keyword "keyword", its adjacent character set is Ad = {"ke", "ey", "yw", "wo", "or", "rd"}, for a binary vector A = {a0, a1, ..., a l}, let the initial value of each element be 0, and use the hash function H to map each element of Ad to a number between 0 and (l-1), if and only if H(Ad i )=j,a j =1.
[0134] Step 2.2.2: Use q locality-sensitive hash functions to hash each vector v i Perform calculations to obtain q hash values, randomly select q real numbers, and calculate the eigenvalue FH. The formula is as follows:
[0135] FH i =h1×r1+h2×r2+…+h q × q
[0136] Step 2.2.3, set the order of the fuzzy index table to (n+1)×m1, where m1 is the number of keywords after deduplication and encryption; set the element (1,i) in the first row of the fuzzy index table to be the eigenvalue FH of the keyword i , 1≤i≤m1;
[0137] Step 2.2.4, calculate the encrypted feature vector corresponding to the keyword, and use the index key pair vector V = (v1, v2, ..., v m ) is used for encryption, let S in IK = (s1, s2, …, s l ), let vector v i =(x1,x2,…,x l ), randomly select a real number r, and the encryption process is as follows:
[0138] x′ j =x″ j =x j ,s j =1;
[0139]
[0140] The present invention provides:
[0141]
[0142] calculate:
[0143]
[0144] Finally, v i The encryption result is: i =(I′ i ,I″ i ).
[0145] Step 2.2.5: Set the elements of each column of the fuzzy index table to the encryption keywords Enc(w i ) and the encrypted feature vector I i , 1≤j≤n; the generated fuzzy index ranking is shown in Table 2:
[0146]
[0147]
[0148] Table 2. Fuzzy index table
[0149] Step 3: The data user authorizes the trusted edge server, sends and stores the private key in the trusted edge server for preliminary decryption of the document.
[0150] Step 4: Generate search trap: Data users construct search traps based on the keywords to be searched and the number of documents required, and send them to the cloud server. The specific steps are as follows:
[0151] Step 4.1: The data user converts the keyword w to be searched into a vector v using the encoding function;
[0152] Step 4.2: Use q local sensitive hash functions to calculate the vector v, obtain q hash values, randomly select q real numbers, and calculate the eigenvalue FH. The formula is as follows:
[0153] FH=h1×r1+h2×r2+…+h q × q
[0154] Step 4.3: Encrypt the vector v, let S in IK = (s1, s2, ..., s l ), let vector v = (y1,y2,...,y l ), randomly select a real number r′, and the encryption process is as follows:
[0155] y′ j =y″ j =y j ,s j =0;
[0156]
[0157] set up:
[0158]
[0159] calculate:
[0160]
[0161] Finally, the encryption result of v is: T = (T′ i ,T″ i ).
[0162] Step 4.4: Data users obtain search trap: T w =(FH,T,num), where num is the number of documents required by the data user.
[0163] Step 5: Retrieval phase: When the cloud server receives the search trap, it searches for the encrypted keywords based on the fuzzy index and inverted index ranking table, obtains documents sorted by relevance, and sends the required documents to the edge server. The specific steps are as follows:
[0164] Step 5.1, according to the eigenvalue FH contained in the search trap, find the closest eigenvalue in the first row of the fuzzy index;
[0165] Step 5.2: According to the encryption vector T contained in the search trap, i ,T″ i ), calculate the keyword to be searched and the keyword encrypted vector I in the fuzzy index i The similarity between the two is to find the most similar encryption keyword Enc(w i ), let the similarity be R = (r1, r2, ..., r l ), the calculation process is as follows:
[0166] When S in the index key IK is (s1, s2, ..., s l )'s ith position i is 1, then:
[0167] x′ i =x″ i =x i
[0168]
[0169] calculate:
[0170]
[0171] When S in the index key IK is (s1, s2, ..., s l )'s ith position i is 0, then:
[0172] y′ i =y″ i =y i
[0173]
[0174] calculate:
[0175]
[0176] The overall calculation formula is:
[0177]
[0178] It can be seen that the random numbers r and r′ used for encryption have no effect on the result of the similarity calculation.
[0179] Step 5.3: In the inverted index ranking table, according to the encrypted keyword Enc(w i ) Find the most relevant encrypted document number;
[0180] Step 5.4: Find the corresponding number of encrypted documents according to the data user's demand num and return them to the edge server.
[0181] Step 6: The edge server performs preliminary decryption on the ciphertext and sends the decryption result to the data user. The data user decrypts the intermediate ciphertext returned by the edge server to obtain the required plaintext document. The decryption process is as follows:
[0182] Step 6.1: The edge server obtains part of the ciphertext C sub After obtaining the key SK, a preliminary decryption operation is performed. The formula is as follows:
[0183]
[0184] Step 6.2: The edge server obtains the intermediate ciphertext IC = (r i ,CT i ) and sends it to the data user so that the data user can decrypt it and obtain the required plaintext document after decryption; the decryption operation is as follows:
[0185]
[0186] Finally, the data user obtains the ciphertext D with minimal computing power consumption. i .
[0187] The present invention can accurately process the fuzzy keywords input by the user, thereby improving the relevance and accuracy of the search results; the present invention can return the most relevant search results, reducing the waste caused by invalid transmission and calculation; the present invention can reduce the computing power burden on the user side, ensuring that the decryption operation can be successfully completed even when the computing power of the device is limited. These improvements not only improve the user experience, but also effectively improve the resource utilization efficiency in the cloud computing environment, providing stronger protection for data security and privacy protection.
[0188] The above embodiments are only used to illustrate the technical solutions of the present invention, rather than to limit the same. Although the present invention has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that the technical solutions described in the aforementioned embodiments may still be modified, or some or all of the technical features thereof may be replaced by equivalents. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the scope of the technical solutions of the embodiments of the present invention.
Claims
1. A searchable encryption method supporting fuzzy sorting retrieval based on a cloud environment, applied to data owners, characterized by: Generate public key, private key and index key, and encrypt plain text with public key; According to the correlation between the plaintext and the key field, a correlation index between the ciphertext and the encrypted key field is constructed; features are extracted and encrypted for the key field, and an encrypted feature vector is calculated according to the index key to construct a fuzzy index; Send the ciphertext, the correlation index and the fuzzy index to the cloud server, send the index key to the data user, so that the data user encrypts the search information according to the index key, constructs a search trap of the search information feature and its encrypted feature vector, so that the cloud server finds the matching encrypted key field from the fuzzy index according to the search trap, and finds the most relevant ciphertext in combination with the correlation index; The private key is sent to the data user so that the data user can initially decrypt the ciphertext on the edge server authorized by the data user, and then finally decrypt it by the data user.
2. The searchable encryption method supporting fuzzy sorting retrieval based on cloud environment according to claim 1, characterized in that: The encrypted plaintext comprises the following steps: Step 1.1, select two bilinear groups with large prime order p and generators g1 and g2 respectively and And bilinear pairing Step 1.2: In the multiplication group modulo p In the example, α and β are randomly selected so that Get the public key In the multiplicative group modulo p In the example, t is randomly selected so that Get the private key Set the length parameter l, vector S = {0,1} l , that is, S is a random string of length l composed of 0 and 1, and two reversible matrices are set Representing a real number matrix with a length and width of l×l, the index key IK={S,(M1,M2)} is obtained; Step 1.3, random selection Setting A i =r i ·e(g1,h β ) γ , e() means that for any Both Bilinear pairing of ; Set CT = {CT1, CT2, ..., CT n }, CT i Represents the parameters in the ciphertext, D i represents a plaintext document, n represents the number of documents, H() represents a hash function, Coming Soon The elements in are hashed to a 01 string of length λ. Indicates the adopted security parameters; Set CD = {CD1, CD2, ..., CD n }, The final ciphertext is C = (CT, CD).
3. The searchable encryption method supporting fuzzy sorting retrieval based on cloud environment according to claim 1, characterized in that: The relevance index adopts a reverse index ranking table, each column of which is based on D i With W j The relevance scores are sorted from high to low, and the construction includes the following steps: Step 2.1.1, calculate the keyword w j In document D i The word frequency in tf j,i , the word frequency is equal to the keyword w j The number of occurrences divided by document D i The total number of words in is as follows: Step 2.1.2, calculate the keyword w j In document D i Keyword frequency weight in The formula is as follows: Step 2.1.3, calculate keyword w j In document D i The weighted partition score Z in ij , set each document to be composed of three parts: title, abstract and body, and set the weights of these three parts to g1, g2, g3 respectively, and g1, g2, g3 need to meet the following conditions: g1,g2,g3∈[0,1]; g1≥g2≥g3; g1+g2+g3=1; At the same time, set f1(w j ), f2(w j ), f3(w j ) is used to represent the keyword w j In document D i The frequency of occurrence in the three parts of the calculation weighted partition score Z ij =f1(w j )g1+f2(w j )g2+f3(w j )g3; Step 2.1.4, calculate keyword w j With Document D i The relevance score Step 2.1.5: Based on the correlation scores, construct an inverted index ranking table of encrypted keywords and ciphertexts.
4. The searchable encryption method supporting fuzzy sorting retrieval based on cloud environment according to claim 1, characterized in that: The fuzzy index adopts a fuzzy index table, and its construction includes the following steps: Step 2.2.1: Set the keyword set W = {w1,w2,w3,...,w m } is transformed into a vector V = (v1, v2, ..., v m ), for a given keyword, calculate its adjacent character set as Ad, for a binary vector A = {a0, a1, ..., a l }, set the initial value of each element to 0, and use the hash function H to map each element of Ad to a number between 0 and (l-1). i )=j,a j =1; Step 2.2.2: Use q locality-sensitive hash functions to hash each vector v i Perform calculations to obtain q hash values, randomly select q real numbers, and calculate the eigenvalue FH. The formula is as follows: FH i =h1×r1+h2×r2+…+h q ×r q Step 2.2.3, set the order of the fuzzy index table to (n+1)×m1, where m1 is the number of keywords after deduplication and encryption; Set the element (1, i) in the first row of the fuzzy index table as the eigenvalue FH of the keyword i , 1≤i≤m1; Step 2.2.4, calculate the encrypted feature vector corresponding to the keyword, and use the index key pair vector V = (v1, v2, ..., v m ) is encrypted, and the index key IK is set to S = (s1, s2, ..., s l ), let vector v i =(x1,x2,...,x l ), randomly select a real number r, and the encryption process is as follows: x′ j =x″ j =x j ,s j =1; set up: Among them, x′ j , x″ j represents the intermediate variable, X′ i , X i ″ represents the set corresponding to the intermediate variables; Calculate based on the reversible matrices M1 and M2 in the index key IK: Finally, v i The encryption result is: i =(I′ i ,I″ i ); Step 2.2.5: Set the elements of each column of the fuzzy index table to the encryption keywords Enc(w i ) and the encrypted feature vector I i , 1≤j≤n.
5. A searchable encryption method supporting fuzzy sorting retrieval based on a cloud environment, applied to data users, characterized by: Obtain an index key from the data owner and use it to encrypt the search information, construct a search trapdoor of the search information features and their encrypted feature vectors, so that the cloud server finds a matching encrypted key field from the fuzzy index according to the search trapdoor, and finds the most relevant ciphertext in combination with the correlation index, wherein the ciphertext is encrypted by a public key generated by the data owner, the correlation index is constructed by the correlation between the ciphertext generated by the data owner and the encrypted key field, and the fuzzy index is constructed by the key field features generated by the data owner, the key field ciphertext, and the encrypted feature vector calculated according to the index key; The private key generated by the data owner is obtained to authorize the edge server to initially decrypt the ciphertext obtained from the cloud server, and then the data user will finally decrypt it.
6. The searchable encryption method supporting fuzzy sorting retrieval based on cloud environment according to claim 5, characterized in that: The generation of the search trapdoor comprises the following steps: Step 4.1, convert the keyword w to be searched into a vector v; Step 4.2: Use q local sensitive hash functions to calculate the vector v, obtain q hash values, randomly select q real numbers, and calculate the eigenvalue FH. The formula is as follows: FH=h1×r1+h2×r2+…+h q ×r q Step 4.3: Encrypt the vector v and set the index key IK to S = (s1, s2, ..., s l ), set the vector v = (y1, y2, ..., y l ), randomly select a real number r′, and the encryption process is as follows: and' j =and″ j =and j ,s j =0; set up: Among them, y′ j ,y″ j represents the intermediate variable, Y i ′、Y i ″ represents the set corresponding to the intermediate variables; Calculate based on the reversible matrices M1 and M2 in the index key IK: Finally, the encryption result of v is T = (T i ′,T i ″); Step 4.4: Generate search trap door T w =(FH,T,num), where num represents the number of documents required.
7. A searchable encryption method supporting fuzzy sorting retrieval based on a cloud environment, applied to a cloud server, characterized in that: Obtain the correlation index between the ciphertext and the encrypted key field constructed by the data owner based on the correlation between the plaintext and the key field; Obtain the fuzzy index constructed by the data owner by extracting features from key fields, encrypting them, and calculating the encrypted feature vector based on the index key IK; Obtain the ciphertext obtained by the data owner by encrypting the plaintext with the public key; Obtaining a search trapdoor of search information features and their encrypted feature vectors constructed by data users by encrypting search information with an index key, wherein the index key is generated by the data owner; finding matching encryption key fields from the fuzzy index according to the search trapdoor, and finding the most relevant ciphertext in combination with the correlation index; The ciphertext is sent to the edge server so that the edge server initially decrypts the ciphertext according to the private key and then the data user finally decrypts it. The private key is sent by the data owner to the data user.
8. The searchable encryption method supporting fuzzy sorting retrieval based on cloud environment according to claim 7, characterized in that: The cloud server search process includes the following steps: Step 5.1, according to the eigenvalue FH contained in the search trap, find the closest eigenvalue in the fuzzy index; Step 5.2: According to the encrypted vector T contained in the search trap, calculate the similarity between the keyword to be searched and the keyword encrypted vector I in the fuzzy index, and find the encrypted keyword Enc(w i ), let the similarity be R = (r1, r2, ..., r l ), the calculation process is as follows: When S in the index key IK is (s1, s2, ..., s l )'s ith position i is 1, the eigenvector v i =(x1,x2,...,x l )、v=(y1,y2,...,y l ),but: x′ i =x″ i =x i Among them, x′ j , x″ j , y′ j ,y″ j represents an intermediate variable; calculate: When S in the index key IK is (s1, s2, ..., s l )'s ith position i is 0, then: and' i =and″ i =and i calculate: The overall calculation formula is: Among them, X′ i , X″ i , Y i ′、Y i ″ represents the set corresponding to the intermediate variables, M1 and M2 represent the reversible matrices in the index key IK, and r and r′ represent the random numbers used for encryption; Step 5.3: In the inverted index ranking table, according to the encrypted keyword Enc(w i ) Find the most relevant encrypted document number; Step 5.4: Find the corresponding number of encrypted documents according to the data user's document demand and return them to the edge server.
9. A searchable encryption method supporting fuzzy sorting retrieval based on a cloud environment, applied to an edge server, characterized in that: Obtain the private key authorized by the data user and use it to preliminarily decrypt the most relevant ciphertext obtained from the cloud server, and send the decrypted intermediate ciphertext to the data user for final decryption; the most relevant ciphertext is found by finding the matching encryption key field from the fuzzy index based on the search trapdoor and combining it with the correlation index; the ciphertext is obtained by the data owner through public key encryption; the correlation index is constructed by the data owner based on the correlation between the plaintext and the key field; The fuzzy index is obtained by the data owner based on keyword features, encrypted keywords, and an encrypted feature vector calculated based on an index key; the search trap is constructed by the data user encrypting the search information using an index key obtained from the data owner and based on the search information features and its encrypted feature vector.
10. The searchable encryption method supporting fuzzy sorting retrieval based on cloud environment according to claim 9, characterized in that: The decryption comprises the following steps: Step 6.1: Get the most relevant ciphertext C sub After the private key SK is obtained, a preliminary decryption is performed to obtain the intermediate ciphertext. The formula is as follows: Among them, g1 and g2 are bilinear groups and Generators of, bilinear pairings In the multiplicative group modulo p In the example, α and β are randomly selected so that In the multiplicative group modulo p In the example, t is randomly selected so that A i =r i ·e(g1,h β ) γ , e() means that for any Both Bilinear pairing of ; CD={CD1,CD2,...,CD n }, Step 6.2, obtain the intermediate ciphertext IC = (r i ,CT i ) and sent to the data user so that the data user can perform the final decryption to obtain the required plaintext. The decryption operation is as follows: Where CT={CT1, CT2, ..., CT n }, C=(CT,CD) represents the ciphertext, D i represents a plaintext document, and n represents the number of documents.
