Data Security Sharing Method and System from Identity-Based Encryption to Ordinary Public-Key Encryption
By converting the identity-based encrypted ciphertext into ordinary public key encrypted ciphertext in the cloud computing environment, the difficulty of decryption of data sharing between users of the identity-based encrypted system and users of the ordinary public key encrypted system is solved, and the efficiency and flexibility of data security sharing are improved.
Patent Information
- Application Number
- CN202411108530.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-08-13
- Publication Date
- 2025-06-27
- Estimated Expiration
- 2044-08-13
AI Technical Summary
In cloud computing application scenarios, users of the identity-based encryption system cannot directly share encrypted data with users of the ordinary public key encryption system, because users of the ordinary public key encryption system lack the private key of the identity-based encryption system, which leads to difficulty in decryption, complicated steps and large computing and communication overhead.
Through a data security sharing method from identity-based encryption to ordinary public key encryption, cloud servers are used to convert the identity-based encryption ciphertext into ordinary public key encrypted ciphertext, so that users of ordinary public key encryption system can use their own private key to directly decrypt data. The method includes steps such as system initialization, identity-based private key generation, data encryption, conversion key generation, ciphertext conversion and ciphertext decryption.
It realizes that the identity-based encrypted ciphertext is converted into a normal public key encrypted ciphertext without decrypting it, thereby improving the efficiency and flexibility of data security sharing, reducing computing and communication overhead, and enabling users of ordinary public key encryption system to directly decrypt and obtain plaintext data.
Smart Images

