Elliptic curve private key encryption backup method and device based on non-interactive zero-knowledge proof

Through non-interactive zero-knowledge proof and elliptic curve algorithm, the correctness of private key backup is verified in the ciphertext state, which solves the problem of difficulty in ensuring security in the private key decryption process in the prior art, and realizes safe and efficient private key backup verification.

CN113904772BActive Publication Date: 2025-04-18SECURITY HERON PTE LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202111131652.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-09-26
Publication Date
2025-04-18
Estimated Expiration
2041-09-26

AI Technical Summary

Technical Problem

When the prior art determines whether the corresponding ciphertext after the private key is backed up, it is difficult to ensure the security of the current environment, and there are security risks in the private key decryption process.

Method used

The elliptic curve private key encryption backup method is adopted with non-interactive zero-knowledge proof. The pre-constructed private key encryption backup model and zero-knowledge proof model are used to verify the correctness of the private key in the ciphertext state, and the backup is encrypted through random oracles to ensure security.

Benefits of technology

Verifying the correctness of private key backup in the ciphertext state ensures the security of the environment and avoids potential risks in the private key decryption process.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113904772B_ABST
    Figure CN113904772B_ABST
Patent Text Reader

Abstract

The present disclosure provides a non-interactive zero-knowledge proof elliptic curve private key encryption backup method and device, the method includes inputting a pre-built private key encryption backup model based on the elliptic curve private key to be backed up, the data encryption public key used to encrypt the private key to be backed up, and the encryption strength to obtain the encrypted backup; based on the encrypted backup, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength, inputting a pre-built zero-knowledge proof model to prove that the elliptic curve private key in the encrypted backup is the private key of the specified elliptic curve public key; according to the encrypted backup and the data encryption private key used for decryption, inputting a pre-built decryption encryption backup model to obtain the backup elliptic curve private key plaintext. The private key encryption backup method disclosed in the present disclosure can be in a ciphertext state, and anyone can verify whether the ciphertext corresponding to the private key backup is correct.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates to the technical field of cryptography, and in particular to a non-interactive zero-knowledge proof elliptic curve private key encryption backup method and device. Background Art

[0002] Taking blockchain digital assets as an example, in actual applications, the private key corresponds to a specific public key, and the public key corresponds to an account on the Bitcoin blockchain. In this account, digital assets exist. If you want to control digital assets, you need the private key to sign a specific data structure to transfer assets, which is the transaction process.

[0003] In this process, there is actually a need to back up the private key (obtain the corresponding ciphertext) and determine whether the backed-up private key is correct.

[0004] To determine whether the ciphertext corresponding to the private key backup is correct, it is necessary to decrypt the ciphertext corresponding to the private key backup and restore the private key. However, after the private key is restored, the plain text appears, and it is difficult to ensure the security of the current environment. However, the private key must be restored to ensure that the backed-up private key is correct.

[0005] Therefore, the problems of the prior art are:

[0006] First, you need to determine whether the ciphertext corresponding to the private key backup is correct;

[0007] Second, it is difficult to ensure the security of the current environment by decrypting the ciphertext corresponding to the private key backup.

[0008] Therefore, how to provide a technical solution to the existing technical problems is a problem that technical personnel in this field currently need to solve. Summary of the invention

[0009] The disclosed embodiments provide a non-interactive zero-knowledge proof private key encryption backup method and device, which can be in a ciphertext state and anyone can verify whether the ciphertext corresponding to the private key backup is correct.

[0010] In a first aspect of an embodiment of the present disclosure, a non-interactive zero-knowledge proof elliptic curve private key encryption backup method is provided, wherein the non-interactive zero-knowledge proof elliptic curve private key encryption backup method comprises:

[0011] Based on the elliptic curve private key to be backed up, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength, a pre-built private key encryption backup model is input to obtain an encrypted backup;

[0012] Based on the encrypted backup, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength, a pre-built zero-knowledge proof model is input to prove in a ciphertext state that the elliptic curve private key in the encrypted backup is the private key of the specified elliptic curve public key;

