Signature verification method, system and device applied to block chain and capable of resisting quantum computing attack
By combining the Newhope-Simple anti-quantum key exchange algorithm with the ECDSA algorithm, a new anti-quantum computing signing scheme has been constructed, the problem of the ECDSA algorithm cannot resist quantum computing attack, which enhances the security of blockchain technology. Sex can make it sustainable in the era of quantum computing.
Patent Information
- Application Number
- CN202310935090.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-27
- Publication Date
- 2025-01-28
AI Technical Summary
The ECDSA algorithm used in existing blockchain technology cannot resist quantum computing attacks. With the development of quantum computing technology, the security of ECDSA algorithm will be completely lost, resulting in serious threats to blockchain technology.
By combining the newhope-simple anti-quantum key exchange algorithm based on the difficulty of having a problem with the difficulty of the grid, combining the traditional digital signature algorithm ECDSA, it constructs a new anti-quantum computing signature signing scheme. The scheme includes the negotiation key exchange between the signature and the signing party, the signatures and encryption of explicit information, and the verification of the results of the signature inspection.
Effectively enhance the security intensity of blockchain technology, so that it can also be used safely in the era of quantum computing, resisting the attack of quantum algorithms, and ensuring the stability and sustainable development of blockchain technology.
Smart Images

Figure CN119382895A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of blockchain, and in particular to a signature verification method, system and device for resisting quantum computing attacks in blockchain. Background Art
[0002] Since 2008, blockchain technology has first entered people's field of vision as the underlying core technology in Bitcoin transactions, and has received extensive attention and research from scholars and researchers in the next decade. Blockchain technology is a new application model of distributed data storage, peer-to-peer transmission mechanism, consensus mechanism, encryption algorithm and other computer technologies in the Internet era. It has the characteristics of decentralized system credit, chronological data embedding, full network node maintenance, programmable contracts and reliable data security.
[0003] The core concept of the Bitcoin transaction system is an electronic payment system that is "based on public key encryption verification rather than credit, so that any two parties who agree can make payments end-to-end without the need for an intermediary financial institution." This shows the key role played by encryption algorithms in blockchain technology. It is the cornerstone and guarantee for the establishment of trust between the two parties in the transaction (communication) in the decentralized network system. Therefore, a digital signature algorithm (a public key encryption algorithm) is needed in the blockchain to ensure the security and credibility of the transaction process between the two parties.
[0004] The digital signature system generally consists of two parts, namely the signature algorithm and the verification algorithm. The signature algorithm or signature key is kept secret by the signer, while the verification algorithm and verification key should be made public to facilitate verification by others. Generally speaking, the digital signature scheme includes three processes: the system initialization process, the signature generation process, and the signature verification process.
[0005] At present, the signature algorithm used to ensure the security and reliability of the transaction process in the blockchain is ECDSA (Elliptic Curve Signature Algorithm). ECDSA is a combination of ECC and DSA. The entire signature process is similar to DSA. The difference is that the algorithm used in the signature is ECC, and the final signed value is also divided into r and s. The use of ECDSA in the blockchain effectively solves the problem of how to establish trust between the communicating parties in a decentralized network, thereby ensuring the security and reliability of the transaction process in the blockchain.
[0006] Although the ECDSA algorithm currently used in blockchain provides a strong guarantee for the underlying security of blockchain and ensures the security and reliability of the transaction process between the two parties in the blockchain, ECDSA, as a traditional encryption algorithm (the underlying security is based on the discrete logarithm problem on the elliptic curve), cannot resist the attack of quantum computing.
[0007] With the continuous development of information technology, scientists have made breakthrough progress in the research of key technologies of quantum computers in the past decade, which indicates that commercial quantum computers will be used in various fields of national development in the near future. As early as 1997, mathematician Grove proposed a quantum search algorithm that can quickly calculate the difficult problem of discrete logarithms - the Grove algorithm. However, due to the lack of commercial quantum computing environment at that time, the blockchain technology with EDDSA algorithm as the underlying security guarantee can be used safely.
[0008] Therefore, once practical quantum computers are available, coupled with quantum algorithms that can be quickly calculated in a quantum computing environment, the ECDSA algorithm, which uses the discrete logarithm problem as its underlying security, can be effectively cracked in polynomial time, and its security will be completely lost. This means that blockchain technology, which uses traditional encryption algorithms (ECDSA algorithms) as its underlying security guarantee, will face serious threats. Summary of the invention
[0009] In view of the shortcomings of the prior art described above, the purpose of the present invention is to provide a signature verification method, system and device for resisting quantum computing attacks in blockchain, so as to solve the above problems of the prior art.
[0010] To achieve the above-mentioned purpose and other related purposes, the present invention provides a signature verification method for resisting quantum computing attacks in blockchain, comprising: the signing party initializes a public key and a private key by an elliptic curve system, and sends the public key to the verification party; the signing party and the verification party negotiate to obtain a negotiated key based on the NewHope-simple key exchange protocol; the signing party signs plaintext information as a message digest, and uses the private key to sign the message digest to obtain a signature summary message; the signing party uses the negotiated key to encrypt the plaintext message and the negotiated key to obtain a ciphertext message; the signing party sends the signature summary message and the ciphertext message to the verification party; the verification party decrypts the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information, and when the decrypted negotiated key information is consistent with the negotiated key, obtains a first message digest according to the decrypted plaintext information; the verification party uses the public key to restore the signature summary message to obtain a second message digest; the verification party compares the first message digest with the second message digest to obtain a corresponding verification result.
[0011] In one embodiment of the present invention, the signer uses the SHA3_256 function to sign the plaintext information as a message digest.
[0012] In one embodiment of the present invention, the signing party uses the negotiated key to encrypt the plaintext message and the negotiated key to obtain a ciphertext message, including: the signing party uses the negotiated key as a key, and adopts a symmetric encryption algorithm to encrypt the plaintext message and the negotiated key to obtain a ciphertext message.
[0013] In one embodiment of the present invention, the decrypting the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information, and obtaining the first message digest according to the decrypted plaintext information when the decrypted negotiated key information is consistent with the negotiated key includes: decrypting the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information; judging whether the decrypted negotiated key information is consistent with the negotiated key; if they are consistent, performing a hash operation on the decrypted plaintext information using the SHA3_256 function to obtain the first message digest; if they are inconsistent, generating a corresponding signature result of signature rejection.
[0014] In one embodiment of the present invention, comparing the first message digest with the second message digest to obtain the corresponding signature verification result includes: determining whether the first message digest is consistent with the second message digest; if they are consistent, generating a corresponding signature result of receiving the signature; if they are inconsistent, generating a corresponding signature result of rejecting the signature.
[0015] In order to achieve the above-mentioned purpose and other related purposes, the present invention provides a signature verification system for resisting quantum computing attacks in blockchain, the system comprising: a system initialization module, used for generating a public key and a private key through the initialization of the elliptic curve system by the signer, and sending the public key to the verification party; a secret key negotiation module, used for the signer and the verification party to negotiate and obtain a negotiated key based on the NewHope-simple key exchange protocol; a signature module, used for the signer to sign the plaintext information as a message digest, and use the private key to sign the message digest to obtain a signature summary message; the signer uses the negotiated key to sign the plaintext message and the negotiated key to obtain a ciphertext message; the signing party sends the signature summary message and the ciphertext message to the signature verification party; a signature verification module is used for the signature verification party to decrypt the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information, and obtain a first message digest according to the decrypted plaintext information when the decrypted negotiated key information is consistent with the negotiated key; the signature verification party uses the public key to restore the signature summary message to obtain a second message digest; the signature verification party compares the first message digest with the second message digest to obtain a corresponding signature verification result.
[0016] To achieve the above-mentioned purpose and other related purposes, the present invention provides a signature verification method for resisting quantum computing attacks in blockchain, which is applied to the signer, and includes: initializing a public key and a private key by an elliptic curve system; sending the public key to the verifier, and negotiating with the verifier based on the NewHope-simple key exchange protocol to obtain a negotiated key; signing the plaintext information as a message digest, and using the private key to sign the message digest to obtain a signature summary message; using the negotiated key to encrypt the plaintext message and the negotiated key to obtain a ciphertext message; and sending the signature summary message and the ciphertext message to the verifier.
[0017] To achieve the above-mentioned purpose and other related purposes, the present invention provides a signature verification method for resisting quantum computing attacks in blockchain, which is applied to the verification party. The method includes: receiving a public key sent by the signer, and negotiating with the verification party based on the NewHope-simple key exchange protocol to obtain a negotiated key; decrypting the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information, and obtaining a first message digest according to the decrypted plaintext information when the decrypted negotiated key information is consistent with the negotiated key; using the public key to restore the signature summary message to obtain a second message digest; comparing the first message digest with the second message digest to obtain a corresponding verification result.
[0018] To achieve the above-mentioned purpose and other related purposes, the present invention provides a signature verification device for resisting quantum computing attacks in blockchain, which is applied to the signer, and the device includes: a key pair generation module, which is used to initialize the generation of a public key and a private key by an elliptic curve system; a signer communication module, which is used to send the public key to the verifier; a signer key negotiation module, which is used to negotiate with the verifier based on the NewHope-simple key exchange protocol to obtain a negotiated key; a message digest signature module, which is used to sign plaintext information as a message digest, and use the private key to sign the message digest to obtain a signature summary message; a plaintext message encryption module, which is used to use the negotiated key to encrypt the plaintext message and the negotiated key to obtain a ciphertext message; the signer communication module is also used to send the signature summary message and the ciphertext message to the verifier.
[0019] To achieve the above-mentioned purpose and other related purposes, the present invention provides a signature verification device for resisting quantum computing attacks in blockchain, which is applied to the verification party, and the device includes: a verification party communication module, which is used to receive the public key sent by the signer; a verification party secret key negotiation module, which is used to negotiate with the signer based on the NewHope-simple key exchange protocol to obtain a negotiation key; a decryption module, which is used to decrypt the ciphertext message based on the negotiation key to obtain decrypted plaintext information and decrypted negotiation key information, and obtain a first message digest according to the decrypted plaintext information when the decrypted negotiation key information is consistent with the negotiation key; a restoration module, which is used to use the public key to restore the signature summary message to obtain a second message digest; and a verification result module, which is used to compare the first message digest with the second message digest to obtain a corresponding verification result.
[0020] As described above, the present invention is a signature verification method, system and device for resisting quantum computing attacks in blockchain, which has the following beneficial effects: the present invention constructs a new signature verification scheme resistant to quantum computing by combining the NewHope-Simple quantum key exchange algorithm based on the lattice difficulty problem as a security assumption with the traditional digital signature algorithm ECDSA. The application of this scheme in blockchain effectively improves the security strength of blockchain technology, and at the same time enables it to be safely used in the era of quantum computing. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] Figure 1 Shown is a flow chart of a signature verification method for resisting quantum computing attacks in blockchain in one embodiment of the present invention.
[0022] Figure 2 Shown is a schematic diagram of a digital signature generation process in one embodiment of the present invention.
[0023] Figure 3 Shown is a schematic diagram of a digital signature verification process in an embodiment of the present invention.
[0024] Figure 4 Shown is a structural diagram of a signature verification system for resisting quantum computing attacks in blockchain in one embodiment of the present invention.
[0025] Figure 5 It is a flow chart of a signature verification method for resisting quantum computing attacks in blockchain applied by a corresponding signing party in one embodiment of the present invention.
[0026] Figure 6 Shown is a structural schematic diagram of a signature verification device for resisting quantum computing attacks in a blockchain corresponding to a signing party in one embodiment of the present invention.
[0027] Figure 7 Shown is a flow chart of a signature verification method for resisting quantum computing attacks in blockchain applied by a corresponding verification party in one embodiment of the present invention.
[0028] Figure 8 Shown is a structural schematic diagram of a signature verification device for resisting quantum computing attacks in blockchain, corresponding to the verification party in one embodiment of the present invention. DETAILED DESCRIPTION
[0029] The following describes the embodiments of the present invention by specific examples, and those skilled in the art can easily understand other advantages and effects of the present invention from the contents disclosed in this specification. The present invention can also be implemented or applied through other different specific embodiments, and the details in this specification can also be modified or changed in various ways based on different viewpoints and applications without departing from the spirit of the present invention. It should be noted that the following embodiments and features in the embodiments can be combined with each other without conflict.
[0030] It should be noted that in the following description, reference is made to the accompanying drawings, which describe several embodiments of the present invention. It should be understood that other embodiments may also be used, and that mechanical composition, structural, electrical and operational changes may be made without departing from the spirit and scope of the present invention. The following detailed description should not be considered restrictive, and the scope of the embodiments of the present invention is limited only by the claims of the published patents. The terms used herein are only for describing specific embodiments and are not intended to limit the present invention. Spatially related terms, such as "upper", "lower", "left", "right", "below", "below", "lower", "above", "upper", etc., may be used in the text to facilitate the description of the relationship between an element or feature shown in the figure and another element or feature.
[0031] Throughout the specification, when a part is said to be "connected" to another part, this includes not only the case of "direct connection" but also the case of "indirect connection" by placing other elements therebetween. In addition, when a part is said to "include" a certain constituent element, unless otherwise stated, it does not exclude other constituent elements, but means that other constituent elements may be included.
[0032] The terms first, second and third mentioned herein are used to describe various parts, components, regions, layers and / or segments, but are not limited thereto. These terms are only used to distinguish a certain part, component, region, layer or segment from other parts, components, regions, layers or segments. Therefore, the first part, component, region, layer or segment described below may refer to the second part, component, region, layer or segment within the scope of the present invention.
[0033] Furthermore, as used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless there is an indication to the contrary in the context. It should be further understood that the terms "comprise", "include" indicate the presence of the described features, operations, elements, components, items, kinds, and / or groups, but do not exclude the presence, occurrence or addition of one or more other features, operations, elements, components, items, kinds, and / or groups. The terms "or" and "and / or" used herein are interpreted as inclusive, or mean any one or any combination. Therefore, "A, B or C" or "A, B and / or C" means "any of the following: A; B; C; A and B; A and C; B and C; A, B and C". Exceptions to this definition will only occur when the combination of elements, functions or operations is inherently mutually exclusive in some way.
[0034] Therefore, once practical quantum computers are available, coupled with quantum algorithms that can be quickly calculated in a quantum computing environment, the ECDSA algorithm, which uses the discrete logarithm problem as the underlying security, can be effectively cracked in polynomial time, and its security will be completely lost. This means that blockchain technology that uses traditional encryption algorithms (ECDSA algorithms) as underlying security will face serious threats. The emergence of quantum-resistant encryption algorithms provides new guarantees for information security in the era of quantum computing. Among the many quantum-resistant encryption algorithms, the quantum-resistant public key encryption algorithm based on lattice theory stands out from the many quantum-resistant cryptographic algorithm constructions due to its own advantages and has strong competitiveness. The NewHope-simple key exchange algorithm is one of the quantum-resistant public key encryption schemes based on lattice theory and has great development prospects.
[0035] Because blockchain is the basic technology of Bitcoin transactions, and cryptography is the basis for ensuring the security and reliability of blockchain. Therefore, in order to ensure that blockchain technology can be used safely in the era of quantum computing, it is necessary to ensure the security of the encryption algorithm applied to blockchain technology in the era of quantum computing.
[0036] Therefore, the present invention provides a signature verification method for resisting quantum computing attacks in blockchain. A new signature verification scheme resistant to quantum computing is constructed by combining the NewHope-Simple quantum key exchange algorithm based on the lattice difficulty problem as a security assumption with the traditional digital signature algorithm ECDSA. The application of this scheme in blockchain effectively improves the security strength of blockchain technology, and enables it to be safely used in the era of quantum computing.
[0037] The workflow of the traditional digital signature algorithm ECDSA also includes the above three processes, as follows:
[0038] (1) Initialization of the system. First, select an elliptic curve, then construct the elliptic group En(a, b), select a point G on En, and the order of G is a prime number n that meets the corresponding security requirements, where n*G = O. Then select a random number p (1 < p < (n - 1)) as the user's private key, and finally calculate P = k*G as the user's public key.
[0039] (2) Generation of the signature. The user signs the plaintext m, selects a random number k (1 < k < (n - 1)), where k*G = (x, y), r ≡ x mod n, s ≡ (h(m) + r*p)*k^(-1) mod n, and the signature value (r, s) is calculated. If r = 0 or s = 0, then select another random number k and re - execute the above process.
[0040] (3) Verification of the signature. After the receiver receives the message m and the signature value (r, s), first calculate h(m), u ≡ s -1 h(m) mod n, v ≡ s -1 r mod n, u*G + v*P = s -1 *h(m)*G + s -1 *r*p*G = (x1, y1), r1 ≡ x1 mod n. Then verify the equation r1 ≡ r mod n. If the equation holds, accept the signature; otherwise, the signature is invalid.
[0041] The following will be a detailed description of the embodiments of the present invention with reference to the accompanying drawings, so that those skilled in the technical field of the present invention can easily implement it. The present invention can be embodied in many different forms and is not limited to the embodiments described herein.
[0042] As Figure 1 shown in the flowchart of a signature verification method applied to anti - quantum computing attacks in a blockchain in an embodiment of the present invention.
[0043] This method includes: two processes of signature and signature verification;
[0044] Among them, the signature process includes:
[0045] Step S11: The signer generates a public key and a private key through the initialization of the elliptic curve system and sends the public key to the verifier.
[0046] Specifically, the signer generates a key pair (P A , S A ) through the initialization of the elliptic curve system, where P A is the public key and S Ais the private key; the initialization method of its elliptic curve system is the same as the system initialization process of ECDSA, that is, first select an elliptic curve, then construct the elliptic group En(a,b), select a point G on En, the order of G is a prime number n that meets the corresponding security requirements, n*G = O. Then select a random number p (1 < p < (n - 1)) as the private key, and finally calculate P = p*G as the public key.
[0047] Step S12: The signer and the verifier negotiate and obtain a negotiation key based on the NewHope-simple key exchange protocol.
[0048] Specifically, the signer and the verifier use the NewHope_Simple key exchange protocol using the NewHope-simple algorithm to obtain the shared key, that is, the negotiation key μ. The generated shared key is private and shared by both parties.
[0049] It should be noted that this solution can improve the security level of the algorithm by changing the parameters of the corresponding NewHope--Simple algorithm, thereby further enhancing the security and reliability of blockchain technology to ensure the stability and sustainable development of blockchain technology.
[0050] Step S13: The signer signs the plaintext information into a message digest, and signs the message digest with the private key to obtain a signature digest message.
[0051] In detail, the Hash256 function, such as Hash2_256, can be used to sign the plaintext information into a message digest.
[0052] Preferably, the signer uses the Hash3 family function of the latest standard, that is, the SHA3_256 function, to sign the plaintext information into a message digest, and uses its own private key S A to sign the message digest to obtain a signature digest message. Here, the SHA3_256 function is selected, which not only conforms to the international latest hash algorithm standard, but also has higher security strength and stronger anti-attack ability.
[0053] Step S14: The signer encrypts the plaintext message and the negotiation key with the negotiation key to obtain a ciphertext message.
[0054] In one embodiment, step S14 includes: the signer uses the negotiation key as the key and encrypts the plaintext message and the negotiation key with a symmetric encryption algorithm to obtain a ciphertext message.
[0055] Step S15: The signer sends the signature digest message and the ciphertext message to the verifier.
[0056] In one embodiment, the signing party sends the signature summary message and the ciphertext message to the signature verifier in the form of a message pair.
[0057] Step S16: The signature verifier decrypts the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information, and obtains a first message digest based on the decrypted plaintext information when the decrypted negotiated key information is consistent with the negotiated key.
[0058] In one embodiment, decrypting the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information, and obtaining the first message digest according to the decrypted plaintext information when the decrypted negotiated key information is consistent with the negotiated key includes:
[0059] Decrypting the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information;
[0060] Determine whether the decrypted negotiated key information is consistent with the negotiated key; that is, compare whether the decrypted negotiated key information is equal to the negotiated key;
[0061] If they are consistent, the SHA3_256 function is used to perform a hash operation on the decrypted plaintext information to obtain the first message digest;
[0062] If they are inconsistent, a corresponding signature result of signature rejection is generated.
[0063] Step S17: The signature verification party uses the public key to restore the signature summary message to obtain a second message digest.
[0064] Specifically, the signature verifier uses the public key sent by the signer to restore the ciphertext message to obtain the second message digest.
[0065] Step S18: The signature verification party compares the first message digest with the second message digest to obtain a corresponding signature verification result.
[0066] In one embodiment, comparing the first message digest with the second message digest to obtain a corresponding signature verification result includes:
[0067] Determine whether the first message digest is consistent with the second message digest; specifically, determine whether the first message digest is equal to the second message digest;
[0068] If they are consistent, the corresponding signature result of the received signature is generated;
[0069] If they are inconsistent, a corresponding signature result of signature rejection is generated.
[0070] In order to better illustrate the above-mentioned signature verification method for resisting quantum computing attacks in blockchain, the present invention provides the following specific embodiments.
[0071] Embodiment 1: A signature verification method for resisting quantum computing attacks in blockchain.
[0072] This signature verification scheme can resist the attack of the Grove algorithm in a quantum computing environment to ensure the security of blockchain technology in the era of quantum computing. The signature verification scheme in this embodiment mainly includes two processes: signing and verification. Assuming that the two parties to the transaction are Alice and Bob, the specific steps are as follows:
[0073] 1. Digital signature generation process, Figure 2 Generate a flow chart for digital signature.
[0074] Step 1: Alice initializes the key pairs generated by the elliptic curve system and generates (P A , S A ), where P A is the public key, S A is the private key;
[0075] Step 2: Alice sends the public key PA to Bob, and then Alice and Bob use the NewHope_Simple key exchange protocol to obtain the shared key μ. The generated shared key is private and shared by both parties.
[0076] Step 3: Alice uses the SHA3_256 function to sign the plaintext message m as a message digest M, and uses her own private key S A Sign the summary M to get C M ;
[0077] Step 4: Alice uses the key μ negotiated with Bob as the key and uses a symmetric encryption algorithm to encrypt the plaintext message m and the negotiated key μ to obtain the ciphertext C m,μ ;
[0078] Step 5. Alice then sets (C M , C m、μ ) is sent to Bob.
[0079] 2. Digital signature verification process, Figure 3 This is a diagram of the digital signature verification process.
[0080] Step 1: Bob receives a message from Alice (C M , C m、μ ), and then use the shared key μ to encrypt the ciphertext message C m、μ Decrypt to get m', μ'. If μ'=μ, proceed to the next step, otherwise reject the visa.
[0081] Step 2: Bob uses Alice’s public key P A C M Restore and obtain the message digest M;
[0082] Step 3: Bob uses the SHA3_256 function to hash the plaintext m' to obtain the digest message M';
[0083] Step 4: Compare M and M'. If M'=M, accept the signature; otherwise, reject the signature.
[0084] Compared with the existing signature verification scheme, the signature verification scheme of this embodiment can not only provide protection for the underlying security of blockchain technology, but also resist the attack of quantum algorithms in the expected quantum computing era in the future. In addition, the security level of the algorithm can be improved by changing the parameters of the NewHope--Simple algorithm, thereby further enhancing the security and reliability of blockchain technology to ensure the stability and sustainable development of blockchain technology.
[0085] The following table shows the security of the ECDSA signature verification scheme currently used in the blockchain and the signature verification scheme given in this embodiment under the quantum algorithm (Grove) attack.
[0086] Table 1: Security of signature verification scheme under quantum algorithm (Grove) attack
[0087]
[0088] As shown in Table 1, the three bit width parameters of the ECDSA algorithm currently used in the blockchain cannot resist the attack of the Grove quantum algorithm, and the anti-quantum security provided is 0; in contrast, the anti-quantum key exchange algorithm proposed in this embodiment combined with the ECDSA algorithm can resist the attack of the Grove algorithm and provide up to 235 bits of anti-quantum security under the 1024-bit bit width parameter. Therefore, replacing the signature scheme of this embodiment with the traditional ECDSA signature scheme in the blockchain is an important measure to maintain the stable and sustainable development of blockchain technology.
[0089] Similar to the principle of the above embodiment, the present invention provides a signature verification system for resisting quantum computing attacks in blockchain.
[0090] like Figure 4 A structural schematic diagram of a signature verification system for resisting quantum computing attacks in blockchain according to an embodiment of the present invention is shown.
[0091] The system comprises:
[0092] System initialization module 1, used to generate a public key and a private key through the initialization of the elliptic curve system by the signing party, and send the public key to the signature verification party;
[0093] The key negotiation module 2 is connected to the system initialization module 1 and is used for the signing party and the verification party to negotiate and obtain a negotiation key based on the NewHope-simple key exchange protocol;
[0094] The signature module 3 is connected to the secret key negotiation module 2, and is used for the signer to sign the plain text information into a message digest, and use the private key to sign the message digest to obtain a signature summary message; the signer uses the negotiated key to encrypt the plain text message and the negotiated key to obtain a ciphertext message; and the signer sends the signature summary message and the ciphertext message to the signature verification party through the signer;
[0095] The signature verification module 4 is connected to the signature module 3 and is used for the signature verification party to decrypt the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information, and to obtain a first message digest according to the decrypted plaintext information when the decrypted negotiated key information is consistent with the negotiated key; the signature verification party uses the public key to restore the signature summary message to obtain a second message digest; and the signature verification party compares the first message digest with the second message digest to obtain a corresponding signature verification result.
[0096] In one embodiment, the signer uses the SHA3_256 function to sign the plaintext information as a message digest.
[0097] In one embodiment, the signature module 3 is configured to allow the signer to use the negotiated key as a key and adopt a symmetric encryption algorithm to encrypt the plaintext message and the negotiated key to obtain a ciphertext message.
[0098] In one embodiment, the signature verification module 4 is used for the signature verification party to decrypt the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information; determine whether the decrypted negotiated key information is consistent with the negotiated key; if they are consistent, use the SHA3_256 function to perform a hash operation on the decrypted plaintext information to obtain a first message digest; if they are inconsistent, generate a corresponding signature result of signature rejection.
[0099] In one embodiment, the signature verification module 4 is used to determine whether the first message digest is consistent with the second message digest through the signature verification party; if they are consistent, a corresponding signature result of receiving the signature is generated; if they are inconsistent, a corresponding signature result of rejecting the signature is generated.
[0100] like Figure 5A flowchart of a signature verification method for resisting quantum computing attacks in a blockchain according to an embodiment of the present invention is shown.
[0101] Applied to the signing party in the above embodiment, the method includes:
[0102] Step S21: Initialize the elliptic curve system to generate a public key and a private key;
[0103] Step S22: Send the public key to the signature verifier, and negotiate with the signature verifier to obtain a negotiated key based on the NewHope-simple key exchange protocol;
[0104] Step S23: Sign the plaintext information into a message digest, and use the private key to sign the message digest to obtain a signed summary message;
[0105] Step S24: using the negotiated key to encrypt the plaintext message and the negotiated key to obtain a ciphertext message;
[0106] Step S25: Send the signature summary message and the ciphertext message to the signature verification party.
[0107] In one embodiment, the SHA3_256 function is used to sign the plaintext information as a message digest.
[0108] In one embodiment, the negotiated key is used as a key, and a symmetric encryption algorithm is used to encrypt the plaintext message and the negotiated key to obtain a ciphertext message.
[0109] Similar to the principle of the above embodiment, the present invention provides a signature verification device for resisting quantum computing attacks in blockchain. Figure 6 A schematic diagram of the structure of a signature verification device for resisting quantum computing attacks in a blockchain according to an embodiment of the present invention is shown.
[0110] Applied to the signatory party in the above embodiment, the signature verification device includes:
[0111] A key pair generation module 61, used to initialize and generate a public key and a private key by using an elliptic curve system;
[0112] The signing party communication module 62 is connected to the key pair generation module 61 and is used to send the public key to the signing party;
[0113] The signing party secret key negotiation module 63 is connected to the signing party communication module 62 and is used to negotiate with the signing party based on the NewHope-simple key exchange protocol to obtain a negotiated key;
[0114] A message digest signature module 64, connected to the signer communication module 62 and the key pair generation module 61, is used to sign the plain text information into a message digest, and use the private key to sign the message digest to obtain a signature summary message;
[0115] A plaintext message encryption module 65, connected to the signer key negotiation module 63 and the signer communication module 62, configured to use the negotiation key to encrypt the plaintext message and the negotiation key to obtain a ciphertext message;
[0116] The signing party communication module 62 is further configured to send the signature summary message and the ciphertext message to the signature verification party.
[0117] Since the implementation principle of the signature verification device for resisting quantum computing attacks in the blockchain has been described in the aforementioned embodiments, it will not be repeated here.
[0118] like Figure 7 A flowchart of a signature verification method for resisting quantum computing attacks in a blockchain according to an embodiment of the present invention is shown.
[0119] Applied to the signature verification party in the above embodiment, the method includes:
[0120] Step S31: receiving the public key sent by the signer, and negotiating with the verifier to obtain a negotiated key based on the NewHope-simple key exchange protocol;
[0121] Step S32: decrypting the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information, and obtaining a first message digest according to the decrypted plaintext information when the decrypted negotiated key information is consistent with the negotiated key;
[0122] Step S33: using the public key to restore the ciphertext message to obtain a second message digest;
[0123] Step S34: Compare the first message digest with the second message digest to obtain a corresponding signature verification result.
[0124] In one embodiment, the decrypting the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information, and obtaining the first message digest according to the decrypted plaintext information when the decrypted negotiated key information is consistent with the negotiated key includes: decrypting the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information; judging whether the decrypted negotiated key information is consistent with the negotiated key; if they are consistent, performing a hash operation on the decrypted plaintext information using the SHA3_256 function to obtain the first message digest; if they are inconsistent, generating a corresponding signature result of signature rejection.
[0125] In one embodiment, comparing the first message digest with the second message digest to obtain the corresponding signature verification result includes: determining whether the first message digest is consistent with the second message digest; if they are consistent, generating a corresponding signature result of receiving the signature; if they are inconsistent, generating a corresponding signature result of rejecting the signature.
[0126] Similar to the principle of the above embodiment, the present invention provides a signature verification device for resisting quantum computing attacks in blockchain. Figure 8 A schematic diagram of the structure of a signature verification device for resisting quantum computing attacks in a blockchain according to an embodiment of the present invention is shown.
[0127] Applied to the signature verification party in the above embodiment, the signature verification device includes:
[0128] The signature verification party communication module 81 is used to receive the public key sent by the signing party;
[0129] The signature verification party secret key negotiation module 82 is connected to the signature verification party communication module 81 and is used to negotiate with the signer based on the NewHope-simple key exchange protocol to obtain a negotiated key;
[0130] a decryption module 83, connected to the signature verification party communication module 81 and the signature verification party secret key negotiation module 82, configured to decrypt the ciphertext message based on the negotiation key to obtain decrypted plaintext information and decrypted negotiation key information, and to obtain a first message digest according to the decrypted plaintext information when the decrypted negotiation key information is consistent with the negotiation key;
[0131] A restoration module 84, connected to the signature verification party communication module 81 and the decryption module 83, is used to use the public key to restore the signature summary message to obtain a second message summary;
[0132] The signature verification result module 85 is connected to the decryption module 83 and the restoration module 84, and is used to compare the first message digest with the second message digest to obtain a corresponding signature verification result.
[0133] Since the implementation principle of the signature verification device for resisting quantum computing attacks in the blockchain has been described in the aforementioned embodiments, it will not be repeated here.
[0134] In summary, the signature verification method, system and device for resisting quantum computing attacks in blockchain of the present invention constructs a new signature verification scheme for resisting quantum computing by combining the NewHope-Simple quantum key exchange algorithm based on the lattice difficulty problem as a security assumption with the traditional digital signature algorithm ECDSA. The application of this scheme in blockchain effectively improves the security strength of blockchain technology and enables it to be safely applied in the era of quantum computing. Therefore, the present invention effectively overcomes various shortcomings in the prior art and has a high industrial utilization value.
[0135] The above embodiments are merely illustrative of the principles and effects of the present invention, and are not intended to limit the present invention. Anyone familiar with the technology may modify or change the above embodiments without violating the spirit and scope of the present invention. Therefore, all equivalent modifications or changes made by a person of ordinary skill in the art without departing from the spirit and technical ideas disclosed by the present invention shall still be covered by the claims of the present invention.
Claims
1. A signature verification method for resisting quantum computing attacks in blockchain, characterized in that: The method comprises: The signing party generates a public key and a private key through initialization of the elliptic curve system, and sends the public key to the verification party; The signing party and the verification party negotiate to obtain a negotiated key based on the NewHope-simple key exchange protocol; The signer signs the plaintext information into a message digest, and uses the private key to sign the message digest to obtain a signature digest message; The signer uses the negotiated key to encrypt the plaintext message and the negotiated key to obtain a ciphertext message; The signing party sends the signature summary message and the ciphertext message to the signature verification party; The signature verifier decrypts the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information, and obtains a first message digest based on the decrypted plaintext information when the decrypted negotiated key information is consistent with the negotiated key; The signature verification party uses the public key to restore the signature summary message to obtain a second message digest; The signature verification party compares the first message digest with the second message digest to obtain a corresponding signature verification result.
2. The signature verification method for resisting quantum computing attacks in blockchain according to claim 1 is characterized in that: The signer uses the SHA3_256 function to sign the plaintext information as a message digest.
3. The signature verification method for resisting quantum computing attacks in blockchain according to claim 1 is characterized in that: The signing party uses the negotiated key to encrypt the plaintext message and the negotiated key to obtain a ciphertext message, including: The signer uses the negotiated key as a key and adopts a symmetric encryption algorithm to encrypt the plaintext message and the negotiated key to obtain a ciphertext message.
4. The signature verification method for resisting quantum computing attacks in blockchain according to claim 2 is characterized in that: The decrypting the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information, and obtaining a first message digest according to the decrypted plaintext information when the decrypted negotiated key information is consistent with the negotiated key includes: Decrypting the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information; Determining whether the decrypted negotiated key information is consistent with the negotiated key; If they are consistent, the SHA3_256 function is used to perform a hash operation on the decrypted plaintext information to obtain the first message digest; If they are inconsistent, a corresponding signature result of signature rejection is generated.
5. The signature verification method for resisting quantum computing attacks in blockchain according to claim 1 is characterized in that: The comparing the first message digest with the second message digest to obtain a corresponding signature verification result includes: Determining whether the first message digest is consistent with the second message digest; If they are consistent, the corresponding signature result of the received signature is generated; If they are inconsistent, a corresponding signature result of signature rejection is generated.
6. A signature verification system for resisting quantum computing attacks in blockchain, characterized in that: The system comprises: The system initialization module is used to generate a public key and a private key through the initialization of the elliptic curve system by the signing party, and send the public key to the signature verification party; A key negotiation module, configured for the signer and the verifier to negotiate and obtain a negotiated key based on the NewHope-simple key exchange protocol; The signing module is used for the signing party to sign the plaintext information into a message digest, and use the private key to sign the message digest to obtain a signature summary message; the signing party uses the negotiated key to encrypt the plaintext message and the negotiated key to obtain a ciphertext message; and the signing party sends the signature summary message and the ciphertext message to the signature verification party; The signature verification module is used for the signature verification party to decrypt the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information, and to obtain a first message digest according to the decrypted plaintext information when the decrypted negotiated key information is consistent with the negotiated key; the signature verification party uses the public key to restore the signature summary message to obtain a second message digest; and the signature verification party compares the first message digest with the second message digest to obtain a corresponding signature verification result.
7. A signature verification method for resisting quantum computing attacks in blockchain, characterized in that: Applied to the signing party, the method comprises: The public key and private key are generated by initializing the elliptic curve system; Send the public key to the signature verifier, and negotiate with the signature verifier to obtain a negotiated key based on the NewHope-simple key exchange protocol; Signing the plaintext information into a message digest, and using the private key to sign the message digest to obtain a signed summary message; Using the negotiated key to encrypt the plaintext message and the negotiated key to obtain a ciphertext message; The signature summary message and the ciphertext message are sent to the signature verification party.
8. A signature verification method for resisting quantum computing attacks in blockchain, characterized in that: Applied to the signature verification party, the method includes: Receive the public key sent by the signer, and negotiate with the verifier to obtain the negotiated key based on the NewHope-simple key exchange protocol; Decrypting the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information, and obtaining a first message digest according to the decrypted plaintext information when the decrypted negotiated key information is consistent with the negotiated key; Using the public key to restore the signature digest message to obtain a second message digest; The first message digest is compared with the second message digest to obtain a corresponding signature verification result.
9. A signature verification device for resisting quantum computing attacks in blockchain, characterized in that: Applied to a signing party, the device comprises: A key pair generation module, used to initialize and generate a public key and a private key by using an elliptic curve system; The signing party communication module is used to send the public key to the signing party; The signer key negotiation module is used to negotiate with the verifier to obtain the negotiated key based on the NewHope-simple key exchange protocol; A message digest signature module, used to sign the plaintext information into a message digest, and use the private key to sign the message digest to obtain a signature summary message; A plaintext message encryption module, used to encrypt the plaintext message and the negotiated key using the negotiated key to obtain a ciphertext message; The signing party communication module is also used to send the signature summary message and the ciphertext message to the signature verification party.
10. A signature verification device for resisting quantum computing attacks in blockchain, characterized in that: Applied to the signature verification party, the device comprises: The signature verification party communication module is used to receive the public key sent by the signing party; The signature verification party key negotiation module is used to negotiate with the signer to obtain the negotiated key based on the NewHope-simple key exchange protocol; a decryption module, configured to decrypt the ciphertext message based on the negotiated key to obtain decrypted plaintext information and decrypted negotiated key information, and to obtain a first message digest according to the decrypted plaintext information when the decrypted negotiated key information is consistent with the negotiated key; A restoration module, used to restore the signature summary message using the public key to obtain a second message digest; The signature verification result module is used to compare the first message digest with the second message digest to obtain a corresponding signature verification result.
Citation Information
Patent Citations
Block chain digital signature encryption method and system for resisting quantum computing attack
CN112003707A
Lattice encryption-based end-to-end data confidentiality and integrity protection method
CN113242129A