CN112100649A - Multi-keyword searchable encryption method and system supporting Boolean access control strategy - Google Patents
Multi-keyword searchable encryption method and system supporting Boolean access control strategy Download PDFInfo
- Publication number
- CN112100649A CN112100649A CN202010781185.XA CN202010781185A CN112100649A CN 112100649 A CN112100649 A CN 112100649A CN 202010781185 A CN202010781185 A CN 202010781185A CN 112100649 A CN112100649 A CN 112100649A
- Authority
- CN
- China
- Prior art keywords
- data
- key
- ciphertext
- user
- token
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Bioethics (AREA)
- General Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
Abstract
The invention discloses a multi-keyword searchable encryption method and a multi-keyword searchable encryption system supporting Boolean access control strategies, wherein the method comprises the steps that a trusted authority generates a system public key, a main key and an ElGamal private key, the system public key is cloud-opened, and the private key is sent to a data user; then the data owner generates an index ciphertext and a data ciphertext for the document and uploads the index ciphertext and the data ciphertext in the cloud; when a data user is searched, the attribute set and the query keyword predicate of the data user are uploaded to a credible authority to verify whether the user identity is legal or not, and when the user identity is legal, a search token is generated and sent to the data user; after receiving the retrieval token, the data user uploads the retrieval token in the cloud; after the cloud server receives the data, the system public key is used for checking whether each index ciphertext is matched with the retrieval token or not, and the matched data ciphertext is sent to the data user; and the data user recovers the data ciphertext into plaintext content by using the private key. The invention can realize fine-grained Boolean access control, Boolean multiple key word search and constant system key length.
Description
Technical Field
The invention relates to the technical field of information retrieval and cryptography, in particular to a multi-keyword searchable encryption method and a multi-keyword searchable encryption system supporting Boolean access control strategies.
Background
With the rapid development of internet technology and the popularity of cloud computing technology, more and more enterprise users and individuals store their data in the cloud instead of the past practice of storing the data in their own data centers. The user can retrieve data in the cloud anytime and anywhere and can easily share the data to the licensee. However, cloud computing offers us convenience and also presents a serious security risk. When data is outsourced to a cloud server in clear text, it may be subject to illegal access by a cloud service provider or hacker. The conventional solution is to encrypt data and store the encrypted data in a cloud server in a form of ciphertext, but the conventional plaintext retrieval technology cannot be applied to the ciphertext.
In order to enable a user to perform keyword search on ciphertext data, a Searchable Encryption (SE) technique has been proposed as a solution. According to different Encryption methods, Searchable Encryption can be divided into Searchable Symmetric Encryption (SSE) and Public Key Searchable Encryption (PEKS). In public key based searchable encryption, data owners encrypt data using a public key of a given user before uploading the data to a cloud server, after which these users can search and decrypt the data using their private keys. The basic PEKS scheme cannot be effectively applied in some practical application scenarios. For example, in a healthcare system, a patient may desire that his personal health record be retrievable only by authorized physicians in some designated roles. Under such circumstances, in order to achieve both keyword query and fine-grained access control on encrypted data, researchers have proposed a searchable encryption method based on attributes, and many of the existing works have made corresponding studies on this method. In these works, each data is encrypted using a mandatory access control policy, and the ciphertext can only be decrypted if and only if the set of attributes of the data user satisfies the access policy.
Although the existing work provides solutions for attribute-based keyword search, none of the solutions can simultaneously solve four problems of flexible expressiveness of access policy, concealment of access policy, flexible expressiveness of keyword search, and fixed system key length. The flexible expressiveness of the Access policy can help data owners manage data flexibly, and most of the existing work adopts the Access policy expressed by a Linear Secret Sharing Scheme (LSSS) or an Access Tree (Access Tree). Hiding of the access policy plays a very important role in ensuring user privacy and data security, some existing methods do not support this feature, and some methods support hiding of part of the policy, that is, only the attribute name of the access policy is exposed, while all attribute values are hidden in the cloud server. The flexibility of keyword search can bring flexible choice for the search of data users, and the existing scheme mainly supports one of the following three search modes: match search, join key search, and boolean key search, with match search being the least flexible and boolean key search being the most flexible. A constant level of key length is an ideal feature for attribute-based keyword searching, and in some existing schemes, the key length depends on the size of an attribute field or the size of a keyword field, the size of the attribute field must be bounded by a polynomial, and some schemes have a constant level of key length, which may allow the attribute field to grow exponentially.
In summary, even though some work has proposed excellent solutions to some of the above four problems, it is inevitable to make compromises in other aspects, and the four problems cannot be solved at the same time. Therefore, how to design a complete attribute-based keyword search method aiming at the above four problems in the context of big data and cloud storage becomes a key problem to be solved urgently.
Disclosure of Invention
The first purpose of the present invention is to overcome the drawbacks and disadvantages of the prior art, and to provide a multi-key searchable encryption method supporting boolean access control policy, which can be used to solve the technical problems of fine-grained boolean access control, boolean multi-key search, security of ciphertext data, and the like, in the context of big data and cloud storage.
It is a second object of the present invention to provide a multi-key searchable encryption system that supports boolean access control policies, which can support both boolean key search and boolean access control, as well as constant-level system key lengths.
The first purpose of the invention is realized by the following technical scheme: a multi-keyword searchable encryption method supporting Boolean access control strategies comprises the following steps:
s1, generating a system public key pk, a master key mk and an ElGamal private key a 'by the trusted authority TA, distributing the system public key pk to a cloud server in a public way, storing the master key mk in the trusted authority TA, and sending the ElGamal private key a' to a data user;
s2, encryption: the data owner uses the system public key pk and the keyword set O ═ O1,...,om) And an access policy P for generating an index ciphertext C for the documentIAnd data ciphertext CDAnd combines the ciphertext CI、CDUploading to a cloud server;
s3, generating a token: when a data user performs a search operation, it is first necessary to set the attribute set S to (a)1,...,an) And query keyword predicatesUploading the data to a trusted authority TA, verifying whether the identity of the data user is legal or not by the trusted authority TA, and if the identity of the data user is legal, generating a retrieval token for the data user by using a system public key pk and a master key mkAnd store the tokenSending the data to the data user;
s4, searching ciphertext: the data user receives the search token sent by the credible authority TAThen, sending the retrieval token to a cloud server; after the cloud server receives the index ciphertext C, aiming at each index ciphertext CIChecking whether the index ciphertext and the retrieval token are matched by using the system public key pk, and transmitting the data ciphertext C meeting the matching conditionDSending the data to a data user;
s5, decryption: data user receives data cipher text CDThereafter, the data ciphertext C is encrypted using the ElGamal private key aDRestored to the corresponding plaintext content.
Preferably, in step S1, the trusted authority TA generates the system public key pk, the master key mk, and the ElGamal private key a' as follows:
s11 group generator using complex order bilinear group by trusted authority TAExecuteGenerating tuples (p)1,p2,p3,p4,G,GTAnd e), wherein,for inputting safety parameters of the group generator, p1,p2,p3,p4Is four different prime numbers, G and GTIs a cyclic group of order N, and N ═ p1p2p3p4And satisfying bilinear mapping relation e: g → GTThe relational expression maps two elements in the group G to the group GTOne element of (1);each represents p of G1,p2,p3,p4A subgroup of orders;
s12, the trusted authority TA randomly selects the element a, a', alpha ∈ group ZNRandomly extracting elements g, h belonging to a groupElement X3E groupElements Z, X4E groupAnd calculated to obtain H-hZ, Y-e (g, g)αH and Y represent members of the system public key, respectively;
s13, the trusted authority TA selects a collision-resistant hash function f, where the hash function f satisfies the following mapping:
s14, the trusted authority TA obtains the system public key pk according to the above variables<N,g,ga,ga′,f,Y,H,X4>The master key mk ═<α,h,X3>And the ElGamal private key a';
the ElGamal private key a' is specifically sent to the data user through an encrypted channel.
Further, the encryption process of step S2 is as follows:
s21, the data owner maps the keyword predicate P into a linear secret sharing scheme expressionWherein A is lsShared matrix of x n, lsRepresenting the number of rows and n representing the number of columns; ρ is a function that maps each row of matrix a to an attribute field; t is represented byForm (a) tρ(i)Is an attribute of the attribute field rho (i), i is greater than or equal to 1 and less than or equal to ls;
The data owner randomly generates a vector v ═ (s, v)2,., vn) belonging to groupAnd slave groupIn the random selection of an element Z1;s,v2,vnAs components in vector v;
for each row A of the matrix AiFrom group ZNIn the random selection of element riAnd slave groupIn the random selection of two elements Zc,i,Zd,i;
For each keyword oxFrom the groupIn the random selection of an element Ze,xWherein x is more than or equal to 1 and less than or equal to m;
s22, the data owner calculates the index ciphertext C according to the variablesI:
S23, randomly generating a multi-bit symmetric key psi by the data owner, encrypting the document content by using an AES algorithm to obtain a ciphertext CD,1;
S24, the data owner uses ElGamal algorithm to encrypt the symmetric key psi to obtain the ciphertext CD,2The specific process comprises the following steps: obtaining g and g from system public key pka′Randomly selecting element y from group G, and calculating to obtain1=gy,=(ga′)y(ii) a Then, the symmetric key ψ is mapped to an element ψ' on G and calculated2Psi' and finally generating the ciphertext CD,2=(1,2);
S25, the data owner obtains the variables according to the steps S23 and S24Data cipher text CD=<CD,1,CD,2>。
Further, in step S3, the process of generating the token by the trusted authority TA is as follows:
s31, the credible authority TA predicates the query key wordsMapping to a linear secret sharing scheme representation Wherein the content of the first and second substances,is aOShared matrix of x m, lORepresenting the number of rows, m representing the number of columns;is a general matrixEach line of (a) maps to a function of a key field;is shown asIn the form of (a) a (b),is a keyword fieldThe key word of 1 is less than or equal to x' and less than or equal to lO;
S32, trusted authority TA Slave group ZNIn the random selection of two elements c1,c2Generating a vectorWherein the content of the first and second substances,as random numbers, from the groupIn the random selection of two elements R0,R1;
S33, for attribute set S ═ (a)1,...,an) Each attribute a ini′From the groupIn the random selection of element Ri′,1≤i′≤n;
S34, forEach row ofFrom group ZNIn the random selection of an element sx′From the groupIn the random selection of two elements
further, the ciphertext search process of step S4 is as follows:
S42, the cloud server calculates I from (A, rho)A,ρHere IA,ρRepresents {1,.. multidot.lsAll minimum subsets of (A, rho) are satisfied; wherein, if presentAnd the existence of a set of constants wi″}i″∈ISo that ∑i″∈Iwi″Ai″When (1, 0,. 0), I is said to satisfy (a, ρ);
likewise, cloud server slaveMiddle calculationHere, theRepresents {1,.. multidot.lOAll of them satisfyA set formed by the smallest subset of (c); whereinIf present, if presentAnd existence of a set of constantsSo that Then callSatisfy the requirement of
S43, if there is I ∈ IA,ρAndwherein ∑i″∈Iwi″Ai″Given (1, 0.., 0) for some constants { w }i″}i″∈IIs formed,For some constantIf it holds, so that the following equation holds, the algorithm outputs 1, indicating the search tokenIndex ciphertext CIMatch and cipher the corresponding dataDSending the data to a data user; otherwise, the algorithm outputs 0, which indicates that the two are not matched;
the equation is:
further, the decrypted data ciphertext C of step S5D=<CD,1,CD,2>The process of (2) is as follows:
s51, the data user uses ElGamal algorithm to encrypt the ciphertextDecryption to obtain a symmetric key psi:
using the ElGamal private key a', calculated as ═1 a′And then calculating psi ═2 -1Finally mapping psi' back to the symmetric key psi;
s52, decrypting ciphertext by using the symmetric key psiAnd obtaining the plaintext content of the document.
Preferably, the trusted authority TA is a fully trusted third party security authority, and is responsible for generating a system public key pk and a master key mk, and an ElGamal private key a 'for file decryption, where the system public key pk, the master key mk, and the ElGamal private key a' are binary codes with a certain length.
The second purpose of the invention is realized by the following technical scheme: a multi-key searchable encryption system that supports boolean access control policies, comprising: an initialization and token generation subsystem operating in a trusted authority TA, an encryption subsystem operating in a data owner side, a cloud storage subsystem operating on a cloud server, a user retrieval and decryption subsystem operating in a data user side, wherein,
the initialization and token generation subsystem operating in the trusted authority TA comprises an initialization module, a master key storage module and a token generation module:
the initialization module is used for generating a system public key pk, a master key mk and an ElGamal private key a ', distributing the public development of the system public key pk to a cloud server, storing the master key mk to the master key storage module and sending the ElGamal private key a' to a data user;
the master key storage module is used for storing a master key mk and only allowing the access of a trusted authority TA;
the token generation module is used for responding to a retrieval token generation request of the data user, checking the validity of the identity of the data user, and generating a retrieval token for the data user by using the system public key pk and the master key mk under the condition that the identity of the data user is legalAnd to token the searchSending the data to a data user;
the encryption subsystem running at the data owner end comprises a data encryption module and an index encryption module:
the data encryption module is used for acquiring a system public key pk from the cloud server, encrypting the document by using the system public key pk to obtain a data ciphertext, and then sending the data ciphertext to the cloud server;
the index encryption module is used for encrypting the keyword set of each document and the implemented access strategy by using the system public key pk to obtain a corresponding index ciphertext and sending the index ciphertext to the cloud server;
the cloud storage subsystem running on the cloud server comprises a system public key public module, a storage module and a retrieval module:
the system public key public module is used for publicly releasing the system public key generated by the trusted authority TA;
the storage module is used for storing the data ciphertext and the index ciphertext encrypted by the data owner;
the retrieval module is used for aiming at each index ciphertext CIChecking whether the index ciphertext is matched with the search token by using the system public key pk, and obtaining a data ciphertext C meeting the matching condition from the storage moduleDAnd sends it to the data user;
the user retrieval and decryption subsystem running at the data user side comprises a user retrieval module and a data decryption module:
the user search module is used for sending a token generation request to the trusted authority TA and simultaneously setting the attribute set S of the data user to be (a)1,...,an) And query keyword predicatesUploading the search token to a trusted authority TA to finish the generation operation of the search token, and when receiving the search token of the trusted authority TAThen, the user retrieval module is further used for sending the token to the cloud server to continue to complete retrieval operation;
the data decryption module is used for using an ElGamal private key a' to obtain a data ciphertext CDAnd decrypting and restoring the data ciphertext into corresponding plaintext content.
Preferably, the data owner terminal and the data user terminal are terminal devices with operation processing capability, including a smart phone, a tablet, and a computer.
Compared with the prior art, the invention has the following advantages and effects:
(1) in the multi-keyword searchable encryption method AND system, the data owner is allowed to implement the access strategy on the data, AND the access strategy supports Boolean expression forms of logic word nesting such as AND, OR AND the like, so that the data owner can be helped to flexibly control AND authorize the data, AND fine-grained Boolean access control is realized.
(2) The invention also supports Boolean keyword search represented by a Linear Secret Sharing Scheme (LSSS), AND the existing two schemes based on ABE (attribute-based encryption) or PEKS (public-key encryption with keyword search) can realize fine-grained access control, but the search strategy still focuses on equivalent search or AND connection search of multiple keywords, etc., but NOT the Boolean keyword search of logic word nesting such as AND, OR, etc., while the invention supports fine-grained access control, the invention also can support the search strategy of logic word nesting such as AND, OR, NOT, etc., therefore, the method brings greater flexibility to the data user in searching the encrypted data, helps the user to find out the required data accurately, reduces the transmission cost and the calculation cost, and realizes the Boolean keyword search and fine-grained access control.
(3) The method and the system are constructed by adopting a composite order group, bilinear mapping and a Linear Secret Sharing Scheme (LSSS), have the characteristics of strategy hiding and leakage resistance, and have stronger safety; and the problems of flexible expressiveness of the access strategy, concealment of the access strategy, flexible expressiveness of keyword search, key length and the like are balanced, and the method has better practicability.
(4) The invention adopts the access strategy expressed by a Linear Secret Sharing Scheme (LSSS), only the structure with the attribute field is contained in the ciphertext, the attribute value is not exposed to the cloud in a plaintext mode, and the data concealment and the safety are good.
(5) The key used by the invention can adopt the system key length of a constant level, and is mainly based on the use of a hash function f, and does not depend on the number of the attribute field and the key field, nor the scale of the attribute field.
Drawings
FIG. 1 is a flow chart of a multi-key searchable encryption method of the present invention that supports Boolean access control policies.
Fig. 2 is a block diagram of the architecture of a multi-key searchable encryption system supporting boolean access control policies of the present invention.
Fig. 3 is a schematic diagram of an application environment of the multi-key searchable encryption system supporting boolean access control policies of the present invention.
Detailed Description
The present invention will be described in further detail with reference to examples and drawings, but the present invention is not limited thereto.
Example 1
The embodiment discloses a multi-keyword searchable encryption method supporting Boolean access control strategies, and in the background of cloud storage, the embodiment is based on searchable encryption technology and attribute encryption technology, uses LSSS to express access strategies and search strategies, can support Boolean keyword search, and can effectively locate data in which a user is interested; meanwhile, flexibility and hiding of an access strategy are realized, and fine-grained Boolean access control is supported; and supports a constant level of system key length. As shown in fig. 1, the method is applied to an application system including a trusted authority, a data user side, a data owner side, and a cloud server, such as a healthcare system, a school educational administration system, and the method includes the following steps:
s1, generating a system public key pk, a master key mk and an ElGamal private key a' by a trusted authority TA, distributing the system public key pk to a cloud server in a public way, and allowing all data users of the system to have the right of accessing the system public key pk; the trusted authority TA stores the master key mk in the trusted authority TA, and only the trusted authority TA has the authority of accessing the master key mk; the trusted authority TA sends the ElGamal private key a' to the data users through the encryption channel, and each data user has a private key specific to itself.
The trusted authority TA is a fully trusted third-party security authority, and is responsible for generating a system public key pk and a master key mk, and an ElGamal private key a 'for file decryption, where the system public key pk, the master key mk, and the ElGamal private key a' all represent (or are encoded) into a binary code with a certain length under a computer.
The system public key pk, the master key mk, and the ElGamal private key a' are generated as follows:
s11 group generator using complex order bilinear group by trusted authority TAExecuteGenerating tuples (p)1,p2,p3,p4,G,GTAnd e), wherein,for inputting safety parameters of the group generator, p1,p2,p3,p4Is four different prime numbers, G and GTIs a cyclic group of order N, and N ═ p1p2p3p4And satisfying bilinear mapping relation e: g → GTThe relational expression maps two elements in the group G to the group GTOne element of (1);each represents p of G1,p2,p3,p4A subgroup of orders;
s12, the trusted authority TA randomly selects the element a, a', alpha ∈ group ZNRandomly extracting elements g, h belonging to a groupElement X3E groupElements Z, X4E groupAnd calculated to obtain H-hZ, Y-e (g, g)αH and Y represent members of the system public key, respectively;
s13, the trusted authority TA selects a collision-resistant hash function f, where the hash function f satisfies the following mapping:
s14, the trusted authority TA obtains the system public key pk according to the above variables<N,g,ga,ga′,f,Y,H,X4>The master key mk ═<α,h,X3>And the ElGamal private key a'.
S2, encryption: the data owner uses the system public key pk and the keyword set O ═ O1,...,om) And an access policy P for generating an index ciphertext C for the documentIAnd data cipher textCDAnd combines the ciphertext CI、CDAnd uploading to a cloud server.
Wherein the access policyThe access policy may be referred to as a keyword predicate, AND may be regarded as an attribute set formed by connecting logical words such as AND OR, AND used to represent attribute conditions that must be satisfied by a data user who can read the file. For example, assume that there is a document with an access policy ofOR (institution AND department) with the number, institution AND department as attribute fields AND 01234, hospital a AND department as attribute values, the access policyRepresenting that the document can only be accessed by data users meeting the code 01234, or institutions hospital a and department cardiology.
Index ciphertext CIThe data owner encrypts the key words and the access strategy to obtain the data. Data cipher text CDThe method refers to ciphertext data obtained by encrypting the content of the document. Index ciphertext CIAnd data ciphertext CDThe encryption process of (1) is as follows:
s2l, predicating the keywords by the data ownerMapping to a Linear Secret Sharing Scheme (LSSS) representationWherein A is lsShared matrix of x n, lsRepresenting the number of rows and n representing the number of columns; ρ is a function that maps each row of matrix a to an attribute field; t is represented byForm (a) tρ(i)Is an attribute of the attribute field rho (i), i is greater than or equal to 1 and less than or equal to ls;
The data owner randomly generates a vector v ═ (s, v)2,...,vn) E groupAnd slave groupIn the random selection of an element Z1(ii) a Here, all components in the vector are randomly selected, wherein S is continuously used in step S22;
for each row A of the matrix AiCorresponding to the slave group ZNIn the random selection of element riAnd slave groupIn the random selection of two elements Zc,i,Zd,i;
For each keyword oxCorresponding to the slave groupIn the random selection of an element Ze,xWherein x is more than or equal to 1 and less than or equal to m;
s22, the data owner calculates the index ciphertext C according to the variablesI:
S23, data owner randomly generates multibit symmetric key psi using AESThe algorithm encrypts the document content to obtain a ciphertext CD,1(ii) a The embodiment specifically generates a symmetric key ψ of 256 bits;
s24, the data owner uses ElGamal algorithm to encrypt the symmetric key psi to obtain the ciphertext CD,2The specific process comprises the following steps: obtaining g and g from system public key pka′,g、ga′Is an element in the system public key pk, and since the data owner can access the system public key, he can also extract the corresponding element from the system public key; randomly selecting element y from group G, and calculating to obtain1=gy,=(ga′) y; then, the symmetric key ψ is mapped to an element ψ' on G and calculated2Psi' and finally generating the ciphertext CD,2=(1,2);
S25, the data owner obtains the data ciphertext C according to the variables of the steps S23 and S24D=<CD,1,CD,2>。
S3, generating a token: when a data user performs a search operation, it is first necessary to set the attribute set S to (a)1,...,an) And query keyword predicatesUploading the data to a trusted authority TA, verifying whether the identity of the data user is legal or not by the trusted authority TA, and if the identity of the data user is legal, generating a retrieval token for the data user by using a system public key pk and a master key mkAnd store the tokenAnd sending the data to the data user. The retrieval token may also be referred to as a query token.
Wherein the query key predicatesCan be regarded as a keyword set formed by connecting logical words such as AND, OR, etcIndicating what data the user wants to query. For example, assume that there is a query keyword predicate of OR name ═ plum ", where provider, disease, name are keyword fields, hospital a, heart disease, plum are keywords, the query keyword predicatesThe representative user wants to search all documents whose provider is hospital a and whose disease is heart disease, or whose name is plum.
The procedure for the trusted authority TA to generate tokens is as follows:
s31, the credible authority TA predicates the query key wordsMapping to a linear secret sharing scheme representationWherein the content of the first and second substances,is aOShared matrix of x m, lORepresenting the number of rows, m representing the number of columns;is a general matrixEach line of (a) maps to a function of a key field;is shown asIn the form of (a) a (b),is a keyword fieldThe key word of 1 is less than or equal to x' and less than or equal to lO;
S32, trusted authority TA Slave group ZNIn the random selection of two elements c1,c2Generating a vectorWherein the content of the first and second substances,as random numbers, from the groupIn the random selection of two elements R0,R1;
S33, for attribute set S ═ (a)1,...,an) Each attribute a ini′From the groupIn the random selection of element Ri′,1≤i′≤n;
S34, forEach row ofFrom group ZNIn the random selection of an element sx′From the groupIn the random selection of two elements1≤x′≤lO;
s4, searching ciphertext: the data user receives the search token sent by the credible authority TAThen, sending the retrieval token to a cloud server; after the cloud server receives the index ciphertext C, aiming at each index ciphertext CIChecking whether the index ciphertext and the retrieval token are matched by using the system public key pk, and transmitting the data ciphertext C meeting the matching conditionDAnd sending the data to a data user.
The ciphertext search process is as follows:
S42, the cloud server calculates I from (A, rho)A,ρHere IA,ρRepresents {1,.. multidot.lsAll minimum subsets of (A, rho) are satisfied; it is composed ofIn, if presentAnd the existence of a set of constants wi″}i″∈ISo that ∑i″∈I wi″Ai″When (1, 0,. 0), I is said to satisfy (a, ρ);
likewise, cloud server slaveMiddle calculationHere, theRepresents {1,.. multidot.lOAll of them satisfyA set formed by the smallest subset of (c); wherein, if presentAnd existence of a set of constantsSo that Then callSatisfy the requirement of
S43, if there is I ∈ IA,ρAndwherein ∑i″∈I wi″Ai″Given (1, 0.., 0) for some constants { w }i″}i″∈IIs formed,For some constantIf it holds, so that the following equation holds, the algorithm outputs 1, indicating the search tokenAnd index ciphertext CIMatch and cipher the corresponding dataDSending the data to a data user; otherwise, the algorithm outputs 0, which indicates that the two are not matched;
the outputs "1" and "0" are generally expressed by using boolean variables (bool) under a computer, where "1" corresponds to "true" of the boolean variable, i.e., "the two match". While a "0" corresponds to a "false" of the boolean variable, denoted "false", i.e., "the two do not match".
The equation is:
s5, decryption: data user receives data cipher text CDThereafter, the data ciphertext C is encrypted using the ElGamal private key aDRecovering to corresponding plaintext content, as follows:
s51, the data user uses ElGamal algorithm to encrypt the ciphertextDecryption to obtain a symmetric key psi:
using the ElGamal private key a', calculated as ═1 a′And then calculating psi ═2 -1Finally mapping psi' back to the symmetric key psi;
Example 2
The embodiment discloses a multi-key searchable encryption system supporting a boolean access control policy, as shown in fig. 2, including: the system comprises an initialization and token generation subsystem running in a trusted authority TA, an encryption subsystem running in a data owner end, a cloud storage subsystem running in a cloud server, and a user retrieval and decryption subsystem running in a data user end.
The trusted authority TA is a completely trusted third-party security organization, and the data owner side and the data user side are terminal devices with operation processing capability, including smart phones, tablets, and computers. The system may perform the multi-key searchable encryption method described in embodiment 1 that supports boolean access control policies.
The initialization and token generation subsystem operating in the trusted authority TA comprises an initialization module, a master key storage module and a token generation module:
the initialization module is used for generating a system public key pk, a master key mk and an ElGamal private key a ', distributing the public development of the system public key pk to a cloud server, storing the master key mk to the master key storage module and sending the ElGamal private key a' to a data user;
the master key storage module is used for storing a master key mk and only allowing the access of a trusted authority TA;
the token generation module is used for responding to a retrieval token generation request of the data user, checking the validity of the identity of the data user, and generating a retrieval token for the data user by using the system public key pk and the master key mk under the condition that the identity of the data user is legalAnd to token the searchAnd sending the data to a data user.
The encryption subsystem running at the data owner end comprises a data encryption module and an index encryption module:
the data encryption module is used for acquiring a system public key pk from the cloud server, encrypting the document by using the system public key pk to obtain a data ciphertext, and then sending the data ciphertext to the cloud server;
the index encryption module is used for encrypting the keyword set of each document and the implemented access strategy by using the system public key pk to obtain a corresponding index ciphertext and sending the index ciphertext to the cloud server.
As shown in fig. 2, since each document has its own data ciphertext and index ciphertext, which are associated with each other, the data ciphertext is usually packed with the index ciphertext and sent to the storage module.
The cloud storage subsystem running on the cloud server comprises a system public key public module, a storage module and a retrieval module:
the system public key public module is used for publicly releasing the system public key generated by the trusted authority TA;
the storage module is used for storing the data ciphertext and the index ciphertext encrypted by the data owner;
the retrieval module is used for aiming at each index ciphertext CIChecking whether the index ciphertext is matched with the search token by using the system public key pk, and obtaining a data ciphertext C meeting the matching condition from the storage moduleDAnd sends it to the data user.
The user retrieval and decryption subsystem running at the data user side comprises a user retrieval module and a data decryption module:
the user search module is used for sending a token generation request to the trusted authority TA and simultaneously setting the attribute set S of the data user to be (a)1,...,an) And query keyword predicatesUpload to trusted authorityThe authority TA completes the generation operation of the search token, and when receiving the search token of the credible authority TAThen, the user retrieval module is further used for sending the token to the cloud server to continue to complete retrieval operation;
the data decryption module is used for using an ElGamal private key a' to obtain a data ciphertext CDAnd decrypting and restoring the data ciphertext into corresponding plaintext content.
As shown in fig. 3, the system of the present embodiment is applied to a medical scene, and the system may specifically be a healthcare system. The system has multiple-bit data users (data user 1, data user 2, … …, data user m) that can store documents of multiple-bit data owners (data owner 1, data owner 2, … …, data owner n). Here, the number m' of keyword fields of the document is set to 5, and each keyword field is name, age, sex, disease, provider; the number n' of attribute fields of the data user is 4, and each attribute field is name, number, organization, and department.
The working process of the system is as follows:
firstly, the trusted authority runs an initialization module of an initialization and token generation subsystem: according to security parametersGenerating a system public key pk, a master key mk and an ElGamal private key a ', distributing the system public key pk to a cloud server, storing the master key mk to a master key storage module, and sending the ElGamal private key a' to a data user.
The data owner 1 is set to own three documents 1, 2, 3. Wherein:
the keywords corresponding to each keyword field of the document 1 are as follows: "wu li", 23 ", men", heart disease "and hospital a" implement the access policy: the number is "01234" OR (institution "hospital a" AND department "cardiology");
the keywords corresponding to each keyword field of the document 2 are as follows: "plum", "27", "male", "myocarditis", "hospital a", the access policy implemented was: the numbering is "01234" OR institution "hospital a";
the keywords corresponding to each keyword field of the document 3 are as follows in sequence: "liu hua", "20", "man", "heart disease" and "hospital a", the access policies implemented are: the number is "12345" OR (institution "hospital a" AND department "cardiology");
in order to encrypt the documents, the data owner 1 firstly operates an encryption subsystem, obtains a system public key pk from a cloud storage subsystem on a cloud server, and then sequentially encrypts the three documents by using the system public key pk to generate an index ciphertextAnd data cipher textAnd cipher the dataAnd uploading to a cloud server.
And after receiving the data ciphertext of the data owner 1, the cloud server stores the data ciphertext in a storage module of the cloud storage subsystem. For simplicity of explanation, it is assumed here that the current storage module stores only the above three ciphertexts of data owner 1
The attributes corresponding to each attribute field of the data user 1 are as follows in sequence: "royal jelly", "01234", "Hospital A" and "department of cardiology". If the data user wants to inquire about the document with the provider being hospital A and the disease being heart disease, the user searching module of the user searching and decrypting subsystem is operated, and the user attribute set S is (royal frost, 01234, hospital A and cardiology), and predicates of the query keywords are set by the user searching and decrypting moduleAND (heart disease) to the trusted authority TA so that the trusted authority TA verifies the user identity AND generates a search token.
The trusted authority TA receives the user attribute set S and the query keyword predicate of the data user 1Thereafter, a token generation module is run which, after verifying that the identity of the data user 1 is legitimate, uses the system public key pk and the master key mk to generate a retrieval token for itAnd to token the searchTo the data user 1.
Data user 1 receives search token of credible authority TAAnd then, operating the user retrieval module to send the retrieval token to the cloud server so as to perform the next retrieval operation.
After the cloud server receives a query request of a data user 1 (the data user operates a user retrieval module of a user retrieval and decryption subsystem and inputs a user attribute set and a query keyword predicate), the cloud server operates a retrieval module which uses a system public key pk to retrieve a tokenAnd index ciphertext in storage moduleAnd carrying out matching operation in sequence. Assume here that the data cipher textMatch, when matching operationAfter the completion, the cloud server encrypts the data ciphertext meeting the conditionsAnd returns to data user 1.
The data user 1 receives the returned data ciphertextThen, a decryption module of the user retrieval and decryption subsystem is operated, and the decryption module decrypts the data ciphertext by using the ElGamal private key aThe plaintext content of the document 1 is recovered.
It should be noted that, the system of the present embodiment is only illustrated by the division of the functional modules, and in practical applications, the functions may be distributed by different functional modules as needed, that is, the internal structure may be divided into different functional modules to complete all or part of the functions described above.
The above embodiments are preferred embodiments of the present invention, but the present invention is not limited to the above embodiments, and any other changes, modifications, substitutions, combinations, and simplifications which do not depart from the spirit and principle of the present invention should be construed as equivalents thereof, and all such changes, modifications, substitutions, combinations, and simplifications are intended to be included in the scope of the present invention.
Claims (9)
1. A multi-keyword searchable encryption method supporting Boolean access control policies is characterized by comprising the following steps:
s1, generating a system public key pk, a master key mk and an ElGamal private key a 'by the trusted authority TA, distributing the system public key pk to a cloud server in a public way, storing the master key mk in the trusted authority TA, and sending the ElGamal private key a' to a data user;
s2, encryption: the data owner uses the system public key pk and the keyword set O ═ O1,...,om) And access policyGenerating index ciphertext C for a documentIAnd data ciphertext CDAnd combines the ciphertext CI、CDUploading to a cloud server;
s3, generating a token: when a data user performs a search operation, it is first necessary to set the attribute set S to (a)1,...,an) And query keyword predicatesUploading the data to a trusted authority TA, verifying whether the identity of the data user is legal or not by the trusted authority TA, and if the identity of the data user is legal, generating a retrieval token for the data user by using a system public key pk and a master key mkAnd store the tokenSending the data to the data user;
s4, searching ciphertext: the data user receives the search token sent by the credible authority TAThen, sending the retrieval token to a cloud server; after the cloud server receives the index ciphertext C, aiming at each index ciphertext CIChecking whether the index ciphertext and the retrieval token are matched by using the system public key pk, and transmitting the data ciphertext C meeting the matching conditionDSending the data to a data user;
s5, decryption: data user receives data cipher text CDThereafter, the data ciphertext C is encrypted using the ElGamal private key aDRestored to the corresponding plaintext content.
2. The multi-key searchable encryption method supporting boolean access control policy according to claim 1, characterized in that in step S1, the procedure for the trusted authority TA to generate the system public key pk, the master key mk, and the ElGamal private key a' is as follows:
s11 group generator using complex order bilinear group by trusted authority TAExecuteGenerating tuples (p)1,p2,p3,p4,G,GTAnd e), wherein,for inputting safety parameters of the group generator, p1,p2,p3,p4Is four different prime numbers, G and GTIs a cyclic group of order N, and N ═ p1p2p3p4And satisfying bilinear mapping relation e: g → GTThe relational expression maps two elements in the group G to the group GTOne element of (1); each represents p of G1,p2,p3,p4A subgroup of orders;
s12, the trusted authority TA randomly selects the element a, a', alpha ∈ group ZNRandomly extracting elements g, h belonging to a groupElement X3E groupElements Z, X4E groupAnd calculated to obtain H-hZ, Y-e (g, g)αH and Y represent members of the system public key, respectively;
s13, the trusted authority TA selects a collision-resistant hash function f, where the hash function f satisfies the following mapping:
s14, the trusted authority TA obtains the system public key pk according to the above variables<N,g,ga,ga′,f,Y,H,X4>The master key mk ═<α,h,X3>And the ElGamal private key a';
the ElGamal private key a' is specifically sent to the data user through an encrypted channel.
3. The multi-key searchable encryption method supporting a boolean access control policy according to claim 2, characterized in that the encryption process of step S2 is as follows:
s21, predicating the keywords by the data ownerMapping to a linear secret sharing scheme representationWherein A is lsShared matrix of x n, lsRepresenting the number of rows and n representing the number of columns; ρ is a function that maps each row of matrix a to an attribute field; t is represented by (T)ρ(1),...,tρ(ls)) Form (a) tρ(i)Is an attribute of the attribute field rho (i), i is greater than or equal to 1 and less than or equal to ls;
The data owner randomly generates a vector v ═ (s, v)2,...,vn) E groupAnd slave groupIn the random selection of an element Z1;s,v2,vnAs components in vector v;
for each row A of the matrix AiFrom group ZNIn the random selection of element riAnd slave groupIn the random selection of two elements Zc,i,Zd,i;
For each keyword oxFrom the groupIn the random selection of an element Ze,xWherein x is more than or equal to 1 and less than or equal to m;
s22, the data owner calculates the index ciphertext C according to the variablesI:
S23, randomly generating a multi-bit symmetric key psi by the data owner, encrypting the document content by using an AES algorithm to obtain a ciphertext CD,1;
S24, the data owner uses ElGamal algorithm to encrypt the symmetric key psi to obtain the ciphertext CD,2Which isThe specific process is as follows: obtaining g and g from system public key pka′Randomly selecting element y from group G, and calculating to obtain1=gy,=(ga′)y(ii) a Then, the symmetric key ψ is mapped to an element ψ' on G and calculated2Psi' and finally generating the ciphertext CD,2=(1,2);
S25, the data owner obtains the data ciphertext C according to the variables of the steps S23 and S24D=<CD,1,CD,2>。
4. The multi-key searchable encryption method according to claim 2, wherein in step S3, the procedure for the trusted authority TA to generate the token is as follows:
s31, the credible authority TA predicates the query key wordsMapping to a linear secret sharing scheme representationWherein the content of the first and second substances,is aOShared matrix of x m, lORepresenting the number of rows, m representing the number of columns;is a general matrixEach line of (a) maps to a function of a key field;is shown asIn the form of (a) a (b),is a keyword fieldThe key word of 1 is less than or equal to x' and less than or equal to lO;
S32, trusted authority TA Slave group ZNIn the random selection of two elements c1,c2Generating a vectorWherein the content of the first and second substances,as random numbers, from the groupIn the random selection of two elements R0,R1;
S33, for attribute set S ═ (a)1,...,an) Each attribute a ini′From the groupIn the random selection of element Ri′,1≤i′≤n;
S34, forEach row ofFrom group ZNIn the random selection of an element sx′From the groupIn the random selection of two elements
5. the multi-key searchable encryption method supporting a boolean access control policy according to claim 4, wherein the search ciphertext process of step S4 is as follows:
S42, the cloud server calculates I from (A, rho)A,ρHere IA,ρRepresents {1,.. multidot.lsAll minimum subsets of (A, rho) are satisfied; wherein, if presentAnd the existence of a set of constants wi″}i″∈ISo that ∑i″∈Iwi″Ai″When (1, 0,. 0), I is said to satisfy (a, ρ);
likewise, cloud server slaveMiddle calculationHere, theRepresents {1,.. multidot.lOAll of them satisfyA set formed by the smallest subset of (c); wherein, if presentAnd existence of a set of constantsSo that Then callSatisfy the requirement of
S43, if there is I ∈ IA,ρAndwherein ∑i″∈Iwi″Ai″Given (1, 0.., 0) for some constants { w }i″}i″∈IIs formed,For some constantIf it holds, so that the following equation holds, the algorithm outputs 1, indicating the search tokenAnd index ciphertext CIMatch and cipher the corresponding dataDSending the data to a data user; otherwise, the algorithm outputs 0, which indicates that the two are not matched;
the equation is:
6. the multi-key searchable encryption method supporting a Boolean access control policy according to claim 3, wherein the decrypted data ciphertext C of step S5D=<CD,1,CD,2>The process of (2) is as follows:
s51, using ElGamal algorithm by data user, and aiming at ciphertext CD,2Decryption to obtain a symmetric key psi:
using the ElGamal private key a', calculated as ═1 a′And then calculating psi ═2 -1Finally mapping psi' back to the symmetric key psi;
s52, decrypting ciphertext C by using symmetric key psiD,1And obtaining the plaintext content of the document.
7. The multi-key searchable encryption method supporting a boolean access control policy according to claim 1, wherein the trusted authority TA is a fully trusted third party security authority responsible for generating a system public key pk and a master key mk, and an ElGamal private key a 'for file decryption, wherein the system public key pk, the master key mk, and the ElGamal private key a' are all binary codes with a certain length.
8. A multi-key searchable encryption system that supports boolean access control policies, comprising: an initialization and token generation subsystem operating in a trusted authority TA, an encryption subsystem operating in a data owner side, a cloud storage subsystem operating on a cloud server, a user retrieval and decryption subsystem operating in a data user side, wherein,
the initialization and token generation subsystem operating in the trusted authority TA comprises an initialization module, a master key storage module and a token generation module:
the initialization module is used for generating a system public key pk, a master key mk and an ElGamal private key a ', distributing the public development of the system public key pk to a cloud server, storing the master key mk to the master key storage module and sending the ElGamal private key a' to a data user;
the master key storage module is used for storing a master key mk and only allowing the access of a trusted authority TA;
the token generation module is used for responding to a retrieval token generation request of the data user, checking the validity of the identity of the data user, and generating a retrieval token for the data user by using the system public key pk and the master key mk under the condition that the identity of the data user is legalAnd to token the searchSending the data to a data user;
the encryption subsystem running at the data owner end comprises a data encryption module and an index encryption module:
the data encryption module is used for acquiring a system public key pk from the cloud server, encrypting the document by using the system public key pk to obtain a data ciphertext, and then sending the data ciphertext to the cloud server;
the index encryption module is used for encrypting the keyword set of each document and the implemented access strategy by using the system public key pk to obtain a corresponding index ciphertext and sending the index ciphertext to the cloud server;
the cloud storage subsystem running on the cloud server comprises a system public key public module, a storage module and a retrieval module:
the system public key public module is used for publicly releasing the system public key generated by the trusted authority TA;
the storage module is used for storing the data ciphertext and the index ciphertext encrypted by the data owner;
the retrieval module is used for aiming at each index ciphertext CIChecking whether the index ciphertext is matched with the search token by using the system public key pk, and obtaining a data ciphertext C meeting the matching condition from the storage moduleDAnd sends it to the data user;
the user retrieval and decryption subsystem running at the data user side comprises a user retrieval module and a data decryption module:
the user search module is used for sending a token generation request to the trusted authority TA and simultaneously setting the attribute set S of the data user to be (a)1,...,an) And query keyword predicatesUploading the search token to a trusted authority TA to finish the generation operation of the search token, and when receiving the search token of the trusted authority TAThen, the user retrieval module is further used for sending the token to the cloud server to continue to complete retrieval operation;
the data decryption module is used for encrypting the retrieved data by using an ElGamal private key aCharacter CDAnd decrypting and restoring the data ciphertext into corresponding plaintext content.
9. The multi-key searchable encryption system supporting boolean access control policies according to claim 8, characterized in that the data owner side and the data user side are terminal devices with arithmetic processing capabilities, including smart phones, tablets, computers.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010781185.XA CN112100649B (en) | 2020-08-06 | 2020-08-06 | Multi-keyword searchable encryption method and system supporting Boolean access control strategy |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010781185.XA CN112100649B (en) | 2020-08-06 | 2020-08-06 | Multi-keyword searchable encryption method and system supporting Boolean access control strategy |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112100649A true CN112100649A (en) | 2020-12-18 |
CN112100649B CN112100649B (en) | 2022-12-16 |
Family
ID=73750233
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010781185.XA Active CN112100649B (en) | 2020-08-06 | 2020-08-06 | Multi-keyword searchable encryption method and system supporting Boolean access control strategy |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112100649B (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112751670A (en) * | 2020-12-30 | 2021-05-04 | 西安邮电大学 | Attribute-based searchable encryption of multi-center ciphertext strategy and corresponding method for searching and acquiring data |
CN114357477A (en) * | 2021-12-15 | 2022-04-15 | 华南理工大学 | Boolean keyword searchable encryption method supporting large-scale user group |
CN115150196A (en) * | 2022-09-01 | 2022-10-04 | 北京金睛云华科技有限公司 | Ciphertext data-based anomaly detection method, device and equipment under normal distribution |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731432A (en) * | 2014-01-11 | 2014-04-16 | 西安电子科技大学昆山创新研究院 | Multi-user supported searchable encryption system and method |
CN105871543A (en) * | 2016-03-29 | 2016-08-17 | 西安电子科技大学 | Attribute-based multi-keyword ciphertext retrieval method under background of multiple data owners |
CN108156140A (en) * | 2017-12-13 | 2018-06-12 | 西安电子科技大学 | A kind of multiple key that numerical attribute is supported to compare can search for encryption method |
CN108390855A (en) * | 2018-01-11 | 2018-08-10 | 中国人民解放军战略支援部队信息工程大学 | A kind of attribute base keyword search encryption system and method towards cloud storage |
CN109361644A (en) * | 2018-08-22 | 2019-02-19 | 西安工业大学 | A kind of Fog property base encryption method for supporting fast search and decryption |
US20190384931A1 (en) * | 2017-02-22 | 2019-12-19 | Kindite Ltd. | Encrypting data records and processing encrypted records without exposing plaintext |
-
2020
- 2020-08-06 CN CN202010781185.XA patent/CN112100649B/en active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103731432A (en) * | 2014-01-11 | 2014-04-16 | 西安电子科技大学昆山创新研究院 | Multi-user supported searchable encryption system and method |
CN105871543A (en) * | 2016-03-29 | 2016-08-17 | 西安电子科技大学 | Attribute-based multi-keyword ciphertext retrieval method under background of multiple data owners |
US20190384931A1 (en) * | 2017-02-22 | 2019-12-19 | Kindite Ltd. | Encrypting data records and processing encrypted records without exposing plaintext |
CN108156140A (en) * | 2017-12-13 | 2018-06-12 | 西安电子科技大学 | A kind of multiple key that numerical attribute is supported to compare can search for encryption method |
CN108390855A (en) * | 2018-01-11 | 2018-08-10 | 中国人民解放军战略支援部队信息工程大学 | A kind of attribute base keyword search encryption system and method towards cloud storage |
CN109361644A (en) * | 2018-08-22 | 2019-02-19 | 西安工业大学 | A kind of Fog property base encryption method for supporting fast search and decryption |
Non-Patent Citations (1)
Title |
---|
孙瑾 等: "支持属性撤销的可验证多关键词搜索加密方案", 《电子与信息学报》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112751670A (en) * | 2020-12-30 | 2021-05-04 | 西安邮电大学 | Attribute-based searchable encryption of multi-center ciphertext strategy and corresponding method for searching and acquiring data |
CN114357477A (en) * | 2021-12-15 | 2022-04-15 | 华南理工大学 | Boolean keyword searchable encryption method supporting large-scale user group |
CN115150196A (en) * | 2022-09-01 | 2022-10-04 | 北京金睛云华科技有限公司 | Ciphertext data-based anomaly detection method, device and equipment under normal distribution |
Also Published As
Publication number | Publication date |
---|---|
CN112100649B (en) | 2022-12-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Sun et al. | PMRSS: privacy-preserving medical record searching scheme for intelligent diagnosis in IoT healthcare | |
Yuan et al. | SEISA: Secure and efficient encrypted image search with access control | |
CN107948146B (en) | Connection keyword retrieval method based on attribute encryption in hybrid cloud | |
CN112100649B (en) | Multi-keyword searchable encryption method and system supporting Boolean access control strategy | |
US8898478B2 (en) | Method for querying data in privacy preserving manner using attributes | |
CN111913981B (en) | Online and offline attribute-based boolean keyword searchable encryption method and system | |
Ying et al. | A lightweight policy preserving EHR sharing scheme in the cloud | |
WO2019080281A1 (en) | Health record access control system and method in electronic medical cloud | |
CN115242518B (en) | Medical health data protection system and method in mixed cloud environment | |
CN110866135B (en) | Response length hiding-based k-NN image retrieval method and system | |
US11716191B2 (en) | Method, apparatus, and computer-readable medium for searching polymorphically encrypted data | |
CN112000632B (en) | Ciphertext sharing method, medium, sharing client and system | |
Al Sibahee et al. | Efficient encrypted image retrieval in IoT-cloud with multi-user authentication | |
Huang et al. | FSSR: Fine-grained EHRs sharing via similarity-based recommendation in cloud-assisted eHealthcare system | |
Kumar et al. | Secure and efficient image retrieval through invariant features selection in insecure cloud environments | |
CN114598472A (en) | Conditional-hidden searchable agent re-encryption method based on block chain and storage medium | |
CN114579998A (en) | Block chain assisted medical big data search mechanism and privacy protection method | |
Kim et al. | Privacy-preserving parallel kNN classification algorithm using index-based filtering in cloud computing | |
Wen et al. | Leaf: A faster secure search algorithm via localization, extraction, and reconstruction | |
Niu et al. | A data-sharing scheme that supports multi-keyword search for electronic medical records | |
CN108920968B (en) | File searchable encryption method based on connection keywords | |
CN116611083A (en) | Medical data sharing method and system | |
Wen et al. | Authenticable medical image-sharing scheme based on embedded small shadow QR code and blockchain framework | |
CN114357477B (en) | Boolean keyword searchable encryption method supporting large-scale user group | |
CN117997651B (en) | Data sharing method, system, equipment and storage medium |
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 |