[0013] According to the encrypted backup and the data encryption private key used for decryption, a pre-built decryption encryption backup model is input to obtain the backup elliptic curve private key plaintext.

[0014] In an optional embodiment,

[0015] The private key encryption backup model includes a random oracle,

[0016] The method for obtaining the encrypted backup includes:

[0017] Based on the elliptic curve private key to be backed up, the data encryption public key used to encrypt the elliptic curve private key to be backed up, the encryption strength, and the random oracle, the encrypted backup is obtained according to the private key encryption backup model.

[0018] In an optional embodiment,

[0019] The correctness verification method of the elliptic curve private key encryption backup includes that anyone can verify whether the ciphertext corresponding to the private key backup is correct.

[0020] The ciphertext correctness verification method comprises:

[0021] The data encryption public key used to encrypt the elliptic curve private key to be backed up, the encrypted backup, and the elliptic curve public key are subjected to a zero-knowledge proof algorithm to determine that the assertion is true.

[0022] Prove whether the elliptic curve private key in the encrypted backup is the private key of the elliptic curve public key.

[0023] In an optional embodiment,

[0024] The elliptic curve private key to be backed up and the data encryption public key used to encrypt the private key to be backed up generate proof materials through a non-interactive zero-knowledge proof algorithm;

[0025] The encrypted backup data structure includes NIZK-KEY-PROOF;

[0026] The input data of the zero-knowledge proof model for generating a private key encrypted backup also includes an elliptic curve base point and an order of an elliptic curve point group.

[0027] According to a second aspect of the present disclosure, there is provided an elliptic curve private key encryption backup device with non-interactive zero-knowledge proof, the device comprising:

[0028] The first unit is used to input a pre-built private key encryption backup model based on the elliptic curve private key to be backed up, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength to obtain an encrypted backup;

[0029] A second unit is configured to input a pre-built zero-knowledge proof model based on the encrypted backup, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength, so as to prove in a ciphertext state that the elliptic curve private key in the encrypted backup is a private key of a specified elliptic curve public key;

[0030] The third unit is used to input a pre-built decryption and encryption backup model according to the encrypted backup and the data encryption private key used for decryption, and obtain the backup elliptic curve private key plaintext.

[0031] In an optional embodiment,

[0032] The private key encryption backup model includes a random oracle,

[0033] The first unit is also used for:

[0034] Based on the elliptic curve private key to be backed up, the data encryption public key used to encrypt the elliptic curve private key to be backed up, the encryption strength, and the random oracle, the encrypted backup is obtained according to the private key encryption backup model.

[0035] In an optional embodiment,

[0036] The elliptic curve private key encryption backup device further includes a fourth unit, and the fourth unit is used for:

[0037] Verify the correctness of the ciphertext:

[0038] The data encryption public key used to encrypt the elliptic curve private key to be backed up, the encrypted backup, and the elliptic curve public key are subjected to a zero-knowledge proof algorithm to determine that the assertion is true.

[0039] Prove whether the elliptic curve private key in the encrypted backup is the private key of the elliptic curve public key.

[0040] In an optional embodiment,

[0041] The elliptic curve private key to be backed up and the data encryption public key used to encrypt the private key to be backed up generate proof materials through a non-interactive zero-knowledge proof algorithm;

[0042] The encrypted backup data structure includes NIZK-KEY-PROOF;

[0043] The input data of the zero-knowledge proof model for generating a private key encrypted backup also includes an elliptic curve base point and an order of an elliptic curve point group.

[0044] According to a third aspect of the present disclosure, an electronic device is provided, including:

[0045] processor;

[0046] a memory for storing processor-executable instructions;

[0047] The processor is configured to call the instructions stored in the memory to execute any one of the methods described above.

[0048] According to a fourth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided, on which computer program instructions are stored. When the computer program instructions are executed by a processor, any one of the methods described above is implemented.

[0049] The present disclosure provides a non-interactive zero-knowledge proof elliptic curve private key encryption backup method, the non-interactive zero-knowledge proof elliptic curve private key encryption backup method comprising:

