CN117932684B - Smart grid data encryption method and system - Google Patents

Smart grid data encryption method and system Download PDF

Info

Publication number
CN117932684B
CN117932684B CN202410302833.7A CN202410302833A CN117932684B CN 117932684 B CN117932684 B CN 117932684B CN 202410302833 A CN202410302833 A CN 202410302833A CN 117932684 B CN117932684 B CN 117932684B
Authority
CN
China
Prior art keywords
keyword
document
encrypted
keywords
key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202410302833.7A
Other languages
Chinese (zh)
Other versions
CN117932684A (en
Inventor
赵云
杨晓华
王浩林
杨茗
陆煜锌
茶建华
蔡梓文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CSG Electric Power Research Institute
Original Assignee
CSG Electric Power Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CSG Electric Power Research Institute filed Critical CSG Electric Power Research Institute
Priority to CN202410302833.7A priority Critical patent/CN117932684B/en
Publication of CN117932684A publication Critical patent/CN117932684A/en
Application granted granted Critical
Publication of CN117932684B publication Critical patent/CN117932684B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

The application discloses a smart grid data encryption method and a smart grid data encryption system, wherein a data owner encrypts a grid data document through an initialized document encryption key and then uploads the encrypted document to a cloud server, a keyword index and a keyword label are constructed according to keywords contained in the document, a keyword document number counter, a keyword update counter, a keyword encryption index key and a document number and uploaded to the cloud server, and the keyword document number counter and the keyword update counter are authorized to a data user; the data user constructs a query trapdoor according to the values in the two counters and a plurality of keywords to be queried to query the keywords of the encrypted document stored on the cloud server; and the cloud server searches the stored encrypted document according to the keyword label acquired by the query trapdoor. The application realizes the data sharing capable of carrying out privacy protection in the cloud environment, supports multi-keyword joint query, can resist the attack of the selected keywords and ensures the data safety.

Description

Smart grid data encryption method and system
Technical Field
The application relates to the technical field of data security, in particular to a smart grid data encryption method and system.
Background
Uploading sensitive smart grid data into a cloud environment introduces a series of security and privacy issues. Cloud service providers may be targets of various attacks, including risks of data leakage, unauthorized access, and data tampering. Furthermore, smart grid data typically contains information that can identify individual usage patterns, which if exposed, can have a serious impact on user privacy.
The prior art realizes the effective search of data while protecting the privacy of the data, has important application value in the cloud environment, but the prior art does not support the query of multiple keywords or generates huge calculation cost, communication cost and the like, so the method is not suitable for mass data storage and query in the cloud environment. Therefore, in the cloud environment, providing an encryption method supporting multi-keyword query while ensuring security and efficiency is a problem to be solved by those skilled in the art.
Disclosure of Invention
The application provides a smart grid data encryption method and a smart grid data encryption system, which are used for realizing the encrypted storage of smart grid data in a cloud environment, guaranteeing the security of the smart grid data and supporting multi-keyword query.
In view of this, a first aspect of the present application provides a smart grid data encryption method, including:
Initializing and generating a document encryption key, a keyword encryption index key, a keyword document number counter, a keyword update counter, a limited cyclic group and a generation element thereof by a data owner, and disclosing the generation element, wherein the keyword document number counter is used for storing the total number of documents contained in keywords, and the keyword update counter is used for storing the times of executing update operation by the keywords;
the data owner encrypts the electric network data document to be stored through the document encryption key and generates a document number of the obtained encrypted document, the encrypted document and the corresponding document number are sent to a cloud server, the document encryption key is sent to a data user after being encrypted, and the data user obtains the document encryption key through decryption;
The data owner calculates a keyword index according to keywords in the encrypted document, a keyword document number counter, a keyword update counter and a keyword encryption index key, and calculates a keyword label of the encrypted document according to the document number, the hash value of the keywords and the generating element;
uploading all the keyword indexes and the keyword labels to a cloud server by a data owner, storing the keyword indexes by the cloud server, and inserting the keyword labels into a bloom filter generated by initialization;
The data owner encrypts the count values in the keyword document number counter and the keyword update counter and then sends the encrypted count values to the data user, the data user decrypts and obtains the count values in the keyword document number counter and the keyword update counter, a query trapdoor is constructed according to the count values and a plurality of keywords to be queried to carry out keyword query on the encrypted documents stored on the cloud server, the cloud server judges whether the keyword tags are all in the bloom filter according to the keyword tags obtained by the query trapdoor, if yes, the corresponding encrypted documents are sent to the data user, and the data user decrypts the received encrypted documents through the document encryption keys.
Optionally, the method further comprises:
The data user selects a random number as a private key, calculates a corresponding public key according to the private key and the generating element, and discloses the public key.
Optionally, the data owner encrypts the document encryption key and sends the encrypted document encryption key to the data user, and the data user obtains the document encryption key through decryption, including:
The data owner encrypts the document encryption key through a public key generated and disclosed by the initialization of the data user, the obtained encrypted document encryption key is sent to the data user, and the data user decrypts the encrypted document encryption key through a private key generated by the initialization, so that the document encryption key is obtained.
Optionally, the calculating, by the data owner, a keyword index according to a keyword in the encrypted document, a keyword document number counter, a keyword update counter, and a keyword encryption index key, and calculating, by the data owner, a keyword tag of the encrypted document according to a document number, a hash value of the keyword, and the generator, includes:
The data owner counts keywords contained in all encrypted documents to obtain a keyword set;
Counting the document numbers corresponding to the keywords in the keyword set to obtain a document number set corresponding to the keywords, and updating the count value in the keyword document number counter according to the total number of the document numbers corresponding to the keywords;
According to the keyword encryption index key and the count value corresponding to each keyword in the keyword document number counter, calculating the index key of each keyword by adopting a first pseudo-random function;
According to the keyword encryption index key and the count value corresponding to each keyword in the keyword update counter, calculating the index address of each keyword by adopting a second pseudo-random function;
traversing a document number set corresponding to each keyword, and calculating a document auxiliary message under each keyword by adopting two different hash functions according to the document number corresponding to each keyword and the count value in the keyword update counter;
constructing a keyword index of each keyword by adopting a pseudo-random substitution function according to the index address, the index key, the document number set and the document auxiliary message of each keyword;
And calculating the keyword label of each encrypted document according to the document number of each encrypted document, the keywords contained in each encrypted document and the generating element.
Optionally, the calculating the keyword label of each encrypted document according to the document number of each encrypted document, the keyword contained in each encrypted document and the generating element includes:
Calculating hash values of keywords contained in each encrypted document by adopting a first hash function, and calculating hash values of document numbers of each encrypted document by adopting a second hash function;
And performing power operation on the group by taking the generating element as a base and taking the product of the two hash values as an index to obtain the keyword label of each encrypted document.
Optionally, the query trapdoor construction process includes:
the data user determines a target keyword with the least document data from a plurality of keywords to be queried according to the keyword document quantity counter;
According to the keyword encryption index key and the count value corresponding to the target keyword in the keyword document number counter, calculating the index key of the target keyword by adopting a first pseudo-random function;
According to the keyword encryption index key and the count value corresponding to the target keyword in the keyword update counter, calculating an index address of the target keyword by adopting a second pseudo-random function;
Respectively calculating hash values of non-target keywords and hash values of combinations of count values corresponding to the target keywords in the keyword update counter, and calculating query tokens of the non-target keywords according to the two hash values and the generator;
and constructing a query trapdoor through the index key of the target keyword, the index address and the query token of the non-target keyword.
Optionally, the cloud server judges whether the keyword tags hit the bloom filter according to the keyword tags acquired by querying the trapdoor, if yes, the corresponding encrypted document is sent to the data user, including:
The cloud server matches the keyword index according to the index address of the target keyword in the query trapdoor, and decrypts the matched keyword index by adopting the index key of the target keyword to obtain a document number set and a document auxiliary message corresponding to the target keyword;
Traversing the document numbers in the document number set corresponding to the target keywords, and for each target encrypted document in the document number set corresponding to the target keywords, performing group exponentiation by taking the query token of the non-target keywords as a base number and taking the document auxiliary message corresponding to each target encrypted document as an index to obtain the keyword label of each target encrypted document;
Judging whether all keyword labels of all target encrypted documents hit the bloom filter, if so, adding the document numbers of all hit target encrypted documents into a ciphertext retrieval set, traversing the document number set corresponding to the target keywords, and then sending the ciphertext retrieval set to a data user.
Optionally, the method further comprises:
When a data owner adds a new power grid data document to a cloud server, encrypting the new power grid data document through the document encryption key to obtain a newly-added encrypted document, and generating a document number of the newly-added encrypted document;
updating a keyword update counter and count values in a keyword document number counter according to keywords in the new power grid data document;
Calculating a new keyword index according to keywords in the newly-added encrypted document, an updated keyword document number counter, an updated keyword update counter and a keyword encryption index key, and calculating a keyword label of the newly-added encrypted document according to the document number, the keywords and the generating element of the newly-added encrypted document;
And sending the newly-added encrypted document, the new keyword index and the keyword label of the newly-added encrypted document to a cloud server, storing the newly-added encrypted document and the new keyword index by the cloud server, and inserting the keyword label of the newly-added encrypted document into the bloom filter.
Optionally, the method further comprises:
When the data owner deletes the encrypted document from the cloud server, updating the count values in the keyword update counter and the keyword document number counter according to the keyword in the encrypted document to be deleted;
Calculating a new keyword index according to keywords in the encrypted document to be deleted, an updated keyword document number counter, an updated keyword update counter and a keyword encryption index key, and calculating a keyword label of the encrypted document to be deleted according to the document number, the keywords and the generator of the encrypted document to be deleted;
and sending the document number of the encrypted document to be deleted, the new keyword index and the keyword label of the encrypted document to be deleted to a cloud server, storing the new keyword index by the cloud server, deleting the corresponding encrypted document according to the document number of the encrypted document to be deleted, and deleting the keyword label of the encrypted document to be deleted from the bloom filter.
A second aspect of the present application provides a smart grid data encryption system, including:
The data owner is used for initializing and generating a document encryption key, a keyword encryption index key, a keyword document quantity counter, a keyword update counter, a limited cyclic group and generating elements thereof, and disclosing the generating elements, wherein the keyword document quantity counter is used for storing the total number of documents contained in keywords, and the keyword update counter is used for storing the times of executing update operation of the keywords;
Encrypting a power grid data document to be stored through the document encryption key and generating a document number of the obtained encrypted document, sending the encrypted document and the corresponding document number to a cloud server, encrypting the document encryption key, sending the encrypted document to a data user, and obtaining the document encryption key through decryption by the data user;
calculating a keyword index according to keywords in the encrypted document, a keyword document number counter, a keyword update counter and a keyword encryption index key, and calculating a keyword label of the encrypted document according to the document number, the hash value of the keywords and the generating element;
Uploading all the keyword indexes and keyword labels to a cloud server, storing the keyword indexes by the cloud server, and inserting the keyword labels into a bloom filter generated by initialization;
Encrypting the count values in the keyword document number counter and the keyword update counter and then sending the encrypted count values to a data user;
the data user is used for decrypting and obtaining count values in the keyword document number counter and the keyword update counter, constructing a query trapdoor according to the count values and a plurality of keywords to be queried, and performing keyword query on the encrypted documents stored on the cloud server;
And the cloud server is used for judging whether the keyword labels are all hit to the bloom filter according to the keyword labels acquired by inquiring the trapdoor, if yes, the corresponding encrypted document is sent to the data user, and the data user decrypts the received encrypted document through the document encryption key.
From the above technical scheme, the application has the following advantages:
In the application, the construction of the keyword index depends on the keyword document number counter and the keyword update counter, the two counters are generated by the data owner, and under the condition that the values of the two counters are not known, even if the keyword is acquired, illegal data users cannot generate the query trapdoor of the keyword, thereby ensuring the security of the intelligent power grid data in the cloud environment;
For the keyword labels of the documents, the values of the keyword labels are generated by carrying out operation on document numbers, hash values of keywords and generating elements, a server cannot decrypt which keywords the documents contain according to the keyword label values of the documents, and meanwhile, for different documents, different keyword labels can be generated even if the same keywords are contained because of different document numbers, so that the method can carry out privacy-protected data sharing in a cloud environment, can resist attack of selected keywords, and further improves the safety of intelligent power grid data;
The method provided by the application supports multi-keyword joint query, and has the advantages of high query efficiency and low communication overhead.
Drawings
In order to more clearly illustrate the embodiments of the application or the technical solutions of the prior art, the drawings which are used in the description of the embodiments or the prior art will be briefly described, it being obvious that the drawings in the description below are only some embodiments of the application, and that other drawings can be obtained from these drawings without inventive faculty for a person skilled in the art.
Fig. 1 is a schematic flow chart of a smart grid data encryption method according to an embodiment of the present application;
FIG. 2 is a diagram showing keyword query overhead versus the present application;
FIG. 3 is a diagram showing the comparison of keyword query communication overhead according to an embodiment of the present application;
Fig. 4 is a schematic structural diagram of a smart grid data encryption system according to an embodiment of the present application.
Detailed Description
In order to make the present application better understood by those skilled in the art, the following description will clearly and completely describe the technical solutions in the embodiments of the present application with reference to the accompanying drawings, and it is apparent that the described embodiments are only some embodiments of the present application, not all embodiments. All other embodiments, which can be made by those skilled in the art based on the embodiments of the application without making any inventive effort, are intended to be within the scope of the application.
For easy understanding, referring to fig. 1, an embodiment of the present application provides a smart grid data encryption method, including:
step 101, initializing and generating a document encryption key, a keyword encryption index key, a keyword document number counter, a keyword update counter, a finite circulation group and generating elements thereof by a data owner, and disclosing the generating elements.
The data owner needs to perform an initialization operation, specifically, the data owner generates a document encryption key f k and a keyword encryption index key k t according to the security parameters, selects a limited cyclic group G and a generation element G thereof, and discloses the generation element G, and the data owner also initializes a generated keyword document number counter Cnt and a keyword update counter UpCnt, wherein the keyword document number counter Cnt is used for storing the total number of documents contained in a keyword, and the keyword update counter UpCnt is used for storing the times of executing the update operation on the keyword.
After the initialization of the data owner is completed, the data user selects a random number x as the private key s k, calculates g x as the public key p k according to the private key and the generator g, and discloses the public key p k. After the initialization of the data owner is completed, the cloud server initializes a bloom filter BL and empties the bloom filter BL, and the bloom filter BL is used for storing keyword labels of the encrypted document.
Step 102, the data owner encrypts the electric network data document to be stored through the document encryption key and generates the document number of the obtained encrypted document, the encrypted document and the corresponding document number are sent to the cloud server, the document encryption key is sent to the data user after being encrypted, and the data user obtains the document encryption key through decryption.
The data owner encrypts a grid data document to be transmitted to the cloud server for storage in accordance with Advanced Encryption Standard (AES) using a document encryption key f k to obtain an encrypted document, and generates a unique document number (ID) for the encrypted document. The data owner sends the encrypted document and the corresponding document number to the cloud server for storage, and the data security is improved by storing the encrypted power grid data document. The data owner encrypts the document encryption key f k through the public key p k of the data user and sends the encrypted document encryption key f k to the data user, the data user decrypts the received encrypted document encryption key through the private key s k to obtain the document encryption key f k, so that the data user can decrypt the encrypted document through the document encryption key f k after obtaining the encrypted document, and the original grid data document is obtained.
Step 103, the data owner calculates a keyword index according to the keywords in the encrypted document, the keyword document number counter, the keyword update counter and the keyword encryption index key, and calculates a keyword label of the encrypted document according to the document number, the hash value of the keywords and the generating element.
A1, counting keywords contained in all encrypted documents by a data owner to obtain a keyword set;
The data owner counts the keywords contained in all the power grid data documents to obtain a keyword set W= { W 1,w2,...,wn }.
A2, counting document numbers corresponding to the keywords in the keyword set, obtaining a document number set corresponding to the keywords, and updating the count value in the keyword document number counter according to the total number of the document numbers corresponding to the keywords;
For each keyword in the keyword set W, counting the encrypted documents corresponding to each keyword to obtain a document number set corresponding to each keyword, and for the document number set corresponding to each keyword The document number set corresponding to the keyword w i isT is the number of documents contained in the keyword w i (i.e. the number of encrypted documents containing the keyword w i in the document content), and the count value of the keyword w i in the keyword document number counter Cnt is updated according to the number of documents t corresponding to the keyword w i, namely, the update/>And update the key to the counter/>And setting 0.
A3, calculating the index key of each keyword by adopting a first pseudo-random function according to the keyword encryption index key and the count value corresponding to each keyword in the keyword document number counter;
The data owner encrypts the index key k t according to the key value corresponding to the key w i in the key document number counter Calculating index key/>, of keyword w i by using first pseudo random function F 1
A4, according to the keyword encryption index key and the count value corresponding to each keyword in the keyword update counter, calculating the index address of each keyword by adopting a second pseudo-random function;
The data owner updates the count value corresponding to the keyword w i in the counter according to the keyword encryption index key k t and the keyword Calculating index address/>, of keyword w i by using second pseudo random function F 2
A5, traversing a document number set corresponding to each keyword, and calculating a document auxiliary message under each keyword by adopting two different hash functions according to the document number corresponding to each keyword and a count value in a keyword update counter;
The data owner traverses the document number set of keywords w i Two different hash functions are adopted to obtain the corresponding document number/>, according to the keyword w i Count value corresponding to keyword w i in keyword update counterDocument auxiliary message of each encrypted document under calculation key w i
A6, constructing a keyword index of each keyword by adopting a pseudo-random substitution function according to the index address, the index key, the document number set and the document auxiliary message of each keyword;
index address according to key w i Index Key/>Document number set/>And document auxiliary message/>Constructing a keyword index of a keyword w i by adopting a pseudo-random substitution function P
A7, calculating the keyword label of each encrypted document according to the document number of each encrypted document, the keywords contained in each encrypted document and the generating element.
Calculating hash values of keywords contained in each encrypted document by adopting a first hash function, and calculating hash values of document numbers of each encrypted document by adopting a second hash function; and performing power operation on the group by taking the generating element as a base and taking the product of the two hash values as an index to obtain the keyword label of each encrypted document. Specifically, the data owner counts the document numbers of all the encrypted documents to obtain a total document number setZ is the total number of the encrypted documents, and the keywords contained in each encrypted document in the total document number set are counted to obtain a keyword set corresponding to each encrypted document; Traversing the aggregate document number set ListID, for each encrypted document/>Calculating hash values/>, of keywords contained in encrypted document, by adopting first hash function H 1 ,/>Calculating hash value/>, of document number of each encrypted document by using a second hash function H 2 Performing power operation on the group by taking the generation element g as a base number and taking the product of two hash values as an index to obtain key word labels of all key words in the encrypted document
Step 104, uploading all the keyword indexes and the keyword labels to a cloud server by the data owner, storing the keyword indexes by the cloud server, and inserting the keyword labels into the bloom filter generated by initialization.
The data owner uploads all the keyword indexes and the keyword labels to the cloud server, the keyword indexes are stored by the cloud server, and the keyword labels are inserted into the bloom filter BL generated through initialization.
Step 105, the data owner encrypts the count values in the keyword document number counter and the keyword update counter and sends the encrypted count values to the data user, the data user decrypts and obtains the count values in the keyword document number counter and the keyword update counter, a query trapdoor is constructed according to the count values and a plurality of keywords to be queried to carry out keyword query on the encrypted document stored on the cloud server, the cloud server judges whether the keyword tags hit the bloom filter according to the keyword tags obtained by the query trapdoor, if yes, the corresponding encrypted document is sent to the data user, and the data user decrypts the received encrypted document through the document encryption key.
The data owner encrypts and transmits the count values in the keyword document number counter Cnt and the keyword update counter UpCnt to the data user by using the public key p k of the data user, the count values in the keyword document number counter and the keyword update counter are obtained by decrypting by using the private key, and the data user constructs a query trapdoor according to the count values and a plurality of keywords to be queried to perform keyword query on the encrypted documents stored on the cloud server.
Specifically, a data user may generate a federated query containing m keywordsThe data user determines a target keyword with the least document data from a plurality of keywords to be queried according to the keyword document number counter, and the target keyword is assumed to be w 1; according to the keyword encryption index key k t and the count value/> corresponding to the target keyword in the keyword document quantity counterCalculating an index key of the target key w 1 by using a first pseudo random function F 1 ; The data user encrypts the index key k t according to the key, and updates the count value/> corresponding to the target key in the counter according to the keyCalculating the index address of the target keyword w 1 by using a second pseudo random function F 2
The data user traverses other keywords (i.e., non-target keywords w j, j=2, 3,4,.. M) in query Q except for target keywords w 1, calculates hash values H 1(wj of the non-target keywords, respectively, and the hash values of the target keywords and the combinations of count values corresponding to the target keywords in the keyword update counter using a first hash function H 1 And calculates the query token/>, of the non-target keyword w j, according to the two hash values and the generator g; The data user constructs a query trapdoor/>, by the index key, index address and query token of the non-target key of the target keyThe data user initiates a query request to the cloud server and queries trapdoors/>And sending the cloud server.
The cloud server searches for the index address of the target keyword in the trapdoor according to the index addressMatching key indexes and adopting index key/>, of target keyDecrypting the matched keyword index to obtain a document number set/>, corresponding to the target keywordAnd document auxiliary message/>
Traversing a document number set corresponding to a target keyword by a cloud serverIn the document number ID, for the document number set/>, corresponding to the target keywordEach target encrypted document in the document (a) is subjected to group exponentiation by taking a query token of a non-target keyword as a base number and taking a document auxiliary message corresponding to each target encrypted document as an index to obtain a keyword label/>, of each target encrypted documentJ=2, 3,4, m; the cloud server judges whether all keyword labels of all target encrypted documents hit a bloom filter BL, if so, the document number ID corresponding to the target encrypted documents hit is added to a ciphertext retrieval set CFSet, and the document number set/>, corresponding to the target keywords, are traversedThereafter, ciphertext search aggregate CFSet is transmitted to the data user.
After receiving the ciphertext retrieval set CFSet, the data user decrypts the encrypted document in the ciphertext retrieval set CFSet by the document encryption key f k to obtain the power grid data document, and the whole content is recovered.
Further, the smart grid data encryption method in the embodiment of the application further comprises the following steps:
Step 106, the data owner performs document updating operation.
Document updating is classified into two cases, document addition and document deletion.
When a data owner adds a new power grid data document to a cloud server, the data owner encrypts the new power grid data document through a document encryption key f k to obtain a newly-added encrypted document, and generates a document number of the newly-added encrypted document;
Updating a keyword update counter and count values in a keyword document number counter according to keywords in the new power grid data document; specifically, the data owner extracts keywords contained in the new power grid data document to obtain a keyword set The data owner traverses the set of keywords W F for keywords/>Adding 1 to the count value UpCnt w about the keyword w in the keyword update counter, and adding 1 to the count value Cnt w about the keyword w in the keyword document number counter;
The data owner calculates a new keyword index according to keywords in the newly added encrypted document, an updated keyword document number counter, an updated keyword update counter and a keyword encryption index key, and calculates a keyword label of the newly added encrypted document according to the document number, the keywords and the generating element of the newly added encrypted document; specifically, a new index key is calculated using a first pseudo-random function F 1 Calculating the query address/>, of the keyword w by adopting a second pseudo-random function F 2 Extracting an original document number set List w and a document auxiliary message tpList w contained in the keyword w, and adding the document number of the newly added encrypted document into the original document number set List w to obtain a new document number set/>Document assistance message for computing newly added encrypted documentsAdding a document auxiliary message/>, of the newly added encrypted document, to the original document auxiliary message tpList w of the keyword wNew document auxiliary message/>, obtaining keyword wUsing a new index keyRe-encryption/>And/>Combining the query address of the keyword w to construct a new keyword index/>, of the keyword w; Finally, the data owner calculates keyword labels/>, of all keywords in the newly-added encrypted document according to the document number ID, the keywords w and the generator g of the newly-added encrypted document
The data owner sends the newly-added encrypted document, the new keyword index and the keyword label of the newly-added encrypted document to the cloud server, the cloud server stores the newly-added encrypted document and the new keyword index, and the keyword label of the newly-added encrypted document is inserted into the bloom filter. After traversing the keyword set W F, the data owner requests a document adding operation from the cloud server, sends the newly-added encrypted document, the new keyword index and the new keyword label to the cloud server, stores the newly-added encrypted document and the new keyword index by the cloud server, and inserts the new keyword label into the bloom filter BL.
When the data owner needs to delete the encrypted document from the cloud server, updating the count values in the keyword update counter and the keyword document number counter according to the keyword in the encrypted document to be deleted; specifically, when the data owner needs to delete the encrypted document from the cloud server, the data owner extracts keywords contained in the encrypted document to be deleted to obtain a keyword setThe data owner traverses the set of keywords W F for keywords/>Adding 1 to the count value UpCnt w about the keyword w in the keyword update counter, and subtracting 1 to the count value Cnt w about the keyword w in the keyword document number counter;
Calculating a new keyword index according to keywords in the encrypted document to be deleted, an updated keyword document number counter, an updated keyword update counter and a keyword encryption index key, and calculating a keyword label of the encrypted document to be deleted according to the document number, the keywords and the generating element of the encrypted document to be deleted; specifically, a new index key for key w is recalculated using a first pseudo-random function F 1 Recalculating the query address/>, of the keyword w using a second pseudo random function F 2 Extracting an original document number set List w and a document auxiliary message tpList w contained in the keyword w, deleting the document number of the encrypted document to be deleted in the original document number set List w to obtain a new document number set/>, of the keyword wCalculating document auxiliary information/>, of each keyword in to-be-deleted secret documentDeleting the document auxiliary message/>, of the encrypted document to be deleted, from the original document auxiliary message tpList w of the keyword wNew document auxiliary message/>, obtaining keyword wNew index Key/>, usedRe-encryption/>And/>Combining the query address of the keyword w to construct a new keyword index/>, of the keyword w; Finally, the data owner calculates keyword labels/>, of all keywords in the encrypted document to be deleted, according to the document number ID, the keywords w and the generator g of the encrypted document to be deleted
And sending the document number of the encrypted document to be deleted, the new keyword index and the keyword label of the encrypted document to be deleted to a cloud server, storing the new keyword index by the cloud server, deleting the corresponding encrypted document according to the document number of the encrypted document to be deleted, and deleting the keyword label of the encrypted document to be deleted from the bloom filter. After traversing the keyword set W F, the data owner requests a document deletion operation from the cloud server, sends the document number of the encrypted document to be deleted, the new keyword index and the keyword label of the encrypted document to be deleted to the cloud server, stores the new keyword index by the cloud server, deletes the corresponding encrypted document according to the document number of the encrypted document to be deleted, and deletes the keyword label of the encrypted document to be deleted from the bloom filter BL.
The attacker considered by the embodiment of the application is mainly an illegal data user and an honest and curious cloud server, the purpose of the cloud server is to acquire the keyword privacy of the uploaded document as much as possible, the application assumes that the data owner and the data user are honest, the application can meet the requirement of resisting the attack of the selected keyword, and meanwhile, only the data user licensed by the data owner can acquire the document information. Therefore, the security performance of the system of the present application is analyzed from the viewpoint of resisting the attack of the selection key and the data access authority, and is specifically as follows:
1) In the present application, the construction of the keyword index relies on a keyword document number counter and a keyword update counter whose values are generated by the data owner. Under the condition that the values of the two counters are not known, even if the keywords are acquired, illegal data users cannot generate inquiry trapdoors of the keywords, so that the data security is ensured. Therefore, in the scheme provided by the application, after the authentication of the data owner is passed, the data user can acquire the keyword document quantity counter and the keyword update counter;
2) In the application, the count value in the keyword document number counter is changed every time the keyword is updated, so that the index key and the index address of the keyword are changed. Therefore, the cloud server cannot associate the key indexes before and after updating, and also cannot decrypt new index contents by using the original key encryption index key. For the keyword label of the document, the value is generated by performing power operation on the group by the product of the document number and the keyword hash value, and the server cannot decrypt which keywords the document contains according to the keyword label of the document. Meanwhile, for different documents, because of the difference in document numbers, different keyword tags are generated even if the same keywords are included. Therefore, the application can resist the attack of the selection key words.
From the analysis, the illegal data user cannot infer the index content corresponding to the keywords, the cloud server cannot infer the document information corresponding to the keywords from the obtained keyword index, and the keyword information contained in the document cannot be inferred from the keyword labels of the documents, so that the illegal data user and the cloud server can resist the prying of the data content, and the security of the smart grid data is improved.
In order to verify the effectiveness of the method provided by the application, the document is randomly generated in the experimental process, the keywords contained in the document are 26 English letters, and the document number is a randomly generated 16-byte character string. Comparison was made during the experiment with the prior art protocols (BDXT protocol and ODXT protocol).
1) In order to illustrate the experience level when the data user uses the scheme to perform multi-keyword joint query operation, the embodiment of the application evaluates the response time of the multi-keyword joint query operation of the method, the response time of the system when the number of documents is linearly changed from 20 ten thousand to 100 ten thousand is tested in an experiment, and the result of the response time is shown in fig. 2. From fig. 2, it can be observed that the response time of the cloud server increases slightly with the number of documents, because an increase in the number of documents results in the cloud server having to traverse more files when retrieving the message. In addition, after one round of communication, the data user can directly obtain the corresponding document, and compared with the prior art, the prior art also needs to newly add one round of communication to request the real document to the cloud server after the data user obtains the corresponding document number, so that the inquiring time for obtaining the actual document is longer. Therefore, the scheme can reduce the query time of the data user and obtain better user experience.
2) To illustrate the experience level when the data user uses the scheme to perform multi-keyword joint query operation, the total communication overhead of the multi-keyword joint query operation of the method provided by the application is evaluated, the total communication overhead of the system when the updated data volume is linearly changed from 20 ten thousand to 100 ten thousand is tested, and the test result of the communication overhead is shown in fig. 3. As can be seen from fig. 3, as the data volume increases, the total communication overhead of the system increases gradually, and the messages sent by the cloud server to the data user are all related to the data volume, and the more the number of documents is, the more messages are sent, so the total communication overhead increases gradually with the data volume. However, the information sent by the data user in the scheme is irrelevant to the document number corresponding to the keywords, and only depends on the keyword number, while the size of the query information sent by the data owner in the compared prior scheme is also relevant to the document number corresponding to the keywords. In addition, in the existing scheme, after the data user obtains the corresponding document number, a round of communication is additionally needed to request the real document from the cloud server, and the communication cost for obtaining the real document is larger. Compared with the existing scheme, the scheme of the application has the advantages that the communication overhead is greatly reduced, and the increment is smaller. Therefore, the scheme of the application does not bring load to the system in the use process, and has better experience for the data user.
Referring to fig. 4, an embodiment of the present application further provides a smart grid data encryption system, including: a data owner, a data user and a cloud server;
The data owner is used for initializing and generating a document encryption key, a keyword encryption index key, a keyword document number counter, a keyword update counter, a limited cyclic group and generating elements thereof, and disclosing the generating elements, wherein the keyword document number counter is used for storing the total number of documents contained in keywords, and the keyword update counter is used for storing the times of executing update operation on the keywords;
Encrypting a power grid data document to be stored through a document encryption key and generating a document number of the obtained encrypted document, sending the encrypted document and the corresponding document number to a cloud server, encrypting the document encryption key, sending the encrypted document to a data user, and obtaining the document encryption key through decryption by the data user;
Calculating a keyword index according to keywords in the encrypted document, a keyword document number counter, a keyword update counter and a keyword encryption index key, and calculating a keyword label of the encrypted document according to the document number, the hash value of the keywords and the generator;
Uploading all the keyword indexes and keyword labels to a cloud server, storing the keyword indexes by the cloud server, and inserting the keyword labels into a bloom filter generated by initialization;
Encrypting the count values in the keyword document number counter and the keyword update counter and then sending the encrypted count values to a data user;
the data user is used for decrypting and obtaining count values in the keyword document number counter and the keyword update counter, constructing a query trapdoor according to the count values and a plurality of keywords to be queried, and performing keyword query on the encrypted documents stored on the cloud server;
And the cloud server is used for judging whether the keyword labels hit the bloom filter according to the keyword labels acquired by the query trapdoor, if so, the corresponding encrypted document is sent to the data user, and the data user decrypts the received encrypted document through the document encryption key.
The smart grid data encryption system provided by the embodiment of the application can carry out privacy protection data sharing in a cloud environment and resist the attack of the selected keywords; the system supports multi-keyword joint query, and has high query efficiency and low communication overhead.
It will be clear to those skilled in the art that, for convenience and brevity of description, reference may be made to the corresponding process in the foregoing method embodiment for the specific working process of the above-described system, which is not described herein again.
The terms "first," "second," "third," "fourth," and the like in the description of the application and in the above figures, if any, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order. It is to be understood that the data so used may be interchanged where appropriate such that the embodiments of the application described herein may be implemented, for example, in sequences other than those illustrated or otherwise described herein. Furthermore, the terms "comprises," "comprising," and "having," and any variations thereof, are intended to cover a non-exclusive inclusion, such that a process, method, system, article, or apparatus that comprises a list of steps or elements is not necessarily limited to those steps or elements expressly listed but may include other steps or elements not expressly listed or inherent to such process, method, article, or apparatus.
It should be understood that in the present application, "at least one (item)" means one or more, and "a plurality" means two or more. "and/or" for describing the association relationship of the association object, the representation may have three relationships, for example, "a and/or B" may represent: only a, only B and both a and B are present, wherein a, B may be singular or plural. The character "/" generally indicates that the context-dependent object is an "or" relationship. "at least one of" or the like means any combination of these items, including any combination of single item(s) or plural items(s). For example, at least one (one) of a, b or c may represent: a, b, c, "a and b", "a and c", "b and c", or "a and b and c", wherein a, b, c may be single or plural.
In the several embodiments provided by the present application, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the apparatus embodiments described above are merely illustrative, e.g., the division of the units is merely a logical function division, and there may be additional divisions when actually implemented, e.g., multiple units or components may be combined or integrated into another system, or some features may be omitted or not performed. Alternatively, the coupling or direct coupling or communication connection shown or discussed with each other may be an indirect coupling or communication connection via some interfaces, devices or units, which may be in electrical, mechanical or other form.
The units described as separate units may or may not be physically separate, and units shown as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
In addition, each functional unit in the embodiments of the present application may be integrated in one processing unit, or each unit may exist alone physically, or two or more units may be integrated in one unit. The integrated units may be implemented in hardware or in software functional units.
The integrated units, if implemented in the form of software functional units and sold or used as stand-alone products, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present application may be embodied in essence or a part contributing to the prior art or all or part of the technical solution in the form of a software product stored in a storage medium, comprising several instructions for executing all or part of the steps of the method according to the embodiments of the present application by means of a computer device (which may be a personal computer, a server, or a network device, etc.). And the aforementioned storage medium includes: u disk, mobile hard disk, read-Only Memory (ROM), random access Memory (Random Access Memory, RAM), magnetic disk or optical disk, etc.
The above embodiments are only for illustrating the technical solution of the present application, and not for limiting the same; although the application has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical scheme described in the foregoing embodiments can be modified or some technical features thereof can be replaced by equivalents; such modifications and substitutions do not depart from the spirit and scope of the technical solutions of the embodiments of the present application.

