CN116996281A - Dynamic searchable symmetric encryption method, system and medium supporting ciphertext sharing - Google Patents

Dynamic searchable symmetric encryption method, system and medium supporting ciphertext sharing Download PDF

Info

Publication number
CN116996281A
CN116996281A CN202310905749.XA CN202310905749A CN116996281A CN 116996281 A CN116996281 A CN 116996281A CN 202310905749 A CN202310905749 A CN 202310905749A CN 116996281 A CN116996281 A CN 116996281A
Authority
CN
China
Prior art keywords
ciphertext
shared
server
file identifier
user
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.)
Granted
Application number
CN202310905749.XA
Other languages
Chinese (zh)
Other versions
CN116996281B (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.)
Huazhong University of Science and Technology
Original Assignee
Huazhong University of Science and Technology
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 Huazhong University of Science and Technology filed Critical Huazhong University of Science and Technology
Priority to CN202310905749.XA priority Critical patent/CN116996281B/en
Publication of CN116996281A publication Critical patent/CN116996281A/en
Application granted granted Critical
Publication of CN116996281B publication Critical patent/CN116996281B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • H04L63/0435Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload wherein the sending and receiving network entities apply symmetric encryption, i.e. same key used for encryption and decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Storage Device Security (AREA)

Abstract

The invention discloses a dynamic searchable symmetric encryption method, a system and a medium supporting ciphertext sharing, belonging to the field of cloud storage security, wherein the method comprises the following steps: the data owner calculates a linked list pointer corresponding to the file identifier to be shared, generates a sharing bill containing the file identifier to be shared, the linked list pointer and the decryption key, and sends the sharing bill to the data user; the data user acquires a corresponding ciphertext to be shared from the server by using the sharing bill, encrypts the ciphertext to be shared again and stores the encrypted ciphertext to a user ciphertext database of the server package; the data user calculates a search trapdoor by using the private key of the user and the keyword to be searched and sends the search trapdoor to the server; the server searches ciphertext corresponding to the trapdoor from the user ciphertext database and returns the ciphertext to the data user, and plaintext content corresponding to the ciphertext is a file identifier corresponding to the keyword to be searched. And generating a sharing bill according to the sharing file identifier, so that safe and efficient sharing of the searchable ciphertext among different users is realized and efficient searching is supported.

Description