[0050] Based on the elliptic curve private key to be backed up, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength, a pre-built private key encryption backup model is input to obtain an encrypted backup;

[0051] Based on the encrypted backup, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength, a pre-built zero-knowledge proof model is input to prove in a ciphertext state that the elliptic curve private key in the encrypted backup is the private key of the specified elliptic curve public key;

[0052] According to the encrypted backup and the data encryption private key used for decryption, a pre-built decryption encryption backup model is input to obtain the backup elliptic curve private key plaintext.

[0053] The non-interactive zero-knowledge proof elliptic curve private key encryption backup method of the disclosed embodiment can be in a ciphertext state, and anyone can verify whether the ciphertext corresponding to the private key backup is correct. BRIEF DESCRIPTION OF THE DRAWINGS

[0054] Figure 1 A flowchart of the elliptic curve private key encryption backup method of the non-interactive zero-knowledge proof of the embodiment of the present disclosure;

[0055] Figure 2 A schematic diagram of a method for obtaining an encrypted backup according to an embodiment of the present disclosure;

[0056] Figure 3A schematic diagram of a method for verifying an encrypted backup in a ciphertext state according to an embodiment of the present disclosure;

[0057] Figure 4 A schematic diagram of a method for obtaining a decryption private key corresponding to a private key to be backed up according to an embodiment of the present disclosure;

[0058] Figure 5 It is a schematic diagram of the structure of the elliptic curve private key encryption backup device of the non-interactive zero-knowledge proof embodiment of the present disclosure. DETAILED DESCRIPTION

[0059] In order to make the purpose, technical solution and advantages of the embodiments of the present disclosure clearer, the technical solution in the embodiments of the present disclosure will be clearly and completely described below in conjunction with the drawings in the embodiments of the present disclosure. Obviously, the described embodiments are only part of the embodiments of the present disclosure, not all of the embodiments. Based on the embodiments in the present disclosure, all other embodiments obtained by ordinary technicians in this field without making creative work are within the scope of protection of the present disclosure.

[0060] The terms "first", "second", "third", "fourth", etc. (if any) in the specification and claims of the present disclosure and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the terms used in this way can be interchanged where appropriate, so that the embodiments of the present disclosure described herein can be implemented in sequences other than those illustrated or described herein.

[0061] It should be understood that in the various embodiments of the present disclosure, the size of the sequence number of each process does not mean the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of the present disclosure.

[0062] It should be understood that in the present disclosure, "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions. For example, a process, method, system, product or apparatus comprising a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to these processes, methods, products or apparatuses.

[0063] It should be understood that in the present disclosure, "plurality" refers to two or more than two. "And / or" is merely a description of the association relationship of associated objects, indicating that three relationships may exist. For example, and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the objects associated before and after are in an "or" relationship. "Contains A, B and C", "Contains A, B, C" means that A, B, and C are all included, "Contains A, B or C" means that one of A, B, and C is included, and "Contains A, B and / or C" means that any one, any two, or any three of A, B, and C are included.

[0064] It should be understood that in the present disclosure, "B corresponding to A", "B corresponding to A", "A corresponds to B" or "B corresponds to A" means that B is associated with A and B can be determined based on A. Determining B based on A does not mean determining B based only on A, but B can also be determined based on A and / or other information. A and B match when the similarity between A and B is greater than or equal to a preset threshold.

[0065] Depending on the context, "if" as used herein may be interpreted as "when" or "when" or "in response to determining" or "in response to detecting."

[0066] The technical solution of the present disclosure is described in detail with specific embodiments below. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.

[0067] Figure 1 The flowchart of the non-interactive zero-knowledge proof elliptic curve private key encryption backup method of the present disclosure is shown as follows: Figure 1 As shown, the non-interactive zero-knowledge proof elliptic curve private key encryption backup method includes:

[0068] Step S101: Based on the elliptic curve private key to be backed up, the data encryption public key used to encrypt the private key to be backed up, and the encryption strength, a pre-built private key encryption backup model is input to obtain an encrypted backup;

