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 PDF

Info

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
Application number
CN202010729069.3A
Other languages
Chinese (zh)
Inventor
张栋
罗敏
陈泌文
何德彪
李林蔚
王峥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhan University WHU
Zhengzhou Power Supply Co of Henan Electric Power Co
Original Assignee
Wuhan University WHU
Zhengzhou Power Supply Co of Henan Electric Power Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Wuhan University WHU, Zhengzhou Power Supply Co of Henan Electric Power Co filed Critical Wuhan University WHU
Priority to CN202010729069.3A priority Critical patent/CN111786786A/en
Publication of CN111786786A publication Critical patent/CN111786786A/en
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0825Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key 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/0827Key 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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/3236Cryptographic 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

Agent re-encryption method and system supporting equation judgment in cloud computing environment
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:
user side UiIn a limited domain
Figure BDA0002602384030000041
In which an element is randomly selected
Figure BDA0002602384030000042
As the private key ski
The user side UiComputing public keys
Figure BDA0002602384030000043
Wherein the public key pkiThe first part of the public key of
Figure BDA0002602384030000044
The second part of the public key is
Figure BDA0002602384030000045
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 of
Figure BDA0002602384030000046
The second part of the public key is
Figure BDA0002602384030000047
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 of
Figure BDA0002602384030000048
The second part of the public key is
Figure BDA0002602384030000049
Preferably, the preset encryption mode is characterized in the step S20 by the following steps:
the first user terminal UiIn the limited domain
Figure BDA00026023840300000410
In the random selection of three elements r1,r2,
Figure BDA00026023840300000411
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
Figure BDA00026023840300000412
The first user terminal UiCalculating intermediate variables
Figure BDA00026023840300000413
Based on said intermediate variables
Figure BDA00026023840300000414
Calculating plaintext data m to be sharediFourth part of the ciphertext
Figure BDA00026023840300000415
Wherein
Figure BDA00026023840300000416
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
Figure BDA00026023840300000417
Creating the plaintext data m to be sharediFirst ciphertext of the original ciphertext data
Figure BDA00026023840300000418
Figure BDA00026023840300000419
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 server
Figure BDA00026023840300000420
And acquiring the second user end UjSecond public key of
Figure BDA00026023840300000421
Wherein the content of the first and second substances,
Figure BDA00026023840300000422
representing the second user terminal UjThe first part of the second public key of (a),
Figure BDA00026023840300000423
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 target
Figure BDA0002602384030000051
To obtain the plaintext data m to be sharediFirst target random number r when encrypted2Wherein the first target random number
Figure BDA0002602384030000052
Correspondingly, the step S33 specifically includes:
the first user terminal UiAccording to the first part of the first public key
Figure BDA0002602384030000053
A first part of the second public key
Figure BDA0002602384030000054
And the first target random number r2Generating a re-encryption key
Figure BDA0002602384030000055
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 ciphertext
Figure BDA0002602384030000056
And said re-encryption key rkijCalculating the second user terminal UjSecond public key pkjCorresponding re-encrypted ciphertext
Figure BDA0002602384030000057
Figure BDA0002602384030000058
Wherein C isj1=Ci1,Cj2=Ci2
Figure BDA0002602384030000059
Preferably, the step S51 specifically includes:
the second user terminal UjObtaining the second ciphertext from the cloud server
Figure BDA00026023840300000510
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 UjCalculating the second trapdoor
Figure BDA00026023840300000511
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 UiObtaining respective first ciphertexts from the cloud server
Figure BDA00026023840300000512
Figure BDA00026023840300000513
The first user terminal UiProcessing each of the first ciphertexts
Figure BDA00026023840300000514
Then, 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 UiCalculating the first trapdoor
Figure BDA00026023840300000515
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 calculates a first user terminal UiIntermediate variables of
Figure BDA0002602384030000061
Figure BDA0002602384030000062
The cloud server calculates a second user terminal UjIntermediate variables of
Figure BDA0002602384030000063
Figure BDA0002602384030000064
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.
Figure BDA0002602384030000091
A finite field consisting of the integers 1,2, …, p-1.
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 is
Figure BDA0002602384030000092
A 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 is
Figure BDA0002602384030000093
A 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.
Figure BDA0002602384030000094
Representing a user UiTwo parts of the public key are used,
Figure BDA0002602384030000095
representing the public key pkiThe first part of (a) is,
Figure BDA0002602384030000096
representing the public key pkiThe second part of (1).
mi: representing a plaintext message to be encrypted.
Figure BDA0002602384030000097
Public key pk for representationiEncryption plaintext miThe obtained ciphertext comprises four parts: ci1Representing ciphertext
Figure BDA0002602384030000098
First part of (1), Ci2Representing ciphertext
Figure BDA0002602384030000099
Second part of (2), Ci3Representing ciphertext
Figure BDA00026023840300000910
In the third part of (a) to (b),
Figure BDA00026023840300000911
representing ciphertext
Figure BDA00026023840300000912
The fourth section. The fourth part of the ciphertext comprises two parts:
Figure BDA00026023840300000913
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 ciphertext
Figure BDA00026023840300000914
Converted into user UjPublic key pkjEncrypted ciphertext
Figure BDA00026023840300000915
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
Figure BDA0002602384030000101
Representing a string xor operation.
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.1 in the Limited Domain
Figure BDA0002602384030000121
In which an element is randomly selected
Figure BDA0002602384030000122
As the first private key ski
1.2, calculating the first public key
Figure BDA0002602384030000123
Wherein a first part of the first public key is
Figure BDA0002602384030000124
The second part of the public key is
Figure BDA0002602384030000125
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 key
Figure BDA0002602384030000126
And 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 key
Figure BDA0002602384030000127
And 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.1 first user terminal UiIn a limited domain
Figure BDA0002602384030000131
In the random selection of three elements r1,r2,
Figure BDA0002602384030000132
2.2, calculating plaintext data m to be sharediFirst part C ofi1=r1r2P2And ciphertext second part Ci2=r1r2h0(mi)P1+r3P1
2.3, calculating to-be-shared plaintext data miThird part of (2)
Figure BDA0002602384030000133
Figure BDA0002602384030000134
2.4 calculating intermediate variables
Figure BDA0002602384030000135
Further calculate the plaintext data m to be sharediFourth part of
Figure BDA0002602384030000136
Wherein
Figure BDA0002602384030000137
2.5, the first ciphertext
Figure BDA0002602384030000138
And uploading to a cloud server for storage.
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
Figure BDA0002602384030000141
Figure BDA0002602384030000142
For example, the specific steps are as follows:
2.1, user UiObtaining ciphertext from a cloud server
Figure BDA0002602384030000143
2.2 Using the private Key skiRecovery of random numbers used in encryption
Figure BDA0002602384030000144
According 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 calculation
Figure BDA0002602384030000145
Recovering 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 data
Figure BDA0002602384030000146
For 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 server
Figure BDA0002602384030000147
And acquiring the second user end UjSecond public key of
Figure BDA0002602384030000148
Representing the second user terminal UjThe first part of the second public key of (a),
Figure BDA0002602384030000149
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 encryption
Figure BDA00026023840300001410
According 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 key
Figure BDA0002602384030000151
A first part of the second public key
Figure BDA0002602384030000152
And the first target random number r2Generating a re-encryption key
Figure BDA0002602384030000153
Figure BDA0002602384030000154
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 ciphertext
Figure BDA0002602384030000155
For 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 algorithm
Figure BDA0002602384030000156
For 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 ciphertext
Figure BDA0002602384030000157
And said re-encryption key rkijCalculating the second user terminal UjSecond public key pkjCorresponding re-encrypted ciphertext
Figure BDA0002602384030000158
Figure BDA0002602384030000159
Wherein C isj1=Ci1,Cj2=Ci2
Figure BDA00026023840300001510
Figure BDA00026023840300001511
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 ciphertext
Figure BDA00026023840300001512
And the resulting re-encrypted ciphertext
Figure BDA00026023840300001513
For example, the specific steps are as follows:
4.1 second user end UjCalculating intermediate variables
Figure BDA00026023840300001514
And verify
Figure BDA00026023840300001515
Whether or not equal to
Figure BDA00026023840300001516
If equal, the algorithm continues to be executed, otherwise exit.
4.2 second user end UjCalculating intermediate variables
Figure BDA0002602384030000161
4.3 second user end UjBy calculating:
Figure BDA0002602384030000162
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 ciphertext
Figure BDA0002602384030000163
Generating 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
Figure BDA0002602384030000164
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 trapdoor
Figure BDA0002602384030000165
Wherein
Figure BDA0002602384030000166
Is 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 ciphertext
Figure BDA0002602384030000171
Generating 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 UiObtaining a first ciphertext from the cloud server
Figure BDA0002602384030000172
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 trapdoor
Figure BDA0002602384030000173
Wherein
Figure BDA0002602384030000174
Is 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 of
Figure BDA0002602384030000175
And a first trapdoor Ti→jSecond user end UjThe second sentence of (1)
Figure BDA0002602384030000176
And a second trapdoor Tj→iFor example, the method comprises the following steps:
6.1, the cloud server calculates a first user end UiIntermediate variables of
Figure BDA0002602384030000177
Figure BDA0002602384030000178
6.2, the cloud server calculates a second user end UjIntermediate variables of
Figure BDA0002602384030000179
Figure BDA00026023840300001710
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:
user side UiIn a limited domain
Figure FDA0002602384020000021
In which an element is randomly selected
Figure FDA0002602384020000022
As the private key ski
The user side UiComputing public keys
Figure FDA0002602384020000031
Wherein the public key pkiThe first part of the public key of
Figure FDA0002602384020000032
The second part of the public key is
Figure FDA0002602384020000033
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 of
Figure FDA0002602384020000034
The second part of the public key is
Figure FDA0002602384020000035
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 of
Figure FDA0002602384020000036
The second part of the public key is
Figure FDA0002602384020000037
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 domain
Figure FDA0002602384020000038
In the random selection of three elements
Figure FDA0002602384020000039
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
Figure FDA00026023840200000310
The first user terminal UiCalculating intermediate variables
Figure FDA00026023840200000311
Based on said intermediate variables
Figure FDA00026023840200000312
Calculating plaintext data m to be sharediFourth part of the ciphertext
Figure FDA00026023840200000313
Wherein
Figure FDA00026023840200000314
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
Figure FDA00026023840200000315
Creating the plaintext data m to be sharediFirst ciphertext of the original ciphertext data
Figure FDA00026023840200000316
Figure FDA00026023840200000317
And uploading the first ciphertext to a cloud server.
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 server
Figure FDA00026023840200000318
And acquiring the second user end UjSecond public key of
Figure FDA00026023840200000319
Wherein the content of the first and second substances,
Figure FDA00026023840200000320
representing the second user terminal UjThe first part of the second public key of (a),
Figure FDA00026023840200000321
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 target
Figure FDA0002602384020000041
To obtain the plaintext data m to be sharediFirst target random number r when encrypted2Wherein the first target random number
Figure FDA0002602384020000042
Correspondingly, the step S33 specifically includes:
the first user terminal UiAccording to the first part of the first public key
Figure FDA0002602384020000043
A first part of the second public key
Figure FDA0002602384020000044
And the first target random number r2Generating a re-encryption key
Figure FDA0002602384020000045
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 ciphertext
Figure FDA0002602384020000046
And said re-encryption key rkijCalculating the second user terminal UjSecond public key pkjCorresponding re-encrypted ciphertext
Figure FDA0002602384020000047
Figure FDA0002602384020000048
Wherein C isj1=Ci1,Cj2=Ci2
Figure FDA0002602384020000049
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
Figure FDA00026023840200000410
Figure FDA00026023840200000411
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 UjCalculating the second trapdoor
Figure FDA00026023840200000412
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 UiObtaining respective first ciphertexts from the cloud server
Figure FDA00026023840200000413
Figure FDA00026023840200000414
The first user terminal UiProcessing each of the first ciphertexts
Figure FDA00026023840200000415
Then, 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 UiCalculating the first trapdoor
Figure FDA00026023840200000416
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 calculates a first user terminal UiIntermediate variables of
Figure FDA0002602384020000051
Figure FDA0002602384020000052
The cloud server calculates a second user terminal UjIntermediate variables of
Figure FDA0002602384020000053
Figure FDA0002602384020000054
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.
CN202010729069.3A 2020-07-27 2020-07-27 Agent re-encryption method and system supporting equation judgment in cloud computing environment Pending CN111786786A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (3)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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