A multi-party collaborative encryption and decryption method and apparatus based on the ElGamal algorithm suitable for cloud computing.

By using the ElGamal algorithm in cloud computing, multi-party collaborative encryption and decryption is achieved. The client and server share part of the private key, which solves the problem of the client's private key being vulnerable to attack and improves the security of the private key.

CN116781356BActive Publication Date: 2026-04-03ZHEJIANG LAB
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-06-26
Publication Date
2026-04-03

AI Technical Summary

Technical Problem

In cloud computing scenarios, the client's private key has poor security and can be easily obtained by attackers to decrypt encrypted data.

Method used

The ElGamal algorithm is used, with the client and multiple servers each holding a portion of the private key. Decryption is achieved through multi-party collaborative computation, relying on the security of the discrete logarithm problem over finite fields to ensure that the private key information is not obtained individually.

Benefits of technology

This improves the security of the client's private key, ensuring that even if an attacker obtains a portion of the private key, they cannot decrypt the encrypted message, thus enhancing the protection of the key.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116781356B_ABST
    Figure CN116781356B_ABST
Patent Text Reader

Abstract

This invention discloses a multi-party collaborative encryption and decryption method and apparatus based on the ElGamal algorithm, suitable for cloud computing. Client user C and group servers respectively calculate their corresponding private key factors. The group servers calculate the corresponding public key factors using their private key factors and send them to client user C, obtaining a joint public key which is then published to n group servers. The encryption entity then generates a random number k and encrypts the encryption entity message M to obtain ciphertext a and ciphertext b. During decoding, each group server uses its own private key factor to calculate the decryption result and sends it to client user C, who then calculates the plaintext information. Since the client user and multiple servers each hold a portion of the private key, and none of them can obtain the private key information of other participants, even if an attacker gains access to the private key after compromising any participating entity, they cannot decrypt the ciphertext message, effectively improving the security of the private key.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of cryptography, and more particularly to a multi-party collaborative encryption and decryption method and apparatus based on the ElGamal algorithm suitable for cloud computing. Background Technology

[0002] With the development of information technology, key security protection technology has gained increasing attention. In public-key cryptography, the confidentiality of the private key is crucial. In cloud computing scenarios, servers typically have a high level of security, while clients, as weak terminals, have poor security capabilities. For example, mobile clients often store the private key in a file. Once an attacker gains access to the phone, they can obtain the private key and decrypt the user's encrypted data. Summary of the Invention

[0003] The purpose of this invention is to address the shortcomings of existing technologies by providing a multi-party collaborative encryption and decryption method and apparatus based on the ElGamal algorithm, suitable for cloud computing.

[0004] The objective of this invention is achieved through the following technical solution: a multi-party collaborative encryption / decryption method based on the ElGamal algorithm suitable for cloud computing, comprising the following steps:

[0005] (1) First, assign a prime number p to one client user C and n group servers; each group server independently generates a random number xs less than the prime number p. i , random number xs i As group server S i The corresponding private key factor is kept secret from other group servers or client users C, where i = 1, 2, ..., i, ..., n, for a total of n group servers; and the set {S1, S2, ..., S...} is used. i ,…,S n} represents n group servers, where S i This represents the i-th group server; client user C independently generates a random number x less than a prime number p. c , random number x c This serves as the private key factor for client user C and is kept secret from all n group servers.

[0006] (2) Each group server S i Calculate the corresponding public key factor Where g is a random number less than a prime number p; mod is the modulo function. express The result of taking the modulus of p;

[0007] (3) Each group server S i Each public key factor ysi Send to client user C;

[0008] (4) Public key factor corresponding to client user C And calculate the joint public key And the joint public key y will be made public to all n group servers;

[0009] (5) The encryption entity generates a random number k, where k is coprime to p-1, and k is kept secret from the outside.

[0010] (6) Encrypt the main message M to obtain ciphertext a and ciphertext b. The calculation formula is as follows:

[0011] a = g k (modp), b = (y k *M)(modp);

[0012] Ciphertext a and ciphertext b are publicly available;

[0013] (7) Each group server S i Use their respective private key factors xs i The decryption result is calculated. All group servers will send their respective decryption results A i Send to client user C;

[0014] (8) Client user C calculated the following: The decrypted plaintext information is M′.

[0015] Furthermore, the encryption entity is a third-party device or any group server.

[0016] The present invention also provides a multi-party collaborative encryption and decryption device based on the ElGamal algorithm suitable for cloud computing, comprising one or more processors for implementing the above-mentioned multi-party collaborative encryption and decryption method based on the ElGamal algorithm suitable for cloud computing.