[0069] In an optional implementation, the elliptic curve private key to be backed up is generated by an elliptic curve algorithm, and the data encryption public key used to encrypt the private key to be backed up is generated by any public-private key encryption algorithm that supports random input (such as an RSA algorithm);

[0070] The encrypted backup data structure includes NIZK-KEY-PROOF;

[0071] The input data of the private key encryption backup model and the zero-knowledge proof model also include an elliptic curve base point and an order of an elliptic curve point group.

[0072] It should be noted that the disclosed embodiments do not limit the generation algorithm of the elliptic curve private key to be backed up and the data encryption public key that encrypts the private key to be backed up, and also do not limit the data structure of the encrypted backup. The elliptic curve can be any standard elliptic curve, and the algorithm involved in the data encryption public-private key pair can be any public-private key encryption algorithm that supports random input.

[0073] In actual applications, if a hacker or a third party forges a private key or a private key backup, that is, forges a private key or a private key backup, assets can be transferred after the forgery is successful. Taking the private key as 128 bits of data as an example, a hacker or a third party can forge this 128 bits of data to achieve the above purpose.

[0074] Exemplarily, each bit of the 128-bit data may include two cases, taking 0 and 1 as an example, a hacker or a third party may forge each bit of the 128-bit data one by one.

[0075] A hacker can forge the first bit of data first. For example, if the first bit of data of the private key or private key backup is 0, the hacker can forge the first bit of data to be 0; if the forgery is successful, the hacker can continue to forge the second bit of data. If the second bit of data of the private key or private key backup is 1, the hacker can forge the second bit of data to be 1. If the forgery is successful, the hacker can continue to forge the third bit of data; if the forgery fails, the first successfully forged data is retained, and the second bit of data is re-forged until the second bit of data is forged successfully, and then the third bit of data is forged; and so on.

[0076] In the field of non-interactive zero-knowledge proof, forging a private key or a private key backup is only a matter of computing power and time. Given enough time and computing power, the corresponding private key or private key backup can be forged within a certain period of time.

[0077] It should be noted that the non-interactive zero-knowledge proof elliptic curve private key encryption backup method of the disclosed embodiment is proposed to solve the above-mentioned scenario, that is, the non-interactive zero-knowledge proof elliptic curve private key encryption backup method of the disclosed embodiment can effectively prevent hackers or third parties from forging private key backups.

[0078] In an optional implementation, the private key encryption backup model includes a random oracle,

[0079] The method for obtaining the encrypted backup includes:

[0080] Based on the elliptic curve private key to be backed up, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength, a pre-built private key encryption backup model (zero-knowledge proof model) is input to obtain an encrypted backup.

[0081] In cryptography, a random oracle is a oracle (or, in simple terms, a theoretical black box) that returns a truly uniformly random output for any input (see discrete uniform distribution), but for the same input, the oracle will output the same way each time (i.e., if the query is repeated, the response will be the same each time the query is submitted). In other words, a random oracle is a function that randomly maps all possible inputs to outputs.

[0082] By using a random oracle to encrypt and back up the elliptic curve private key to be backed up, it is possible to effectively prevent the elliptic curve private key to be backed up from being forged, thereby ensuring that the encrypted backup can be verified by anyone in a ciphertext state.

[0083] The disclosed embodiment uses a random oracle to encrypt the backup elliptic curve private key in a ciphertext state. In this way, if a hacker wants to forge the backup elliptic curve private key encrypted in a ciphertext state, he must successfully forge 128 bits of data at the same time and be able to correspond to the result output by the random oracle, but the time and computing power spent are astronomical. Therefore, the method of the disclosed embodiment can fully ensure the security of encryption without worrying about the risk of asset damage caused by the forgery of private keys or private key backups.

[0084] Exemplarily, in the disclosed embodiment, the data structure of the elliptic curve private key to be backed up may include a random number R, an encrypted random number Cyppher, and an encrypted padding Pad; the encrypted backup data structure may include a proof material array PM, a random selection array Choice, and a public key Pub.

