A digital currency quantum computing resistant transaction method and system with offline receiver
By using the receiver's offline digital currency anti-quantum computing transaction method in the digital currency system, and using ID cryptography for identity authentication and transaction, the problem that existing systems cannot resist high quantum computing and switching costs is solved, achieving high efficiency and low Cost digital currency transactions and system switching.
Patent Information
- Application Number
- CN202011223644.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-11-05
- Publication Date
- 2025-02-11
- Estimated Expiration
- 2040-11-05
AI Technical Summary
The existing digital currency system cannot resist quantum computing, the cost of CA authentication and IBC authentication is high, and the asymmetric key pooling solution increases the storage cost and operational workload of key fuses, and changes the overall process and data structure of traditional authentication systems. This leads to excessive system switching costs.
The digital currency anti-quantum computing transaction method of the recipient is adopted, and public and private keys are issued to the central bank's digital currency system, commercial bank's digital currency system and users through the key management server. Identity authentication method is used to realize identity authentication between systems and offline Digital currency trading methods realize offline transactions for users. The system is certified based on ID cryptography theory, avoiding public storage of public keys and reducing the storage cost and operational workload of key fuses.
It realizes digital currency transactions that are resistant to quantum computing, reduces the storage cost and operation workload of key fobs, avoids the increase in system switching costs, and enhances the central bank's control over commercial banks.
Smart Images