[0017] The present invention also provides a computer-readable storage medium having a program stored thereon, which, when executed by a processor, is used to implement the above-described multi-party collaborative encryption and decryption method based on the ElGamal algorithm suitable for cloud computing.

[0018] The beneficial effects of this invention are as follows: This invention addresses the client key protection problem in cloud computing scenarios by proposing a multi-party collaborative encryption and decryption scheme based on the ElGamal algorithm. The client and multiple servers each hold a portion of the private key, and none of them can obtain the private key information of other participants. Therefore, even if an attacker obtains the private key after intruding into any participating entity, they cannot decrypt the ciphertext message, effectively improving the security of the private key. Attached Figure Description

[0019] Figure 1 A schematic diagram illustrating the connection between one client user C and n group servers;

[0020] Figure 2 A flowchart for generating the joint public key;

[0021] Figure 3 A flowchart for decrypting and recovering plaintext information;

[0022] Figure 4 This is a schematic diagram of a multi-party collaborative encryption / decryption device based on the ElGamal algorithm, suitable for cloud computing. Detailed Implementation

[0023] To make the objectives, technical solutions, and advantages of this invention clearer, the invention will be further described in detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative of the invention and not all embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of this invention without inventive effort are within the scope of protection of this invention.

[0024] This invention addresses the client-side key protection problem in cloud computing scenarios by proposing a multi-party collaborative encryption / decryption method based on the ElGamal algorithm. The client user and the group servers each hold a portion of the private key; the client user can only decrypt the ciphertext through the collaborative computation of all group servers. The scheme is based on the Elgamal algorithm, and its security relies on the discrete logarithm problem over a finite field. Public-key cryptography uses the public key for encryption and the private key for decryption. In the collaborative encryption scenario, the entities involved in encryption are those transmitting encrypted information to the client. Decryption requires collaboration among the participating entities (client and group servers).

[0025] Example 1

[0026] This invention addresses the client-side key protection problem in cloud computing scenarios by proposing a multi-party collaborative encryption / decryption scheme. The client user and the group servers each hold a portion of the private key; the client user can only decrypt the ciphertext through the collaborative computation of all group servers. The scheme is based on the Elgamal algorithm, and its security relies on the discrete logarithm problem over a finite field.

[0027] This invention provides a multi-party collaborative encryption and decryption method based on the ElGamal algorithm suitable for cloud computing, comprising the following steps:

[0028] (1) First, assign a prime number p to one client user C and n group servers; each group server independently generates a random number xs less than the prime number p. i , random number xsi As group server S i The corresponding private key factor is kept secret from other group servers or client users C, where i = 1, 2, ..., i, ..., n, for a total of n group servers; and the set {S1, S2, ..., S...} is used. i ,…,S n} represents n group servers, where S i This represents the i-th group server; client user C independently generates a random number x less than a prime number p. c , random number x c This serves as the private key factor for client user C and is kept secret from all n group servers; for example Figure 1 As shown.

[0029] (2) Each group server S i Calculate the corresponding public key factor Where g is a random number less than a prime number p; mod is the modulo function. express The result of taking the modulus of p.

[0030] (3) Each group server S i Each public key factor ys i Send to client user C.

[0031] (4) Public key factor corresponding to client user C And calculate the joint public key And the joint public key y will be made public to all n group servers; among them, express The result of taking the modulus of p; such as Figure 2 As shown.

[0032] (5) The encryption entity generates a random number k, where k is coprime to p-1, and k is kept secret from the outside world. The encryption entity can be a third-party device or any group server.

[0033] (6) Encrypt the main message M to obtain ciphertext a and ciphertext b. The calculation formula is as follows:

[0034] a = g k (modp), b = (y k *M)(modp);

[0035] Ciphertexts a and b are publicly available; among them, g k (modp) means g k The result of taking the modulus of p; (y k *M)(modp) represents y k *The result of taking the modulo of M with respect to p;

[0036] (7) Each group server S i Use their respective private key factors xs i The decryption result is calculated. All group servers will send their respective decryption results A i Send to client user C; where, express The result of taking the modulus of p;

[0037] (8) Client user C calculated the following: The decrypted and recovered plaintext information is M′; where, express The result of taking the modulus of p; express The result of taking the modulus of p; such as Figure 3 As shown.

[0038] Example 2

[0039] Corresponding to Embodiment 1 of the aforementioned ElGamal algorithm-based multi-party collaborative encryption and decryption method suitable for cloud computing, the present invention also provides an embodiment of an ElGamal algorithm-based multi-party collaborative encryption and decryption device suitable for cloud computing.

