Methods for private key creation request and response, methods and devices for generating user private keys.
By sharing the system master key among blockchain nodes and generating user private keys using random numbers, the problem of data leakage by centralized institutions is solved, achieving higher encryption data security and trustworthiness.
Patent Information
- Application Number
- CN202211558503.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-12-06
- Publication Date
- 2025-10-31
- Estimated Expiration
- 2042-12-06
AI Technical Summary
In existing attribute encryption systems, the security of encrypted data is poor because centralized institutions manage the master key of the system. Centralized institutions can obtain user data based on the decrypted attributes.
By generating and storing a portion of the system master key through multiple nodes in the blockchain, and using random numbers to generate user private keys, it is ensured that each node can only determine a portion of the private key data, thereby improving the security of encrypted data.
By adopting a decentralized approach, the security of encrypted data is improved, preventing a single node from leaking the system master key and enhancing the credibility of attribute encryption.
Smart Images

Figure CN116015629B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of data security, and in particular to a method for responding to a private key creation request, a method for generating a user's private key, and an apparatus. Background Technology
[0002] As the internet becomes integrated into all aspects of daily life, users are generating more and more data. In some cases, users want to share encrypted data. To avoid wasting storage space and transmission bandwidth, attribute encryption algorithms are commonly used. Attribute encryption restricts decryption to users with specific attributes. Attribute encryption algorithms require a centralized institution to generate and store the system master key, which is then used to generate the private key for the data recipient. The data recipient then uses this private key to decrypt the encrypted data.
[0003] However, since the system master key for attribute encryption is managed by a centralized institution, and the decryption attributes or policies (i.e., access trees) are exposed, after the user's data is encrypted, the centralized institution can generate an account with corresponding attributes based on the data's decryption attributes to obtain the user's data, resulting in poor security for encrypted data. Summary of the Invention
[0004] This application discloses a method for creating a private key request and response, a method for generating a user's private key, and an apparatus that can improve the security of encrypted data.
[0005] To solve the above problems, this application adopts the following technical solution:
[0006] In a first aspect, embodiments of this application disclose a method for responding to a private key creation request, comprising: generating a first random number; obtaining a second random number, wherein the second random number is a random number generated by a first node or a random number received by the first node from a second node in the blockchain; upon receiving a user private key creation request sent by a first user terminal, responding to the creation request by determining first data based on the first random number, the second random number, and a third random number, wherein the third random number is a random number carried in the creation request; and sending the first data to the first user terminal, wherein the first data is used to generate a private key for the first user corresponding to the first user terminal.
[0007] Secondly, this application discloses a method for generating a user private key, comprising: sending a user private key creation request to each node in the blockchain, wherein the creation request carries a third random number selected by a first user corresponding to the first user terminal; receiving a plurality of first data and a second random number sent by each node in response to the creation request; determining a fifth data based on the third random number, the plurality of first data and the second random number; and generating a private key for the first user based on the fifth data, wherein the private key is used to decrypt encrypted target data.
[0008] Thirdly, embodiments of this application disclose an apparatus for responding to a private key creation request, comprising: a generation module for generating a first random number; an acquisition module for acquiring a second random number, wherein the second random number is a random number generated by the first node or a random number received by the first node from a second node in the blockchain; a determination module for, upon receiving a user private key creation request sent by a first user terminal, responding to the creation request by determining first data based on the first random number, the second random number, and a third random number, wherein the third random number is a random number carried in the creation request; and a sending module for sending the first data to the first user terminal, wherein the first data is used to generate a private key for the first user corresponding to the first user terminal.
[0009] Fourthly, this application discloses a user private key generation device, comprising: a sending module, configured to send a user private key creation request to each node in the blockchain, wherein the creation request carries a third random number selected by a first user corresponding to the first user terminal; a receiving module, configured to receive a plurality of first data and a second random number sent by each node in response to the creation request; a determining module, configured to determine fifth data based on the third random number, the plurality of first data and the second random number; and a generating module, configured to generate a private key for the first user based on the fifth data, wherein the private key is used to decrypt encrypted target data.
[0010] Fifthly, embodiments of this application provide an electronic device including a processor and a memory, the memory storing programs or instructions executable on the processor, the programs or instructions, when executed by the processor, implementing the steps of the method described in the first or second aspect.
[0011] In a sixth aspect, embodiments of this application provide a readable storage medium on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first or second aspect.
[0012] This application provides a method for responding to a private key creation request, applied to a first node in a blockchain. By generating a first random number and obtaining a second random number, upon receiving a user private key creation request sent by a first user terminal, the method responds to the creation request by determining first data for generating the private key corresponding to the first user terminal based on the first random number, the second random number, and a third random number carried in the creation request, and then sends this data to the first user terminal. Since a single node in the blockchain can only store a portion of the system master key and can only determine a portion of the data used to generate the private key for the first user terminal, the security of encrypted data can be improved. Attached Figure Description
[0013] Figure 1 This is a flowchart illustrating a method for creating a private key request and response as disclosed in an embodiment of this application.
[0014] Figure 2 This is a flowchart illustrating a method for generating a user private key as disclosed in an embodiment of this application;
[0015] Figure 3 A schematic diagram of the structure of a device for creating a private key request and response as disclosed in an embodiment of this application;
[0016] Figure 4 This is a schematic diagram of the structure of a user private key generation device disclosed in an embodiment of this application;
[0017] Figure 5 This is a schematic diagram of the structure of an electronic device disclosed in an embodiment of this application. Detailed Implementation
[0018] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0019] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and the number of objects is not limited; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the electrically connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0020] The method for creating a private key request and responding, the method for generating a user's private key, and the apparatus disclosed in this application will be described in detail below with reference to the accompanying drawings and through specific embodiments and application scenarios.
[0021] Figure 1 This is a flowchart illustrating a method for creating a private key request and response as disclosed in an embodiment of this application.
[0022] This application discloses a method for responding to a private key creation request. This method is applied to the first node in a blockchain. It should be noted that the first node can be any node in the blockchain. Figure 1 As shown, the method includes the following steps:
[0023] S120, Generate the first random number.
[0024] For example, the first node can be in the prime field. Choose a random number α i The first random number is used as the first random number of the first node, and the first random number of the first node is not disclosed to other nodes in the blockchain except the first node. That is, only the first node knows the first random number of the first node.
[0025] It should be noted that the first random number generated by different nodes in the blockchain can be different. For example, the first random number generated by the second node in the blockchain can be in the prime number field. The selected random number α i+1 .
[0026] S140. Obtain a second random number, wherein the second random number is a random number generated by the first node or a random number received by the first node from a second node in the blockchain.
[0027] In the case where the second random number is a random number generated from the first node, for example, the first node can be in the prime number field. Select a random number β as the second random number and send this second random number synchronously to other nodes in the blockchain. If the second random number is generated by the second node in the blockchain, the second node can be in the prime number domain. The first node selects a random number β as the second random number, and the second node synchronously sends the second random number to other nodes in the blockchain. The first node receives the second random number from the second node.
[0028] In this application, both the first random number and the second random number are stored in the first node.
[0029] It should be noted that the second node is another node in the blockchain besides the first node.
[0030] In this application, the first random number and the second random number of the first node are part of the system master key of the attribute encryption and decryption system. That is, each node in the blockchain holds a part of the system master key, which can reduce the risk of system master key leakage and improve the security of encrypted data.
[0031] For example, in this application, the system master key (MK) can be defined as: Where, α i β is the first random number, β is the second random number, and g is a p-order cyclic group. Generating elements, cyclic group This can be pre-set data, where n is the number of nodes in the blockchain.
[0032] S160. Upon receiving a user private key creation request sent by the first user terminal, in response to the creation request, determine first data based on the first random number, the second random number, and the third random number, wherein the third random number is the random number carried in the creation request.
[0033] It should be noted that the third random number can be the first user corresponding to the first user terminal in the prime number field. A random number r is selected.
[0034] Determining the first data based on the first random number, the second random number, and the third random number may include: determining the first data using the following formula; Among them, D i As the first data point, α i β is the first random number, r is the second random number, and g is a p-order cyclic group. Generating elements, cyclic group It can be pre-set data.
[0035] S180. The first data is sent to the first user terminal, wherein the first data is used to generate the private key of the first user corresponding to the first user terminal.
[0036] It should be noted that the first data determined by the first node is a portion of the data used to generate the private key for the first user. Each node in the blockchain can respond to the user's private key creation request sent by the first user, determining the first data based on its corresponding first, second, and third random numbers, and sending it to the first user. Furthermore, since different nodes in the blockchain can generate different first random numbers, the first data determined by each node in the blockchain can also be different. The first user can generate its private key based on the first data sent by each node in the blockchain. In other words, a single node in the blockchain cannot independently generate the first user's private key. Therefore, the decentralized method of blockchain can improve the trustworthiness of attribute encryption.
[0037] This application provides a method for responding to a private key creation request, applied to a first node in a blockchain. By generating a first random number and obtaining a second random number, upon receiving a user private key creation request sent by a first user terminal, the method responds to the creation request by determining first data for generating the private key corresponding to the first user terminal based on the first random number, the second random number, and a third random number carried in the creation request, and then sends this data to the first user terminal. Since a single node in the blockchain can only store a portion of the system master key and can only determine a portion of the data used to generate the private key for the first user terminal, the security of encrypted data can be improved.
[0038] In this embodiment of the application, after obtaining the second random number, the method may further include: determining second data based on the first random number and sending the second data to other nodes in the blockchain; receiving multiple third data sent by other nodes in the blockchain other than the first node; determining fourth data based on the second data and the multiple third data; and generating a system public key for the attribute encryption and decryption system based on the fourth data and the second random number, wherein the system public key is used to perform attribute encryption on the target data.
[0039] In one implementation, determining the second data based on the first random number may include: determining the second data using the following formula; Among them, E i For the second data, e(g,g) is a bilinear mapping, and α i This is the first random number.
[0040] In this application, the third data refers to data determined by each node in the blockchain other than the first node based on its corresponding first random number. The calculation method for the third data is the same as that for the second data. For example, the second node can determine the third data using the following formula. Among them, Ei+1 The third data determined by the second node, α i+1 This is the first random number corresponding to the second node.
[0041] In this application, determining the fourth data based on the second data and the plurality of third data may include: multiplying the second data by the plurality of third data to determine the fourth data.
[0042] In this application, the public key (PK) of the generated attribute encryption / decryption system can be: Where β is the second random number, and g is a p-order cyclic group. The generated element, E, is the fourth data. Furthermore, the generated system public key can be stored on various nodes of the blockchain and published externally.
[0043] When the second user (the sender of the target data) needs to use the system public key PK to encrypt the attributes of the target data M, the second user terminal corresponding to the second user can perform the following steps:
[0044] 1) Obtain the system public key (PK).
[0045] 2) The decryption strategy tree T defines the attribute conditions that the decryption user must satisfy, where the leaf nodes of the tree are attributes, and the non-leaf nodes are threshold gates with the number of children num. x and a threshold k x To describe. When k x =1, is an OR gate, when k x =num x , is an AND gate.
[0046] For each node x in the decryption strategy tree T that is not a leaf node, a polynomial q is chosen. x Starting from the root node R of the tree, set the polynomial q for node x. x degree d x For the node threshold k x Small 1, which is d x =k x -1.
[0047] 3) Starting from the root node R, in the prime number field Select a random number s from the given information and set q. R (0) = s, then randomly select d R One point is enough to complete q R Definition of a polynomial.
[0048] 4) For other nodes x that are not the root node, where q x (0)=q parent(x) (index(x)), then randomly select dx The other points complete the polynomial q. x Definition.
[0049] 5) Let Y be the set of leaf nodes of tree T, where y represents a leaf node. The final encrypted ciphertext is as follows:
[0050]
[0051] Here, `parent(x)` retrieves the parent node of node `x`. Only when the node is a leaf node is the function `att(x)` defined to read the attribute corresponding to that leaf node. `index(x)` returns the index value of the node. The `H` function is a hash function that can randomly map any attribute to... An element in the group.
[0052] In one implementation, the creation request further carries user data of the first user corresponding to the first user terminal. Determining the first data based on the first random number, the second random number, and the third random number may include: if the user data is verified successfully, determining the first data based on the first random number, the second random number, and the third random number. For example, the user data may be data related to user identity verification, such as the user's name, facial image, fingerprint image, etc., and this application does not impose specific limitations on this. Optionally, when the first node receives the user data of the first user, it can verify the received user data of the first user through a third party. If the user data of the first user is verified successfully, the first data is then determined based on the first random number, the second random number, and the third random number. This can raise the access threshold for users and reduce the number of malicious users.
[0053] Figure 2 This is a flowchart illustrating a method for generating a user private key as disclosed in an embodiment of this application.
[0054] The method for generating a user's private key disclosed in this application is applied to a first user terminal, which is the recipient of the target data. For example... Figure 2 As shown, the method includes the following steps:
[0055] S220. Send a user private key creation request to each node in the blockchain, wherein the creation request carries a third random number selected by the first user corresponding to the first user terminal.
[0056] When the first user needs to decrypt the received encrypted target data (i.e., encrypted ciphertext), the first user sends a user private key creation request to each node in the blockchain.
[0057] S240: Receive multiple first data and second random numbers sent by each node in response to the creation request.
[0058] For example, the first data sent by the first node The first data sent by the second node Where, α i Let α be the first random number of the first node. i+1 β is the first random number for the second node, β is the second random number, r is the third random number, and g is a p-order cyclic group. Generating elements, cyclic group It can be pre-set data.
[0059] S260. Based on the third random number, the plurality of first data and the second random number, determine the fifth data.
[0060] In one implementation, determining the fifth data based on the third random number, the plurality of first data, and the second random number may include: determining the fifth data using the following formula; Where D is the fifth data point, D i Let n be the first data point, n be the number of nodes in the blockchain, and α be the second data point. i β is the first random number, r is the second random number, and g is a p-order cyclic group. The generated element.
[0061] S280. Based on the fifth data, generate the private key of the first user, which is used to decrypt the encrypted target data.
[0062] For example, the generated private key (SecretKey, SK) for the first user can be: Where S is the set of user attributes for the first user, and j is any attribute in the set of user attributes S, i.e., j∈S, r j For any j∈S, in The selected random number, H function is a hash function that can randomly map any attribute to... An element in the group.
[0063] This application provides a method for generating a user private key, applied to a first user terminal. The method involves sending a user private key creation request to various nodes in the blockchain, receiving multiple first data points and second random numbers from each node in response to the creation request, and determining a fifth data point based on a third random number, the multiple first data points, and the second random number carried in the creation request. Then, based on the fifth data point, a private key for the first user is generated. This private key is used to decrypt encrypted target data. The user private key generation method provided in this application, which relies on multiple first data points sent by each node in response to the creation request, can generate a first user's private key, thereby improving the reliability of attribute encryption.
[0064] In this application, after generating the first user's private key, the first user decrypts the ciphertext CT using the private key SK. The decryption steps are as follows:
[0065] 1) Define a recursive function `DecryptNode(CT, SK, x)`, which takes as input the ciphertext `CT`, the user's private key `SK`, and a node `x` derived from the access policy `T` in `CT`. It should be noted that node `x` includes both leaf nodes and non-leaf nodes. When `x` is a leaf node, `C`... x =C y .
[0066] 2) If node x is a leaf node, then we let j = att(x), and define it as follows:
[0067] If j∈S, then:
[0068]
[0069] like Then DecryptNode(CT,SK,x)=⊥.
[0070] It should be noted that the symbol “⊥” is just an example and has no special meaning. In actual code, it can be represented by any identifier, such as “NULL”, or by any number, such as the number “0”.
[0071] 3) If node x is a non-leaf node, the algorithm DecryptNode(CT,SK,x) performs the following processing:
[0072] For all child nodes z of node x, call DecryptNode(CT,SK,z) and store the result as F. z S x F is the F among all nodes z z The function returns ⊥ if the set ≠ ⊥ does not exist; otherwise, it performs the following calculation:
[0073]
[0074] Among them, the Lagrange coefficients are: Δ i ,
[0075] 4) Based on the defined DecryptNode, it can be calculated that for the root node R of the access policy tree, if the user's attributes satisfy the access policy T, then D can be set... r =DecryptNode(CT,SK,r)=e(g,g) rqR(0) =e(g,g) rs Finally, the plaintext information M can be calculated:
[0076]
[0077] The method for responding to a private key creation request provided in this application can be executed by an apparatus for responding to a private key creation request. This application uses an apparatus for responding to a private key creation request to execute the method as an example to illustrate the apparatus for responding to a private key creation request provided in this application.
[0078] Figure 3 This is a schematic diagram of a device for responding to a private key creation request, as disclosed in an embodiment of this application. Figure 3 As shown, the device 300 for responding to a private key creation request includes: a generation module 310, an acquisition module 320, a determination module 330, and a sending module 340.
[0079] In this application, a generation module 310 is used to generate a first random number; an acquisition module 320 is used to acquire a second random number, wherein the second random number is a random number generated by the first node or a random number received by the first node from a second node in the blockchain; a determination module 330 is used to, upon receiving a user private key creation request sent by a first user terminal, determine first data in response to the creation request based on the first random number, the second random number, and a third random number, wherein the third random number is a random number carried in the creation request; and a sending module 340 is used to send the first data to the first user terminal, wherein the first data is used to generate the private key of the first user corresponding to the first user terminal.
[0080] In one implementation, the apparatus further includes: a determining module 330, further configured to, after obtaining the second random number, determine second data based on the first random number, and send the second data to other nodes in the blockchain; a receiving module, configured to receive multiple third data sent by other nodes in the blockchain besides the first node; the determining module 330, further configured to determine fourth data based on the second data and the multiple third data; and the generating module 310, further configured to generate a system public key for an attribute encryption / decryption system based on the fourth data and the second random number, wherein the system public key is used to perform attribute encryption on the target data.
[0081] In one implementation, the creation request also carries user data of a first user corresponding to the first user terminal. The determining module 330 determines the first data based on the first random number, the second random number, and the third random number, including: if the user data is verified to be valid, determining the first data based on the first random number, the second random number, and the third random number.
[0082] The apparatus for responding to a private key creation request provided in this application can implement the various processes implemented in the method embodiment for responding to a private key creation request, and will not be described again here to avoid repetition.
[0083] The user private key generation method provided in this application can be executed by a user private key generation device. This application uses an example of a user private key generation device executing the user private key generation method to illustrate the apparatus for the user private key generation method provided in this application.
[0084] Figure 4 This is a schematic diagram of the structure of a user private key generation device disclosed in an embodiment of this application. Figure 4 As shown, the user private key generation device 400 includes: a sending module 410, a receiving module 420, a determining module 430, and a generation module 440.
[0085] In this application, the sending module 410 is used to send a user private key creation request to each node in the blockchain, wherein the creation request carries a third random number selected by the first user corresponding to the first user terminal; the receiving module 420 is used to receive multiple first data and a second random number sent by each node in response to the creation request; the determining module 430 is used to determine a fifth data based on the third random number, the multiple first data and the second random number; and the generating module 440 is used to generate the first user's private key based on the fifth data, wherein the private key is used to decrypt the encrypted target data.
[0086] The user private key generation device provided in this application embodiment can implement all the processes implemented in the user private key generation method embodiment, and will not be described again here to avoid repetition.
[0087] Optionally, such as Figure 5 As shown, this application embodiment also provides an electronic device 500, including a processor 501 and a memory 502. The memory 502 stores a program or instructions that can run on the processor 501. When the program or instructions are executed by the processor 501, they implement the various steps of the above-described method for responding to a private key creation request or the method for generating a user private key, and can achieve the same technical effect. To avoid repetition, they will not be described again here.
[0088] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described methods for responding to a private key creation request or generating a user private key, and achieve the same technical effect. To avoid repetition, they will not be described again here.
[0089] The processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.
[0090] The above embodiments of this application focus on describing the differences between the various embodiments. As long as the different optimization features between the various embodiments are not contradictory, they can be combined to form a better embodiment. For the sake of brevity, they will not be described in detail here.
[0091] The above description is merely an embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principle of this application should be included within the scope of the claims of this application.
Claims
1. A method for creating a private key request and response, characterized in that, The first node applied in the blockchain, wherein the first node is any node in the blockchain, includes: Generate the first random number; Obtain a second random number, wherein the second random number is a random number generated by the first node or a random number received by the first node from a second node in the blockchain, and the second random number is shared by all nodes in the blockchain; Upon receiving a user private key creation request sent by a first user terminal, in response to the creation request, first data is determined based on the first random number, the second random number, and the third random number, wherein the third random number is the random number carried in the creation request; The first data is sent to the first user terminal, wherein the first data is used to generate the private key of the first user corresponding to the first user terminal; After obtaining the second random number, the process also includes: Based on the first random number, the second data is determined and sent to other nodes in the blockchain; Receive multiple third-party data sent by nodes other than the first node in the blockchain; Based on the second data and the plurality of third data, the fourth data is determined; Based on the fourth data and the second random number, a system public key for the attribute encryption / decryption system is generated, wherein the system public key is used to encrypt the target data using attributes.
2. The method according to claim 1, characterized in that, The creation request also carries user data of the first user corresponding to the first user terminal. The step of determining the first data based on the first random number, the second random number, and the third random number includes: If the user data is verified, the first data is determined based on the first random number, the second random number, and the third random number.
3. A method for generating a user's private key, characterized in that, Applied to the first user terminal, including: Sending a user private key creation request to each node in the blockchain, wherein the creation request carries a third random number selected by the first user corresponding to the first user terminal, and each node in the blockchain is used to implement the method described in any one of claims 1 to 2; Receive multiple first data and second random numbers sent by each node in response to the creation request; The fifth data is determined based on the third random number, the plurality of first data, and the second random number; Based on the fifth data, a private key for the first user is generated, which is used to decrypt the encrypted target data.
4. A device for responding to a private key creation request, characterized in that, include: The generation module is used to generate the first random number; The acquisition module is used to acquire a second random number, wherein the second random number is a random number generated by the first node or a random number received by the first node from a second node in the blockchain, the first node being any node in the blockchain, and all nodes in the blockchain sharing the second random number; The determining module is configured to, upon receiving a user private key creation request sent by a first user terminal, determine first data in response to the creation request based on the first random number, the second random number, and the third random number, wherein the third random number is the random number carried in the creation request; A sending module is used to send the first data to the first user terminal, wherein the first data is used to generate the private key of the first user corresponding to the first user terminal; The determining module is further configured to, after obtaining the second random number, determine the second data based on the first random number, and send the second data to other nodes in the blockchain; A receiving module is used to receive multiple third-party data sent by nodes other than the first node in the blockchain; The determining module is further configured to determine fourth data based on the second data and the plurality of third data; The generation module is further configured to generate a system public key for the attribute encryption / decryption system based on the fourth data and the second random number, wherein the system public key is used to perform attribute encryption on the target data.
5. The apparatus according to claim 4, characterized in that, The creation request also carries user data of the first user corresponding to the first user terminal. The determining module determines the first data based on the first random number, the second random number, and the third random number, including: If the user data is verified, the first data is determined based on the first random number, the second random number, and the third random number.
6. A device for generating a user private key, characterized in that, include: A sending module is used to send a user private key creation request to each node in the blockchain, wherein the creation request carries a third random number selected by the first user corresponding to the first user terminal, and each node in the blockchain is used to implement the method described in any one of claims 1 to 2. The receiving module is used to receive multiple first data and second random numbers sent by each node in response to the creation request; The determining module is used to determine the fifth data based on the third random number, the plurality of first data, and the second random number; The generation module is used to generate the private key of the first user based on the fifth data, and the private key is used to decrypt the encrypted target data.
7. An electronic device, characterized in that, It includes a processor and a memory, the memory storing a program or instructions that can run on the processor, wherein when the program or instructions are executed by the processor, they implement the steps of the method for creating a private key request and responding as described in any one of claims 1-2, or when the program or instructions are executed by the processor, they implement the steps of the method for generating a user private key as described in claim 3.
8. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the steps of the method for responding to a private key creation request as described in any one of claims 1-2, or, when executed by a processor, implement the steps of the method for generating a user private key as described in claim 3.
Citation Information
Patent Citations
Distributed key center implementation method and device based on SM9 encryption algorithm, and medium
CN114079561A