Figure CN114529275B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of identity authentication, and in particular to a digital currency quantum computing resistant transaction method and system with an offline receiver. Background Art
[0002] The core elements of the digital currency D-RMB system of the People's Bank of China are one currency, two types of libraries and three centers. One currency, namely "D-RMB" (DC / EP), referred to as D currency, specifically refers to a string of encrypted digital strings representing a specific amount signed by the central bank. Two types of libraries: the D-RMB issuance library and the bank library (central bank digital currency database, commercial bank digital currency database). Digital currency in the issuance library is the central bank's digital currency fund; digital currency in the bank library is the commercial bank's inventory of digital cash. Three centers: one is the registration center (recording the entire process of currency generation, circulation, counting and verification, and extinction); the other two are certification centers, namely CA certification center (based on the PKI system, centralized management of institutional and user certificates, such as CFCA) and IBC certification center [that is, the certification center established based on identity-based cryptographic technology (Identity-Based Cryptograph)]. Two tables can be designed in the registration center, one is the digital currency ownership registration table, which records the ownership of digital currency, and the other is the transaction flow table.
[0003] The D-RMB system is a hierarchical system, which is jointly built by the central bank and commercial banks. The central bank digital currency system is a computer system operated and maintained by the central bank or an institution designated by the central bank to process information about digital currency. Its main functions include being responsible for the issuance and verification monitoring of digital currency. The commercial bank digital currency system is a computer system operated and maintained by commercial banks or institutions designated by commercial banks to process information about digital currency. It performs various currency-related functions of existing banks, namely banking functions, mainly including being directly responsible for meeting various needs of providing digital currency circulation services to the society after applying for digital currency from the central bank.
[0004] As most people know, quantum computers have great potential in password cracking. Most of the current mainstream asymmetric (public key) encryption algorithms, such as the RSA encryption algorithm, are based on two mathematical problems: factorization of large integers or calculation of discrete logarithms over finite fields. The difficulty of their cracking depends on the efficiency of solving these problems. On traditional computers, solving these two mathematical problems takes exponential time (that is, the cracking time increases exponentially with the increase of the length of the public key), which is unacceptable in practical applications. The Shor algorithm, which is tailor-made for quantum computers, can perform integer factorization or discrete logarithm calculation in polynomial time (that is, the cracking time increases with the increase of the length of the public key at a rate of k, where k is a constant independent of the length of the public key), thus making it possible to crack the RSA and discrete logarithm encryption algorithms.
[0005] Problems with existing technologies:
[0006] 1. CA certification and IBC certification in the existing digital currency system are not resistant to quantum computing;
[0007] 2. The existing quantum computing-resistant identity authentication system based on quantum secure communication is too costly for users and has complex symmetric key management;
[0008] 3. In the existing quantum computing-resistant identity authentication system based on asymmetric key pool, it is necessary to generate an asymmetric key pool from the public keys of all members and store it in each key card, which increases the storage cost and operation workload of the client key card;
[0009] 4. The existing quantum computing-resistant identity authentication system based on asymmetric key pool has changed the overall process and data structure of the traditional CA authentication and IBC authentication systems, resulting in excessively high costs for the CA authentication and IBC authentication systems and their corresponding user application systems to switch to quantum computing-resistant solutions. Summary of the invention
[0010] In response to the problems in the related technology, the present invention proposes a digital currency quantum computing-resistant transaction method and system with the recipient offline to overcome the above-mentioned technical problems existing in the existing related technology.
[0011] To this end, the specific technical solution adopted by the present invention is as follows:
[0012] According to one aspect of the present invention, a method for digital currency quantum computing resistant transaction with an offline receiver is provided, the method comprising the following steps:
[0013] S1. Use the key management server to issue system public and private keys and public and private keys to the central bank digital currency system, commercial bank digital currency system and users respectively;
[0014] S2. Implement identity authentication between the commercial bank digital currency system and the central bank digital currency system using an identity authentication method;
[0015] S3. Implement identity authentication between the user and the commercial bank digital currency system according to an identity authentication method;
[0016] S4. Implementing offline digital currency transaction of the user at the receiving party through an offline digital currency transaction method;
[0017] Wherein, when the key management server corresponding to the central bank digital currency system issues the system public and private keys for the central bank digital currency system, a random number is taken as the system private key, and then the system public key is calculated according to the system private key, and the system private key and the system public key are stored in the anti-quantum computing device of the central bank digital currency system;
[0018] When the key management server corresponding to the central bank digital currency system issues public and private keys to the central bank digital currency system, it calls the hash function to calculate the public key, then calculates the corresponding private key based on the public key, and stores the ID of the central bank digital currency system and the public and private keys in the anti-quantum computing device of the central bank digital currency system;
[0019] When the key management server corresponding to the central bank digital currency system issues the system public and private keys to the commercial bank digital currency system, it calculates the message authentication code to obtain the corresponding system private key, and then calculates the system public key based on the system private key, and stores the system private key in the anti-quantum computing device of the central bank digital currency system, and stores the system public key in the anti-quantum computing device of the corresponding user end;
[0020] When the key management server corresponding to the central bank digital currency system issues public and private keys to the commercial bank digital currency system, it calls the hash function to calculate the public key, and then calculates the private key based on the key management server corresponding to the central bank digital currency system according to the public key, and stores the ID of the commercial bank digital currency system and the public and private keys in the anti-quantum computing device of the commercial bank digital currency system;
[0021] When the key management server corresponding to the commercial bank digital currency system issues the system public and private keys to the user, it calculates the message authentication code to obtain the corresponding system private key, and then calculates the system public key based on the system private key, and stores the system private key in the anti-quantum computing device of the commercial bank digital currency system, and stores the system public key in the anti-quantum computing device of the corresponding user end;
[0022] When the key management server corresponding to the commercial bank digital currency system issues public and private keys to the user, it calls the hash function to calculate the public key, and then calculates the private key based on the key management server corresponding to the commercial bank digital currency system based on the public key, and stores the user's ID and the public and private keys in the user's anti-quantum computing device.
[0023] Furthermore, the S2 uses an identity authentication method to implement identity authentication between the commercial bank digital currency system and the central bank digital currency system, including the following steps:
[0024] S21. Send the identity information of the commercial bank digital currency system to be authenticated to the central bank digital currency system;
[0025] S22, the central bank digital currency system receives the identity information and performs authentication, and returns the authentication result to the commercial bank digital currency system, wherein, when the authentication result is successful, it contains the corresponding session key;
[0026] S23. The commercial bank digital currency system receives the authentication result and verifies the authentication result, wherein when the authentication result is successful, the corresponding session key is received.
[0027] Furthermore, the S21 also includes using a private key of a key management server corresponding to the central bank digital currency system to digitally sign the first sent information based on ID cryptography, and the digital signature specifically includes the following steps:
[0028] A first random number parameter is selected, and a first product between the first random number parameter and the public key of the commercial bank digital currency system is calculated. A preset function is then applied to the first sent message and the first product to obtain a first signature parameter, and the first signature parameter is used to obtain a first signature of the first sent message.
[0029] Furthermore, the S22 also includes using another private key of the central bank digital currency system to digitally sign the second sent information based on ID cryptography, and the digital signature specifically includes the following steps:
[0030] Select a second random number parameter, and calculate the second product between the second random number parameter and the public key of the central bank digital currency system, then use a preset function to act on the second sending message and the second product to obtain a second signature parameter, and use the second signature parameter to obtain a second signature of the second sending message.
[0031] Furthermore, the S3 implements the identity authentication between the user and the commercial bank digital currency system according to the identity authentication method, including the following steps:
[0032] S31, sending the identity information of the online user to be authenticated to the commercial bank digital currency system;
[0033] S32, the commercial bank digital currency system receives the identity information and performs authentication, and returns the authentication result to the online user, wherein when the authentication result is successful, it contains the corresponding session key;
[0034] S33. The online user receives the authentication result and verifies the authentication result, wherein when the authentication result is successful, the corresponding session key is received.
[0035] Furthermore, the S31 also includes using a private key of the key management server corresponding to the commercial bank digital currency system to digitally sign the third sent information based on ID cryptography, and the digital signature specifically includes the following steps:
[0036] A third random number parameter is selected, and a third product between the third random number parameter and the public key of the online user is calculated, and then a preset function is applied to the third sent message and the third product to obtain a third signature parameter, and the third signature parameter is used to obtain a third signature of the third sent message.
[0037] Furthermore, the S32 also includes using another private key of the commercial bank digital currency system to digitally sign the fourth sent information based on ID cryptography, and the digital signature specifically includes the following steps:
[0038] A fourth random number parameter is selected, and a fourth product between the fourth random number parameter and the public key of the commercial bank digital currency system is calculated, and then a preset function is applied to the fourth sending message and the fourth product to obtain a fourth signature parameter, and the fourth signature parameter is used to obtain a fourth signature of the fourth sending message.
[0039] Furthermore, the S4 implements the offline digital currency transaction of the user at the receiving end through the offline digital currency transaction method, including the following steps:
[0040] S41. The online sender user sends a signed transaction to the sender commercial bank digital currency system to which he belongs;
[0041] S42, the commercial bank digital currency system of the sender receives the signed transaction and performs decryption verification, and after the verification is passed, it is encrypted and sent to the central bank digital currency system, and the central bank digital currency system receives the message and performs decryption verification, wherein, when the verification transaction fails, the transaction failure result is notified to the commercial bank digital currency system of the sender, and when the verification transaction succeeds, the transaction and signature time are encrypted, and the message authentication code is calculated, and the encrypted information and the message authentication code are sent to the receiving commercial bank digital currency system to which the offline receiving user belongs;
[0042] S43, the receiving commercial bank digital currency system receives the message and performs decryption verification, wherein, if the verification transaction fails, the central bank digital currency system is notified, and if the verification transaction succeeds, the transaction is signed and the message authentication code is calculated and sent to the central bank digital currency system;
[0043] S44, the central bank digital currency system sends the transaction result to the sender commercial bank digital currency system, and the sender commercial bank digital currency system forwards the transaction result to the online sender user, and at the same time, the online sender user forwards the transaction result to the offline receiver user;
[0044] S45. The offline recipient user receives the message and performs decryption verification, and confirms the completion of the transaction. When the verification is successful, the received digital currency is stored.
[0045] Furthermore, the S41 also includes the online sender user using the private key of the corresponding key management server of the commercial bank digital currency system to digitally sign the fifth sending information based on ID cryptography, and the digital signature specifically includes the following steps:
[0046] A fifth random number parameter is selected, and a fifth product between the fifth random number parameter and the public key of the online user is calculated, and then a preset function is applied to the fifth sending message and the fifth product to obtain a fifth signature parameter, and the fifth signature parameter is used to obtain a fifth signature of the fifth sending message.
[0047] According to another aspect of the present invention, a digital currency quantum computing-resistant transaction system with an offline receiver is provided, the system comprising a central bank digital currency system, a commercial bank digital currency system and a user, wherein the identity authentication between the central bank digital currency system and the commercial bank digital currency system, and the identity authentication between the commercial bank digital currency system and the user are both authenticated based on the theory of ID cryptography;
[0048] The central bank digital currency system is used to produce and issue digital currency, and is also used to register the ownership of the digital currency;
[0049] The commercial bank digital currency system is used to perform banking functions for digital currency;
[0050] The user is the user of the digital currency;
[0051] Both the central bank digital currency system and the commercial bank digital currency system are configured with corresponding anti-quantum computing devices, each of which is deployed with a corresponding ID cryptography-based key management server, and the user is also configured with a corresponding anti-quantum computing device.
[0052] The beneficial effects of the present invention are:
[0053] 1) The present invention can realize a digital currency transaction method based on ID cryptography and offline receiver that is resistant to quantum computing;
[0054] 2) The present invention does not need to generate an asymmetric key pool from the public keys of all members and then store them in each key card. The client key card only needs to store the key related to itself, so the storage cost and operation workload of the key card are small;
[0055] 3) The present invention does not change the overall process and data structure of identity authentication and transaction communication of the traditional digital currency system, but only adds protection based on ID cryptography symmetric keys on the basis of the existing technology. Therefore, the cost of switching the digital currency communication system to a quantum computing-resistant solution is not high; the present invention does not use a CA communication system that cannot resist quantum computing, but instead uses a key issuance service based on ID cryptography, which not only reduces the complexity of system construction and upgrade, but also enhances the central bank's control over commercial banks;
[0056] 4) The key issuance server based on ID cryptography of the present invention has different system public and private keys for each different user. Even if the system public key of a user is lost and the corresponding system private key is cracked by a quantum computer, it will not endanger the system public and private keys of other users. BRIEF DESCRIPTION OF THE DRAWINGS
[0057] In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings required for use in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.
[0058] Figure 1 is a flow chart of a digital currency quantum computing resistant transaction method in which the receiver is offline according to an embodiment of the present invention;
[0059] Figure 2It is a flow chart of a digital currency transaction based on ID cryptography and with a receiver offline in a digital currency quantum computing-resistant transaction method with a receiver offline according to an embodiment of the present invention;
[0060] Figure 3 This is a basic structural diagram of a central bank digital currency system in a digital currency quantum computing-resistant transaction system in which the receiver is offline according to an embodiment of the present invention. DETAILED DESCRIPTION
[0061] To further illustrate each embodiment, the present invention provides drawings, which are part of the disclosure of the present invention and are mainly used to illustrate the embodiments and can be used in conjunction with the relevant descriptions in the specification to explain the operating principles of the embodiments. With reference to these contents, ordinary technicians in the field should be able to understand other possible implementations and advantages of the present invention. The components in the figures are not drawn to scale, and similar component symbols are generally used to represent similar components.
[0062] According to an embodiment of the present invention, a method and system for digital currency quantum computing-resistant transaction with an offline receiver are provided.
[0063] The present invention is further described with reference to the accompanying drawings and specific embodiments. Figure 1-2 As shown, according to one embodiment of the present invention, a method for digital currency quantum computing-resistant transaction in which the receiver is offline is provided, and the method comprises the following steps:
[0064] S1. Use the key management server to issue system public and private keys and public and private keys to the central bank digital currency system, commercial bank digital currency system and users respectively;
[0065] Among them, when the key management server KMS corresponding to the central bank digital currency system issues the system public and private keys to the central bank digital currency system S, it takes a random number as the system private key SK MS , and then according to the system private key SK MS Calculate the system public key PK MS =SK MS *P, and the system private key SK MS And the system public key PK MS A quantum-resistant computing device T stored in the central bank digital currency system S S inside;
[0066] When the key management server KMS corresponding to the central bank digital currency system issues the public and private keys to the central bank digital currency system S, the hash function H is called. 1 Calculate the public key PK S =H 1 (ID S ), and then according to the public key PKS Calculate the corresponding private key SK S =SK MS *PK S , and the ID of the central bank digital currency system and the public and private keys, i.e., ID S ,PK S SK S A quantum-resistant computing device T deposited in the central bank digital currency system S S ;
[0067] When the key management server KMS corresponding to the central bank digital currency system issues the system public and private keys to the commercial bank digital currency system A, the message authentication code is calculated to obtain the corresponding system private key SK MSA(KMS) =MAC(ID A ,SK MS )[MAC(m,k) is the message authentication code calculated for message m using key k], and then based on the system private key SK MSA(KMS) Calculate the system public key PK MSA(KMS) =SK MSA(KMS) *P, and the system private key SK MSA(KMS) The public key PK of the central bank digital currency system is stored in the quantum-resistant computing device of the central bank digital currency system. MSA(KMS) Stored in the quantum-resistant computing device on the corresponding user side, namely PK MSA(KMS) Save in T A PK MSB(KMS) Save in T B middle;
[0068] When the key management server KMS corresponding to the central bank digital currency system issues the public and private keys to the commercial bank digital currency system A, the hash function H is called. 1 Calculate the public key PK A =H 1 (ID A ), and then according to the public key PK A Calculate the private key SK of the key management server KMS corresponding to the central bank digital currency system A(KMS) =SK MSA(KMS) *PK A , and the ID of the commercial bank digital currency system A and the public and private keys, i.e., ID A ,PK A SK A(KMS) The quantum-resistant computing device T deposited in the commercial bank digital currency system A A ;
[0069] When the key management server KMSA corresponding to the commercial bank digital currency system issues the system public and private keys to the user A1, the message authentication code is calculated to obtain the corresponding system private key SK MSA1 =MAC(ID A1 ,SK MSA ), and then according to the system private key SK MSA1 Calculate the system public key PK MSA1 =SK MSA1 *P, and the system private key SK MSA1 The public key PK of the commercial bank digital currency system is stored in the quantum-resistant computing device of the commercial bank digital currency system. MSA1 Stored in the quantum-resistant computing device on the corresponding user side, namely PK MSA1 Save in T A1 PK MSA2 Save in T A2 middle;
[0070] When the key management server KMSA corresponding to the commercial bank digital currency system issues the public and private keys to the user A1, the hash function H is called. 1 Calculate the public key PK A1 =H 1 (ID A1 ), and then according to the public key PK A1 Calculate the private key SK of the key management server KMSA corresponding to the commercial bank digital currency system A1 =SK MSA1 *PK A1 , and the user's ID and the public and private key, i.e., ID A1 ,PK A1 SK A1 Stored in the quantum-resistant computing device T of user A1 A1 middle.
[0071] S2. The commercial bank digital currency system performs identity authentication with the central bank digital currency system S (using an identity authentication method to implement identity authentication between the commercial bank digital currency system and the central bank digital currency system);
[0072] The following takes the identity authentication between commercial bank digital currency system A and central bank digital currency system S as an example. The process of identity authentication between other commercial bank digital currency systems and central bank digital currency system S is similar.
[0073] Wherein, the S2 comprises the following steps:
[0074] S21. A sends its own identity information to S (sends the identity information of the commercial bank digital currency system to be authenticated to the central bank digital currency system);
[0075] AAccording to ID S Calculate PK S =H 1 (ID S ), take out your own KMS-based private key SK A(KMS) Calculate the symmetric key K between A and S A-S =e(SK A(KMS) , PK S ). Get the timestamp T 1 , using K A-S To T 1 Calculate the message authentication code to get K 1 =MAC(T 1 ,K A-S ). The combined IDA||IDS||T 1 ||AINFO as MSG A , where AINFO is the identity information of A to be used for authentication.
[0076] Use SK A(KMS) About MSG A To make a digital signature based on ID cryptography, the process is as follows: Take the random number parameter r 1 , find r 1 and PK A The product of 1 *PK A , and then use the function H 1 Acts on MSG A and r 1 *PK A , we can get the signature parameter h 1 =H 1 (MSG A ,r 1 *PK A ). Then you can get MSG A Signature SIGN(MSG A ,SK A(KMS) )=(r 1 *PK A ,(r 1 +h 1 )*SK A(KMS) ).
[0077] Use K 1 To AINFO and SIGN (MSG A ,SK A(KMS) ) encrypted to obtain {AINFO||SIGN(MSG A ,SK A(KMS) )}K 1 , together with the ID A、ID S and T 1 Sent to S together, the message sent can be represented by ID A ||ID S ||T 1 |{AINFO||SIGN(MSG A ,SK A(KMS) )}K 1 .
[0078] S22, S sends the authentication result (including the session key if the authentication is successful) to A (the central bank digital currency system receives the identity information and performs authentication, and returns the authentication result to the commercial bank digital currency system, wherein, when the authentication result is successful, it includes the corresponding session key);
[0079] S receives the message ID from A A ||ID S ||T 1 |{AINFO||SIGN(MSG A ,SK A(KMS) )}K 1 The KMS in S calculates its system private key to A as SK MSA(KMS) =MAC(ID A ,SK MS ), according to PK S =H 1 (ID S )Get SK S(KMS) =SK MSA(KMS) *PK S . Further obtain the symmetric key K between S and A S-A =e(SK S(KMS) , PK A ). According to ID cryptography, we can get: K A-S =e(SK A(KMS) , PK S )=e(SK MSA(KMS) *PK A , PK S )=e(PK A , S.K. MSA(KMS) *PK S )=e(PK A , S.K. S(KMS) )=e(SK S(KMS) , PK A )=K S-A . Use K S-A To T 1 Calculate the message authentication code to get K′ 1 =MAC(T 1 ,KS-A ). Use K′ 1 Decryption {AINFO||SIGN(MSG A ,SK A(KMS) )}K 1 , get A's identity information AINFO and SIGN (MSG A ,SK A(KMS) ).
[0080] S According to ID A Calculate PK A =H 1 (ID A ), according to the SK calculated above MSA(KMS) Calculate the system public key of KMS to A as PK MSA(KMS) =SK MSA(KMS) *P, use PK A and PK MSA(KMS) To verify the signature SIGN(MSG A ,SK A(KMS) ). To verify the signature, you only need to verify (P,PK MSA(KMS) ,r 1 *PK A +h 1 *PK A ,(r 1 +h 1 )*SK A(KMS) ) is a valid Diffie-Hellman tuple. If the verification succeeds, S generates the session key KS S-A It is combined with the authentication success message and is called RET S ; If the verification fails, the authentication failure message is called RET S . Get the timestamp T 2 , the combination IDS||IDA||T 2 ||RET S As MSG S .
[0081] Use SK S(KMS) About MSG S To make a digital signature based on ID cryptography, the process is as follows: Take the random number parameter r 2 , find r 2 and PK S The product of 2 *PK S , and then use the function H 1 Acts on MSG S and r 2 *PK S , we can get the signature parameter h 2 =H 1(MSG S ,r 2 *PK S ). Then you can get MSG S Signature SIGN(MSG S ,SK S(KMS) )=(r 2 *PK S ,(r 2 +h 2 )*SK S(KMS) ).
[0082] Use K S-A To T 2 Calculate the message authentication code to get K 2 =MAC(T 2 ,K S-A ), using K 2 About RET S and SIGN(MSG S ,SK S(KMS) ) encrypted to obtain {RET S ||SIGN(MSG S ,SK S(KMS) )}K 2 , together with the ID S 、ID A and T 2 Sent to A together, the message sent can be represented by ID S ||ID A ||T 2 |{RET S ||SIGN(MSG S ,SK S(KMS) )}K 2 .
[0083] S23, A receives the authentication result (including the session key if the authentication is successful) (the commercial bank digital currency system receives the authentication result and verifies the authentication result, wherein, when the authentication result is successful, the corresponding session key is received);
[0084] A receives the message ID from S S ||ID A ||T 2 |{RET S ||SIGN(MSG S ,SK S(KMS) )}K 2 . Use K A-S To T 2 Calculate the message authentication code to get K′ 2 =MAC(T 2 ,KA-S ), using K′ 2 Decryption {RET S ||SIGN(MSG S ,SK S(KMS) )}K 2 , get RET S and SIGN(MSG S ,SK S(KMS) ).
[0085] A uses PK S and from T A PK taken out MSA(KMS) To verify the signature SIGN(MSG S ,SK S(KMS) ). To verify the signature, you only need to verify (P,PK MSA(KMS) ,r 2 *PK S +h 2 *PK S ,(r 2 +h 2 )*SK S(KMS) ) is a valid Diffie-Hellman tuple. If A successfully verifies the signature, and RET S If the message carried in the message is also a successful signature verification by S, then RET can be taken out. S The session key KS in S-A , so A and S can use the session key for confidential communication; in other cases, the session key cannot be obtained.
[0086] Similarly, B and S can use this method to authenticate each other and negotiate the session key KS between them. B-A .
[0087] From the above process, we can see that the public key of the system based on ID cryptography is not disclosed, and the digital signature based on ID cryptography is protected by a symmetric key. Therefore, this process can resist the attack of quantum computers on ID cryptography. In addition, the KMS based on ID cryptography has different system public and private keys for different users such as A, B, and C. Even if A's system public key PK MSA(KMS) Loss of the corresponding system private key SK MSA(KMS) Even if it is cracked by a quantum computer, it will not endanger the system public and private keys of other users such as B and C.
[0088] S3. The user performs identity authentication with the commercial bank digital currency system (the identity authentication between the user and the commercial bank digital currency system is implemented according to the identity authentication method);
[0089] The following takes the identity authentication between online user B1 and commercial bank digital currency system B as an example. The process of identity authentication between other online users and the corresponding commercial bank digital currency systems is similar.
[0090] Wherein, the S3 comprises the following steps:
[0091] S31, B1 sends its own identity information to B (sends the identity information of the online user to be authenticated to the commercial bank digital currency system);
[0092] B1 by ID B Calculate PK B =H 1 (ID B ), take out your own private key SK based on KMSB B1 Calculate the symmetric key K between B1 and B B1-B =e(SK B1 , PK B ). Get the timestamp T 3 , using K B1-B To T 3 Calculate the message authentication code to get K 3 =MAC(T 3 ,K B1-B ). The combination IDB1||IDB||T 3 ||B1INFO as MSG B1 , where B1INFO is the identity information of B1 to be used for authentication.
[0093] Use SK B1 About MSG B1 To make a digital signature based on ID cryptography, the process is as follows: Take the random number parameter r 3 , find r 3 and PK B1 The product of 3 *PK B1 , and then use the function H 1 Acts on MSG B1 and r 3 *PK B1 , we can get the signature parameter h 3 =H 1 (MSG B1 ,r 3 *PK B1 ). Then you can get MSG B1 Signature SIGN(MSG B1 ,SK B1 )=(r 3 *PK B1 ,(r 3 +h 3)*SK B1 ).
[0094] Use K 3 B1INFO and SIGN (MSG B1 ,SK B1 ) encrypted to obtain {B1INFO||SIGN(MSG B1 ,SK B1 )}K 3 , together with the ID B1 、ID B and T 3 Sent to B together, the message sent can be represented by ID B1 ||ID B ||T 3 |{B1INFO||SIGN(MSG B1 ,SK B1 )}K 3 .
[0095] S32, B sends the authentication result (including the session key if the authentication is successful) to B1 (the commercial bank digital currency system receives the identity information and performs authentication, and returns the authentication result to the online user, wherein, when the authentication result is successful, it includes the corresponding session key);
[0096] B receives the message ID from B1 B1 ||ID B ||T 3 |{B1INFO||SIGN(MSG B1 ,SK B1 )}K 3 KMSB in B calculates its system private key to B1 as SK MSB1 =MAC(ID B1 ,SK MSB ), according to PK B =H 1 (ID B )Get SK B(MSB1) =SK MSB1 *PK B . Further obtain the symmetric key K between B and B1 B-B1 =e(SK B(MSB1) , PK B1 ). According to ID cryptography, we can get: K B1-B =e(SK B1 , PK B )=e(SK MSB1 *PK B1 , PK B )=e(PK B1 , S.K.MSB1 *PK B )=e(PK B1 , S.K. B(MSB1) )=e(SK B(MSB1) , PK B1 )=K B-B1 . Use K B-B1 To T 3 Calculate the message authentication code to get K′ 3 =MAC(T 3 ,K B-B1 ). Use K′ 3 Decryption {B1INFO||SIGN(MSG B1 ,SK B1 )}K 3 , get B1's identity information B1INFO and SIGN (MSG B1 ,SK B1 ).
[0097] BAccording to ID B1 Calculate PK B1 =H 1 (ID B1 ), according to the SK calculated above MSB1 Calculate the system public key of KMSB to B1 as PK MSB1 =SK MSB1 *P, use PK B1 and PK MSB1 To verify the signature SIGN(MSG B1 ,SK B1 ). To verify the signature, you only need to verify (P,PK MSB1 ,r 3 *PK B1 +h 3 *PK B1 ,(r 3 +h 3 )*SK B1 ) is a valid Diffie-Hellman tuple. If the verification succeeds, B generates the session key KS B-B1 It is combined with the authentication success message and is called RET B ; If the verification fails, the authentication failure message is called RET B . Get the timestamp T 4 , the combination ID B ||ID B1 ||T 4 ||RET B As MSG B .
[0098] Use SK B(MSB1) About MSGB To make a digital signature based on ID cryptography, the process is as follows: Take the random number parameter r 4 , find r 4 and PK B The product of 4 *PK B , and then use the function H 1 Acts on MSG B and r 4 *PK B , we can get the signature parameter h 4 =H 1 (MSG B ,r 4 *PK B ). Then you can get MSG B Signature SIGN(MSG B ,SK B(MSB1) )=(r 4 *PK B ,(r 4 +h 4 )*SK B(MSB1) ).
[0099] Use K B-B1 To T 4 Calculate the message authentication code to get K 4 =MAC(T 4 ,K B-B1 ), using K 4 About RET B and SIGN(MSG B ,SK B(MSB1) ) encrypted to obtain {RET B ||SIGN(MSG B ,SK B(MSB1) )}K 4 , together with the ID B 、ID B1 and T 4 Sent to B1 together, the message sent can be represented by ID B ||ID B1 ||T 4 ||{RET B ||SIGN(MSG B ,SK B(MSB1) )}K 4 .
[0100] S33, B1 receives the authentication result (including the session key if the authentication is successful) (the online user receives the authentication result and verifies the authentication result, wherein, when the authentication result is successful, the corresponding session key is received);
[0101] B1 receives the message ID from B B ||ID B1 ||T 4 ||{RET B ||SIGN(MSG B ,SK B(MSB1) )}K 4 . Use K B1-B To T 4 Calculate the message authentication code to get K′ 4 =MAC(T 4 ,K B1-B ), using K′ 4 Decryption {RET B ||SIGN(MSG B ,SK B(MSB1) )}K 4 , get RET B and SIGN(MSG B ,SK B(MSB1) ).
[0102] B1 PK B and from T B1 PK taken out MSB1 To verify the signature SIGN(MSG B ,SK B(MSB1) ). To verify the signature, you only need to verify (P,PK MSB1 ,r 4 *PK B +h 4 *PK B ,(r 4 +h 4 )*SK B(MSB1) ) is a valid Diffie-Hellman tuple. If B1 successfully verifies the signature, and RET B If the message carried in the message is that B successfully verified the signature, then RET can be taken out. B The session key KS in B-B1 , so that B1 and B can use the session key for confidential communication; in other cases, the session key cannot be obtained.
[0103] From the above process, we can see that the public key of the system based on ID cryptography is not disclosed, and the digital signature based on ID cryptography is protected by a symmetric key, so this process can resist the attack of quantum computers on ID cryptography. In addition, the public and private keys of the system based on ID cryptography are different for different users such as B1, B2, and B3. Even if B1's system public key PK MSB1 Loss of the corresponding system private key SK MSB1Even if it is cracked by a quantum computer, it will not endanger the system public and private keys of other users such as B2 and B3.
[0104] S4, offline digital currency transaction of the recipient A1 (offline digital currency transaction of the user of the recipient is realized through an offline digital currency transaction method);
[0105] The receiver A1 is offline, and the sender B1 is online. Now, let's take the digital currency transaction between the two parties as an example. The flow chart is as follows Figure 2 shown.
[0106] Wherein, the S4 comprises the following steps:
[0107] S41, B1 sends a signed transaction to B;
[0108] A1 and B1 communicate in close proximity to exchange information between the two parties. The sender's information includes the sender's ID, wallet ID, contact information, hardware device code, etc. The receiver's information is similar.
[0109] B1 uses private key SK B1 ID B1 , T and TX composed of the message MSG B1 Calculate the signature based on ID cryptography to get SIG B1 =SIGN(MSG B1 ,SK B1 ), where T is the signing time, and TX is the message to be signed, i.e. the transaction, including the sender information, the receiver information, the digital currency and other transaction information. The signing process is as follows:
[0110] Get random number parameter r 5 , find r 5 and PK B1 The product of 5 *PK B1 , and then use the function H 1 Acts on MSG B1 and r 5 *PK B1 , we can get the signature parameter h 5 =H 1 (MSG B1 ,r 5 *PK B1 ). Then you can get MSG B1 Signature SIGN(MSG B1 ,SK B1 )=(r 5 *PK B1 ,(r 5 +h 5 )*SK B1 ).
[0111] B1 uses the session key KS between B1 and B B-B1 Encrypt MSG B1 and SIG B1 And send it to the commercial bank digital currency system B to which B1 belongs.
[0112] S42. B receives the signed transaction and sends it to the central bank;
[0113] B receives the message and uses KS B-B1 Decrypted MSG B1 and SIG B1 Then use PK B1 and PK MSB1 To verify the signature SIG B1 To verify the signature, you only need to verify (P,PK MSB1 ,r 5 *PK B1 +h 5 *PK B1 ,(r 5 +h 5 )*SK B1 ) is a valid Diffie-Hellman tuple.
[0114] If the verification is successful, it means that the message is indeed from B. Then B uses the session key KS between B and S to send the message to S. S-B About MSG B1 The T and TX in are encrypted and sent to the central bank digital currency system S.
[0115] S receives the message and uses KS S-B Decryption yields T and TX. S verifies transaction TX, notifies B if the transaction fails, and uses the session key KS between S and A if the transaction succeeds S-A Encrypt T and TX to get {T||TX}KS S-A , and use KS S-A Calculate the message authentication code for T||TX and get MAC(T||TX,KS S-A ), then {T||TX}KS S-A and MAC(T||TX,KS S-A ) is sent to the commercial bank digital currency system A to which A1 belongs.
[0116] S43. A signs the transaction;
[0117] After receiving the message, A uses KS S-A Decrypt {T||TX}KS S-A Get T and TX, and MAC(T||TX,KS S-A) for verification. A verifies the transaction TX and notifies S if the transaction fails. If the transaction succeeds, it continues with the next steps.
[0118] A records T||TX locally, and then calculates the symmetric key K between A and A1 according to the method in step S32 A-A1 , use K A-A1 Calculate the message authentication code for T and get KT = MAC (T, K A-A1 ) Calculate another private key SK of A according to the method in step S32 A(MSA1) , and use SK A(MSA1) Make a digital signature based on ID cryptography on T||TX to get SIG A =SIGN(T||TX,SK A(MSA1) ). Encrypt TX and SIG with KT A Get {TX||SIG A}KT and called it RET A Then use KS S-A Encrypted RET A Get {RET A}KS S-A , using KS S-A About RET A Calculate the message authentication code to get MAC (RET A ,KS S-A ), and {RET A}KS S-A and MAC(RET A ,KS S-A ) is sent to S.
[0119] S44, S sends the transaction result to B, B forwards it to B1, and B1 forwards it to A1;
[0120] After S receives the message, if it is a transaction failure message, it will be named RET; otherwise, it will be named KS S-A Decryption {RET A}KS S-A Get RET A , and MAC(RET A ,KS S-A ) for verification. If the verification is successful, it means the transaction is successful. S records the ownership change of the digital currency after the transaction is successful, and names the successful transaction message RET. S uses KS S-B Encrypt RET||RET A And send it to B.
[0121] B receives the message and uses KS S-B Decrypted to get RET||RET A and use KS B-B1Encrypt RET||RET A Then send it to B1.
[0122] B1 receives the message and uses KS B-B1 Decrypted to get RET||RET A After B1 confirms RET, it confirms the transaction is complete and then deletes the digital currency in TX. B1 will T||RET A Send to A1.
[0123] S45, A1 confirms the transaction;
[0124] A1 gets T||RET A , that is, T and {TX||SIG A A1 calculates the symmetric key K between A1 and A according to the method in step S31 A1-A , and then use K A1-A Calculate the message authentication code for T and get KT′=MAC(T,K A1-A ), decrypt {TX||SIG with KT′ A}KT gets TX||SIG A A1 uses the method in step S32 to sign SIG A After verification, A1 confirms the transaction is complete and stores the received digital currency if successful.
[0125] From the above process, we can see that the system public key based on ID cryptography is not disclosed, and the digital signature based on ID cryptography is protected by a symmetric key. Therefore, this process can resist the attack of quantum computers on ID cryptography.
[0126] According to another aspect of the present invention, taking the operation example of the central bank digital currency as an example, Figure 3 As shown in the figure, the basic structure of the digital currency system mainly includes the central bank digital currency system, the commercial bank digital currency system (in practice, it can be multiple commercial bank digital currency systems) and users. Among them, the identity authentication between the central bank digital currency system and the commercial bank digital currency system, and the identity authentication between the commercial bank digital currency system and the user are all based on the theory of ID cryptography. The central bank digital currency system is used to generate and issue digital currency, as well as to register the ownership of digital currency; the commercial bank digital currency system is used to perform banking functions for digital currency; and users are the main users of digital currency.
[0127] This embodiment provides a digital currency quantum computing resistant transaction system with an offline receiver, which is composed of a central bank digital currency system, a commercial bank digital currency system, and a user terminal. Assume that the ID of the central bank digital currency system is S, and S has a quantum computing resistant device T S , TS A key management server KMS based on ID cryptography is deployed in the system; the IDs of the commercial bank digital currency system are A, B, C..., each with an anti-quantum computing device T A , T B , T C …, while T A , T B , T C ...and the key management servers KMSA, KMSB, KMSC based on ID cryptography are deployed respectively; the commercial bank digital currency system A includes users A1, A2, A3..., the commercial bank digital currency system B includes users B1, B2, B3..., the commercial bank digital currency system C includes users C1, C2, C3..., and all users also have anti-quantum computing devices T A1 , T A2 , T A3 , T B1 , T B2 , T B3 , T C1 , T C2 , T C3 ….
[0128] The anti-quantum computing device can be a key card, a mobile terminal, a cipher machine, a gateway, etc., which can communicate with the bank currency system or each user end through the mainboard interface, short-range wireless communication, controllable intranet communication, etc., to ensure that information will not be stolen by quantum computers within the communication range. For example, the anti-quantum computing device can be a key card plugged into the host motherboard of the bank currency system, or the anti-quantum computing device can be a mobile terminal that conducts NFC communication with two mobile terminals, or the anti-quantum computing device can be a cipher machine or a gateway that conducts secure intranet communication with both user hosts in the same intranet.
[0129] When KMS issues public and private keys to a member, it first needs to establish a set of system parameters based on ID cryptography. The steps are as follows:
[0130] (1) G 1 , G 2 is a GDH (Diffie–Hellman group) group of order q, where q is a large prime number, G 1 is an additive cyclic group consisting of points on the elliptic curve, P is the group G 1 Generator of G 2 is a multiplicative cyclic group; the bilinear map e:G 1 ×G 1 →G 2 .
[0131] (2) Randomly select SK MS ∈Z p* As the system private key of the central bank digital currency system, SK MS The system public key PK of the central bank digital currency system is only stored in the quantum-resistant computing device of the central bank digital currency system. MS =SK MS *P,PK MS Quantum-resistant computing device T stored in central bank digital currency system S KMS has different public and private keys for each commercial bank digital currency system. The system private key of A is SK MSA(KMS) =MAC(ID A ,SK MS )(MAC(m,k) is the message authentication code calculated for message m using key k), the system public key of A is PK MSA(KMS) =SK MSA(KMS) *P; the system private key for B is SK MSB(KMS) =MAC(ID B ,SK MS ), the system public key of B is PK MSB(KMS) =SK MSB(KMS) *P, KMS calculates the system public and private keys of other commercial bank digital currency systems in a similar way. The system private key based on KMS is stored in the quantum-resistant computing device of the central bank digital currency system, and the system public key based on KMS is stored in the quantum-resistant computing device of the corresponding user end, that is, PK MSA(KMS) Save in T A PK MSB(KMS) Save in T B middle.
[0132] (3) When KMS issues a public and private key to S, it calls the hash function H 1 Calculate the public key PK S =H 1 (ID S ), and then according to the public key PK S Calculate the private key SK S =SK MS *PK S , S's ID and public-private key, namely ID S ,PK S SK S A quantum-resistant computing device T stored in S S When KMS issues a public and private key to A, it calls the hash function H 1 Calculate the public key PK A =H 1 (ID A ), and then according to the public key PK A Calculate the KMS-based private key SK A(KMS) =SKMSA(KMS) *PK A , A's ID and public and private keys, namely ID A ,PK A SK A(KMS) A quantum-resistant computing device T stored in A A The process of KMS issuing public and private keys to other commercial banks such as B, C, etc. is similar.
[0133] (4) Randomly select SK MSA ∈Z p * As the system private key of the commercial bank digital currency system A, SK MSA Only stored in A's quantum-resistant computing device, the system public key PK of the commercial bank digital currency system is calculated MSA =SK MSA *P,PK MSA The quantum computing device T stored in the commercial bank digital currency system A KMSA has different public and private keys for each user. The system private key for A1 is SK MSA1 =MAC(ID A1 ,SK MSA ), the system public key of A1 is PK MSA1 =SK MSA1 *P; the system private key for A2 is SK MSA2 =MAC(ID A2 ,SK MSA ), the system public key of A2 is PK MSA2 =SK MSA2 *P, KMSA's calculation method for other users' system public and private keys is similar. The system private key based on KMSA is stored in the quantum-resistant computing device of the commercial bank digital currency system, and the system public key based on KMSA is stored in the quantum-resistant computing device of the corresponding user end, that is, PK MSA1 Save in T A1 PK MSA2 Save in T A2 The calculation methods of KMSB, KMSC, etc. for the system public and private keys of different users are similar.
[0134] (5) When KMSA issues public and private keys to user A1, it calls the hash function H 1 Calculate the public key PK A1 =H 1 (ID A1 ), and then according to the public key PK A1 Calculate the private key SK based on KMSA A1 =SK MSA1 *PK A1, A1's ID and public and private keys, namely ID A1 ,PK A1 SK A1 A quantum-resistant computing device T stored in A1 A1 The process of KMSA issuing public and private keys to other users such as A1, A2, etc. is similar. The methods of other key management servers KMSB, KMSC, etc. issuing public and private keys to their respective users are similar.
[0135] In summary, with the help of the above-mentioned technical scheme of the present invention, the present invention can realize a quantum computing-resistant digital currency transaction method based on ID cryptography and offline receiver; in addition, the present invention does not need to generate an asymmetric key pool from the public keys of all members and then store it in each key card. The client key card only needs to store the key related to itself, so the storage cost and operation workload of the key card are small; in addition, the present invention does not change the overall process and data structure of identity authentication and transaction communication of the traditional digital currency system, but only adds protection based on ID cryptography symmetric keys on the basis of the existing technology, so the cost of switching the digital currency communication system to a quantum computing-resistant solution is not high; the present invention does not adopt a CA communication system that cannot resist quantum computing, but replaces it with a key issuance service based on ID cryptography, which not only reduces the complexity of system construction and upgrading, but also enhances the central bank's control over commercial banks; in addition, the key issuance server based on ID cryptography of the present invention has different system public and private keys for each different user. Even if a user's system public key is lost and its corresponding system private key is cracked by a quantum computer, it will not endanger the system public and private keys of other users.
[0136] The technical features of the above-described embodiments may be arbitrarily combined. To make the description concise, not all possible combinations of the technical features in the above-described embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this specification.
[0137] The above-mentioned embodiments only express several implementation methods of the present invention, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the invention patent. It should be pointed out that, for ordinary technicians in this field, several variations and improvements can be made without departing from the concept of the present invention, and these all belong to the protection scope of the present invention. Therefore, the protection scope of the patent of the present invention shall be subject to the attached claims.
Claims
1. A digital currency quantum computing resistant transaction method with an offline receiver, characterized in that: The method comprises the following steps: S1. Use the key management server to issue system public and private keys and public and private keys to the central bank digital currency system, commercial bank digital currency system and users respectively; S2. Implement identity authentication between the commercial bank digital currency system and the central bank digital currency system using an identity authentication method; S3. Implement identity authentication between the user and the commercial bank digital currency system according to an identity authentication method; S4. Implementing offline digital currency transaction of the user at the receiving party through an offline digital currency transaction method; Wherein, when the key management server corresponding to the central bank digital currency system issues the system public and private keys for the central bank digital currency system, a random number is taken as the system private key, and then the system public key is calculated according to the system private key, and the system private key and the system public key are stored in the anti-quantum computing device of the central bank digital currency system; When the key management server corresponding to the central bank digital currency system issues public and private keys to the central bank digital currency system, it calls the hash function to calculate the public key, then calculates the corresponding private key based on the public key, and stores the ID of the central bank digital currency system and the public and private keys in the anti-quantum computing device of the central bank digital currency system; When the key management server corresponding to the central bank digital currency system issues the system public and private keys to the commercial bank digital currency system, it calculates the message authentication code to obtain the corresponding system private key, and then calculates the system public key based on the system private key, and stores the system private key in the anti-quantum computing device of the central bank digital currency system, and stores the system public key in the anti-quantum computing device of the corresponding user end; When the key management server corresponding to the central bank digital currency system issues public and private keys to the commercial bank digital currency system, it calls the hash function to calculate the public key, and then calculates the private key based on the key management server corresponding to the central bank digital currency system according to the public key, and stores the ID of the commercial bank digital currency system and the public and private keys in the anti-quantum computing device of the commercial bank digital currency system; When the key management server corresponding to the commercial bank digital currency system issues the system public and private keys to the user, it calculates the message authentication code to obtain the corresponding system private key, and then calculates the system public key based on the system private key, and stores the system private key in the anti-quantum computing device of the commercial bank digital currency system, and stores the system public key in the anti-quantum computing device of the corresponding user end; When the key management server corresponding to the commercial bank digital currency system issues public and private keys to the user, it calls the hash function to calculate the public key, and then calculates the private key based on the key management server corresponding to the commercial bank digital currency system based on the public key, and stores the user's ID and the public and private keys in the user's anti-quantum computing device.
2. According to claim 1, a digital currency quantum computing resistant transaction method with an offline receiver is characterized in that: The S2 uses the identity authentication method to implement identity authentication between the commercial bank digital currency system and the central bank digital currency system, including the following steps: S21. Send the identity information of the commercial bank digital currency system to be authenticated to the central bank digital currency system; S22, the central bank digital currency system receives the identity information and performs authentication, and returns the authentication result to the commercial bank digital currency system, wherein, when the authentication result is successful, it contains the corresponding session key; S23. The commercial bank digital currency system receives the authentication result and verifies the authentication result, wherein when the authentication result is successful, the corresponding session key is received.
3. According to claim 2, a digital currency quantum computing resistant transaction method with an offline receiver is characterized in that: The S21 also includes using a private key of the key management server corresponding to the central bank digital currency system to digitally sign the first sent information based on ID cryptography, and the digital signature specifically includes the following steps: A first random number parameter is selected, and a first product between the first random number parameter and the public key of the commercial bank digital currency system is calculated. A preset function is then applied to the first sent message and the first product to obtain a first signature parameter, and the first signature parameter is used to obtain a first signature of the first sent message.
4. According to claim 2, a digital currency quantum computing resistant transaction method with an offline receiver is characterized in that: The S22 also includes using another private key of the central bank digital currency system to digitally sign the second sent information based on ID cryptography, and the digital signature specifically includes the following steps: Select a second random number parameter, and calculate the second product between the second random number parameter and the public key of the central bank digital currency system, then use a preset function to act on the second sending message and the second product to obtain a second signature parameter, and use the second signature parameter to obtain a second signature of the second sending message.
5. According to claim 1, a digital currency quantum computing resistant transaction method with an offline receiver is characterized in that: The S3 implements the identity authentication between the user and the commercial bank digital currency system according to the identity authentication method, including the following steps: S31, sending the identity information of the online user to be authenticated to the commercial bank digital currency system; S32, the commercial bank digital currency system receives the identity information and performs authentication, and returns the authentication result to the online user, wherein when the authentication result is successful, it contains the corresponding session key; S33. The online user receives the authentication result and verifies the authentication result, wherein when the authentication result is successful, the corresponding session key is received.
6. A digital currency quantum computing resistant transaction method with an offline receiver according to claim 5, characterized in that: The S31 also includes using the private key of the commercial bank digital currency system corresponding to the key management server to perform a digital signature based on ID cryptography on the third sent information, and the digital signature specifically includes the following steps: A third random number parameter is selected, and a third product between the third random number parameter and the public key of the online user is calculated, and then a preset function is applied to the third sent message and the third product to obtain a third signature parameter, and the third signature parameter is used to obtain a third signature of the third sent message.
7. According to claim 5, a digital currency quantum computing resistant transaction method with an offline receiver is characterized in that: The S32 also includes using another private key of the commercial bank digital currency system to digitally sign the fourth sent information based on ID cryptography, and the digital signature specifically includes the following steps: A fourth random number parameter is selected, and a fourth product between the fourth random number parameter and the public key of the commercial bank digital currency system is calculated, and then a preset function is applied to the fourth sending message and the fourth product to obtain a fourth signature parameter, and the fourth signature parameter is used to obtain a fourth signature of the fourth sending message.
8. According to claim 1, a digital currency quantum computing resistant transaction method with an offline receiver is characterized in that: The S4 implements the offline digital currency transaction of the user at the receiving end through the offline digital currency transaction method, including the following steps: S41. The online sender user sends a signed transaction to the sender commercial bank digital currency system to which he belongs; S42, the commercial bank digital currency system of the sender receives the signed transaction and performs decryption verification, and after the verification is passed, it is encrypted and sent to the central bank digital currency system, and the central bank digital currency system receives the message and performs decryption verification, wherein, when the verification transaction fails, the transaction failure result is notified to the commercial bank digital currency system of the sender, and when the verification transaction succeeds, the transaction and signature time are encrypted, and the message authentication code is calculated, and the encrypted information and the message authentication code are sent to the receiving commercial bank digital currency system to which the offline receiving user belongs; S43, the receiving commercial bank digital currency system receives the message and performs decryption verification, wherein, if the verification transaction fails, the central bank digital currency system is notified, and if the verification transaction succeeds, the transaction is signed and the message authentication code is calculated and sent to the central bank digital currency system; S44, the central bank digital currency system sends the transaction result to the sender commercial bank digital currency system, and the sender commercial bank digital currency system forwards the transaction result to the online sender user, and at the same time, the online sender user forwards the transaction result to the offline receiver user; S45. The offline recipient user receives the message and performs decryption verification, and confirms the completion of the transaction. When the verification is successful, the received digital currency is stored.
9. A digital currency quantum computing resistant transaction method with an offline receiver according to claim 8, characterized in that: The S41 also includes the online sender user using the private key of the commercial bank digital currency system corresponding to the key management server to perform a digital signature based on ID cryptography on the fifth sending information, and the digital signature specifically includes the following steps: A fifth random number parameter is selected, and a fifth product between the fifth random number parameter and the public key of the online user is calculated, and then a preset function is applied to the fifth sending message and the fifth product to obtain a fifth signature parameter, and the fifth signature parameter is used to obtain a fifth signature of the fifth sending message.
10. A digital currency quantum computing resistant transaction system with an offline receiver, used to implement the steps of the digital currency quantum computing resistant transaction method with an offline receiver based on ID cryptography according to any one of claims 1 to 9, characterized in that: The system includes a central bank digital currency system, a commercial bank digital currency system and a user, and the identity authentication between the central bank digital currency system and the commercial bank digital currency system, and the identity authentication between the commercial bank digital currency system and the user are both based on the theory of ID cryptography for authentication; The central bank digital currency system is used to produce and issue digital currency, and is also used to register the ownership of the digital currency; The commercial bank digital currency system is used to perform banking functions for digital currency; The user is the user of the digital currency; Both the central bank digital currency system and the commercial bank digital currency system are configured with corresponding anti-quantum computing devices, each of which is deployed with a corresponding ID cryptography-based key management server, and the user is also configured with a corresponding anti-quantum computing device.
Citation Information
Patent Citations
Method and system for depositing digital currencies into deposit accounts
CN107230054A
Digital currency transaction data processing method, server, client and system
CN109934582A