Figure CN119030709B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of cyberspace security, and particularly relates to a data security sharing method and system from identity-based encryption to ordinary public key encryption. Background Art
[0002] In application scenarios such as cloud computing, to protect data security, different users can use different encryption systems to encrypt data. For example, in an ordinary public key encryption system, a user can generate a public-private key pair by himself, where the public key is publicly released and the private key is kept by himself; when someone else wants to send data secretly to the user, they need to ask the user or a third party for the user's public key, and then use the public key to encrypt the data.
[0003] In identity-based encryption (IBE), when a user encrypts data, they do not need to obtain the recipient's public key from a third party, but directly use the recipient's identity string (such as an email address) to encrypt the data. Ordinary public key encryption is more suitable for occasions with a small number of users and a closed application scope, while identity-based encryption is more suitable for occasions with a large number of users and an open application scope. For the purposes of business communication, data sharing, etc., users of the identity-based encryption system sometimes need to share encrypted data in cloud storage with users of the ordinary public key encryption system; however, since the data is encrypted by the identity-based encryption system and the users of the ordinary public key encryption system do not have the private key of the identity-based encryption system, the users of the ordinary public key encryption system cannot decrypt the encrypted data of the users of the identity-based encryption system. A direct decryption method is that the users of the identity-based encryption system first decrypt the data, and then use the ordinary public key encryption algorithm to encrypt the data and send it to the users of the ordinary public key encryption system. This method has complex steps and will cause high computational and communication overheads. Summary of the Invention
[0004] The purpose of the embodiments of the present invention is to provide a data security sharing method and system from identity-based encryption to ordinary public key encryption, which can directly convert identity-based ciphertext into ordinary public key ciphertext, enabling users of the ordinary public key encryption system to access the data using their own private keys; and, users of the identity-based encryption system can specify which identity-based ciphertexts can be converted through tags, thereby realizing a more flexible data sharing, and thus can solve at least one of the technical problems involved in the background art.
[0005] To solve the above technical problems, the present invention is implemented as follows:
[0006] The embodiments of the present invention provide a data security sharing method from identity-based encryption to ordinary public key encryption, including the following steps:
[0007] Step S1, system initialization, where a trusted third party runs an initialization algorithm to generate system public parameters and a master private key;
[0008] Step S2, Identity-based Private Key Generation. The identity-based encryption user applies to generate a private key for its identity identifier ID. The trusted third party runs the identity-based private key generation algorithm and secretly sends the generated identity-based private key to the user.
[0009] Step S3, Ordinary Public-Private Key Generation. After obtaining the system public parameters, the ordinary public key encryption user generates its own ordinary public-private key. Among them, the public key is published to all users in the system, and the private key is secretly kept by itself.
[0010] Step S4, Data Encryption. Before uploading the data, the identity-based encryption user encrypts the data using the identity identifier and the tag, and then uploads the formed identity-based encrypted ciphertext to the cloud server.
[0011] Step S5, Conversion Key Generation. The identity-based encryption user uses its own identity-based private key, the public key of the ordinary public key system user, and specifies the tag to generate the conversion key.
[0012] Step S6, Ciphertext Conversion. The cloud server converts the identity-based encrypted ciphertext into an ordinary public key encrypted ciphertext.
[0013] Step S7, Ciphertext Decryption. After downloading the ordinary public key encrypted ciphertext from the cloud server, the ordinary public key encryption user decrypts the ciphertext using its own private key.
[0014] The present invention also provides a data security sharing system from identity-based encryption to ordinary public key encryption for implementing the above method, including:
[0015] System Initialization Module, which is used for the trusted third party to run the initialization algorithm to generate system public parameters and the master private key.
[0016] Identity-based Private Key Generation Module, which is used for the identity-based encryption user to apply to generate a private key for its identity identifier ID. The trusted third party runs the identity-based private key generation algorithm and secretly sends the generated identity-based private key to the user.
[0017] Ordinary Public-Private Key Generation Module, which is used for the ordinary public key encryption user to generate its own ordinary public-private key after obtaining the system public parameters. Among them, the public key is published to all users in the system, and the private key is secretly kept by itself.
[0018] Data Encryption Module, which is used for the identity-based encryption user to encrypt the data using the identity identifier and the tag before uploading the data, and then upload the formed identity-based encrypted ciphertext to the cloud server.
[0019] Conversion Key Generation Module, which is used for the identity-based encryption user to use its own identity-based private key, the public key of the ordinary public key system user, and specify the tag to generate the conversion key.
[0020] The ciphertext conversion module is used to convert the identity-based encryption ciphertext into a common public-key encryption ciphertext through a cloud server; and
[0021] The ciphertext decryption module is used to decrypt the ciphertext with its own private key after the user of the common public-key encryption downloads the common public-key encryption ciphertext from the cloud server.
[0022] Compared with the prior art, the beneficial effects of the present invention are as follows:
[0023] 1. This application proposes a data security sharing method from identity-based encryption to common public-key encryption for the data security sharing problem between users of the identity-based encryption system and the common public-key encryption system in the cloud environment. Compared with the common method of first decrypting the identity-based encryption ciphertext and then encrypting it using the public-key encryption system, the efficiency of ciphertext conversion is improved. It can convert the identity-based encryption ciphertext into a common public-key encryption ciphertext without decrypting the identity-based encryption ciphertext, enabling users of the common public-key encryption system to directly decrypt and obtain the plaintext data.
[0024] 2. Compared with the traditional ciphertext conversion method that only supports a single encryption system, this application bridges the identity-based encryption system and the common public-key encryption system, allowing the two different encryption systems to operate independently. Only when data sharing is required, the user of the identity-based encryption system initiates ciphertext conversion, thereby improving the flexibility and adaptability of the solution and making it easier to implement between the two different encryption systems.
[0025] 3. Compared with the traditional identity-based encryption, the identity-based encryption system in this application allows users to encrypt data using tags, that is, different identity-based encryption ciphertexts are identified by tags. When the user of the identity-based encryption system generates a conversion key, the permission of the conversion key can be restricted by specifying a tag, so that the conversion key can only be used to convert ciphertexts with the same tag. Description of the Drawings
[0026] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following will briefly introduce the drawings required for the description of the embodiments. Obviously, the following drawings are only some embodiments of the present invention. For those of ordinary skill in the art, without creative efforts, other drawings can be obtained according to these drawings, where:
[0027] Figure 1 is the flowchart of the data security sharing method from identity-based encryption to common public-key encryption provided by the present invention;
[0028] Figure 2 is the structural block diagram of the data security sharing system from identity-based encryption to common public-key encryption provided by the present invention. Detailed Embodiments
[0029] Next, the technical solutions in the embodiments of the present invention will be clearly and completely described in conjunction with the accompanying drawings in the embodiments of the present invention. Obviously, the described embodiments are part of the embodiments of the present invention, rather than all the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those of ordinary skill in the art without creative efforts shall fall within the protection scope of the present invention.
[0030] The terms "first", "second", etc. in the specification and claims of the present invention are used to distinguish similar objects, rather than to describe a specific order or sequence. It should be understood that such data can be interchanged under appropriate circumstances so that the embodiments of the present invention can be implemented in an order other than those illustrated or described herein, and the objects distinguished by "first", "second", etc. are usually of the same category, and the number of objects is not limited. For example, the first object can be one or multiple. In addition, "and / or" in the specification and claims means at least one of the connected objects, and the character " / " generally means an "or" relationship between the associated objects before and after.
[0031] Please refer to Figure 1 As shown, the embodiment of the present invention provides a data security sharing method from identity-based encryption to ordinary public-key encryption, including the following steps:
[0032] Step S1, system initialization, where a trusted third party runs an initialization algorithm to generate system public parameters and a master private key;
[0033] Step S2, identity-based private key generation, where an identity-based encryption user applies for generating a private key for its identity identifier ID, and a trusted third party runs an identity-based private key generation algorithm to secretly send the generated identity-based private key to the user;
[0034] Step S3, ordinary public and private key generation, where an ordinary public-key encryption user generates ordinary public and private keys by itself after obtaining the system public parameters. Among them, the public key is published to all users in the system, and the private key is secretly kept by itself;
[0035] Step S4, data encryption, where an identity-based encryption user encrypts the data using the identity identifier and a tag before uploading the data, and then uploads the formed identity-based encrypted ciphertext to the cloud server;
[0036] Step S5, conversion key generation, where an identity-based encryption user uses its own identity-based private key, the public key of an ordinary public-key system user, and specifies a tag to generate a conversion key;
[0037] Step S6, ciphertext conversion, where the cloud server converts the identity-based encrypted ciphertext into an ordinary public-key encrypted ciphertext;
[0038] Step S7, ciphertext decryption. After the user encrypted with the ordinary public key downloads the ciphertext encrypted with the ordinary public key from the cloud server, the user decrypts the ciphertext using its own private key.
[0039] In step S1, system initialization specifically includes:
[0040] Input the security parameter κ. The initialization algorithm selects a bilinear mapping e: G×G→G of order a large prime number p T ;
[0041] Select any elements g, h, u, w ∈ G, α ∈ Z p , and a hash function H: {0, 1} * →G;
[0042] Output the system public parameters as PP = (G, G T , e, p, g, h, u, w, H, e(g α , h)), and the master private key MSK = g α .
[0043] In step S2, it should be noted that the identity-based encryption user is the data owner.
[0044] Identity-based private key generation specifically includes:
[0045] Input (PP, MSK), and output the user's identity-based private key SK IBE ;
[0046] The identity-based private key generation algorithm selects a random element r ∈ Z p , and for the user identity ID, calculate: K0 = g α (H(ID)) r , K1 = h r ;
[0047] Output SK IBE = (K0, K1).
[0048] In step S3, it should be noted that the ordinary public key encryption user is the data user.
[0049] Ordinary public and private key generation specifically includes:
[0050] Input PP, and output the user's ordinary public key PK and private key SK;
[0051] The ordinary public and private key generation algorithm selects a random element β ∈ Z p , and calculate PK = g β , SK = β.
[0052] In step S4, it should be noted that the identity identifier can be an identifier string publicly disclosed by the user, such as an email address, and the tag can be a keyword used to describe the data.
[0053] Data encryption specifically includes:
[0054] Input the system public parameter PP, plaintext M, tag γ ∈ Z p , and the identity identifier ID;
[0055] The data encryption algorithm selects a random element s ∈ Z p , and calculates C0 = Me(g α ,h) s , C1 = (H(ID)) s , C2 = h s , C3 = (u γ w) s ;
[0056] Output the ciphertext CT = (C0, C1, C2, C3).
[0057] In step S5, the conversion key generation specifically includes:
[0058] Input the system public parameter PP, ordinary public key PK, tag γ, identity-based private key SK IBE = (K0, K1);
[0059] The conversion key generation algorithm selects random elements t, k ∈ Z p , and calculates d1 = g t , d2 = h k PK t , d3 = K0(u γ w) k , d4 = K1;
[0060] Output the conversion key RK = (d1, d2, d3, d4).
[0061] In step S6, it should be noted that the cloud server can only convert the identity-based encrypted ciphertext whose ciphertext tag is the same as the tag in the conversion key.
[0062] Ciphertext conversion specifically includes:
[0063] Input the system public parameter PP, identity-based encrypted ciphertext CT = (C0, C1, C2, C3), conversion key RK = (d1, d2, d3, d4);
[0064] The ciphertext conversion algorithm performs the following calculations:
[0065] c1 = d1 = g t , c2 = d2 = h k PKt ,
[0066]
[0067] c3 = C0 / c’3 = Me(g α ,h s ) / e(g α ,h s )e((u γ w) k ,h s ) = M / e((u γ w) k ,h s )
[0068] c4 = C3 = (u γ w) s ;
[0069] The output converted ciphertext CT’ = (c1, c2, c3, c4).
[0070] In step S7, the ciphertext decryption includes identity-based ciphertext decryption and ordinary public-key ciphertext decryption, where:
[0071] Identity-based ciphertext decryption specifically includes:
[0072] Input the system public parameters PP, the identity-based ciphertext CT = (C0, C1, C2, C3), and the identity-based key SK IBE = (K0, K1);
[0073] The identity-based ciphertext decryption algorithm calculates in sequence:
[0074]
[0075] Output the plaintext M;
[0076] Ordinary public-key ciphertext decryption specifically includes:
[0077] Input the system public parameters PP, the ordinary public-key ciphertext CT’ = (c1, c2, c3, c4), and the private key SK = β;
[0078] The ordinary public-key ciphertext decryption algorithm first calculates c2 / (c1) β = h k (g β ) t / g tβ = h k ; Then, calculate:
[0079] M = c3e(h k ,c4) = (M / e((u γ w) k ,hs ))e(h k ,(u γ w) s ));
[0080] Output the plaintext M.
[0081] Combined with Figure 2 As shown, the present invention also provides a data security sharing system from identity-based encryption to ordinary public-key encryption for implementing the above method, including a system initialization module 1, an identity-based private key generation module 2, an ordinary public and private key generation module 3, a data encryption module 4, a conversion key generation module 5, a ciphertext conversion module 6, and a ciphertext decryption module 7.
[0082] The system initialization module 1 is used to run an initialization algorithm by a trusted third party to generate system public parameters and a master private key.
[0083] The identity-based private key generation module 2 is used for an identity-based encryption user to apply for generating a private key for its identity identifier ID, and a trusted third party runs an identity-based private key generation algorithm to secretly send the generated identity-based private key to the user.
[0084] The ordinary public and private key generation module 3 is used for an ordinary public-key encryption user to generate ordinary public and private keys by itself after obtaining the system public parameters. Among them, the public key is published to all users in the system, and the private key is secretly kept by itself.
[0085] The data encryption module 4 is used for an identity-based encryption user to encrypt data using the identity identifier and a tag before uploading the data, and then upload the formed identity-based encrypted ciphertext to the cloud server.
[0086] The conversion key generation module 5 is used for an identity-based encryption user to use its own identity-based private key, the public key of an ordinary public-key system user, and specify a tag to generate a conversion key.
[0087] The ciphertext conversion module 6 is used to convert the identity-based encrypted ciphertext into an ordinary public-key encrypted ciphertext through the cloud server.
[0088] The ciphertext decryption module 7 is used for an ordinary public-key encryption user to decrypt the ciphertext using its own private key after downloading the ordinary public-key encrypted ciphertext from the cloud server.
[0089] It should be noted that, in this text, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, such that a process, method, article or device that includes a series of elements not only includes those elements, but also includes other elements not explicitly listed, or further includes elements inherent to such process, method, article or device. Without further limitation, an element defined by the statement "including one..." does not exclude the existence of additional identical elements in the process, method, article or device that includes such element.
[0090] In addition, it should be pointed out that the scope of the methods and systems in the embodiments of the present invention is not limited to performing functions in the order shown or discussed, and may also include performing functions in a substantially simultaneous manner or in the reverse order according to the functions involved. For example, the described methods may be performed in an order different from that described, and various steps may be added, omitted, or combined. Additionally, the features described with reference to certain examples may be combined in other examples.
[0091] The embodiments of the present invention have been described above in conjunction with the accompanying drawings. However, the present invention is not limited to the above specific embodiments. The above specific embodiments are merely illustrative and not restrictive. Under the inspiration of the present invention, those of ordinary skill in the art can also make many forms without departing from the spirit and scope protected by the claims of the present invention, and all of them fall within the protection scope of the present invention.
Claims
1. A data security sharing method from identity-based encryption to common public key encryption, characterized in that: The steps include: Step S1: System initialization: A trusted third party runs an initialization algorithm to generate system public parameters and a master private key. Step S2, identity-based private key generation: the identity-based encryption user applies to generate a private key for his / her identity ID, and a trusted third party runs the identity-based private key generation algorithm and secretly sends the generated identity-based private key to the user; Step S3, generating common public and private keys. After obtaining the system public parameters, the common public key encryption user generates common public and private keys by himself, wherein the public key is released to all users in the system, and the private key is kept secret by himself; Step S4, data encryption, identity-based encryption: Before uploading data, the user uses the identity identifier and label to encrypt the data, and then uploads the formed identity-based encrypted ciphertext to the cloud server; Step S5, conversion key generation, the identity-based encryption user uses his own identity-based private key and the public key of the ordinary public key system user, and specifies the label to generate the conversion key; Step S6, ciphertext conversion, converting the identity-based encrypted ciphertext into ordinary public key encrypted ciphertext through the cloud server, specifically includes: Input system public parameters PP = (G, G T ,e,p,g,h,u,w,H,e(g α ,h)), identity-based encrypted ciphertext CT = (C0, C1, C2, C3), conversion key RK = (d1, d2, d3, d4); The ciphertext conversion algorithm performs the following calculations: c1=d1=g t ,c2=d2=h k PK t c3=C0 / c’3=Me(g α ,h s ) / e(g α ,h s )e((u γ w) k ,h s )=M / e((u γ w) k ,h s ) c4=C3=(u γ In) s ; Output the converted ciphertext CT' = (c1, c2, c3, c4); where PK is the common public key, M is the plaintext, γ is the label and γ∈Z p , random elements g,h,u,w∈G, random elements α,r,s,t,k∈Z p , hash function H:{0,1} * →G, bilinear map e:G×G→G T ; Step S7, ciphertext decryption, ordinary public key encryption After the user downloads the ordinary public key encrypted ciphertext from the cloud server, he uses his own private key to decrypt the ciphertext.
2. The method according to claim 1, characterized in that: In step S1, the system is initialized, which specifically includes: Input the security parameter κ, and the initialization algorithm selects a bilinear map e:G×G→G with an order of a large prime number p. T ; Select random elements g,h,u,w∈G,α∈Z p , and the hash function H:{0,1} * →G; The output system public parameters are PP = (G, G T ,e,p,g,h,u,w,H,e(g α ,h)), master private key MSK = g α .
3. The method according to claim 2, characterized in that In step S2, the identity-based private key is generated, which specifically includes: Input (PP, MSK), output user identity base private key SK IBE ; The identity-based private key generation algorithm selects a random element r∈Z p , for the user ID, calculate: K0 = g α (H(ID)) r ,K1=h r ; Output SK IBE =(K0,K1).
4. The method according to claim 3, characterized in that In step S3, ordinary public and private keys are generated, specifically including: Input PP, output user's common public key PK and private key SK; The ordinary public-private key generation algorithm selects a random element β∈Z p , calculate PK = g β , SK=β.
5. The method according to claim 4, characterized in that In step S4, data encryption specifically includes: Input system public parameters PP, plaintext M, label γ∈Z p , and identity ID; The data encryption algorithm selects a random element s∈Z p , calculate C0 = Me (g α ,h) s , C1=(H(ID)) S , C2=h s ,C3=(u γ w) s ; Output ciphertext CT = (C0, C1, C2, C3).
6. The method according to claim 5, characterized in that In step S5, the conversion key generation specifically includes: Input system public parameters PP, common public key PK, label γ, identity base private key SK IBE =(K0,K1); The conversion key generation algorithm selects a random element t,k∈Z p , calculate d1 = g t , d2=h k PK t , d3=K0(u γ w) k ,d4=K1; Output RK = (d1, d2, d3, d4).
7. The method according to claim 6, characterized in that In step S7, ciphertext decryption includes identity-based ciphertext decryption and common public key ciphertext decryption, where: Identity-based ciphertext decryption, including: Input system public parameters PP, identity base ciphertext CT = (C0, C1, C2, C3), identity base key SK IBE =(K0,K1); The identity-based ciphertext decryption algorithm is calculated in sequence: Output plaintext M; Ordinary public key ciphertext decryption, including: Input system public parameters PP, common public key ciphertext CT'=(c1,c2,c3,c4), private key SK=β; The common public key ciphertext decryption algorithm first calculates c2 / (c1) β =h k (g β ) t / g tβ =h k ; Then, calculate: M=c3e(h k ,C4)=(M / e((u γ w) k ,h s ))e(h k ,(u γ w) s ); Output plaintext M.
8. A data security sharing system from identity-based encryption to common public key encryption, used to implement the method according to any one of claims 1 to 7, characterized in that: include: System initialization module, which is used by a trusted third party to run the initialization algorithm to generate system public parameters and master private key; An identity-based private key generation module is used for identity-based encryption users to apply for the generation of a private key for their identity ID. A trusted third party runs the identity-based private key generation algorithm and secretly sends the generated identity-based private key to the user. The ordinary public and private key generation module is used for ordinary public key encryption. After the user obtains the system public parameters, he generates ordinary public and private keys by himself. The public key is released to all users in the system, and the private key is kept secret by himself; Data encryption module, which is used for identity-based encryption. Before uploading data, users use identity identifiers and tags to encrypt data, and then upload the generated identity-based encrypted ciphertext to the cloud server; A conversion key generation module, which is used for identity-based encryption users use their own identity-based private keys, and The public key of the user of the ordinary public key system and the specified label are used to generate the conversion key; A ciphertext conversion module, which is used to convert the identity-based encrypted ciphertext into a common public key encrypted ciphertext through a cloud server; as well as The ciphertext decryption module is used for ordinary public key encryption. After the user downloads the ordinary public key encrypted ciphertext from the cloud server, he uses his own private key to decrypt the ciphertext.
Citation Information
Patent Citations
Ciphertext conversion method in heterogeneous storage system, decryption method and decryption system
CN107086912A
Ciphertext conversion method and system
CN118740524A