Dynamic searchable symmetric encryption method, system and medium supporting ciphertext sharing
Technical Field
The invention belongs to the field of cloud storage security, and particularly relates to a dynamic searchable symmetric encryption method, a system and a medium supporting ciphertext sharing.
Background
The local data in the information age is greatly expanded in scale, and more users select to upload the data to the cloud so as to reduce the local storage burden. Most enterprises or users can choose to encrypt the original plaintext data and upload the encrypted plaintext data to a cloud server for storage, so that the privacy of the data is protected. For encrypted data stored in the cloud, in addition to meeting the requirements of self use, the data owners often need to share the ciphertext to other users for searching.
The searchable encryption technique implements a keyword search function for ciphertext data. And the user generates trapdoors for the specified keywords and sends the trapdoors to the server, and the server matches the ciphertext according to the trapdoors and returns a search result. The searchable encryption technology further protects the privacy and security of the encrypted file while facilitating the use of ciphertext data by a user. The searchable encryption techniques may be classified into searchable public key encryption techniques and searchable symmetric encryption techniques in terms of cryptology for different application scenarios, where the latter are more widely used in data outsourcing storage scenarios.
In the conventional ciphertext sharing method, a secret key sharing manner is generally used for ciphertext sharing. In such sharing mode, the searchable ciphertext itself is not duplicated and shared, and the data user shares the short-term capability of keyword searching for the ciphertext. When the sharing link is overtime or invalid, the data user cannot continue to use the ciphertext data. The existing ciphertext sharing method cannot share the ciphertext, and meanwhile, a data user cannot keep the long-term keyword searching capability of the shared ciphertext.
Disclosure of Invention
Aiming at the defects and improvement demands of the prior art, the invention provides a dynamic searchable symmetric encryption method, a system and a medium supporting ciphertext sharing, which aim to realize long-term sharing of searchable ciphertext through sharing notes and enable a data user to have the keyword searching capability for sharing files for a long time.
To achieve the above object, according to one aspect of the present invention, there is provided a dynamic searchable symmetric encryption method supporting ciphertext sharing for a system including a data owner, a server, and a data user, the method comprising: ciphertext sharing stages S1-S3 and keyword searching stages S4-S5; s1, a data owner calculates a linked list pointer corresponding to a file identifier to be shared, generates a sharing bill containing the file identifier to be shared, the linked list pointer and a decryption key, and sends the sharing bill to a data user; s2, the data user acquires a ciphertext to be shared corresponding to the file identifier to be shared from the server by using the sharing bill, encrypts the ciphertext to be shared by using the private key of the user, and stores the encrypted ciphertext to the server; s3, the server stores the re-encrypted ciphertext to be shared into a user ciphertext database, wherein the ciphertext to be shared is uploaded to an owner ciphertext database of the server by a data owner; s4, the data user calculates a search trapdoor by utilizing the keyword to be searched and the private key of the user and sends the search trapdoor to the server; s5, the server searches ciphertext corresponding to the trapdoor from the user ciphertext database and returns the ciphertext to the data user, wherein plaintext content corresponding to the ciphertext is a file identifier corresponding to the keyword to be searched.
Further, the server adopts a bidirectional index linked list structure to store the ciphertext uploaded by the data owner to an owner ciphertext database; the linked list pointer includes: linked list tail node pointer L corresponding to file identifier to be shared 1 And L 1 Corresponding auxiliary positioning parameter J id 1 ,J id 1 The previous node for assisting in locating the linked list of file identifier dimensions:
L 1 ←F(K σ,1 ,w 1 ||id 1 )
J id 1 ←F(K σ,2 ,id 1 ||w 1 )
wherein F () is a pseudo-random function, K σ,1 、K σ,2 To form two keys of a master key of a data owner, w 1 Is id 1 Corresponding key, id 1 Is a file identifier to be shared.
Further, the server obtains the ciphertext to be shared corresponding to the file identifier to be shared, including: s21, the server extracts L in the owner ciphertext database 1 Searchable ciphertext at a location, the searchable ciphertext comprising file identifier dimension linked list I id 1 Random character string R of file identifier id 1 Keyword ciphertext C id 1 The method comprises the steps of carrying out a first treatment on the surface of the S22, the server stores C id 1 Added to the shared collection according to I id 1 、R id 1 And J id 1 Computing previous node pointer L of file identifier dimension chain table 1 ' and corresponding auxiliary positioning parameters J id 1 ' L is 1 、J id 1 Respectively correspondingly update to L 1 '、J id 1 ':
Wherein, H () is a hash function; s23, repeating the steps S21-S22 until the corresponding linked list of the file identifiers to be shared is traversed, and finally obtaining the sharing set as the ciphertext to be shared.
Further, the encrypting the ciphertext to be shared by using the private key of the user is stored in the server, which comprises the following steps: s25, decrypting the ciphertext to be shared to obtain a keyword w 1 For each w in the set of keywords 1 S26 to S28 are performed, respectively; s26, searching w in the ID state table 1 Corresponding to the latest updated file identifier id 1 'A'; s27, using K σ',1 Generates a code corresponding to (w 1 ,id 1 ) Ciphertext index L of pair 1 By K σ',2 、w 1 、id 1 Computing File identification Fu Miwen C w 1 ,K σ',1 、K σ',2 Id for two private keys constituting a user master key 1 For the file identifier to be shared, updating the ID state table to w 1 And id 1 Corresponding to the above; s28, according to id 1 ' whether or not it is empty, calculating w in case of division 1 Corresponding keyword dimension linked list I w 1 Obtaining w 1 Corresponding ciphertext (L) 1 ,I w 1 ,R w 1 ,C w 1 ),L 1 R is a linked list tail node pointer corresponding to a file identifier to be shared w 1 Is a keyword random character string; s29, each w 1 Corresponding ciphertext (L) 1 ,I w 1 ,R w 1 ,C w 1 ) The composed set is stored to a server.
Further, id 1 ' when in space, I w 1 The method comprises the following steps:
id 1 ' when not empty, I w 1 The method comprises the following steps:
L 1 '←F(K σ',1 ,w 1 ||id 1 ')
J w 1 '←F(K σ',2 ,w 1 ||id 1 ')
wherein H () is a hash function, F () is a pseudo-random function, L 1 ' previous node pointer, J, being a linked list of file identifier dimensions w 1 ' is the value of the last updated ciphertext.
Further, the server copies the encrypted ciphertext to be shared to the user ciphertext database by adopting a bidirectional index linked list structure, and S5 includes: s51, the server extracts L in the user ciphertext database 2 Ciphertext at a location, the ciphertext comprising keyword dimension chain table I w 2 Keyword random string R w 2 And file identification Fu Miwen C w 2 ,L 2 A linked list tail node pointer corresponding to the keyword to be searched; s52, the server stores C w 2 Added to the search result set according to I w 2 、R w 2 And J w 2 Computing previous node pointer L of file identifier dimension chain table 2 ' and corresponding auxiliary positioning parameters J w 2 ' L is 2 、J w 2 Respectively updated to L 2 '、J w 2 ':
Where H () is a hash function, J w 2 Is L 2 Corresponding auxiliary positioning parameters; s53, repeatedly executing S51-S52 until the keyword corresponding linked list is traversed, and finally obtaining a search result set which is ciphertext corresponding to the search trapdoor.
Still further, the method further comprises a ciphertext update phase: the data owner based on the key w to be updated 3 -file identifier id 3 Pair (w) 3 ,id 3 ) Find w 3 Corresponding to the latest updated file identifier id 3 ' and find id 3 Key w corresponding to the latest update 3 'A'; by K σ,1 Generates a code corresponding to (w 3 ,id 3 ) Ciphertext index L of pair 3 By K σ,2 、w 3 、id 3 Computing File identification Fu Miwen C w 3 Keyword ciphertext C id 3 ;K σ,1 、K σ,2 Two keys that constitute a master key of a data owner; according to w 3 ' whether empty or not, update id is calculated by case division 3 Corresponding file identifier dimension linked list I id 3 The method comprises the steps of carrying out a first treatment on the surface of the According to id 3 ' whether or not it is empty, the updated w is calculated in case of division 3 Corresponding keyword dimension linked list I w 3 The method comprises the steps of carrying out a first treatment on the surface of the Ciphertext (L) 3 ,I w 3 ,R w 3 ,C w 3 ,I id 3 ,R id 3 ,C id 3 ) Transmitting to the server so that the server stores the ciphertext in the owner ciphertext database, R w 3 、R id 3 The key random value and the file identifier random value are respectively lambda-length.
Further, w 3 ' when in space, I id 3 The method comprises the following steps:
w 3 ' when not empty, I id 3 The method comprises the following steps:
L 3 '←F(K σ,1 ,w 3 '||id 3 )
J id 3 '←F(K σ,2 ,id 3 ||w 3 ')
id 3 ' when in space, I w 3 The method comprises the following steps:
id 3 ' when not empty, I w 3 The method comprises the following steps:
L 3 '←F(K σ',1 ,w 3 ||id 3 ')
J w 3 '←F(K σ',2 ,w 3 ||id 3 ')
wherein H () is a hash function, F () is a pseudo-random function, L 3 ' previous node pointer, J, of the file identifier dimension chain table corresponding to the key to be updated w 3 ' is the value of the last updated ciphertext.
According to another aspect of the present invention, there is provided a dynamic searchable symmetric encryption system supporting ciphertext sharing, comprising a data owner, a server, and a data user; ciphertext sharing stage: the data owner calculates a linked list pointer corresponding to the file identifier to be shared, generates a sharing bill containing the file identifier to be shared, the linked list pointer and the decryption key, and sends the sharing bill to the data user; the data user acquires a ciphertext to be shared corresponding to the file identifier to be shared from the server by using the sharing bill, encrypts the ciphertext to be shared again by using the private key of the user and stores the encrypted ciphertext to the server; the server stores the re-encrypted ciphertext to be shared into a user ciphertext database, wherein the ciphertext to be shared is uploaded to an owner ciphertext database of the server by a data owner; keyword search stage: the data user calculates a search trapdoor by utilizing the keyword to be searched and the private key of the user and sends the search trapdoor to the server; the server searches ciphertext corresponding to the trapdoor from the user ciphertext database and returns the ciphertext to the data user, wherein plaintext content corresponding to the ciphertext is a file identifier corresponding to the keyword to be searched.
According to another aspect of the present invention, there is provided a computer readable storage medium having stored thereon a computer program which when executed by a processor implements a dynamic searchable symmetric encryption method supporting ciphertext sharing as described above.
In general, through the above technical solutions conceived by the present invention, the following beneficial effects can be obtained:
(1) The dynamic searchable symmetric encryption method supporting ciphertext sharing is provided, a data owner generates a sharing bill according to a file identifier to be shared, a server finds the sharing ciphertext according to the sharing bill, a data user updates the sharing ciphertext to a user ciphertext database after re-encrypting the sharing ciphertext, and the data user can use a private key to generate trapdoors for long-term searching, so that the searchable ciphertext can be shared, and meanwhile, the data user can have long-term searching capability;
(2) The server constructs a ciphertext index structure based on a doubly linked list, and when ciphertext sharing or keyword searching is performed, the server can position to a chain tail node according to ciphertext indexes in a sharing bill or a searching trapdoor and calculate the ciphertext index of a previous node of the linked list, so that all searchable ciphertexts associated with the same file identifier or keyword are connected, and therefore the searching time complexity of the ciphertext is reduced to a sub-linear level, and efficient sharing and searching are realized;
(3) When ciphertext sharing or keyword searching is carried out each time, the corresponding key information is regenerated and updated, so that the sharing bill or searching trapdoor generated at a certain moment can only share or search the previous ciphertext and cannot produce an effect on the subsequent ciphertext, and therefore forward safety is guaranteed; the ciphertext sharing does not involve deleting operation, the backward safety is not influenced, the file identifiers in the ciphertext are encrypted, the server cannot obtain the file identifiers stored in the deleted searchable ciphertext, the deleting operation ciphertext uploaded in the front cannot influence the adding operation ciphertext uploaded in the rear, and therefore the backward safety is ensured, and therefore the method has forward and backward safety;
(4) The server can support the user to add a new searchable ciphertext into the ciphertext database, and can realize the deleting operation of the designated searchable ciphertext during searching, so that the method has dynamic property.
Drawings
FIG. 1 is a flowchart of a dynamic searchable symmetric encryption method supporting ciphertext sharing provided by an embodiment of the invention;
fig. 2 is a schematic diagram of a ciphertext sharing system according to an embodiment of the present invention;
fig. 3 is a schematic diagram of a bidirectional index linked list according to an embodiment of the present invention.
Detailed Description
The present invention will be described in further detail with reference to the drawings and examples, in order to make the objects, technical solutions and advantages of the present invention more apparent. It should be understood that the specific embodiments described herein are for purposes of illustration only and are not intended to limit the scope of the invention. In addition, the technical features of the embodiments of the present invention described below may be combined with each other as long as they do not collide with each other.
In the present invention, the terms "first," "second," and the like in the description and in the drawings, if any, are used for distinguishing between similar objects and not necessarily for describing a particular sequential or chronological order.
Fig. 1 is a flowchart of a dynamic searchable symmetric encryption method supporting ciphertext sharing according to an embodiment of the present invention. Referring to fig. 1, with reference to fig. 2 to 3, a dynamic searchable symmetric encryption method supporting ciphertext sharing in this embodiment is described in detail. The method is used for a system comprising a data owner, a server and a data user, and comprises a ciphertext sharing stage (comprising operations S1-S3) and a keyword searching stage (comprising operations S4-S5).
The architecture of the ciphertext sharing system used in the present embodiment is shown in fig. 2. Referring to fig. 2, the ciphertext sharing system includes three entities: data owners, servers, and data users. The data owner is responsible for updating the ciphertext index and generating a sharing bill; the server is responsible for storing and maintaining a ciphertext database, sharing ciphertext and searching keywords; the data user is responsible for ciphertext re-encryption and keyword searching.
The functionality of the data owner includes the following three aspects: (1) Initializing a system locally, generating a symmetric key, a local state and initializing an owner ciphertext database on a server; (2) Encrypting the designated keyword-file identifier pair and the operation type by utilizing the symmetric key and the local state, and uploading the encrypted ciphertext to a server for storage; (3) And generating a sharing bill by using the symmetric key, the local state and the file identifier to be shared, and sending the sharing bill to a server and a data user.
The functions of the server include the following three aspects: (1) After receiving the submitted searchable ciphertext, storing the searchable ciphertext in an owner ciphertext database; (2) After receiving the sharing bill, finding a searchable ciphertext of the corresponding file according to the sharing bill and returning the searchable ciphertext to the data user; (3) After receiving the search trapdoor submitted by the data user, matching the searchable ciphertext in the user ciphertext database, and returning a searched result.
The functions of the data user include the following four aspects: (1) Initializing a system locally, generating a symmetric key, a local state and initializing a user ciphertext database on a server; (2) Re-encrypting the shared ciphertext returned by the server by using the private key, and updating the shared ciphertext into a user ciphertext database; (3) Generating a search trapdoor for the appointed keyword by using the private key and the local state, and submitting the search trapdoor to a server; (4) And receiving the search result returned by the server, decrypting the search result and acquiring the file identifier therein.
In the initialization stage, a security parameter lambda is predefined according to application requirements, and a pseudo-random function F, a hash function H with random seeds and a symmetric encryption algorithm SE are determined according to the security parameter lambda. Wherein λ is a non-zero natural number, the larger the value thereof, the safer the searchable symmetric encryption system, but the higher the corresponding computational complexity. Pseudo-random function F: K F ×X F →Y F Wherein K is F ={0,1} λ Key space, X, which is a pseudo-random function F ={0,1} * Is the data space, Y F ={0,1} λ Is a value field space, i.e. F requires that the key in the key space is a bit string of binary length λ, there is no limitation on the data length in the data space, while the output result is a bit string of binary length λ. Hash function H with random seed {0,1} λ ×{0,1} λ →{0,1} I.e. the random seed of H and the input are both bit strings of binary length lambda and the output is a bit string of binary length 2 lambda. The symmetric encryption algorithm SE { E, D }, which comprises an encryption algorithm E () and a decryption algorithm D (), the binary length of the key in the key space is at least lambda, and the advanced encryption standard (Advanced Encryption Standard, AES) series is generally selected in practice. Key space K of data owner from F F ={0,1} λ Two keys K are randomly selected σ,1 And K σ,2 Master key K constituting data owner σ
EDB σ And EDB σ' And the corresponding owner ciphertext database and the user ciphertext database are respectively positioned on the server and are used for storing ciphertext according to the ciphertext index. Keyword State table lastW σ And ID State table lastID σ The data is located at the data owner end, is stored by the data owner in a secret mode, and is inaccessible to the outside; lastW (LastW) σ For recording the key w', lastID that corresponds to the last update of the same file identifier id σ For recording the file identifier id' that corresponds to the last update of the same key w.
The initialization process of the data user refers to the data owner and will not be described in detail herein.
In operation S1, the data owner calculates a linked list pointer corresponding to the file identifier to be shared, generates a sharing ticket containing the file identifier to be shared, the linked list pointer and the decryption key, and sends the sharing ticket to the data user.
Specifically, the data owner is based on the file identifier id to be shared 1 Find the current state information w 1 ←lastW σ [id 1 ]If the state information is empty, returning to the reverse order, otherwise, according to the K σ,1 、K σ,2 、id 1 、w 1 And calculating the sharing bill and sending the sharing bill to the data user.
According to the embodiment of the invention, the server stores the ciphertext uploaded by the data owner to the owner ciphertext database by adopting a bidirectional index linked list structure. In the bi-directional index linked list structure, the linked list pointer includes: linked list tail node pointer L corresponding to file identifier to be shared 1 And L 1 Corresponding auxiliary positioning parameter J id 1 ,J id 1 For assisting in locating a previous node of the linked list of file identifier dimensions. Sharing notes P id Can be expressed as:
P id ←(L 1 ,J id 1 ,id 1 ,K id )
L 1 ←F(K σ,1 ,w 1 ||id 1 )
J id 1 ←F(K σ,2 ,id 1 ||w 1 )
K id ←F(K σ,2 ,id 1 )
wherein F () is a pseudo-random function, K σ,1 、K σ,2 To form two keys of a master key of a data owner, w 1 Is id 1 Corresponding key, id 1 For the file identifier to be shared, K id For decrypting the key.
And S2, the data user acquires the ciphertext to be shared corresponding to the file identifier to be shared from the server by using the sharing bill, encrypts the ciphertext to be shared by using the private key of the user, and stores the encrypted ciphertext to be shared in the server.
In this embodiment, operation S2 includes sub-operation S20-sub-operation S29. Sub-operation S21-S23 is a process of obtaining ciphertext to be shared corresponding to the file identifier to be shared by the server; the sub-operation S25-S29 is a process of encrypting the ciphertext to be shared by using the private key of the user and storing the encrypted ciphertext in the server.
In sub-operation S20, the data user shares the ticket P from id Extracting part of information D id ←(L,J id ) And sending the information to a server, and storing and retaining the rest information locally.
In sub-operation S21, the server extracts L from the owner ciphertext database 1 Location (EDB) σ [L 1 ]) Is a searchable ciphertext (I) id 1 ,R id 1 ,C id 1 ). Searchable ciphertext includes file identifier dimension linked list I id 1 Random character string R of file identifier id 1 Keyword ciphertext C id 1
In sub operation S22, the server will C id 1 Added to the shared collection according to I id 1 、R id 1 And J id 1 Computing previous node pointer L of file identifier dimension chain table 1 ' and corresponding auxiliary positioning parameters J id 1 ' L is 1 、J id 1 Respectively correspondingly update to L 1 '、J id 1 ':
L 1 ←L 1 '
J id 1 ←J id 1 '
Where H () is a hash function.
In the sub-operation S23, the sub-operation S21-S22 is repeatedly executed until the linked list corresponding to the file identifier to be shared is traversed, and the finally obtained sharing set is the ciphertext to be shared.
In sub-operation S24, the server transmits the resulting shared collection to the data user.
In sub-operation S25, the shared set is decrypted to obtain a keyword w 1 For each w in the set of keywords 1 Sub-operations S26 to S28 are performed, respectively.
In sub-operation S26, w is looked up in the ID status table 1 Corresponding to the latest updated file identifier id 1 '。
Ciphertext C for each key in the shared collection id 1 The data user uses the corresponding decryption key K id Performing calculation w 1 ←D(K id ,C id 1 ) Thereby recovering the keyword w 1 According to the identifier id of the file to be shared 1 ' decrypted keyword w 1 To obtain all key-file identifier pairs (w 1 ,id 1 )。
For each keyword w 1 Find the corresponding keyword w 1 The last updated file identifier id of (2) 1 '←lastID σ' [w 1 ]. Generating a key random string R of binary length lambda w 1
In sub-operation S27, K is used σ',1 Generates a code corresponding to (w 1 ,id 1 ) Ciphertext index L of pair 1 By K σ',2 、w 1 、id 1 Computing File identification Fu Miwen C w 1 Updating the ID status table to w 1 And id 1 Correspondingly, lastID σ' [w 1 ]←id 1 。L 1 And C w 1 Can be expressed as:
L 1 ←F(K σ',1 ,w 1 ||id 1 )
C w 1 ←E(F(K σ',2 ,w 1 ),id 1 )
wherein K is σ',1 、K σ',2 Id for two private keys constituting a user master key 1 Is a file identifier to be shared.
In sub-operation S28, according to id 1 ' whether or not it is empty, calculating w in case of division 1 Corresponding keyword dimension linked list I w 1 Obtaining w 1 Corresponding ciphertext (L) 1 ,I w 1 ,R w 1 ,C w 1 ),L 1 R is a linked list tail node pointer corresponding to a file identifier to be shared w 1 Is a keyword random string.
Specifically, id 1 ' when in space, I w 1 The method comprises the following steps:
id 1 ' when not empty, I w 1 The method comprises the following steps:
L 1 '←F(K σ',1 ,w 1 ||id 1 ')
J w 1 '←F(K σ',2 ,w 1 ||id 1 ')
wherein H () is a hash function, F () is a pseudo-random function, L 1 ' previous node pointer, J, being a linked list of file identifier dimensions w 1 ' is the value of the last updated ciphertext.
In sub-operation S29, each w 1 Corresponding ciphertext (L) 1 ,I w 1 ,R w 1 ,C w 1 ) The composed set is stored to a server.
And S3, the server stores the re-encrypted ciphertext to be shared into a user ciphertext database, wherein the ciphertext to be shared is uploaded to an owner ciphertext database of the server by the data owner.
The server sends the ciphertext (L) 1 ,I w 1 ,R w 1 ,C w 1 ) EDB stored in user ciphertext database σ' [L]And at the position, sharing the file corresponding to the file identifier to be shared is completed.
And S4, the data user calculates a search trapdoor by using the keyword to be searched and the private key of the user and sends the search trapdoor to the server.
The data user searches the keyword w according to the keyword w to be searched 2 Lookup status table id 2 ←lastID σ' [w 2 ]If the status information value id 2 If the air is empty, returning to the T; otherwise, according to w 2 、id 2 、K σ',1 Generating search trapdoor T w And sent to the server. Search trapdoor T w The constitution mode of (2) is as follows:
T w ←(L 2 ,J w 2 )
L 2 ←F(K σ',1 ,w 2 ||id 2 )
J w 2 ←F(K σ',2 ,w 2 ||id 2 )
wherein L is 2 For the pointer, J, of the tail node of the linked list corresponding to the keyword to be searched w 2 Is L 2 And the corresponding auxiliary positioning parameters are used for assisting in calculating the previous node pointer.
And S5, the server searches ciphertext corresponding to the trapdoor from the user ciphertext database and returns the ciphertext to the data user, wherein plaintext content corresponding to the ciphertext is a file identifier corresponding to the keyword to be searched.
According to the embodiment of the invention, the server copies the encrypted ciphertext to be shared to the user ciphertext database by adopting a bidirectional index linked list structure. Operation S5 includes sub-operation S51-sub-operation S53.
In sub-operation S51, the server extracts L from the user ciphertext database 2 Location (EDB) σ' [L 2 ]) Ciphertext (I) w 2 ,R w 2 ,C w 2 ) Ciphertext includes keyword dimension chain table I w 2 Keyword random string R w 2 And file identification Fu Miwen C w 2 ,L 2 And a linked list tail node pointer corresponding to the keyword to be searched.
In sub operation S52, the server will C w 2 Added to the search result set according to I w 2 、R w 2 And J w 2 Computing previous node pointer L of file identifier dimension chain table 2 ' and corresponding auxiliary positioning parameters J w 2 ' L is 2 、J w 2 Respectively updated to L 2 '、J w 2 ':
L 2 ←L 2 '
J w 2 ←J w 2 '
Where H () is a hash function, J w 2 Is L 2 And corresponding auxiliary positioning parameters.
In the sub-operation S53, the sub-operation S51-S52 are repeatedly executed until the linked list corresponding to the keyword is traversed, and the finally obtained search result set is the ciphertext corresponding to the search trapdoor, and is returned to the data user.
Further, after the sub-operation S53, a decryption operation performed at the data user side may be further included. The decryption operation includes: if the search result set isEmpty, indicating no matching key w 2 Is finished; otherwise, sequentially acquiring and decrypting the elements in the search result set, wherein the decryption operation is id 2 ←D(K w 2 ,C w 2 ) Finally obtaining the EDB of the current user ciphertext database σ' Medium and keyword w 2 All file identifiers associated.
According to the embodiment of the invention, the method further comprises a ciphertext updating stage, which is used for updating ciphertext in the owner ciphertext database and comprises a sub-operation S01-sub-operation S05.
In sub-operation S01, the data owner follows the key w to be updated 3 -file identifier id 3 Pair (w) 3 ,id 3 ) Find w 3 Corresponding to the latest updated file identifier id 3 ' and find id 3 Key w corresponding to the latest update 3 '。w 3 '←lastW σ [id 3 ],id 3 '←lastID σ [w 3 ]。
In sub-operation S02, Kσ is utilized ,1 Generates a code corresponding to (w 3 ,id 3 ) Ciphertext index L of pair 3 By K σ,2 、w 3 、id 3 Computing File identification Fu Miwen C w 3 Keyword ciphertext C id 3 ;K σ,1 、K σ,2 Two keys that constitute the master key of the data owner.
The generated ciphertext index L 3 The method comprises the following steps:
L 3 ←F(K σ,1 ,w 3 ||id 3 )
wherein w is 3 ||id 3 Representing w 3 And id 3 Is connected to the value of the bit stream.
Calculated file identification Fu Miwen C w 3 The method comprises the following steps:
C w 3 ←E(K w 3 ,id 3 )
K w 3 ←F(K σ,2 ,w 3 )
calculated keywordsCiphertext C id 3 The method comprises the following steps:
C id 3 ←E(K id 3 ,w 3 )
K id 3 ←F(K σ,2 ,id 3 )
in sub-operation S03, according to w 3 ' whether empty or not, update id is calculated by case division 3 Corresponding file identifier dimension linked list I id 3 . To construct a linked list of file identifier dimensions in the doubly indexed linked list.
Specifically, w 3 ' when in space, I id 3 The method comprises the following steps:
w 3 ' when not empty, I id 3 The method comprises the following steps:
L 3 '←F(K σ,1 ,w 3 '||id 3 )
J id 3 '←F(K σ,2 ,id 3 ||w 3 ')
in sub-operation S04, according to id 3 ' whether or not it is empty, the updated w is calculated in case of division 3 Corresponding keyword dimension linked list I w 3 . To construct a linked list of key dimensions in the doubly indexed linked list.
Specifically, id 3 ' when in space, I w 3 The method comprises the following steps:
id 3 ' when not empty, I w 3 The method comprises the following steps:
L 3 '←F(K σ',1 ,w 3 ||id 3 ')
J w 3 '←F(K σ',2 ,w 3 ||id 3 ')
wherein H () is a hash function, F () is a pseudo-random function, L 3 ' previous node pointer, J, of the file identifier dimension chain table corresponding to the key to be updated w 3 ' is the value of the last updated ciphertext. And the T represents the connection value of two full 0 character strings with binary length lambda, and aims to operate with the output value with hash function length 2 lambda.
In sub-operation S05, ciphertext (L 3 ,I w 3 ,R w 3 ,C w 3 ,I id 3 ,R id 3 ,C id 3 ) Send to the server so that the server stores the ciphertext in the EDB in the owner ciphertext database σ [L 3 ]At the position R w 3 、R id 3 The key random value and the file identifier random value are respectively lambda-length.
Further, keyword w 3 Update to state table lastW σ Will correspond to the file identifier id 3 Update to state table lastID σ The specific update operation is lastW σ [id 3 ]←w 3 、lastID σ [w 3 ]←id 3
Referring to fig. 3, according to an embodiment of the present invention, the ciphertext sharing step and the keyword searching step are performed, in effect, by performing a chain lookup from two different dimensions of the doubly indexed linked list. When the ciphertext sharing step is executed, the ciphertext index L in the bill is shared 1 Locating the tail node of the file identifier dimension chain table, calculating the pointer of the previous node on the chain by exclusive OR operation, and carrying out the previous search, wherein the front node and the rear node are related through state information lastW; by searching ciphertext index in trapdoors while performing the keyword searching stepL 2 And positioning the tail node of the key word dimension linked list, calculating the pointer of the previous node on the link through exclusive OR operation, and carrying out the previous search, wherein the front node and the rear node are related through the state information lastID.
The embodiment of the invention also provides a dynamic searchable symmetric encryption system supporting ciphertext sharing, which comprises a data owner, a server and a data user. Ciphertext sharing stage: the data owner calculates a linked list pointer corresponding to the file identifier to be shared, generates a sharing bill containing the file identifier to be shared, the linked list pointer and the decryption key, and sends the sharing bill to the data user; the data user acquires a ciphertext to be shared corresponding to the file identifier to be shared from the server by using the sharing bill, encrypts the ciphertext to be shared again by using the private key of the user and stores the encrypted ciphertext to the server; and the server stores the re-encrypted ciphertext to be shared into a user ciphertext database, wherein the ciphertext to be shared is uploaded to an owner ciphertext database of the server by the data owner. Keyword search stage: the data user calculates a search trapdoor by utilizing the keyword to be searched and the private key of the user and sends the search trapdoor to the server; the server searches ciphertext corresponding to the trapdoor from the user ciphertext database and returns the ciphertext to the data user, wherein plaintext content corresponding to the ciphertext is a file identifier corresponding to the keyword to be searched.
In this embodiment, the data owner, the server and the data user are the same as those in the dynamic searchable symmetric encryption method supporting ciphertext sharing in the embodiment shown in fig. 1 to 3, and are not described here again.
The embodiment of the invention also provides a computer readable storage medium, on which the computer program is stored. The program, when executed by the processor, implements a dynamic searchable symmetric encryption method that supports ciphertext sharing in the embodiments shown in fig. 1-3, which is not described in detail herein.
It will be readily appreciated by those skilled in the art that the foregoing description is merely a preferred embodiment of the invention and is not intended to limit the invention, but any modifications, equivalents, improvements or alternatives falling within the spirit and principles of the invention are intended to be included within the scope of the invention.