[0085] Exemplarily, the method for obtaining an encrypted backup based on the elliptic curve private key to be backed up, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength by inputting a pre-built private key encryption backup model can be as follows: Figure 2 shown.

[0086] Step S102: Based on the encrypted backup, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength, a pre-built zero-knowledge proof model is input to prove in a ciphertext state that the elliptic curve private key in the encrypted backup is the private key of the specified elliptic curve public key;

[0087] In an optional implementation, a zero-knowledge proof model can be used to support anyone to verify the encrypted backup in a ciphertext state.

[0088] By traversing all sub-backups in the encrypted backup, for each sub-backup, an input for the random oracle is generated. After collecting the random oracle inputs corresponding to all sub-backups, the random oracle is called to generate a random selection result (Choice). Traverse all sub-backups in the encrypted backup to determine whether the random selection result in the sub-backup is consistent with the random selection result obtained by the oracle. If all sub-backups in the encrypted backup are judged to be consistent, it proves that the elliptic curve private key in the encrypted backup is the private key of the specified elliptic curve public key; otherwise, it means that the encrypted backup data is falsified.

[0089] Exemplarily, the method for verifying an encrypted backup in a ciphertext state according to an embodiment of the present disclosure may be as follows: Figure 3 shown.

[0090] Step S103: According to the encrypted backup and the data encryption private key used for decryption, a pre-built decryption encryption backup model is input to obtain the backup elliptic curve private key plaintext.

[0091] In an optional embodiment,

[0092]

[0093] Traverse all sub-backups in the encrypted backup, and for each sub-backup, use the data encryption private key to decrypt and obtain the corresponding elliptic curve private key. Based on the elliptic curve private key, calculate its corresponding elliptic curve public key Pub. If the obtained elliptic curve public key is the same as the externally specified public key, then the elliptic curve private key is what is required and the decryption is successful; otherwise, continue traversing. Exemplarily, the elliptic curve private key to be backed up corresponds to its elliptic curve public key one-to-one. By comparing its public key with the externally specified public key, it is equivalent to comparing the elliptic curve private key to be backed up with the encrypted backup.

[0094] Exemplarily, the method for obtaining the plaintext of the elliptic curve private key corresponding to the private key to be backed up in the embodiment of the present disclosure can be as follows: Figure 4 shown.

[0095] The non-interactive zero-knowledge proof elliptic curve private key encryption backup method disclosed herein includes:

[0096] Based on the elliptic curve private key to be backed up, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength, a pre-built private key encryption backup model is input to obtain an encrypted backup;

[0097] Based on the encrypted backup, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength, a pre-built zero-knowledge proof model is input to prove in a ciphertext state that the elliptic curve private key in the encrypted backup is the private key of the specified elliptic curve public key;

[0098] According to the encrypted backup and the data encryption private key used for decryption, a pre-built decryption encryption backup model is input to obtain the backup elliptic curve private key plaintext.

[0099] The non-interactive zero-knowledge proof elliptic curve private key encryption backup method of the disclosed embodiment can be in a ciphertext state, and anyone can verify whether the ciphertext corresponding to the private key backup is correct.

[0100] Figure 5 The structural diagram of the elliptic curve private key encryption backup device of the non-interactive zero-knowledge proof of the embodiment of the present disclosure is exemplarily shown as follows: Figure 5 As shown, the device comprises:

[0101] The first unit 51 is used to input a pre-built private key encryption backup model based on the elliptic curve private key to be backed up, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength to obtain an encrypted backup;

[0102] The second unit 52 is used to input a pre-built zero-knowledge proof model based on the encrypted backup, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength, so as to prove in a ciphertext state that the elliptic curve private key in the encrypted backup is a private key of a specified elliptic curve public key;

[0103] The third unit 53 is used to input a pre-built decryption encryption backup model according to the encrypted backup and the data encryption private key used for decryption, and obtain the backup elliptic curve private key plaintext.

[0104] In an optional embodiment,

[0105] The private key encryption backup model includes a random oracle,

[0106] The first unit 51 is also used for:

[0107] Based on the elliptic curve private key to be backed up, the data encryption public key used to encrypt the elliptic curve private key to be backed up, the encryption strength, and the random oracle, the encrypted backup is obtained according to the private key encryption backup model.

[0108] In an optional embodiment,

[0109] The elliptic curve private key encryption backup device further includes a fourth unit, and the fourth unit is used for:

[0110] Verify the correctness of the ciphertext:

[0111] The data encryption public key used to encrypt the elliptic curve private key to be backed up, the encrypted backup, and the elliptic curve public key are subjected to a zero-knowledge proof algorithm to determine that the assertion is true.

[0112] Prove whether the elliptic curve private key in the encrypted backup is the private key of the elliptic curve public key.

[0113] In an optional embodiment,

[0114] The elliptic curve private key to be backed up and the data encryption public key used to encrypt the private key to be backed up generate proof materials through a non-interactive zero-knowledge proof algorithm;

[0115] The encrypted backup data structure includes NIZK-KEY-PROOF;

[0116] The input data of the zero-knowledge proof model for generating a private key encrypted backup also includes an elliptic curve base point and an order of an elliptic curve point group.

[0117] According to a third aspect of the embodiments of the present disclosure, there is provided an electronic device, characterized in that it includes:

[0118] processor;

[0119] a memory for storing processor-executable instructions;

[0120] The processor is configured to call the instructions stored in the memory to execute any one of the methods described above.

[0121] According to a fourth aspect of an embodiment of the present disclosure, a computer-readable storage medium is provided, on which computer program instructions are stored. When the computer program instructions are executed by a processor, any one of the methods described above is implemented.

[0122] The present disclosure also provides a program product, which includes an execution instruction, which is stored in a readable storage medium. At least one processor of a device can read the execution instruction from the readable storage medium, and at least one processor executes the execution instruction so that the device implements the methods provided in the various embodiments described above.

[0123] Among them, the readable storage medium can be a computer storage medium or a communication medium. The communication medium includes any medium that facilitates the transmission of a computer program from one place to another. The computer storage medium can be any available medium that can be accessed by a general-purpose or special-purpose computer. For example, a readable storage medium is coupled to a processor so that the processor can read information from the readable storage medium and write information to the readable storage medium. Of course, the readable storage medium can also be a component of the processor. The processor and the readable storage medium can be located in an application-specific integrated circuit (Application Specific Integrated Circuits, abbreviated as: ASIC). In addition, the ASIC can be located in a user device. Of course, the processor and the readable storage medium can also exist in a communication device as discrete components. The readable storage medium can be a read-only memory (ROM), a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, and an optical data storage device, etc.

[0124] In the above-mentioned terminal or server embodiments, it should be understood that the processor may be a central processing unit (CPU), or other general-purpose processors, digital signal processors (DSP), application-specific integrated circuits (ASIC), etc. A general-purpose processor may be a microprocessor or any conventional processor. The steps of the method disclosed in the present disclosure may be directly implemented as being executed by a hardware processor, or may be executed by a combination of hardware and software modules in the processor.

[0125] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present disclosure, rather than to limit them. Although the present disclosure has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or replace some or all of the technical features therein by equivalents. However, these modifications or replacements do not cause the essence of the corresponding technical solutions to deviate from the scope of the technical solutions of the embodiments of the present disclosure.

Claims