[0040] See Figure 4 The present invention provides a multi-party collaborative encryption and decryption device based on the ElGamal algorithm suitable for cloud computing, comprising one or more processors for implementing a multi-party collaborative encryption and decryption method based on the ElGamal algorithm suitable for cloud computing as described in the above embodiments.

[0041] This invention provides an embodiment of a multi-party collaborative encryption / decryption device based on the ElGamal algorithm, applicable to cloud computing. This device can be applied to any device with data processing capabilities, such as a computer. The device embodiment can be implemented in software, hardware, or a combination of both. Taking software implementation as an example, as a logical device, it is formed by the processor of any data processing device loading the corresponding computer program instructions from non-volatile memory into memory for execution. From a hardware perspective, such as... Figure 4 The diagram shown is a hardware structure diagram of any data processing-capable device, including a multi-party collaborative encryption / decryption device based on the ElGamal algorithm suitable for cloud computing, according to the present invention. Except for... Figure 4 In addition to the processor, memory, network interface, and non-volatile memory shown, any data processing device in the embodiment may also include other hardware depending on the actual function of the data processing device, which will not be described in detail here.

[0042] The specific implementation process of the functions and roles of each unit in the above device can be found in the implementation process of the corresponding steps in the above method, and will not be repeated here.

[0043] For the device embodiments, since they basically correspond to the method embodiments, the relevant parts can be referred to in the description of the method embodiments. The device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of the present invention according to actual needs. Those skilled in the art can understand and implement this without creative effort.

[0044] This invention also provides a computer-readable storage medium storing a program that, when executed by a processor, implements a multi-party collaborative encryption / decryption method based on the ElGamal algorithm, applicable to cloud computing, as described in the above embodiments. The computer-readable storage medium can be an internal storage unit of any data-processing device as described in any of the foregoing embodiments, such as a hard disk or memory. The computer-readable storage medium can also be an external storage device of any data-processing device, such as a plug-in hard disk, SmartMedia Card (SMC), SD card, or Flash Card equipped on the device. Furthermore, the computer-readable storage medium can include both internal storage units of any data-processing device and external storage devices. The computer-readable storage medium is used to store the computer program and other programs and data required by the data-processing device, and can also be used to temporarily store data that has been output or will be output.

[0045] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the present invention should be included within the scope of protection of the present invention.

Claims

1. A multi-party collaborative encryption / decryption method based on the ElGamal algorithm suitable for cloud computing, characterized in that, Includes the following steps: (1) First, assign a prime number p to one client user C and n group servers; each group server independently generates a random number xs less than the prime number p. i , random number xs i As group server S i The corresponding private key factor is kept secret from other group servers or client users C, where i = 1, 2, ..., i, ..., n, for a total of n group servers; and the set {S1, S2, ..., S...} is used. i ,…,S n } represents n group servers, where S i This represents the i-th group server; client user C independently generates a random number x less than a prime number p. c , random number x c This serves as the private key factor for client user C and is kept secret from all n group servers. (2) Each group server S i Calculate the corresponding public key factor Where g is a random number less than a prime number p; mod is the modulo function. express The result of taking the modulus of p; (3) Each group server S i Each public key factor ys i Send to client user C; (4) Public key factor corresponding to client user C And calculate the joint public key And the joint public key y will be made public to all n group servers; (5) The encryption entity generates a random number k, where k is coprime to p-1, and k is kept secret from the outside. (6) Encrypt the main message M to obtain ciphertext a and ciphertext b. The calculation formula is as follows: a=g k (modp),b=(y k *M)(modp); Ciphertext a and ciphertext b are publicly available; (7) Each group server S i Use their respective private key factors xs i The decryption result is calculated. All group servers will send their respective decryption results A i Send to client user C; (8) Client user C calculated the following: The decrypted plaintext information is M′.

2. The multi-party collaborative encryption and decryption method based on the ElGamal algorithm suitable for cloud computing as described in claim 1, characterized in that, The encryption entity can be a third-party device or any group server.

3. A multi-party collaborative encryption / decryption device based on the ElGamal algorithm suitable for cloud computing, characterized in that, It includes one or more processors for implementing the ElGamal algorithm-based multi-party collaborative encryption and decryption method suitable for cloud computing as described in any one of claims 1-2.

4. A computer-readable storage medium having a program stored thereon, characterized in that, When executed by the processor, the program is used to implement the ElGamal algorithm-based multi-party collaborative encryption and decryption method suitable for cloud computing as described in any one of claims 1-2.

Citation Information

Patent Citations

  • Multi-party joint private key decryption method and system

    CN108199835A

  • Privacy-protecting multi-party deep learning computation proxy method under cloud environment

    CN108712260A