Claims (10)

1. A smart grid data encryption method, comprising:
Initializing and generating a document encryption key, a keyword encryption index key, a keyword document number counter, a keyword update counter, a limited cyclic group and a generation element thereof by a data owner, and disclosing the generation element, wherein the keyword document number counter is used for storing the total number of documents contained in keywords, and the keyword update counter is used for storing the times of executing update operation by the keywords;
the data owner encrypts the electric network data document to be stored through the document encryption key and generates a document number of the obtained encrypted document, the encrypted document and the corresponding document number are sent to a cloud server, the document encryption key is sent to a data user after being encrypted, and the data user obtains the document encryption key through decryption;
The data owner calculates a keyword index according to keywords in the encrypted document, a keyword document number counter, a keyword update counter and a keyword encryption index key, and calculates a keyword label of the encrypted document according to the document number, the hash value of the keywords and the generating element;
uploading all the keyword indexes and the keyword labels to a cloud server by a data owner, storing the keyword indexes by the cloud server, and inserting the keyword labels into a bloom filter generated by initialization;
The data owner encrypts the count values in the keyword document number counter and the keyword update counter and then sends the encrypted count values to the data user, the data user decrypts and obtains the count values in the keyword document number counter and the keyword update counter, a query trapdoor is constructed according to the count values and a plurality of keywords to be queried to carry out keyword query on the encrypted documents stored on the cloud server, the cloud server judges whether the keyword tags are all in the bloom filter according to the keyword tags obtained by the query trapdoor, if yes, the corresponding encrypted documents are sent to the data user, and the data user decrypts the received encrypted documents through the document encryption keys.
2. The smart grid data encryption method of claim 1, further comprising:
The data user selects a random number as a private key, calculates a corresponding public key according to the private key and the generating element, and discloses the public key.
3. The smart grid data encryption method according to claim 1 or 2, wherein the data owner encrypts the document encryption key and transmits the encrypted document encryption key to a data user, and the data user obtains the document encryption key by decrypting the document encryption key, comprising:
The data owner encrypts the document encryption key through a public key generated and disclosed by the initialization of the data user, the obtained encrypted document encryption key is sent to the data user, and the data user decrypts the encrypted document encryption key through a private key generated by the initialization, so that the document encryption key is obtained.
4. The smart grid data encryption method of claim 1, wherein the data owner calculating a key index from a key in an encrypted document, a key document number counter, a key update counter, and a key encryption index key, calculating a key tag of the encrypted document from a document number, a hash value of the key, and the generator, comprising:
The data owner counts keywords contained in all encrypted documents to obtain a keyword set;
Counting the document numbers corresponding to the keywords in the keyword set to obtain a document number set corresponding to the keywords, and updating the count value in the keyword document number counter according to the total number of the document numbers corresponding to the keywords;
According to the keyword encryption index key and the count value corresponding to each keyword in the keyword document number counter, calculating the index key of each keyword by adopting a first pseudo-random function;
According to the keyword encryption index key and the count value corresponding to each keyword in the keyword update counter, calculating the index address of each keyword by adopting a second pseudo-random function;
traversing a document number set corresponding to each keyword, and calculating a document auxiliary message under each keyword by adopting two different hash functions according to the document number corresponding to each keyword and the count value in the keyword update counter;
constructing a keyword index of each keyword by adopting a pseudo-random substitution function according to the index address, the index key, the document number set and the document auxiliary message of each keyword;
And calculating the keyword label of each encrypted document according to the document number of each encrypted document, the keywords contained in each encrypted document and the generating element.
5. The smart grid data encryption method according to claim 4, wherein the calculating the keyword tag of each encrypted document based on the document number of each encrypted document, the keyword included in each encrypted document, and the generator, comprises:
Calculating hash values of keywords contained in each encrypted document by adopting a first hash function, and calculating hash values of document numbers of each encrypted document by adopting a second hash function;
And performing power operation on the group by taking the generating element as a base and taking the product of the two hash values as an index to obtain the keyword label of each encrypted document.
6. The smart grid data encryption method of claim 1, wherein the query trapdoor construction process comprises:
the data user determines a target keyword with the least document data from a plurality of keywords to be queried according to the keyword document quantity counter;
According to the keyword encryption index key and the count value corresponding to the target keyword in the keyword document number counter, calculating the index key of the target keyword by adopting a first pseudo-random function;
According to the keyword encryption index key and the count value corresponding to the target keyword in the keyword update counter, calculating an index address of the target keyword by adopting a second pseudo-random function;
Respectively calculating hash values of non-target keywords and hash values of combinations of count values corresponding to the target keywords in the keyword update counter, and calculating query tokens of the non-target keywords according to the two hash values and the generator;
and constructing a query trapdoor through the index key of the target keyword, the index address and the query token of the non-target keyword.
7. The smart grid data encryption method according to claim 6, wherein the cloud server judges whether keyword tags hit the bloom filter according to the keyword tags acquired by inquiring trapdoors, and if yes, sends the corresponding encrypted document to a data user, including:
The cloud server matches the keyword index according to the index address of the target keyword in the query trapdoor, and decrypts the matched keyword index by adopting the index key of the target keyword to obtain a document number set and a document auxiliary message corresponding to the target keyword;
Traversing the document numbers in the document number set corresponding to the target keywords, and for each target encrypted document in the document number set corresponding to the target keywords, performing group exponentiation by taking the query token of the non-target keywords as a base number and taking the document auxiliary message corresponding to each target encrypted document as an index to obtain the keyword label of each target encrypted document;
Judging whether all keyword labels of all target encrypted documents hit the bloom filter, if so, adding the document numbers of all hit target encrypted documents into a ciphertext retrieval set, traversing the document number set corresponding to the target keywords, and then sending the ciphertext retrieval set to a data user.
8. The smart grid data encryption method of claim 1, further comprising:
When a data owner adds a new power grid data document to a cloud server, encrypting the new power grid data document through the document encryption key to obtain a newly-added encrypted document, and generating a document number of the newly-added encrypted document;
updating a keyword update counter and count values in a keyword document number counter according to keywords in the new power grid data document;
Calculating a new keyword index according to keywords in the newly-added encrypted document, an updated keyword document number counter, an updated keyword update counter and a keyword encryption index key, and calculating a keyword label of the newly-added encrypted document according to the document number, the keywords and the generating element of the newly-added encrypted document;
And sending the newly-added encrypted document, the new keyword index and the keyword label of the newly-added encrypted document to a cloud server, storing the newly-added encrypted document and the new keyword index by the cloud server, and inserting the keyword label of the newly-added encrypted document into the bloom filter.
9. The smart grid data encryption method of claim 1, further comprising:
When the data owner deletes the encrypted document from the cloud server, updating the count values in the keyword update counter and the keyword document number counter according to the keyword in the encrypted document to be deleted;
Calculating a new keyword index according to keywords in the encrypted document to be deleted, an updated keyword document number counter, an updated keyword update counter and a keyword encryption index key, and calculating a keyword label of the encrypted document to be deleted according to the document number, the keywords and the generator of the encrypted document to be deleted;
and sending the document number of the encrypted document to be deleted, the new keyword index and the keyword label of the encrypted document to be deleted to a cloud server, storing the new keyword index by the cloud server, deleting the corresponding encrypted document according to the document number of the encrypted document to be deleted, and deleting the keyword label of the encrypted document to be deleted from the bloom filter.
10. A smart grid data encryption system, comprising:
The data owner is used for initializing and generating a document encryption key, a keyword encryption index key, a keyword document quantity counter, a keyword update counter, a limited cyclic group and generating elements thereof, and disclosing the generating elements, wherein the keyword document quantity counter is used for storing the total number of documents contained in keywords, and the keyword update counter is used for storing the times of executing update operation of the keywords;
Encrypting a power grid data document to be stored through the document encryption key and generating a document number of the obtained encrypted document, sending the encrypted document and the corresponding document number to a cloud server, encrypting the document encryption key, sending the encrypted document to a data user, and obtaining the document encryption key through decryption by the data user;
calculating a keyword index according to keywords in the encrypted document, a keyword document number counter, a keyword update counter and a keyword encryption index key, and calculating a keyword label of the encrypted document according to the document number, the hash value of the keywords and the generating element;
Uploading all the keyword indexes and keyword labels to a cloud server, storing the keyword indexes by the cloud server, and inserting the keyword labels into a bloom filter generated by initialization;
Encrypting the count values in the keyword document number counter and the keyword update counter and then sending the encrypted count values to a data user;
the data user is used for decrypting and obtaining count values in the keyword document number counter and the keyword update counter, constructing a query trapdoor according to the count values and a plurality of keywords to be queried, and performing keyword query on the encrypted documents stored on the cloud server;
And the cloud server is used for judging whether the keyword labels are all hit to the bloom filter according to the keyword labels acquired by inquiring the trapdoor, if yes, the corresponding encrypted document is sent to the data user, and the data user decrypts the received encrypted document through the document encryption key.
CN202410302833.7A 2024-03-18 2024-03-18 Smart grid data encryption method and system Active CN117932684B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202410302833.7A CN117932684B (en) 2024-03-18 2024-03-18 Smart grid data encryption method and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202410302833.7A CN117932684B (en) 2024-03-18 2024-03-18 Smart grid data encryption method and system