Claims (10)

1. A dynamic searchable symmetric encryption method supporting ciphertext sharing for a system comprising a data owner, a server, and a data user, the method comprising: ciphertext sharing stages S1-S3 and keyword searching stages S4-S5;
s1, a data owner calculates a linked list pointer corresponding to a file identifier to be shared, generates a sharing bill containing the file identifier to be shared, the linked list pointer and a decryption key, and sends the sharing bill to a data user;
s2, the data user acquires a ciphertext to be shared corresponding to the file identifier to be shared from the server by using the sharing bill, encrypts the ciphertext to be shared by using the private key of the user, and stores the encrypted ciphertext to the server;
s3, the server stores the re-encrypted ciphertext to be shared into a user ciphertext database, wherein the ciphertext to be shared is uploaded to an owner ciphertext database of the server by a data owner;
s4, the data user calculates a search trapdoor by utilizing the keyword to be searched and the private key of the user and sends the search trapdoor to the server;
s5, the server searches ciphertext corresponding to the trapdoor from the user ciphertext database and returns the ciphertext to the data user, wherein plaintext content corresponding to the ciphertext is a file identifier corresponding to the keyword to be searched.
2. The method of claim 1, wherein the server stores the ciphertext uploaded by the data owner to the owner ciphertext database using a bi-directional indexed linked list structure; the linked list pointer includes: linked list tail node pointer L corresponding to file identifier to be shared 1 And L 1 Corresponding auxiliary positioning parameter J id 1 ,J id 1 The previous node for assisting in locating the linked list of file identifier dimensions:
L 1 ←F(K σ,1 ,w 1 ||id 1 )
J id 1 ←F(K σ,2 ,id 1 ||w 1 )
wherein F () is a pseudo-random function, K σ,1 、Kσ ,2 To form two keys of a master key of a data owner, w 1 Is id 1 Corresponding key, id 1 Is a file identifier to be shared.
3. The method of claim 2, wherein the server obtaining the ciphertext to be shared corresponding to the file identifier to be shared comprises:
s21, the server extracts L in the owner ciphertext database 1 Searchable ciphertext at a location, the searchable ciphertext comprising file identifier dimension linked list I id 1 Random character string R of file identifier id 1 Keyword ciphertext C id 1
S22, the server stores C id 1 Added to the shared collection according to I id 1 、R id 1 And J id 1 Computing previous node pointer L of file identifier dimension chain table 1 ' and corresponding auxiliary positioning parameters J id 1 ' L is 1 、J id 1 Respectively correspondingly update to L 1 '、J id 1 ':
Wherein, H () is a hash function;
s23, repeating the steps S21-S22 until the corresponding linked list of the file identifiers to be shared is traversed, and finally obtaining the sharing set as the ciphertext to be shared.
4. The method of claim 1, wherein the encrypting the ciphertext to be shared with the user private key and storing the encrypted ciphertext in the server comprises:
s25, decrypting the ciphertext to be shared to obtain a keyword w 1 For each w in the set of keywords 1 Respectively executeRows S26-S28;
s26, searching w in the ID state table 1 Corresponding to the latest updated file identifier id 1 ';
S27, using K σ',1 Generates a code corresponding to (w 1 ,id 1 ) Ciphertext index L of pair 1 By K σ',2 、w 1 、id 1 Computing File identification Fu Miwen C w 1 ,K σ',1 、K σ',2 Id for two private keys, master key, constituting user master key 1 For the file identifier to be shared, updating the ID state table to w 1 And id 1 Corresponding to the above;
s28, according to id 1 ' whether or not it is empty, calculating w in case of division 1 Corresponding keyword dimension linked list I w 1 Obtaining w 1 Corresponding ciphertext (L) 1 ,I w 1 ,R w 1 ,C w 1 ),L 1 R is a linked list tail node pointer corresponding to a file identifier to be shared w 1 Is a keyword random character string;
s29, each w 1 Corresponding ciphertext (L) 1 ,I w 1 ,R w 1 ,C w 1 ) The composed set is stored to a server.
5. The method of claim 4, wherein id 1 ' when in space, I w 1 The method comprises the following steps:
id 1 ' when not empty, I w 1 The method comprises the following steps:
L 1 '←F(K σ',1 ,w 1 ||id 1 ')
J w 1 '←F(K σ',2 ,w 1 ||id 1 ')
wherein H () is a hash function, F () is a pseudo-random function, L 1 ' previous node pointer, J, being a linked list of file identifier dimensions w 1 ' is the value of the last updated ciphertext.
6. The method of claim 1, wherein the server copies the re-encrypted ciphertext to be shared to the user ciphertext database using a bi-directional indexed linked list structure, S5 comprising:
s51, the server extracts L in the user ciphertext database 2 Ciphertext at a location, the ciphertext comprising keyword dimension chain table I w 2 Keyword random string R w 2 And file identification Fu Miwen C w 2 ,L 2 A linked list tail node pointer corresponding to the keyword to be searched;
s52, the server stores C w 2 Added to the search result set according to I w 2 、R w 2 And J w 2 Computing previous node pointer L of file identifier dimension chain table 2 ' and corresponding auxiliary positioning parameters J w 2 ' L is 2 、J w 2 Respectively updated to L 2 '、J w 2 ':
Where H () is a hash function, J w 2 Is L 2 Corresponding auxiliary positioning parameters;
s53, repeatedly executing S51-S52 until the keyword corresponding linked list is traversed, and finally obtaining a search result set which is ciphertext corresponding to the search trapdoor.
7. The method of any of claims 1-6, wherein the method further comprises a ciphertext update phase:
the data owner based on the key w to be updated 3 -file identifier id 3 Pair (w) 3 ,id 3 ) Find w 3 Corresponding to the latest updated file identifier id 3 ' and find id 3 Key w corresponding to the latest update 3 ';
By K σ,1 Generates a code corresponding to (w 3 ,id 3 ) Ciphertext index L of pair 3 By K σ,2 、w 3 、id 3 Computing File identification Fu Miwen C w 3 Keyword ciphertext C id 3 ;K σ,1 、K σ,2 Two keys that constitute a master key of a data owner;
according to w 3 ' whether empty or not, update id is calculated by case division 3 Corresponding file identifier dimension linked list I id 3
According to id 3 ' whether or not it is empty, the updated w is calculated in case of division 3 Corresponding keyword dimension linked list I w 3
Ciphertext (L) 3 ,I w 3 ,R w 3 ,C w 3 ,I id 3 ,R id 3 ,C id 3 ) Transmitting to the server so that the server stores the ciphertext in the owner ciphertext database, R w 3 、R id 3 The key random value and the file identifier random value are respectively lambda-length.
8. The method of claim 7, wherein w 3 ' when in space, I id 3 The method comprises the following steps:
w 3 ' when not empty, I id 3 The method comprises the following steps:
L 3 '←F(K σ,1 ,w 3 '||id 3 )
J id 3 '←F(K σ,2 ,id 3 ||w 3 ')
id 3 ' when in space, I w 3 The method comprises the following steps:
id 3 ' when not empty, I w 3 The method comprises the following steps:
L 3 '←F(K σ',1 ,w 3 ||id 3 ')
J w 3 '←F(K σ',2 ,w 3 ||id 3 ')
wherein H () is a hash function, F () is a pseudo-random function, L 3 ' previous node pointer, J, of the file identifier dimension chain table corresponding to the key to be updated w 3 ' is the value of the last updated ciphertext.
9. The dynamic searchable symmetric encryption system supporting ciphertext sharing is characterized by comprising a data owner, a server and a data user;
ciphertext sharing stage: the data owner calculates a linked list pointer corresponding to the file identifier to be shared, generates a sharing bill containing the file identifier to be shared, the linked list pointer and the decryption key, and sends the sharing bill to the data user; the data user acquires a ciphertext to be shared corresponding to the file identifier to be shared from the server by using the sharing bill, encrypts the ciphertext to be shared again by using the private key of the user and stores the encrypted ciphertext to the server; the server stores the re-encrypted ciphertext to be shared into a user ciphertext database, wherein the ciphertext to be shared is uploaded to an owner ciphertext database of the server by a data owner;
keyword search stage: the data user calculates a search trapdoor by utilizing the keyword to be searched and the private key of the user and sends the search trapdoor to the server; the server searches ciphertext corresponding to the trapdoor from the user ciphertext database and returns the ciphertext to the data user, wherein plaintext content corresponding to the ciphertext is a file identifier corresponding to the keyword to be searched.
10. A computer readable storage medium having stored thereon a computer program, wherein the program when executed by a processor implements a dynamically searchable symmetric encryption method supporting ciphertext sharing as claimed in any of claims 1 to 8.
CN202310905749.XA 2023-07-21 2023-07-21 Dynamic searchable symmetric encryption method, system and medium supporting ciphertext sharing Active CN116996281B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310905749.XA CN116996281B (en) 2023-07-21 2023-07-21 Dynamic searchable symmetric encryption method, system and medium supporting ciphertext sharing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310905749.XA CN116996281B (en) 2023-07-21 2023-07-21 Dynamic searchable symmetric encryption method, system and medium supporting ciphertext sharing