1. A non-interactive zero-knowledge proof elliptic curve private key encryption backup method, characterized in that: The non-interactive zero-knowledge proof elliptic curve private key encryption backup method includes: Input the elliptic curve private key to be backed up, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength into a pre-built private key encryption backup model to obtain an encrypted backup; Input the encrypted backup, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength into a pre-built zero-knowledge proof model to prove in a ciphertext state that the elliptic curve private key in the encrypted backup is the private key of the specified elliptic curve public key; Input the encrypted backup and the data encryption private key used for decryption into a pre-built decryption encryption backup model to obtain the backup elliptic curve private key plaintext; By traversing all sub-backups in the encrypted backup, for each sub-backup, an input for a random oracle is generated. After collecting the random oracle inputs corresponding to all sub-backups, the random oracle is called to generate a random selection result (Choice). All sub-backups in the encrypted backup are traversed to determine whether the random selection result in the sub-backup is consistent with the random selection result obtained by the oracle. If all sub-backups in the encrypted backup are judged to be consistent, it proves that the elliptic curve private key in the encrypted backup is the private key of the specified elliptic curve public key; otherwise, it means that the encrypted backup data is falsified; Traverse all sub-backups in the encrypted backup, decrypt each sub-backup using the data encryption private key, obtain the corresponding elliptic curve private key, and calculate the corresponding elliptic curve public key Pub based on the elliptic curve private key. If the obtained elliptic curve public key is the same as the externally specified public key, the elliptic curve private key is the required one and the decryption is successful; otherwise, continue traversing. The private key encryption backup model includes a random oracle. The method for obtaining the encrypted backup includes: Based on the elliptic curve private key to be backed up, the data encryption public key used to encrypt the elliptic curve private key to be backed up, the encryption strength, and the random oracle, the encrypted backup is obtained according to the private key encryption backup model, and the correctness verification method of the elliptic curve private key encryption backup includes verifying whether the ciphertext corresponding to the private key backup is correct, Ciphertext correctness verification methods include: A zero-knowledge proof algorithm is executed according to the data encryption public key used to encrypt the elliptic curve private key to be backed up, the encrypted backup, and the elliptic curve public key to determine whether the assertion is true. If the assertion is true, it is proved that the elliptic curve private key in the encrypted backup is the private key of the elliptic curve public key.

2. A non-interactive zero-knowledge proof elliptic curve private key encryption backup device, characterized in that: The device comprises: The first unit inputs the elliptic curve private key to be backed up, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength into a pre-built private key encryption backup model to obtain an encrypted backup; The second unit inputs the encrypted backup, the data encryption public key used to encrypt the elliptic curve private key to be backed up, and the encryption strength into a pre-built zero-knowledge proof model to prove in a ciphertext state that the elliptic curve private key in the encrypted backup is the private key of the specified elliptic curve public key; by traversing all sub-backups in the encrypted backup, for each sub-backup, an input for a random oracle is generated, after the random oracle inputs corresponding to all sub-backups are collected, the random oracle is called to generate a random selection result (Choice), traverse all sub-backups in the encrypted backup, and determine whether the random selection result in the sub-backup is consistent with the random selection result obtained by the oracle. If all sub-backups in the encrypted backup are determined to be consistent, it is proved that the elliptic curve private key in the encrypted backup is the private key of the specified elliptic curve public key; otherwise, it means that the encrypted backup data is falsified, and the private key encryption backup model includes a random oracle; The third unit inputs the encrypted backup and the data encryption private key used for decryption into a pre-built decryption encryption backup model to obtain the backup elliptic curve private key plaintext; The correctness verification method of the elliptic curve private key encryption backup includes verifying whether the ciphertext corresponding to the private key backup is correct. Ciphertext correctness verification methods include: The data encryption public key used to encrypt the elliptic curve private key to be backed up, the encrypted backup, and the elliptic curve public key are used to execute a zero-knowledge proof algorithm to determine whether the assertion is true. Prove whether the elliptic curve private key in the encrypted backup is the private key of the elliptic curve public key; The first unit is also used for: Based on the elliptic curve private key to be backed up, the data encryption public key used to encrypt the elliptic curve private key to be backed up, the encryption strength, and the random oracle, the encrypted backup is obtained according to the private key encryption backup model.

3. An electronic device, characterized in that: include: processor; a memory for storing processor-executable instructions; The processor is configured to call the instructions stored in the memory to execute the method of claim 1.

4. A computer-readable storage medium having computer program instructions stored thereon, characterized in that: When the computer program instructions are executed by a processor, the method of claim 1 is implemented.

Citation Information

Patent Citations

  • Private key backup method and backup device, and terminal equipment

    CN109547203A

  • Distributed network interactive identity authentication method based on zero-knowledge

    CN1801702A