Publications (2)

Publication Number Publication Date
CN117932684A CN117932684A (en) 2024-04-26
CN117932684B true CN117932684B (en) 2024-06-14

Family

ID=90766940

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202410302833.7A Active CN117932684B (en) 2024-03-18 2024-03-18 Smart grid data encryption method and system

Country Status (1)

Country Link
CN (1) CN117932684B (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681280A (en) * 2015-12-29 2016-06-15 西安电子科技大学 Searchable encryption method based on Chinese in cloud environment
CN106326360A (en) * 2016-08-10 2017-01-11 武汉科技大学 Fuzzy multi-keyword retrieval method of encrypted data in cloud environment

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020133032A1 (en) * 2018-12-27 2020-07-02 深圳技术大学(筹) Multi-user ciphertext search method capable of preventing forgery
CN110166466B (en) * 2019-05-28 2020-02-21 湖南大学 Multi-user searchable encryption method and system capable of efficiently updating permissions
CN112311781B (en) * 2020-10-23 2021-11-12 西安电子科技大学 Encryption method with safe forward and backward direction and recoverable keyword shielding
CN112800445B (en) * 2021-01-21 2022-12-09 西安电子科技大学 Boolean query method for forward and backward security and verifiability of ciphertext data
CN113626484B (en) * 2021-07-03 2024-04-19 西安电子科技大学 Encryption method, system and computer equipment capable of flexibly replacing ciphertext and searching

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105681280A (en) * 2015-12-29 2016-06-15 西安电子科技大学 Searchable encryption method based on Chinese in cloud environment
CN106326360A (en) * 2016-08-10 2017-01-11 武汉科技大学 Fuzzy multi-keyword retrieval method of encrypted data in cloud environment

Also Published As

Publication number Publication date
CN117932684A (en) 2024-04-26

Similar Documents

Publication Publication Date Title
EP3356988B1 (en) Method and system for verifiable searchable symmetric encryption
US9275250B2 (en) Searchable encryption processing system
Wang et al. Enabling secure and efficient ranked keyword search over outsourced cloud data
CN105915332B (en) A kind of encryption of cloud storage and deduplication method and its system
JP5420085B2 (en) Data processing device and data storage device
CN107077469B (en) Server device, search system, terminal device, and search method
US20120159180A1 (en) Server-side Encrypted Pattern Matching
KR101282281B1 (en) Weighted keyword searching method for perserving privacy, and apparatus thereof
CN109493017A (en) Credible outsourcing storage method based on block chain
Poon et al. Fast phrase search for encrypted cloud storage
CN110188545B (en) Data encryption method and device based on chained database
CN109740378B (en) Security pair index structure resisting keyword privacy disclosure and retrieval method thereof
JP6289768B2 (en) ENCRYPTION DEVICE, ENCRYPTION PROGRAM, AND ENCRYPTION METHOD
CN107733936B (en) Encryption method for mobile data
KR101232385B1 (en) Searchable Symmetric Encryption Method and System
CN117932684B (en) Smart grid data encryption method and system
Williams et al. Access privacy and correctness on untrusted storage
Chen et al. Memory leakage-resilient dynamic and verifiable multi-keyword ranked search on encrypted smart body sensor network data
CN115168909B (en) Ciphertext data range query method and system based on comparison index
Schroeder Pad and Chaff: secure approximate string matching in private record linkage
Jospin Jeya et al. Efficient Ranked and Secure File Retrieval in Cloud Computing
Huang et al. A verifiable ranked ciphertext retrieval scheme based on bilinear mapping
Vasgi et al. A Secure and Effective Retrieval Using Hash Based Mapping Structure over Encrypted Cloud Data
US11308233B2 (en) Method for information retrieval in an encrypted corpus stored on a server
Göge et al. Improving fuzzy searchable encryption with direct bigram embedding

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant