CN111786786A - Agent re-encryption method and system supporting equation judgment in cloud computing environment - Google Patents
Agent re-encryption method and system supporting equation judgment in cloud computing environment Download PDFInfo
- Publication number
- CN111786786A CN111786786A CN202010729069.3A CN202010729069A CN111786786A CN 111786786 A CN111786786 A CN 111786786A CN 202010729069 A CN202010729069 A CN 202010729069A CN 111786786 A CN111786786 A CN 111786786A
- Authority
- CN
- China
- Prior art keywords
- ciphertext
- user terminal
- public key
- key
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0825—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0827—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving distinctive intermediate devices or communication paths
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
Abstract
The invention discloses a proxy re-encryption method and a proxy re-encryption system supporting equation judgment in a cloud computing environment.A first user terminal encrypts a plurality of plaintext data to be shared through a public key of the first user terminal to generate a plurality of first ciphertexts; the second user terminal encrypts the interested plaintext data through the public key of the second user terminal to generate a second ciphertext; the first user terminal generates a first trap door corresponding to a ciphertext based on a certain first ciphertext generated by the first user terminal and a public key of the second user terminal; the second user terminal generates a second trapdoor corresponding to the ciphertext based on a second ciphertext generated by the second user terminal and the public key of the first user terminal; and the server performs ciphertext equality matching test with each first ciphertext and the corresponding first trapdoor based on the second ciphertext and the second trapdoor respectively, when a target first ciphertext matched with the second ciphertext is found, the first user end executes the proxy re-encryption method, and the second user end decrypts the re-encrypted ciphertext by using a private key of the second user end to obtain a plaintext shared by the first user end. The invention reduces the communication and calculation overhead of data sharing.
Description
Technical Field
The invention relates to the technical field of information security, in particular to a proxy re-encryption method and a proxy re-encryption system supporting equation judgment in a cloud computing environment.
Background
Cloud computing is a novel computing model based on a resource virtualization technology, and has been widely concerned by the academic and industrial fields due to the characteristics of on-demand service, resource pooling, elastic service, ubiquitous access, chargeable service and the like. Data sharing based on cloud computing is one of cloud computing key applications, users using different computers and different software in different places can read data of other people and perform various operations, operations and analyses, more people can fully use data resources, and repeated labor such as data collection and collection is avoided. In recent 10 years, cloud computing in China is proposed from concepts to ground application and then to ecological construction, the development route is gradually stable, the effect is more and more remarkable, and the cloud computing industry becomes one of the fastest global markets.
With the deep application of cloud computing, potential safety hazards always exist in the aspect of visitors in the application of a digital technology. For example, how to guarantee the security and privacy of data outsourced to the cloud server, how to realize the credibility of the cloud server feedback service, and the like. Based on security and privacy considerations, one simple approach is to store outsourced data in the cloud service in ciphertext form, but encryption makes data sharing very difficult. In order to balance the contradiction between data privacy protection and usability, the proxy re-encryption technology can convert the ciphertext corresponding to the public key of the encryptor into the ciphertext corresponding to the public key of the decryptor under the condition of not revealing the secret key of the encryptor, and ciphertext data sharing is realized.
Although the proxy re-encryption solves the data sharing problem, data users cannot perform data search and equality judgment like plaintext data, and the data users must download all ciphertexts and decrypt the ciphertexts to obtain required information, so that unnecessary communication overhead is increased to a certain extent.
The above is only for the purpose of assisting understanding of the technical aspects of the present invention, and does not represent an admission that the above is prior art.
Disclosure of Invention
In order to improve the data sharing efficiency and reduce the communication overhead, the ciphertext data should support the equality test to judge whether the plaintexts corresponding to the two ciphertexts are the same, but the prior art does not have a similar scheme to solve the problems existing in the prior art.
The invention mainly aims to provide a proxy re-encryption method and a proxy re-encryption system supporting equation judgment in a cloud computing environment, and aims to solve the technical problem of how to effectively reduce communication overhead on the basis that a proxy re-encryption technology in the cloud computing environment supports ciphertext data sharing and ensures data safety.
The invention provides an agent re-encryption method supporting equation judgment in a cloud computing environment, wherein the cloud computing environment comprises a certificate authority, a cloud server and a plurality of user sides; the certificate authority is used for publishing protocol security parameters to each user side; the user side is divided into two roles: the system comprises a first user terminal and a second user terminal, wherein the first user terminal shares plaintext data, and the second user terminal receives the shared plaintext data; the method comprises the following steps:
step S10, each user terminal generates a key pair based on the protocol security parameters published by the certificate authority, the key pair comprises a public key and a private key, the private key is stored, and the public key is registered to the certificate authority; the key pair of the first user end comprises a first public key and a first private key, and the key pair of the second user end comprises a second public key and a second private key;
step S20, the first user terminal encrypts a plurality of plaintext data to be shared through the first public key according to a preset encryption mode to obtain a plurality of first ciphertexts, and the first ciphertexts are respectively sent and stored to the cloud server; the plaintext data to be shared represents plaintext data authorized by the first user terminal to the second user terminal;
the second user terminal encrypts the interest plaintext data through the second public key according to a preset encryption mode to obtain a second ciphertext, wherein the interest plaintext data is shared data expected to be obtained by the second user terminal, and the second ciphertext is sent to and stored in the cloud server;
step S51, the second user terminal acquires a second target random number set when the second ciphertext is encrypted from the second ciphertext according to the preset decryption mode by using the second private key; the second user terminal generates a second trap door corresponding to the second ciphertext based on the second target random number set, the second private key and a first public key provided by the first user terminal, and sends the second trap door to the cloud server for equality test of the ciphertext;
step S52, the first user terminal respectively obtains a first target random number set when the first ciphertext is encrypted from each first ciphertext according to the preset decryption mode by using the first private key; the first user terminal generates first trapdoors corresponding to the first ciphertexts based on the first target random number set, the first private key and a second public key provided by the second user terminal, and respectively sends the first trapdoors corresponding to the first ciphertexts to the cloud server;
step S60, the cloud server respectively performs ciphertext equality matching test with each first ciphertext and the corresponding first trapdoor based on the second ciphertext and the corresponding second trapdoor;
if the equality matching test result indicates that a target first trapdoor equal to the second trapdoor exists in each first trapdoor, it is determined that a second ciphertext corresponding to the second trapdoor corresponds to the same plaintext as the first ciphertext, the first ciphertext corresponding to the first trapdoor equal to the second trapdoor is taken as a target first ciphertext, and the following re-encryption steps S31-S43 are performed:
step S31, the first user terminal obtains a corresponding target first ciphertext from the cloud server;
step S32, the first user terminal obtains a first target random number when the target shared plaintext data corresponding to the target first ciphertext is encrypted according to a preset decryption mode based on the first private key;
step S33, the first user terminal generates a re-encryption key corresponding to the target first ciphertext according to the first public key, the second public key and the first target random number;
step S41, the first user terminal transmits the re-encryption key to the cloud server;
step S42, the cloud server converts the target first ciphertext into a re-encrypted ciphertext of the second user side through the re-encrypted key, wherein the re-encrypted ciphertext is associated with the second public key; and sending the re-encrypted ciphertext to the second user end;
and step S43, the second user terminal decrypts the re-encrypted ciphertext through the second private key to obtain the target shared plaintext data of the first user terminal.
Preferably, before the step S1, the method further includes:
the certificate authority generates three cyclic groups G with the same prime order p1,G2,GtAnd there is a bilinear map e, satisfying G1×G2→GtSelecting P1,P2As a circulating group G1,G2A generator of (2);
the certificate authority selects two secure hash functions h0(·),H1(·),H2(·);
The certificate authority publishes relevant parameters {, p, G1,G2,Gt,e,h0(·),H1(·),H2(.) }, wherein the protocol security parameters entered manually at the end of the trusted authority are represented.
Preferably, the step S10 specifically includes:
each user side is based onGenerating a key pair by using protocol security parameters published by the certificate authority, wherein the key pair comprises a public key and a private key, storing the private key, and registering the public key to the certificate authority; wherein, each user terminal UiIs generated by the following steps:
The user side UiComputing public keysWherein the public key pkiThe first part of the public key ofThe second part of the public key is
The user side UiWill public key pkiRegistering to the certificate authority and publishing the public key pkiSaid user side UiThe first private key sk is combinediAnd safely saved to the local.
Accordingly, i represents a variable;
by UiRepresents said first client, skiRepresents the first private key, pkiRepresenting a first public key, said first public key pkiThe first part of the public key ofThe second part of the public key is
By UjRepresents the second user terminal, skjRepresenting the second private key, pkjRepresenting a second public key, said second public key pkjThe first part of the public key ofThe second part of the public key is
Preferably, the preset encryption mode is characterized in the step S20 by the following steps:
the first user terminal UiIn the limited domainIn the random selection of three elements r1,r2,The first user terminal UiCalculating plaintext data m to be sharediFirst part C of the ciphertexti1=r1r2P2And ciphertext second part Ci2=r1r2h0(mi)P1+r3P1;
The first user terminal UiCalculating the plaintext data m to be sharediThird part of the ciphertext
The first user terminal UiCalculating intermediate variablesBased on said intermediate variablesCalculating plaintext data m to be sharediFourth part of the ciphertextWherein
The first user terminal UiBased on the plaintext data m to be sharediFirst part C of the ciphertexti1Ciphertext second part Ci2Ciphertext third part Ci3And a ciphertext fourth section
Creating the plaintext data m to be sharediFirst ciphertext of the original ciphertext data And uploading the first ciphertext to a cloud server.
Preferably, the step S31 specifically includes:
the first user terminal UiObtaining a target first ciphertext from a cloud serverAnd acquiring the second user end UjSecond public key ofWherein the content of the first and second substances,representing the second user terminal UjThe first part of the second public key of (a),representing the second user terminal UjA second portion of the second public key of (a);
correspondingly, the step S32 specifically includes:
the first user terminal UiAccording toPresetting a decryption mode based on the first private key skiFirst ciphertext from the targetTo obtain the plaintext data m to be sharediFirst target random number r when encrypted2Wherein the first target random number
Correspondingly, the step S33 specifically includes:
the first user terminal UiAccording to the first part of the first public keyA first part of the second public keyAnd the first target random number r2Generating a re-encryption key
Preferably, the step S41 specifically includes:
the first user terminal UiEncrypting the re-encryption key rkijTransmitting to the cloud server;
correspondingly, the step S42 specifically includes:
the cloud server according to the target first ciphertextAnd said re-encryption key rkijCalculating the second user terminal UjSecond public key pkjCorresponding re-encrypted ciphertext
Preferably, the step S51 specifically includes:
The second user terminal UjUsing the second private key skjAcquiring a second target random number set r 'when the second ciphertext is encrypted from the second ciphertext according to the preset decryption mode'1、r′2、r′3;
The second user terminal UjThe second trap door Tj→iSending the data to the cloud server;
correspondingly, the step S52 specifically includes:
The first user terminal UiProcessing each of the first ciphertextsThen, the first private key sk is utilizediRecovering a first destination used in encryption from the first ciphertextSet of random numbers r1,r2,r3;
The first user terminal UiEach first trap door Ti→jAnd sending the data to the cloud server.
Preferably, the step S60 of performing, by the cloud server, ciphertext equality matching test with each of the first ciphertexts and the first trapdoors corresponding thereto based on the second ciphertexts and the second trapdoors corresponding thereto includes:
The cloud server determines e (IC)j,Ci1) And e (IC)i,Cj1) Whether the first ciphertext is equal to the second ciphertext is judged, if so, the plaintext m corresponding to the first ciphertext is judgediPlaintext m 'corresponding to the second ciphertext'iThe same; otherwise, judging the plaintext m corresponding to the first ciphertextiPlaintext m 'corresponding to the second ciphertext'iDifferent.
In addition, in order to achieve the above object, the present invention further provides an agent re-encryption system supporting equation determination in a cloud computing environment, where the system includes a certificate authority, a cloud server, and multiple clients; the certificate authority is used for publishing protocol security parameters to each user side; the user side comprises a first user side and a second user side;
each user side is used for generating a key pair based on protocol security parameters published by the certificate authority, wherein the key pair comprises a public key and a private key, storing the private key and registering the public key to the certificate authority; the key pair of the first user end comprises a first public key and a first private key, and the key pair of the second user end comprises a second public key and a second private key;
the first user side is used for encrypting a plurality of plaintext data to be shared through the first public key according to a preset encryption mode to obtain a plurality of first ciphertexts, and respectively sending and storing each first ciphertext to the cloud server; the plaintext data to be shared represents plaintext data authorized by the first user terminal to the second user terminal;
the second user side is used for encrypting the interest plaintext data through the second public key according to a preset encryption mode to obtain a second ciphertext, wherein the interest plaintext data is shared data expected to be obtained by the second user side, and the second ciphertext is sent and stored to the cloud server;
the second user end is further configured to obtain a second target random number set when the second ciphertext is encrypted from the second ciphertext according to the preset decryption manner by using the second private key; the second user terminal generates a second trap door corresponding to the second ciphertext based on the second target random number set, the second private key and a first public key provided by the first user terminal, and sends the second trap door to the cloud server for equality test of the ciphertext;
the first user is further configured to obtain, by the end, a first target random number set when the first ciphertext is encrypted from each of the first ciphertexts respectively according to the preset decryption manner by using the first private key; the first user terminal generates first trapdoors corresponding to the first ciphertexts based on the first target random number set, the first private key and a second public key provided by the second user terminal, and respectively sends the first trapdoors corresponding to the first ciphertexts to the cloud server;
the cloud server is further configured to perform ciphertext equality matching test with each first ciphertext and the corresponding first trapdoor based on the second ciphertext and the corresponding second trapdoor; if the equality matching test result indicates that a target first trapdoor equal to the second trapdoor exists in each first trapdoor, judging that a second ciphertext corresponding to the second trapdoor and the first ciphertext correspond to the same plaintext, and taking the first ciphertext corresponding to the first trapdoor equal to the second trapdoor as a target first ciphertext;
the first user side is used for acquiring a corresponding target first ciphertext from the cloud server; acquiring a first target random number when target shared plaintext data corresponding to the target first ciphertext is encrypted based on the first private key according to a preset decryption mode; the first user terminal generates a re-encryption key corresponding to the target first ciphertext according to the first public key, the second public key and the first target random number; the first user terminal transmits the re-encryption key to the cloud server;
the cloud server is used for converting the target first ciphertext into a re-encrypted ciphertext of the second user side through the re-encrypted key, wherein the re-encrypted ciphertext is associated with the second public key; and sending the re-encrypted ciphertext to the second user end;
and the second user side is used for decrypting the re-encrypted ciphertext through the second private key to obtain target shared plaintext data of the first user side.
The invention has the beneficial effects that: the invention discloses a proxy re-encryption method and a proxy re-encryption system supporting equation judgment in a cloud computing environment.A first user terminal encrypts a plurality of plaintext data to be shared through a public key of the first user terminal to generate a plurality of first ciphertexts; the second user terminal encrypts the interested plaintext data through the public key of the second user terminal to generate a second ciphertext; the first user terminal generates a first trap door corresponding to a ciphertext based on a certain first ciphertext generated by the first user terminal and a public key of the second user terminal; the second user terminal generates a second trapdoor corresponding to the ciphertext based on a second ciphertext generated by the second user terminal and the public key of the first user terminal; the cloud server performs ciphertext equality matching test on the second ciphertext and the corresponding second trapdoor thereof respectively with each first ciphertext and the corresponding first trapdoor thereof, and when a target first ciphertext matched with the second ciphertext is found, the target first ciphertext of the first user end is equal to the second ciphertext of the second user end, and interest plaintext data of the second user end is corresponding to certain plaintext data to be shared (called target shared plaintext) of the first user end; the first user terminal generates a proxy re-encryption key by using parameters such as public parameters, a first user terminal private key and a second user public key and uploads the proxy re-encryption key to the cloud server, the cloud server converts a target first ciphertext into a re-encryption ciphertext by using the proxy re-encryption key and sends the re-encryption ciphertext to the second user terminal, and the second user terminal decrypts the re-encryption ciphertext by using the private key of the second user terminal to obtain a plaintext shared by the first user terminal (namely, a target shared plaintext). The invention effectively reduces the communication overhead on the basis of supporting the ciphertext data sharing.
Compared with the prior art, the proxy re-encryption scheme can convert the ciphertext generated by encrypting the public key of the encryptor into the ciphertext corresponding to the public key of the decryptor without revealing a decryption key, but does not support ciphertext equality test. In the process of re-encryption, only hash operation and exclusive or operation are applied, so that the method has high efficiency and practicability, and the calculation overhead of the whole system is reduced.
Drawings
Fig. 1 is a schematic flowchart of a proxy re-encryption method supporting equation determination in a cloud computing environment according to the present invention;
FIG. 2 is a schematic diagram illustrating the correlation between algorithms in the proxy re-encryption method supporting equation determination in the cloud computing environment according to the present invention;
fig. 3 is a schematic diagram of a ciphertext equation decision process in the proxy re-encryption method supporting equation decision in the cloud computing environment of the present invention.
The objects, features and advantages of the present invention will be further explained with reference to the accompanying drawings.
Detailed Description
It should be understood that the specific embodiments described herein are merely illustrative of the invention and are not intended to limit the invention.
The symbols of the embodiments of the present invention are described as follows:
p: p is a prime number.
: the protocol security parameter represents the overall security intensity of the protocol;
mod p: modulo p arithmetic. For example, 19mod7 ═ 5.
G1,G2,Gt: three cyclic groups having the same prime order p are shown, respectively.
P1,P2: respectively represent a cyclic group G1,G2The generator of (1).
e: represents bilinear mapping, satisfies G1×G2→GtWill be input into a group G1Middle element and group G2Mapping of Medium element to group GtAnd (5) medium element.
h0(. o): the input is a bit string {0,1} of any length*Output isA cryptographic hash function of the element(s).
H1(. o): input as an arbitrary group G1Middle element, output length of 3 bit string {0,1}*A cryptographic hash function of the element(s).
H2(. o): inputting two groups G1Middle element, a group G2Middle element, output isA cryptographic hash function of the element(s).
Ui: indicating a user marked i
(pki,ski): representing a user UiPublic and private key pair, pkiRepresenting a user UiPublic key, skiRepresenting a user UiA private key.
Representing a user UiTwo parts of the public key are used,representing the public key pkiThe first part of (a) is,representing the public key pkiThe second part of (1).
mi: representing a plaintext message to be encrypted.
Public key pk for representationiEncryption plaintext miThe obtained ciphertext comprises four parts: ci1Representing ciphertextFirst part of (1), Ci2Representing ciphertextSecond part of (2), Ci3Representing ciphertextIn the third part of (a) to (b),representing ciphertextThe fourth section. The fourth part of the ciphertext comprises two parts:
r1,r2,r3: which represents a cipher text used in encryption.
rkij: representing a re-encryption key which can be used to encrypt the user UiPublic key pkiEncrypted ciphertextConverted into user UjPublic key pkjEncrypted ciphertext
Ti→j: representing a user UiAuthorization to user UjTrapdoors tested for equality.
ICi: representing a user UiPublic key pkiThe encrypted ciphertext is an intermediate ciphertext in performing an equality determination process.
L |: representing a join operation, in which two elements of the same type can be joined together
It can be understood that the proxy re-encryption is a special encryption algorithm, which allows a ciphertext encrypted by an encryptor public key to be converted into a ciphertext encrypted by a decryptor public key without revealing an encryptor key, so that data sharing is effectively realized while data privacy is ensured, and the proxy re-encryption is particularly suitable for cloud computing scenes such as cloud storage, cloud sharing and the like. Scientific researchers have proposed a plurality of different schemes and different characteristic proxy re-encryption algorithms, but have not provided proxy re-encryption supporting ciphertext equality judgment. In order to improve the sharing efficiency, accurately position data required by a user and reduce the communication overhead between a cloud server and the user, the invention provides an agent re-encryption method supporting equation judgment in a cloud computing environment, and the method has the characteristics of high efficiency, simplicity in implementation and the like.
Referring to fig. 1, fig. 1 is a schematic flowchart illustrating an embodiment of a proxy re-encryption method supporting equation determination in a cloud computing environment according to the present invention;
the technical conception of the scheme of the invention is as follows: the invention discloses a proxy re-encryption method and a proxy re-encryption system supporting equation judgment in a cloud computing environment.A first user terminal encrypts a plurality of plaintext data to be shared through a public key of the first user terminal to generate a plurality of first ciphertexts; the second user terminal encrypts the interested plaintext data through the public key of the second user terminal to generate a second ciphertext; the first user terminal generates a first trap door corresponding to a ciphertext based on a certain first ciphertext generated by the first user terminal and a public key of the second user terminal; the second user terminal generates a second trapdoor corresponding to the ciphertext based on a second ciphertext generated by the second user terminal and the public key of the first user terminal; the cloud server performs ciphertext equality matching test on the second ciphertext and the corresponding second trapdoor thereof respectively with each first ciphertext and the corresponding first trapdoor thereof, and when a target first ciphertext matched with the second ciphertext is found, the target first ciphertext of the first user end is equal to the second ciphertext of the second user end, and interest plaintext data of the second user end is corresponding to certain plaintext data to be shared (called target shared plaintext) of the first user end; the first user terminal generates a proxy re-encryption key by using parameters such as public parameters, a first user terminal private key and a second user public key and uploads the proxy re-encryption key to the cloud server, the cloud server converts a target first ciphertext into a re-encryption ciphertext by using the proxy re-encryption key and sends the re-encryption ciphertext to the second user terminal, and the second user terminal decrypts the re-encryption ciphertext by using the private key of the second user terminal to obtain a plaintext shared by the first user terminal (namely, a target shared plaintext).
The invention reduces the communication and calculation cost of data sharing on the basis of supporting the ciphertext equality test. Compared with the prior art, the proxy re-encryption scheme can convert the ciphertext generated by encrypting the public key of the encryptor into the ciphertext corresponding to the public key of the decryptor without revealing a decryption key, but does not support ciphertext equality test. In the process of re-encryption, only hash operation and exclusive or operation are applied, so that the method has high efficiency and practicability, and the calculation overhead of the whole system is reduced.
Referring to fig. 2, the core of the proxy re-encryption method supporting equation determination in the cloud computing environment of the present invention includes nine algorithms: a key generation algorithm, an encryption algorithm, a self-decryption algorithm, a re-encryption key generation algorithm, a re-encryption algorithm, a re-decryption algorithm, an authorization algorithm and a test algorithm;
FIG. 2 illustrates:
and initializing the system, and generating the required public parameters of the system by using an initialization algorithm.
And generating a public and private key pair by the user, and generating the public and private key pair by utilizing a key generation algorithm according to the public parameters.
And generating ciphertext data by the user through an encryption algorithm according to the public and private key pair and the plaintext data.
And storing the ciphertext data in the cloud.
And the user decrypts the ciphertext data corresponding to the own public key, and obtains the plaintext data by using a self-decryption data algorithm according to the data and the public and private key pair obtained at the cloud.
The user shares data to generate a re-encryption key, and according to the public and private key pair and the ciphertext data, the user generates the re-encryption key corresponding to the ciphertext data, and the key can be used for converting a ciphertext under one public key into a ciphertext under another public key.
The cloud computing environment comprises a certificate authority, a cloud server and a plurality of user sides; the certificate authority is used for publishing protocol security parameters to each user side; in this embodiment, for convenience of differentiation, the user terminal is divided into a first user terminal (sending terminal) and a second user terminal (receiving terminal), where the first user terminal shares plaintext data, and the second user terminal receives the shared plaintext data.
In a specific implementation, an initialization process is first required:
initialization
It should be noted that, in the initialization step, a trusted Authority is used as an execution subject to perform initialization processing, where the trusted Authority may be an Authority that is guaranteed to be trusted by the government and the like, and a Certificate Authority (CA Authority) is included under the trusted Authority;
preferably, the initialization step of this embodiment is completed by a certificate authority, and specifically includes the following sub-steps:
generating three cyclic groups G having the same prime order p1,G2,GtAnd there is a bilinear map e, satisfying G1×G2→GtSelecting P1,P2As a circulating group G1,G2A generator of (2);
selecting two secure hash functions h0(·),H1(·),H2(·);
Publishing relevant parameters {, p, G1,G2,Gt,e,h0(·),H1(·),H2(-) wherein, a protocol security parameter is represented for human input at the end of the trusted authority;
further, the proxy re-encryption method supporting equation judgment in the cloud computing environment comprises the following steps:
step S10, each user terminal generates a key pair based on the protocol security parameters published by the certificate authority, the key pair comprises a public key and a private key, the private key is stored, and the certificate authority is registered; the key pair of the first user end comprises a first public key and a first private key, and the key pair of the second user end comprises a second public key and a second private key;
in a specific implementation of this step, a system user executes a key generation algorithm; (the general term of the user side in the system user cloud computing environment, which refers to each user side in the cloud computing environment, can be the first user side or the second user side): the first user end refers to a transmitting end, and the second user end refers to a receiving end;
1. key generation algorithm
It can be understood that a system user needs to generate a public and private key pair of the user according to the published relevant parameters, and register the public key to a CA certificate authority to ensure that other users can correctly obtain the public key, so that the first user end U can use the first user end U to obtain the public key pairiFor example, the specific steps are as follows:
1.2, calculating the first public keyWherein a first part of the first public key isThe second part of the public key is
1.3, the first user terminal UiThe first public key pkiRegistering to the certificate authority and publishing the first public key pkiThe first user terminal UiThe first private key sk is combinediAnd safely saved to the local.
It can be understood that, in the present embodiment, the first user terminal UiThe key pair generated according to the key generation algorithm is: first public keyAnd a first private key ski;
Accordingly, the above-mentioned key pair generation manner in this embodiment is also applicable to the second user endThe second user terminal is UjSaid second user terminal UjThe key pair generated according to the key generation algorithm is: second public keyAnd a second private key skj;
Step S20, the first user terminal encrypts a plurality of plaintext data to be shared through the first public key according to a preset encryption mode to obtain a plurality of first ciphertexts, and the first ciphertexts are respectively sent and stored to the cloud server; the plaintext data to be shared represents plaintext data authorized by the first user terminal to the second user terminal;
the second user terminal encrypts interest plaintext data through the second public key according to a preset encryption mode to obtain a second ciphertext, wherein the interest plaintext data refers to shared data expected to be obtained by the second user terminal, and the second ciphertext is sent to and stored in the cloud server;
it should be noted that, in the specific implementation of the preset encryption mode, the following 2-1 encryption algorithm is executed by a system user;
2-1. encryption algorithm
It can be understood that the first user terminal provides a plurality of plaintext data to be shared to the server; the system user uses the public key to encrypt the plaintext data to be shared, and uses the first user end UiEncrypting a plaintext data m to be sharediFor example, the specific steps are as follows:
2.2, calculating plaintext data m to be sharediFirst part C ofi1=r1r2P2And ciphertext second part Ci2=r1r2h0(mi)P1+r3P1;
2.4 calculating intermediate variablesFurther calculate the plaintext data m to be sharediFourth part ofWherein
It should be noted that the above ciphertext generating method (i.e., the preset encryption method) is also applicable to the second user side.
2-2. self-decryption algorithm
Accordingly, the user side can decrypt the ciphertext data encrypted by using the own public key by using the own private key to obtain the corresponding plaintext data.
The user decrypts the ciphertext data encrypted by using the own public key by using the own private key so as to obtain corresponding plaintext data. By the first user terminal UiDecrypting original ciphertext data and decrypting first ciphertext For example, the specific steps are as follows:
2.2 Using the private Key skiRecovery of random numbers used in encryptionAccording to the encryption algorithm step 2.4, if the user U knowsiWhen the correct private key is input, r can be correctly recovered2.
2.3, by calculationRecovering a plaintext message miFrom the encryption algorithm step 2.3, it can be seen that if user U is presentiIn step (1), r is correctly calculated2The plaintext message can be recovered correctly.
2.4, calculating and judging r1r2P2And Ci1Whether they are equal or not, calculating and judging r1r2h0(mi)P1+r3P1And Ci2And if so, indicating that the plaintext is correctly decrypted, otherwise, indicating that the decryption is wrong.
It should be noted that the above self-decryption method is also applicable to the second client.
3. Re-encryption key generation algorithm
It can be understood that a legal user wants to authorize the ciphertext generated by his public key to another legal user, and needs to generate a re-encryption key for the ciphertext to be authorized, so that the first user U can use the re-encryption key to encrypt the ciphertext to be authorizediAuthorizing target first ciphertext dataFor the second user end UjGenerating a re-encryption key, which comprises the following specific steps:
step S31, the first user end obtains a corresponding target first ciphertext from the cloud server and obtains a second public key of the second user end;
specifically, the first user terminal UiObtaining a first ciphertext from a cloud serverAnd acquiring the second user end UjSecond public key ofRepresenting the second user terminal UjThe first part of the second public key of (a),representing the second user terminal UjA second portion of the second public key of (a);
step S32, the first user terminal obtains a first target random number when the plaintext data to be shared is encrypted from the target first ciphertext according to a preset decryption mode based on the first private key;
it should be noted that the preset decryption manner is a step in the 2-2 self-decryption algorithm;
specifically, the first user terminal UiUsing the first private key skiRecovering the first target random number used in the encryptionAccording to the encryption algorithm step 2.2, if the user U knowsiWhen the correct private key is input, r can be correctly recovered2;
Step S33, the first user terminal generates a re-encryption key according to the first public key, the second public key and the first target random number;
specifically, the first user terminal UiAccording to the first part of the first public keyA first part of the second public keyAnd the first target random number r2Generating a re-encryption key
4. Re-encryption algorithm
Understandably, the cloud server converts the ciphertext of one user into the ciphertext of another user by using the re-encryption key, and the first user end UiAuthorizing the first ciphertextFor the second user end UjFor example, the specific steps are as follows:
step S41, the first user terminal transmits the re-encryption key to the cloud server;
specifically, the first user terminal UiTransmitting a re-encryption key generated according to a re-encryption key generation algorithmFor the cloud server, the specific steps refer to a re-encryption key generation algorithm;
step S42, the cloud server converts the target first ciphertext into a re-encrypted ciphertext of the second user end through the re-encrypted key, the re-encrypted ciphertext is associated with the second public key, and the re-encrypted ciphertext is sent to the second user end;
specifically, the cloud server according to the target first ciphertextAnd said re-encryption key rkijCalculating the second user terminal UjSecond public key pkjCorresponding re-encrypted ciphertext
4-2, re-decryption algorithm
And step S43, the second user terminal decrypts the re-encrypted ciphertext through the second private key to obtain the target shared plaintext data of the first user terminal.
It can be understood that after obtaining the re-encrypted ciphertext corresponding to the public key, the user can decrypt the re-encrypted ciphertext by using the private key of the user to obtain the second user end UjDecrypting a first user side UiAuthorizing the first ciphertextAnd the resulting re-encrypted ciphertextFor example, the specific steps are as follows:
4.1 second user end UjCalculating intermediate variablesAnd verifyWhether or not equal toIf equal, the algorithm continues to be executed, otherwise exit.
4.3 second user end UjBy calculating:
recovery message mi. According to the ciphertext generation process in the re-encryption algorithm, if the user obtains the correct re-encrypted ciphertext and uses the correct key, the re-encrypted ciphertext can be correctly decrypted to obtain the message.
5. Authorization algorithm
Understandably, a legitimate user generates a trapdoor for a ciphertext encrypted by using a public key of the legitimate user to perform an equality test with a ciphertext generated by a public key of another legitimate user;
step S51, the second user terminal acquires a second target random number set when the second ciphertext is encrypted from the second ciphertext according to the preset decryption mode by using the second private key; the second user terminal generates a second trap door corresponding to the second ciphertext based on the second target random number set, the second private key and a first public key provided by the first user terminal, and sends the second trap door to the cloud server for equality test of the ciphertext;
it should be noted that the preset decryption manner is a step in the 4-2 re-decryption algorithm;
specifically, the second user terminal UjAs a ciphertextGenerating and first user terminal UiThe specific steps of the second trapdoor for carrying out equation test on the ciphertext are as follows:
the second user terminal UjObtaining the re-encrypted ciphertext from the cloud server obtaining the second ciphertext from the cloud server
The second user terminal UjUsing said second private key skjAcquiring a second target random number set r 'when the second ciphertext is encrypted from the second ciphertext according to the preset decryption mode'1、r′2、r′3;
The second user terminal UjCalculating the second trapdoorWhereinIs the first user terminal UiA first portion of the first public key of (a);
the second user terminal UjThe second trap door Tj→iAnd sending the data to the cloud server for equality test.
Step S52, the first user end acquires a first target random number set when the first ciphertext is encrypted from each first ciphertext by using the first private key according to the preset decryption mode; the first user terminal generates first trapdoors corresponding to the first ciphertexts based on the first target random number set, the first private key and a second public key provided by the second user terminal, and respectively sends the first trapdoors corresponding to the first ciphertexts to the cloud server;
specifically, the first user terminal UiAs a ciphertextGenerating and second user terminal UjThe specific steps of the first trapdoor for carrying out equation test on the ciphertext are as follows:
First user terminal UiUsing the first private key skiRecovering a first target set of random numbers r used in encryption from the first ciphertext1,r2,r3;
First user terminal UiCalculating the first trapdoorWhereinIs the second user terminal UjA first part of a public key;
first user terminal UiThe first trap door Ti→jAnd sending the data to the cloud server for equality test.
6. Authorization algorithm
Step S60, the cloud server performs ciphertext equality matching test on the second ciphertext and the corresponding second trapdoor respectively and each first ciphertext and the corresponding first trapdoor, and if the equality matching test result indicates that a target first trapdoor equal to the second trapdoor exists in each first trapdoor, the cloud server judges that the second ciphertext corresponding to the second trapdoor and the first ciphertext correspond to the same plaintext; and the first ciphertext corresponding to the first trapdoor equal to the second trapdoor is taken as the target first ciphertext, and the re-encryption steps S31-S43 are executed.
It can be understood that, after the cloud server obtains the two ciphertexts and the two corresponding trapdoors thereof, the cloud server can perform the cipher text equality test to the first user side UiFirst ciphertext ofAnd a first trapdoor Ti→jSecond user end UjThe second sentence of (1)And a second trapdoor Tj→iFor example, the method comprises the following steps:
6.3, the cloud Server determines e (IC)j,Ci1) And e (IC)i,Cj1) Whether the first ciphertext is equal to the second ciphertext is judged, if so, the plaintext m corresponding to the first ciphertext is judgediPlaintext m 'corresponding to the second ciphertext'iThe same;
otherwise, judging the plaintext m corresponding to the first ciphertextiPlaintext m 'corresponding to the second ciphertext'iDifferent.
Compared with the prior art, the embodiment of the invention has the following advantages and beneficial effects:
firstly, in the proxy re-encryption scheme in the prior art, although a ciphertext generated by encrypting a public key of an encryptor can be converted into a ciphertext corresponding to a public key of a decryptor under the condition of not revealing a decryption key, the ciphertext equality test is not supported, the embodiment of the invention designs a proxy re-encryption method supporting equation judgment in a cloud computing environment, namely, a first user side encrypts a plurality of plaintext data to be shared through the public key of the first user side to generate a plurality of first ciphertexts; the second user terminal encrypts the interested plaintext data through the public key of the second user terminal to generate a second ciphertext; the first user terminal generates a first trap door corresponding to the ciphertext based on a first ciphertext to be tested and a public key of the second user terminal; the second user terminal generates a second trapdoor corresponding to the ciphertext based on a second ciphertext generated by the second user terminal and the public key of the first user terminal; the cloud server is respectively and equivalently matched with each first trapdoor and the corresponding first ciphertext thereof based on the second trapdoor and the corresponding second ciphertext thereof, when a target first ciphertext matched with the second ciphertext is found, the first user end generates an agent re-encryption key by using parameters such as public parameters, a first user end private key and a second user public key and transmits the agent re-encryption key to the cloud server, the cloud server converts the target first ciphertext into a re-encryption ciphertext by using the agent re-encryption key and transmits the re-encryption ciphertext to the second user end, and the second user end decrypts the re-encryption ciphertext by using the agent re-encryption key to obtain a plaintext shared by the first user end. The invention reduces the communication and calculation cost of data sharing on the basis of supporting the ciphertext equality test.
In the embodiment, the cipher text can be subjected to equation judgment without decryption, so that the required plaintext data can be accurately positioned without revealing data privacy, and the communication overhead between the cloud server and the user is reduced.
Secondly, in the process of re-encryption, only hash operation and exclusive or operation are applied, so that the method has high efficiency and practicability, and the calculation overhead of the whole system is reduced.
In addition, in order to achieve the purpose of the invention, the invention also provides an embodiment of an agent re-encryption system supporting equation judgment in a cloud computing environment, wherein the system comprises a certificate authority, a cloud server and a plurality of user sides; the certificate authority is used for publishing protocol security parameters to each user side; the user side comprises a first user side and a second user side;
each user side is used for generating a key pair based on protocol security parameters published by the certificate authority, wherein the key pair comprises a public key and a private key, storing the private key and registering the public key to the certificate authority; the key pair of the first user end comprises a first public key and a first private key, and the key pair of the second user end comprises a second public key and a second private key;
the first user side is used for encrypting a plurality of plaintext data to be shared through the first public key according to a preset encryption mode to obtain a plurality of first ciphertexts, and respectively sending and storing each first ciphertext to the cloud server; the plaintext data to be shared represents plaintext data authorized by the first user terminal to the second user terminal;
the second user side is used for encrypting the interest plaintext data through the second public key according to a preset encryption mode to obtain a second ciphertext, wherein the interest plaintext data is shared data expected to be obtained by the second user side, and the second ciphertext is sent and stored to the cloud server;
the second user end is further configured to obtain a second target random number set when the second ciphertext is encrypted from the second ciphertext according to the preset decryption manner by using the second private key; the second user terminal generates a second trap door corresponding to the second ciphertext based on the second target random number set, the second private key and a first public key provided by the first user terminal, and sends the second trap door to the cloud server for equality test of the ciphertext;
the first user is further configured to obtain, by the end, a first target random number set when the first ciphertext is encrypted from each of the first ciphertexts respectively according to the preset decryption manner by using the first private key; the first user terminal generates first trapdoors corresponding to the first ciphertexts based on the first target random number set, the first private key and a second public key provided by the second user terminal, and respectively sends the first trapdoors corresponding to the first ciphertexts to the cloud server;
the cloud server is further configured to perform ciphertext equality matching test with each first ciphertext and the corresponding first trapdoor based on the second ciphertext and the corresponding second trapdoor; if the equality matching test result indicates that a target first trapdoor equal to the second trapdoor exists in each first trapdoor, judging that a second ciphertext corresponding to the second trapdoor and the first ciphertext correspond to the same plaintext, and taking the first ciphertext corresponding to the first trapdoor equal to the second trapdoor as a target first ciphertext;
further, the first user side is further configured to obtain a corresponding target first ciphertext from the cloud server; acquiring a first target random number when target shared plaintext data corresponding to the target first ciphertext is encrypted based on the first private key according to a preset decryption mode; the first user terminal generates a re-encryption key corresponding to the target first ciphertext according to the first public key, the second public key and the first target random number; the first user terminal transmits the re-encryption key to the cloud server;
the cloud server is further configured to convert the target first ciphertext into a re-encrypted ciphertext of the second user side through the re-encrypted key, where the re-encrypted ciphertext is associated with the second public key; and sending the re-encrypted ciphertext to the second user end;
the second user end is further configured to decrypt the re-encrypted ciphertext through the second private key to obtain target shared plaintext data of the first user end.
Referring to fig. 3:
first user UiAnd a second user UjThe cloud server is expected to judge whether the two ciphertexts correspond to the same plaintext under the condition that the plaintext is not leaked;
user UiAnd user UjRespectively acquiring ciphertext data, and growing corresponding trapdoors by using an authorization algorithm according to the public and private key pair and the ciphertext data; .
After the cloud server receives the two trapdoors respectively, whether the plaintexts corresponding to the two ciphertexts are equal or not is judged by using a test algorithm according to the trapdoors and the ciphertext data.
The specific implementation of the proxy re-encryption system supporting equation determination in the cloud computing environment of this embodiment is the same as the above-mentioned embodiment of the proxy re-encryption method supporting equation determination in the cloud computing environment, and details are not repeated here.
It should be noted that, in this document, the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or system that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or system. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or system that comprises the element.
The above-mentioned serial numbers of the embodiments of the present invention are merely for description and do not represent the merits of the embodiments.
Through the above description of the embodiments, those skilled in the art will clearly understand that the method of the above embodiments can be implemented by software plus a necessary general hardware platform, and certainly can also be implemented by hardware, but in many cases, the former is a better implementation manner. Based on such understanding, the technical solution of the present invention may be embodied in the form of a software product, which is stored in a storage medium (e.g., ROM/RAM, magnetic disk, optical disk) as described above and includes instructions for enabling a terminal device (e.g., a mobile phone, a computer, a server, an air conditioner, or a network device) to execute the method according to the embodiments of the present invention.
The above description is only a preferred embodiment of the present invention, and not intended to limit the scope of the present invention, and all modifications of equivalent structures and equivalent processes, which are made by using the contents of the present specification and the accompanying drawings, or directly or indirectly applied to other related technical fields, are included in the scope of the present invention.
Claims (10)
1. An agent re-encryption method supporting equation judgment in a cloud computing environment is characterized in that the cloud computing environment comprises a certificate authority, a cloud server and a plurality of user sides; the certificate authority is used for publishing protocol security parameters to each user side; the user side is divided into two roles: the system comprises a first user terminal and a second user terminal, wherein the first user terminal shares plaintext data, and the second user terminal receives the shared plaintext data; the method comprises the following steps:
step S10, each user terminal generates a key pair based on the protocol security parameters published by the certificate authority, the key pair comprises a public key and a private key, the private key is stored, and the public key is registered to the certificate authority; the key pair of the first user end comprises a first public key and a first private key, and the key pair of the second user end comprises a second public key and a second private key;
step S20, the first user terminal encrypts a plurality of plaintext data to be shared through the first public key according to a preset encryption mode to obtain a plurality of first ciphertexts, and the first ciphertexts are respectively sent and stored to the cloud server; the plaintext data to be shared represents plaintext data authorized by the first user terminal to the second user terminal;
the second user terminal encrypts the interest plaintext data through the second public key according to a preset encryption mode to obtain a second ciphertext, wherein the interest plaintext data is shared data expected to be obtained by the second user terminal, and the second ciphertext is sent to and stored in the cloud server;
step S51, the second user terminal acquires a second target random number set when the second ciphertext is encrypted from the second ciphertext according to the preset decryption mode by using the second private key; the second user terminal generates a second trap door corresponding to the second ciphertext based on the second target random number set, the second private key and a first public key provided by the first user terminal, and sends the second trap door to the cloud server for equality test of the ciphertext;
step S52, the first user terminal respectively obtains a first target random number set when the first ciphertext is encrypted from each first ciphertext according to the preset decryption mode by using the first private key; the first user terminal generates first trapdoors corresponding to the first ciphertexts based on the first target random number set, the first private key and a second public key provided by the second user terminal, and respectively sends the first trapdoors corresponding to the first ciphertexts to the cloud server;
step S60, the cloud server respectively performs ciphertext equality matching test with each first ciphertext and the corresponding first trapdoor based on the second ciphertext and the corresponding second trapdoor;
if the equality matching test result indicates that a target first trapdoor equal to the second trapdoor exists in each first trapdoor, it is determined that a second ciphertext corresponding to the second trapdoor corresponds to the same plaintext as the first ciphertext, the first ciphertext corresponding to the first trapdoor equal to the second trapdoor is taken as a target first ciphertext, and the following re-encryption steps S31-S43 are performed:
step S31, the first user terminal obtains a corresponding target first ciphertext from the cloud server;
step S32, the first user terminal obtains a first target random number when the target shared plaintext data corresponding to the target first ciphertext is encrypted according to a preset decryption mode based on the first private key;
step S33, the first user terminal generates a re-encryption key corresponding to the target first ciphertext according to the first public key, the second public key and the first target random number;
step S41, the first user terminal transmits the re-encryption key to the cloud server;
step S42, the cloud server converts the target first ciphertext into a re-encrypted ciphertext of the second user side through the re-encrypted key, wherein the re-encrypted ciphertext is associated with the second public key; and sending the re-encrypted ciphertext to the second user end;
and step S43, the second user terminal decrypts the re-encrypted ciphertext through the second private key to obtain the target shared plaintext data of the first user terminal.
2. The method of claim 1, wherein prior to the step S1, the method further comprises:
the certificate authority generates three cyclic groups G with the same prime order p1,G2,GtAnd there is a bilinear map e, satisfying G1×G2→GtSelecting P1,P2As a circulating group G1,G2A generator of (2);
the certificate authority selects two secure hash functions h0(·),H1(·),H2(·);
The certificate authority publishes relevant parameters {, p, G1,G2,Gt,e,h0(·),H1(·),H2(.) }, wherein the protocol security parameters entered manually at the end of the trusted authority are represented.
3. The method according to claim 2, wherein the step S10 specifically includes:
each user side generates a key pair based on protocol security parameters published by the certificate authority, the key pair comprises a public key and a private key, the private key is stored, and the public key is registered to the certificate authority; wherein, each user terminal UiIs generated by the following steps:
The user side UiComputing public keysWherein the public key pkiThe first part of the public key ofThe second part of the public key is
The user side UiWill public key pkiRegistering to the certificate authority and publishing the public key pkiSaid user side UiThe first private key sk is combinediAnd safely saved to the local.
4. The method of claim 3, wherein i represents a variable;
by UiRepresents said first client, skiRepresents the first private key, pkiRepresenting a first public key, said first public key pkiThe first part of the public key ofThe second part of the public key is
5. The method according to claim 4, wherein the preset encryption scheme is characterized in the step S20 by the steps of:
the first user terminal UiIn the limited domainIn the random selection of three elementsThe first user terminal UiCalculating plaintext data m to be sharediFirst part C of the ciphertexti1=r1r2P2And ciphertext second part Ci2=r1r2h0(mi)P1+r3P1;
The first user terminal UiCalculating the plaintext data m to be sharediThird part of the ciphertext
The first user terminal UiCalculating intermediate variablesBased on said intermediate variablesCalculating plaintext data m to be sharediFourth part of the ciphertextWherein
The first user terminal UiBased on the plaintext data m to be sharediFirst part C of the ciphertexti1Ciphertext second part Ci2Ciphertext third part Ci3And a ciphertext fourth section
6. The method according to claim 5, wherein the step S31 specifically includes:
the first user terminal UiObtaining a target first ciphertext from a cloud serverAnd acquiring the second user end UjSecond public key ofWherein the content of the first and second substances,representing the second user terminal UjThe first part of the second public key of (a),representing the second user terminal UjA second portion of the second public key of (a);
correspondingly, the step S32 specifically includes:
the first user terminal UiBased on the first private key sk according to a preset decryption modeiFirst ciphertext from the targetTo obtain the plaintext data m to be sharediFirst target random number r when encrypted2Wherein the first target random number
Correspondingly, the step S33 specifically includes:
7. The method according to claim 6, wherein the step S41 specifically includes:
the first user terminal UiEncrypting the re-encryption key rkijTransmitting to the cloud server;
correspondingly, the step S42 specifically includes:
the cloud server according to the target first ciphertextAnd said re-encryption key rkijCalculating the second user terminal UjSecond public key pkjCorresponding re-encrypted ciphertext
8. The method according to claim 5, wherein the step S51 specifically comprises the second user terminal UjObtaining the second ciphertext from the cloud server
The second user terminal UjUsing the second private key skjAcquiring a second target random number set r when the second ciphertext is encrypted from the second ciphertext according to the preset decryption mode1 ′、r2 ′、r3 ′;
The second user terminal UjThe second trap door Tj→iSending the data to the cloud server;
correspondingly, the step S52 specifically includes:
The first user terminal UiProcessing each of the first ciphertextsThen, the first private key sk is utilizediRecovering a first target set of random numbers r used in encryption from the first ciphertext1,r2,r3;
The first user terminal UiEach first trap door Ti→jAnd sending the data to the cloud server.
9. The method of claim 8, wherein the step S60 of performing, by the cloud server, ciphertext equality matching test with each of the first ciphertext and the first trapdoor corresponding thereto based on the second ciphertext and the second trapdoor corresponding thereto, specifically comprises:
The cloud server determines e (IC)j,Ci1) And e (IC)i,Cj1) Whether the first ciphertext is equal to the second ciphertext is judged, if so, the plaintext m corresponding to the first ciphertext is judgediPlaintext m 'corresponding to the second ciphertext'iThe same; otherwise, judging the plaintext m corresponding to the first ciphertextiPlaintext m 'corresponding to the second ciphertext'iDifferent.
10. An agent re-encryption system supporting equation judgment in a cloud computing environment is characterized by comprising a certificate authority, a cloud server and a plurality of user sides; the certificate authority is used for publishing protocol security parameters to each user side; the user side comprises a first user side and a second user side;
each user side is used for generating a key pair based on protocol security parameters published by the certificate authority, wherein the key pair comprises a public key and a private key, storing the private key and registering the public key to the certificate authority; the key pair of the first user end comprises a first public key and a first private key, and the key pair of the second user end comprises a second public key and a second private key;
the first user side is used for encrypting a plurality of plaintext data to be shared through the first public key according to a preset encryption mode to obtain a plurality of first ciphertexts, and respectively sending and storing each first ciphertext to the cloud server; the plaintext data to be shared represents plaintext data authorized by the first user terminal to the second user terminal;
the second user side is used for encrypting the interest plaintext data through the second public key according to a preset encryption mode to obtain a second ciphertext, wherein the interest plaintext data is shared data expected to be obtained by the second user side, and the second ciphertext is sent and stored to the cloud server;
the second user end is further configured to obtain a second target random number set when the second ciphertext is encrypted from the second ciphertext according to the preset decryption manner by using the second private key; the second user terminal generates a second trap door corresponding to the second ciphertext based on the second target random number set, the second private key and a first public key provided by the first user terminal, and sends the second trap door to the cloud server for equality test of the ciphertext;
the first user is further configured to obtain, by the end, a first target random number set when the first ciphertext is encrypted from each of the first ciphertexts respectively according to the preset decryption manner by using the first private key; the first user terminal generates first trapdoors corresponding to the first ciphertexts based on the first target random number set, the first private key and a second public key provided by the second user terminal, and respectively sends the first trapdoors corresponding to the first ciphertexts to the cloud server;
the cloud server is further configured to perform ciphertext equality matching test with each first ciphertext and the corresponding first trapdoor based on the second ciphertext and the corresponding second trapdoor; if the equality matching test result indicates that a target first trapdoor equal to the second trapdoor exists in each first trapdoor, judging that a second ciphertext corresponding to the second trapdoor and the first ciphertext correspond to the same plaintext, and taking the first ciphertext corresponding to the first trapdoor equal to the second trapdoor as a target first ciphertext;
the first user side is used for acquiring a corresponding target first ciphertext from the cloud server; acquiring a first target random number when target shared plaintext data corresponding to the target first ciphertext is encrypted based on the first private key according to a preset decryption mode; the first user terminal generates a re-encryption key corresponding to the target first ciphertext according to the first public key, the second public key and the first target random number; the first user terminal transmits the re-encryption key to the cloud server;
the cloud server is used for converting the target first ciphertext into a re-encrypted ciphertext of the second user side through the re-encrypted key, wherein the re-encrypted ciphertext is associated with the second public key; and sending the re-encrypted ciphertext to the second user end;
and the second user side is used for decrypting the re-encrypted ciphertext through the second private key to obtain target shared plaintext data of the first user side.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010729069.3A CN111786786A (en) | 2020-07-27 | 2020-07-27 | Agent re-encryption method and system supporting equation judgment in cloud computing environment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010729069.3A CN111786786A (en) | 2020-07-27 | 2020-07-27 | Agent re-encryption method and system supporting equation judgment in cloud computing environment |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111786786A true CN111786786A (en) | 2020-10-16 |
Family
ID=72764900
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010729069.3A Pending CN111786786A (en) | 2020-07-27 | 2020-07-27 | Agent re-encryption method and system supporting equation judgment in cloud computing environment |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111786786A (en) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231737A (en) * | 2020-11-05 | 2021-01-15 | 深圳技术大学 | Data security comparison protocol implementation method, system, electronic device and storage medium |
CN112887089A (en) * | 2021-01-25 | 2021-06-01 | 华南农业大学 | Ciphertext similarity calculation method, device and system and storage medium |
CN114125831A (en) * | 2022-01-25 | 2022-03-01 | 国网浙江省电力有限公司信息通信分公司 | 5G smart grid user side data acquisition method and system based on proxy re-encryption |
CN114553612A (en) * | 2022-04-27 | 2022-05-27 | 深圳市一航网络信息技术有限公司 | Data encryption and decryption method and device, storage medium and electronic equipment |
CN116707798A (en) * | 2023-07-11 | 2023-09-05 | 西华大学 | Ciphertext examination method, device and system based on equivalence test |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016197770A1 (en) * | 2015-06-12 | 2016-12-15 | 深圳大学 | Access control system and access control method thereof for cloud storage service platform |
CN109660555A (en) * | 2019-01-09 | 2019-04-19 | 上海交通大学 | Content safety sharing method and system based on proxy re-encryption |
CN110958219A (en) * | 2019-10-21 | 2020-04-03 | 武汉大学 | SM2 proxy re-encryption method and device for medical cloud shared data |
-
2020
- 2020-07-27 CN CN202010729069.3A patent/CN111786786A/en active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016197770A1 (en) * | 2015-06-12 | 2016-12-15 | 深圳大学 | Access control system and access control method thereof for cloud storage service platform |
CN109660555A (en) * | 2019-01-09 | 2019-04-19 | 上海交通大学 | Content safety sharing method and system based on proxy re-encryption |
CN110958219A (en) * | 2019-10-21 | 2020-04-03 | 武汉大学 | SM2 proxy re-encryption method and device for medical cloud shared data |
Non-Patent Citations (1)
Title |
---|
BIWEN CHEN等: "A Blockchain-Based Proxy Re-Encryption With Equality Test for Vehicular Communication Systems", 《IEEE TRANSACTIONS ON NETWORK SCIENCE AND ENGINEERING》 * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112231737A (en) * | 2020-11-05 | 2021-01-15 | 深圳技术大学 | Data security comparison protocol implementation method, system, electronic device and storage medium |
CN112231737B (en) * | 2020-11-05 | 2023-08-22 | 深圳技术大学 | Data security comparison protocol implementation method, system, electronic device and storage medium |
CN112887089A (en) * | 2021-01-25 | 2021-06-01 | 华南农业大学 | Ciphertext similarity calculation method, device and system and storage medium |
CN112887089B (en) * | 2021-01-25 | 2022-08-12 | 华南农业大学 | Ciphertext similarity calculation method, device and system and storage medium |
CN114125831A (en) * | 2022-01-25 | 2022-03-01 | 国网浙江省电力有限公司信息通信分公司 | 5G smart grid user side data acquisition method and system based on proxy re-encryption |
CN114553612A (en) * | 2022-04-27 | 2022-05-27 | 深圳市一航网络信息技术有限公司 | Data encryption and decryption method and device, storage medium and electronic equipment |
CN114553612B (en) * | 2022-04-27 | 2022-07-26 | 深圳市一航网络信息技术有限公司 | Data encryption and decryption method and device, storage medium and electronic equipment |
CN116707798A (en) * | 2023-07-11 | 2023-09-05 | 西华大学 | Ciphertext examination method, device and system based on equivalence test |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109831430B (en) | Safe, controllable and efficient data sharing method and system under cloud computing environment | |
CN111786786A (en) | Agent re-encryption method and system supporting equation judgment in cloud computing environment | |
CN108737115B (en) | Private attribute set intersection solving method with privacy protection | |
CN107154845B (en) | BGN type ciphertext decryption outsourcing scheme based on attributes | |
CN110932851B (en) | PKI-based multi-party cooperative operation key protection method | |
JP3583555B2 (en) | Cryptographic communication method | |
JP6194886B2 (en) | Encryption statistical processing system, decryption system, key generation device, proxy device, encrypted statistical data generation device, encryption statistical processing method, and encryption statistical processing program | |
JP2014126865A (en) | Device and method for encryption processing | |
US20150326392A1 (en) | Matrix-based cryptosystem | |
CN107086911B (en) | CCA (clear channel assessment) safe proxy re-encryption method capable of delegating verification | |
US20170310479A1 (en) | Key Replacement Direction Control System and Key Replacement Direction Control Method | |
CN108989049B (en) | Agent re-encryption system and method without bilinear pairing | |
WO2014185450A1 (en) | Verification system, node, verification method, and program | |
CN111556048B (en) | Attribute-based secure communication method and system supporting ciphertext mode matching | |
WO2014030706A1 (en) | Encrypted database system, client device and server, method and program for adding encrypted data | |
CN116346336B (en) | Key distribution method based on multi-layer key generation center and related system | |
CN108920968B (en) | File searchable encryption method based on connection keywords | |
KR101793528B1 (en) | Certificateless public key encryption system and receiving terminal | |
CN114070549A (en) | Key generation method, device, equipment and storage medium | |
Siva et al. | Hybrid cryptography security in public cloud using TwoFish and ECC algorithm | |
Altarawneh | A strong combination of cryptographic techniques to secure cloud-hosted data | |
JP6927199B2 (en) | Ciphertext matching system, node device, ciphertext matching method, and program | |
CN116170131B (en) | Ciphertext processing method, ciphertext processing device, storage medium and trusted execution device | |
CN115879136B (en) | Cloud data protection method | |
Jahan et al. | Securely distributing files in cloud environment by dispensing asymmetric key management system applying hashing |
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 |