Publications (2)

Publication Number Publication Date
CN116996281A true CN116996281A (en) 2023-11-03
CN116996281B CN116996281B (en) 2024-02-06

Family

ID=88522523

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310905749.XA Active CN116996281B (en) 2023-07-21 2023-07-21 Dynamic searchable symmetric encryption method, system and medium supporting ciphertext sharing

Country Status (1)

Country Link
CN (1) CN116996281B (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300351A1 (en) * 2008-05-30 2009-12-03 Nec (China) Co., Ltd. Fast searchable encryption method
US20110145594A1 (en) * 2009-12-16 2011-06-16 Electronics And Telecommunications Research Institute Method for performing searchable symmetric encryption
US20120078914A1 (en) * 2010-09-29 2012-03-29 Microsoft Corporation Searchable symmetric encryption with dynamic updating
KR20120108121A (en) * 2011-03-23 2012-10-05 순천향대학교 산학협력단 Searchable symmetric encryption method and system
WO2014141802A1 (en) * 2013-03-12 2014-09-18 ソニー株式会社 Information processing device, information processing system, information processing method, and program
WO2017036547A1 (en) * 2015-09-04 2017-03-09 Nec Europe Ltd. Method for providing encrypted data in a database and method for searching on encrypted data
CN112199698A (en) * 2020-09-30 2021-01-08 华中科技大学 Robust searchable symmetric encryption method and system
GB202102242D0 (en) * 2021-02-17 2021-03-31 Intelligent Voice Ltd A private search service
CN112800445A (en) * 2021-01-21 2021-05-14 西安电子科技大学 Boolean query method for forward and backward security and verifiability of ciphertext data
CN113434739A (en) * 2021-06-08 2021-09-24 暨南大学 Forward-safe multi-user dynamic symmetric encryption retrieval method in cloud environment
CN113626484A (en) * 2021-07-03 2021-11-09 西安电子科技大学 Searchable encryption method and system capable of flexibly replacing ciphertext and computer equipment
CN115102699A (en) * 2022-06-21 2022-09-23 西安邮电大学 Data security deduplication and data recovery method, system, medium, device and terminal

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300351A1 (en) * 2008-05-30 2009-12-03 Nec (China) Co., Ltd. Fast searchable encryption method
US20110145594A1 (en) * 2009-12-16 2011-06-16 Electronics And Telecommunications Research Institute Method for performing searchable symmetric encryption
US20120078914A1 (en) * 2010-09-29 2012-03-29 Microsoft Corporation Searchable symmetric encryption with dynamic updating
KR20120108121A (en) * 2011-03-23 2012-10-05 순천향대학교 산학협력단 Searchable symmetric encryption method and system
WO2014141802A1 (en) * 2013-03-12 2014-09-18 ソニー株式会社 Information processing device, information processing system, information processing method, and program
WO2017036547A1 (en) * 2015-09-04 2017-03-09 Nec Europe Ltd. Method for providing encrypted data in a database and method for searching on encrypted data
CN112199698A (en) * 2020-09-30 2021-01-08 华中科技大学 Robust searchable symmetric encryption method and system
CN112800445A (en) * 2021-01-21 2021-05-14 西安电子科技大学 Boolean query method for forward and backward security and verifiability of ciphertext data
GB202102242D0 (en) * 2021-02-17 2021-03-31 Intelligent Voice Ltd A private search service
CN113434739A (en) * 2021-06-08 2021-09-24 暨南大学 Forward-safe multi-user dynamic symmetric encryption retrieval method in cloud environment
CN113626484A (en) * 2021-07-03 2021-11-09 西安电子科技大学 Searchable encryption method and system capable of flexibly replacing ciphertext and computer equipment
CN115102699A (en) * 2022-06-21 2022-09-23 西安邮电大学 Data security deduplication and data recovery method, system, medium, device and terminal

Non-Patent Citations (6)

* Cited by examiner, † Cited by third party
Title
IEEE TRANSACTIONS ON INFORMATIOWEI WANG; DONGLI LIU; PENG XU; LAURENCE TIANRUO YANG; KAITAI LIANG: "Keyword Search Shareable Encryption for Fast and Secure Data Replication", 《IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY》 *
QIN LIU; XIAOHONG NIE; XUHUI LIU; TAO PENG; JIE WU: "Verifiable Ranked Search over dynamic encrypted data in cloud computing", 《2017 IEEE/ACM 25TH INTERNATIONAL SYMPOSIUM ON QUALITY OF SERVICE (IWQOS)》 *
徐鹏;金海: "可搜索加密的研究进展", 《网络与信息安全学报》 *
王国峰;刘川意;韩培义;潘鹤中;方滨兴: "基于访问代理的数据加密及搜索技术研究", 《通信学报》 *
许盛伟;王荣荣;李新玉;: "支持文件动态更新的基于属性可搜索加密方案", 计算机应用研究, no. 11 *
许盛伟;王荣荣;陈诚;: "支持关键字更新的基于属性可搜索加密方案", 计算机应用与软件, no. 03 *

Also Published As

Publication number Publication date
CN116996281B (en) 2024-02-06

Similar Documents

Publication Publication Date Title
CN106815350B (en) Dynamic ciphertext multi-keyword fuzzy search method in cloud environment
CN105681280B (en) Encryption method can search for based on Chinese in a kind of cloud environment
US9275250B2 (en) Searchable encryption processing system
JP4722620B2 (en) Encrypted document search method and encrypted document search system
CN110337649B (en) Method and system for dynamic symmetric searchable encryption with imperceptible search patterns
US10985902B2 (en) Dynamic symmetric searchable encryption
KR100903599B1 (en) Searching method for encrypted data using inner product and terminal and server therefor
CN111026788B (en) Homomorphic encryption-based multi-keyword ciphertext ordering and retrieving method in hybrid cloud
CN109493017B (en) Trusted outsourcing storage method based on block chain
KR101190061B1 (en) Method for data encryption and method for data search using conjunctive keyword
US9740879B2 (en) Searchable encryption with secure and efficient updates
Awad et al. Chaotic searchable encryption for mobile cloud storage
US20090022321A1 (en) Personal information management system, personal information management program, and personal information protecting method
CN113221155B (en) Multi-level and multi-level encrypted cloud storage system
CN109740362B (en) Ciphertext index generation and retrieval method and system based on entropy coding
CN110457915A (en) Efficiently and there is front and back can search for symmetric encryption method and system to safety
CN112800445B (en) Boolean query method for forward and backward security and verifiability of ciphertext data
CN112332979B (en) Ciphertext search method, system and equipment in cloud computing environment
CN110765469B (en) Efficient and robust dynamic searchable symmetric encryption method and system
CN110222520B (en) Keyword query method for supporting graph encrypted data in cloud environment
CN116996281B (en) Dynamic searchable symmetric encryption method, system and medium supporting ciphertext sharing
CN109672525B (en) Searchable public key encryption method and system with forward index
CN114021163A (en) Dynamic symmetric searchable encryption method and system for hiding addition and deletion association
KR20100003093A (en) Method of producing searchable keyword encryption based on public key for minimizing data size of searchable keyword encryption and method of searching data based on public key through that
CN108471405A (en) A kind of positive secrecy dynamic based on cloud disk can search for encrypted Protocol Design Method

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