A quantum computing-resistant electronic contract signing system and method
By using the anti-quantum computing technology based on the public keystore in the electronic contract signing system, the problem that the public key is easily cracked when the existing system faces a threat to quantum computer cracking is solved, and higher security and anti-quantum computing characteristics are achieved.
Patent Information
- Application Number
- CN202011638278.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2020-12-31
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2040-12-31
AI Technical Summary
When the existing electronic contract signing system faces the threat of cracking by quantum computers, the public key encryption algorithm is easily cracked, resulting in the private key being leaked, which poses a high security risk.
The anti-quantum computing electronic contract signing system based on the public keystore is adopted, through the collaborative work of the electronic contract signing server and the verification server, the public keystore and symmetric key encryption and decryption algorithm in the key fob are used to generate quantum computing public keys to ensure the incrackability of asymmetric key encryption.
The quantum computing resistance of the public key system during the electronic contract signing process is realized, preventing the public key from being cracked, thereby reducing the risk of private key leakage and improving the security of the electronic contract signing system.
Smart Images

Figure CN114764510B_ABST
Abstract
Description
Technical Field
[0001] The present invention belongs to the technical field of encryption communication of quantum cryptographic networks, and specifically relates to a quantum computing-resistant electronic contract signing system and method. Background Art
[0002] The statements in this section merely provide background information related to the present invention and do not necessarily constitute prior art.
[0003] Electronic contracts have become one of the important ways of signing contracts. Electronic contracts can be defined as follows: an electronic contract is an agreement between two or more parties to establish, change, or terminate property-related civil rights and obligations through an electronic information network. In short, an electronic contract is a contract concluded electronically, which mainly refers to an agreement reached by the parties to the contract under network conditions.
[0004] The core technology of the current electronic contract signing system is PKI technology. The core of PKI technology is to use digital certificates for authentication, stamp the seal on the electronic document through the digital signature, and embed the digital signature information of the document in the electronic document, thereby ensuring the authenticity, uniqueness, source confirmation and non-repudiation of the document.
[0005] 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 cracking them 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 tailored for quantum computers can perform integer factorization or discrete logarithm calculation in polynomial time (that is, the cracking time increases at a rate of k as the length of the public key increases, where k is a constant independent of the length of the public key), thus providing the possibility of cracking RSA and discrete logarithm encryption algorithms. The input and output of digital signatures based on public and private keys can be known to the other party. In the presence of quantum computers, the private key may be derived, resulting in the private key of the electronic signer being cracked by the quantum computer, which poses a high security risk. Summary of the invention
[0006] In order to solve the above problems, the present invention proposes a quantum computing resistant electronic contract signing system and method. The present invention realizes the unbreakability of asymmetric key encryption based on a public key library and has quantum computing resistant characteristics.
[0007] According to some embodiments, the present invention adopts the following technical solutions:
[0008] A quantum computing-resistant electronic contract signing system, comprising:
[0009] The electronic contract signing server is configured to register electronic contract signatories, symmetrically encrypt the public keys of electronic contract signatories to generate quantum computing-resistant public keys, and verify the personal signatures of electronic contracts, acting as a trusted third party in the electronic contract signing process;
[0010] An electronic contract signing verification server, configured to process a verification request from an electronic contract signatory during the electronic contract signing process;
[0011] Several clients are configured to provide information services during the contract signing process to each electronic contract signatory, use private keys to sign the contract to be signed, generate private key signatures, and communicate information with other clients, electronic contract signing servers, and electronic contract signing verification servers.
[0012] As an optional implementation, the electronic contract signing server, client and electronic contract signing verification server all have key cards, and the client's key card stores the client's public key and private key, random number generator and public key encryption and decryption algorithm; the key card of the electronic contract signing server stores the server's public key and private key, public key library, true random number generator and public key encryption and decryption algorithm and symmetric key encryption and decryption algorithm; the key card of the electronic contract signing verification server stores the same public key library as the server key card, the electronic contract signing server's quantum computing-resistant public key, public key encryption and decryption algorithm and symmetric key encryption and decryption algorithm.
[0013] As an optional implementation, the client is configured to register for electronic contract signing with the electronic contract signing server, generate a random number, and send personal information, key card ID, undisclosed public key and the random number to the electronic contract signing server using a quantum encryption link.
[0014] As an optional implementation, the electronic contract signing server is configured to verify the information of the electronic contract signatory sent by the client. After successful verification, a quantum-resistant public key is generated, and a combination of a random number and the encrypted quantum-resistant public key is used as the signatory's quantum-resistant public key, and the quantum-resistant public key of the electronic contract signatory is sent to the corresponding client.
[0015] As a further limitation, the electronic contract signing server is configured to use a random number as a key pointer pointing to a public key library, use the data at the location pointed to by the key pointer as a new key pointer, extract the data pointed to by the new key pointer as an encryption key, encrypt the public key of the electronic contract signatory with the encryption key, and generate a quantum-resistant public key.
[0016] As a further limitation, the electronic contract signing server sends the quantum computing resistant public key to the electronic contract signing verification server.
[0017] A quantum computing resistant electronic contract signing method comprises the following steps:
[0018] The first signatory uses the private key to sign the contract to be signed, generates a private key signature, and sends the private key signature to the electronic contract signing server. The electronic contract signing server encrypts the private key signature with its own private key to generate encrypted information, and sends the encrypted information to the first signatory;
[0019] The first signatory sends the encrypted information and its own quantum computing resistant public key to the second signatory, and the second signatory sends the hash value of the contract to be signed, the encrypted information and the quantum computing resistant public key of the first signatory to the electronic contract signing verification server for verification. If the verification result is correct, the electronic contract signing verification server sends the verification result to the second signatory, and the second signatory signs the electronic contract using the private key, and sends the signature and the quantum computing resistant public key of the second signatory to the first signatory;
[0020] The first signatory sends the signature of the second signatory and the second signatory's quantum computing resistant public key to the electronic contract signing verification server to verify the second signatory's signature. If it is correct, the first signatory sends the first signatory's quantum computing resistant public key and the first signatory's signature to the second signatory. The second signatory sends the first signatory's signature and the first signatory's quantum computing resistant public key to the electronic contract signing verification server to verify the correctness of the first signatory's signature. If it is correct, the electronic contract signing is completed.
[0021] As an optional implementation, if the second signatory does not receive the signature of the first signatory or the received signature is erroneous, the second signatory sends the encrypted information, the second signatory's signature and the second signatory's quantum computing resistant public key to the electronic contract signing server. The electronic contract signing server verifies the correctness of the second signatory's signature. If it is correct, the electronic contract signing server uses the public key of the electronic contract signing server to decrypt the encrypted information to obtain the signature of the first signatory, and sends the signature to the second signatory. At the same time, the second signatory's signature is sent to the first signatory, and the signing of the electronic contract is completed.
[0022] As an optional implementation method, the first signatory and the second signatory respectively register for electronic contract signing with the electronic contract signing server in advance, generate a random number, and send personal information, key card ID, undisclosed public key and random number to the electronic contract signing server using a quantum encryption link.
[0023] As an optional implementation, the electronic contract signing server verifies the registration information. After successful verification, it generates a quantum-resistant public key, uses a combination of a random number and the quantum-resistant public key as a quantum computing-resistant public key, and sends the quantum computing-resistant public key of the electronic contract signatory to the corresponding signatory.
[0024] As an optional implementation method, the specific process of the electronic contract signing verification server using the quantum computing resistant public key of the electronic contract signing server and the quantum computing resistant public key of the first signatory to perform verification with the help of the key card includes: the electronic contract signing verification server first finds the encryption key of the electronic contract signing server public key in the public key pool of the key card according to the random number part of the quantum computing resistant public key of the electronic contract signing server, uses the encryption key to decrypt the quantum computing resistant public key of the electronic contract signing server, and obtains the public key of the electronic contract signing server; uses the public key to decrypt the encrypted information to obtain the decrypted signature of the first signatory; the electronic contract signing verification server finds the encryption key of the quantum computing resistant public key of the first signatory in the public key pool of the key card according to the random number in the quantum computing resistant public key of the first signatory, uses the encryption key to decrypt the quantum computing resistant public key of the first signatory, obtains the public key of the first signatory, uses the first signatory's public key to decrypt the decrypted signature of the first signatory, and compares the obtained result with the contract hash value. If they are the same, the verification result is correct, otherwise the verification result is wrong.
[0025] Compared with the prior art, the present invention has the following beneficial effects:
[0026] The present invention establishes an electronic contract signing verification server to provide verification services for intermediate data in the electronic contract signing process, sharing the communication load pressure of the electronic contract signing server. The public key library ensures the data consistency between the electronic contract signing server and the electronic contract signing verification server.
[0027] The present invention proposes a method for signing an electronic contract that is resistant to quantum computing based on a public key library. The public key library based on a key card realizes the unbreakability of asymmetric key encryption and has anti-quantum computing characteristics. When a public key is encrypted using a symmetric key, an attacker must first crack the symmetric key in order to obtain the public key. The symmetric key has anti-quantum computing characteristics, so the public key encrypted by the symmetric key also has anti-quantum computing characteristics. This solves the problem that the public key system is easily cracked by quantum computing, and once the public key is cracked, the private key can be obtained.
[0028] The electronic contract signing method provided by the present invention strictly follows the fair exchange protocol and ensures fairness between both parties during the electronic contract signing process.
[0029] In order to make the above-mentioned objects, features and advantages of the present invention more obvious and easy to understand, preferred embodiments are given below and described in detail with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS
[0030] The accompanying drawings in the specification, which constitute a part of the present invention, are used to provide a further understanding of the present invention. The exemplary embodiments of the present invention and their descriptions are used to explain the present invention and do not constitute improper limitations on the present invention.
[0031] Figure 1 is a system structure diagram of the first embodiment;
[0032] Figure 2 This is a flow chart of the method of embodiment 2. DETAILED DESCRIPTION
[0033] The present invention will be further described below in conjunction with the accompanying drawings and embodiments.
[0034] It should be noted that the following detailed descriptions are all illustrative and intended to provide further explanation of the present invention. Unless otherwise specified, all technical and scientific terms used herein have the same meanings as those commonly understood by those skilled in the art to which the present invention belongs.
[0035] It should be noted that the terms used herein are only for describing specific embodiments and are not intended to limit exemplary embodiments according to the present invention. As used herein, unless the context clearly indicates otherwise, the singular form is also intended to include the plural form. In addition, it should be understood that when the terms "comprising" and / or "including" are used in this specification, it indicates the presence of features, steps, operations, devices, components and / or combinations thereof.
[0036] Embodiment 1:
[0037] In this embodiment, a quantum computing resistant electronic contract signing system is provided, such as Figure 1 As shown, including:
[0038] The electronic contract signing server is used to register electronic contract signatories, encrypt the public keys of electronic contract signatories to generate quantum computing-resistant public keys, verify the personal signatures of electronic contract signatories, and serve as a trusted third party in the electronic contract signing process.
[0039] The electronic contract signing verification server is used to process the verification request of the electronic contract signatory during the electronic contract signing process to reduce the load of the electronic contract signing server.
[0040] Key cards are issued to the electronic contract signing server, verification server and electronic contract signatory (the executing agency is the client, which can be a processor, a server, or other equipment. It is the existing technology in this field and will not be described in detail here). The key card is an independent hardware isolation device, which is divided into multiple areas inside, similar to USBkey, SDKey, and host key board.
[0041] The electronic contract signatory (of course, in the specific implementation process, it relies on the client device to implement it, which is not shown in the drawings, but it should be clear to those skilled in the art), that is, the client's key card stores the client's public key and private key, random number generator and public key encryption and decryption algorithm.
[0042] The key card of the electronic contract signing server (referred to as the server) stores the server public key and private key, the public key library, the true random number generator, the public key encryption and decryption algorithm and the symmetric key encryption and decryption algorithm.
[0043] The electronic contract signing verification server (referred to as verification server) key card has the same public key library as the server key card, the quantum computing-resistant public key of the electronic contract signing server, the public key encryption and decryption algorithm and the symmetric key encryption and decryption algorithm.
[0044] The electronic contract signing server uses a true random number generator to generate a random number r, uses r as a key pointer to the public key library, uses the data at the location pointed to by the key pointer as a new key pointer, extracts the data pointed to by the new key pointer as an encryption key, encrypts the public key of the electronic contract signing server with the encryption key to generate a quantum-resistant public key AK, and uses {r, AK} as the quantum-resistant public key of the electronic contract signing server. The electronic contract signing server saves its quantum-resistant public key and sends it to the electronic contract signing verification server for storage.
[0045] The electronic contract signatory with a key card registers for electronic contract signing with the electronic contract signing server, uses the random number generator in the key card to generate a random number rd, and sends the personal information, key card ID, undisclosed public key and random number rd to the electronic contract signing server using a quantum encryption link. The electronic contract signing server verifies the personal information of the electronic contract signatory. After successful verification, it uses the random number rd as a key pointer pointing to the public key library, and uses the data at the location pointed by the key pointer as a new key pointer. The data pointed by the new key pointer is extracted as an encryption key, and the encryption key is used to encrypt the public key of the electronic contract signatory to generate a quantum-resistant public key aqk. The combination of the random number rd and the encrypted quantum-resistant public key aqk {rd, aqk} is used as the signatory's quantum-resistant public key. The electronic contract signing server sends the electronic contract signatory's quantum-resistant public key to the electronic contract signatory.
[0046] Each electronic contract signatory registers on the electronic contract signing server according to the above process and obtains the quantum computing-resistant public key issued by the electronic contract signatory.
[0047] Embodiment 2:
[0048] Based on the system provided in the first embodiment, a signing method is provided. The process is as follows: Figure 2As shown, electronic contract signatories A and B agree on electronic contract C, and then sign the electronic contract through the electronic contract signing server. Assuming that A is the initiator of signing the electronic contract C, the specific process includes:
[0049] Contract signatory A uses the private key to sign contract C and generate a private key signature σ A , and A Sent to the electronic contract signing server, which encrypts it with its own private key A Generate c A , c A Sent to the contract signatory A;
[0050] A will c A and A's quantum-resistant public key to another contract signatory, B, who then sends H(C), c A The electronic contract signing verification server uses the electronic contract signing server's quantum computing resistant public key and A's quantum computing resistant public key to encrypt the electronic contract C's signature. The electronic contract signing verification server uses the electronic contract signing server's quantum computing resistant public key and A's quantum computing resistant public key to perform verification with the help of the key card. If the verification result is correct, the result is sent to B, and B uses the private key to sign the electronic contract C to generate σ B , and B and B’s quantum-resistant public key is sent to A;
[0051] A will B and B’s quantum-resistant public key is sent to the electronic contract signing verification server to verify σ B , if correct, then A will σ A and A's quantum-resistant public key is sent to B, who then sends σ A and A’s quantum-resistant public key is sent to the electronic contract signing verification server to verify σ A If it is correct, the electronic contract signing is completed.
[0052] If B does not receive A's signature σ A Or the received σ A If it is wrong, then B will c A , σ B and B’s quantum-resistant public key are sent to the electronic contract signing server, which verifies σ B If it is correct, the public key of the electronic contract signing server is used to decrypt c A Get A's signature σ A , and A Sent to B, the electronic contract signing is completed.
[0053] The electronic contract signing verification server uses the quantum computing resistant public key of the electronic contract signing server and A's quantum computing resistant public key with the help of the key card to perform verification in the following manner: the electronic contract signing verification server first finds the encryption key of the electronic contract signing server's public key in the public key pool of the key card according to the random number part of the quantum computing resistant public key of the electronic contract signing server, uses the encryption key to decrypt the quantum resistant public key, and obtains the electronic contract signing server's public key; uses the public key to decrypt c A , and obtain σ A ; Then the electronic contract signing verification server finds the encryption key of A's quantum-resistant public key in the public key pool of the key card according to the random number in A's quantum-resistant public key, uses the encryption key to decrypt A's quantum-resistant public key, obtains A's public key, and uses A's public key to decrypt σ A , compare the obtained result with H(C), if they are the same, the verification result is correct, otherwise the verification result is wrong.
[0054] Those skilled in the art will appreciate that embodiments of the present invention may be provided as methods, systems, or computer program products. Therefore, the present invention may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware. Moreover, the present invention may take the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.
[0055] The present invention is described with reference to flowcharts and / or block diagrams of methods, devices (systems), and computer program products according to embodiments of the present invention. It should be understood that each process and / or block in the flowchart and / or block diagram, as well as the combination of processes and / or blocks in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the processes in the flowchart and / or block diagram. Figure 1 A process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0056] These computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 A process or multiple processes and / or boxes Figure 1 A function specified in one or more boxes.
[0057] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for implementing the process. Figure 1 A process or multiple processes and / or boxes Figure 1 The steps for the functions specified in one or more boxes.
[0058] The above description is only a preferred embodiment of the present invention and is not intended to limit the present invention. For those skilled in the art, the present invention may have various modifications and variations. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present invention shall be included in the protection scope of the present invention.
[0059] Although the above describes the specific implementation mode of the present invention in conjunction with the accompanying drawings, it is not intended to limit the scope of protection of the present invention. Those skilled in the art should understand that various modifications or variations that can be made by those skilled in the art on the basis of the technical solution of the present invention without creative work are still within the scope of protection of the present invention.
Claims
1. A quantum computing-resistant electronic contract signing system, characterized by: include: The electronic contract signing server is configured to register electronic contract signatories, symmetrically encrypt the public keys of electronic contract signatories to generate quantum computing-resistant public keys, and verify the personal signatures of electronic contracts, acting as a trusted third party in the electronic contract signing process; An electronic contract signing verification server, configured to process a verification request from an electronic contract signatory during the electronic contract signing process; Several clients are configured to provide information services during the contract signing process to each electronic contract signatory, use a private key to sign the contract to be signed, generate a private key signature, and communicate information with other clients, the electronic contract signing server, and the electronic contract signing verification server; The electronic contract signing server, client and electronic contract signing verification server all have key cards. The key card of the client stores the client's public key and private key, a random number generator and a public key encryption and decryption algorithm; the key card of the electronic contract signing server stores the server public key and private key, a public key library, a true random number generator and a public key encryption and decryption algorithm and a symmetric key encryption and decryption algorithm; the key card of the electronic contract signing verification server stores the same public key library as the key card of the electronic contract signing server, the electronic contract signing server's quantum computing-resistant public key, the public key encryption and decryption algorithm and the symmetric key encryption and decryption algorithm.
2. A quantum computing resistant electronic contract signing system as claimed in claim 1, characterized in that: The client is configured to register for electronic contract signing with the electronic contract signing server, generate a random number, and send personal information, a key card ID, an undisclosed public key and the random number to the electronic contract signing server using a quantum encryption link.
3. A quantum computing resistant electronic contract signing system as claimed in claim 1, characterized in that: The electronic contract signing server is configured to verify the information of the electronic contract signatory sent by the client. After successful verification, it generates a quantum-resistant public key, uses the combination of the random number and the encrypted quantum-resistant public key as the signatory's quantum-resistant public key, and sends the electronic contract signatory's quantum-resistant public key to the corresponding client.
4. A quantum computing resistant electronic contract signing system as claimed in claim 3, characterized in that: The electronic contract signing server is configured to use a random number as a key pointer pointing to a public key library, use the data at the location pointed to by the key pointer as a new key pointer, extract the data pointed to by the new key pointer as an encryption key, encrypt the public key of the electronic contract signatory with the encryption key, and generate a quantum-resistant public key.
5. A quantum computing resistant electronic contract signing system as claimed in claim 3, characterized in that: The electronic contract signing server sends the quantum computing-resistant public key to the electronic contract signing verification server.
6. A quantum computing-resistant electronic contract signing method, characterized by: The following steps are involved: The first signatory uses the private key to sign the contract to be signed, generates a private key signature, and sends the private key signature to the electronic contract signing server. The electronic contract signing server encrypts the private key signature with its own private key to generate encrypted information, and sends the encrypted information to the first signatory; The first signatory sends the encrypted information and its own quantum computing resistant public key to the second signatory, and the second signatory sends the hash value of the contract to be signed, the encrypted information and the quantum computing resistant public key of the first signatory to the electronic contract signing verification server for verification. If the verification result is correct, the electronic contract signing verification server sends the verification result to the second signatory, and the second signatory signs the electronic contract using the private key, and sends the signature and the quantum computing resistant public key of the second signatory to the first signatory; The first signatory sends the second signatory's signature and the second signatory's quantum computing resistant public key to the electronic contract signing verification server to verify the second signatory's signature. If the signature is correct, the first signatory sends the first signatory's quantum computing resistant public key and the first signatory's signature to the second signatory. The second signatory sends the first signatory's signature and the first signatory's quantum computing resistant public key to the electronic contract signing verification server to verify the correctness of the first signatory's signature. If the signature is correct, the electronic contract signing is completed; The specific process of the electronic contract signing verification server using the quantum computing resistant public key of the electronic contract signing server and the quantum computing resistant public key of the first signatory with the help of the key card for verification includes: The electronic contract signing verification server first finds the encryption key of the electronic contract signing server public key in the public key library of the key card according to the random number part of the electronic contract signing server's anti-quantum computing public key, and uses the encryption key to decrypt the electronic contract signing server's anti-quantum computing public key to obtain the electronic contract signing server public key; The public key is used to decrypt the encrypted information and obtain the decrypted signature of the first signatory; the electronic contract signature verification server finds the encryption key of the first signatory's anti-quantum public key in the public key library of the key card according to the random number in the first signatory's anti-quantum computing public key, uses the encryption key to decrypt the first signatory's anti-quantum computing public key, obtains the first signatory's public key, and uses the first signatory's public key to decrypt the decrypted signature of the first signatory, and compares the obtained result with the contract hash value. If they are the same, the verification result is correct, otherwise the verification result is wrong.
7. A quantum computing resistant electronic contract signing method as claimed in claim 6, characterized in that: If the second signatory does not receive the signature of the first signatory or the received signature is incorrect, the second signatory will send the encrypted information, the second signatory's signature and the second signatory's quantum computing resistant public key to the electronic contract signing server. The electronic contract signing server verifies the correctness of the second signatory's signature. If it is correct, the electronic contract signing server uses the public key of the electronic contract signing server to decrypt the encrypted information to obtain the signature of the first signatory, and sends the signature to the second signatory. At the same time, the second signatory's signature is sent to the first signatory, and the signing of the electronic contract is completed.
8. A quantum computing resistant electronic contract signing method as claimed in claim 6, characterized in that: The electronic contract signing server performs electronic contract signing registration, generates a random number, and sends personal information, key card ID, undisclosed public key and random number to the electronic contract signing server using a quantum encryption link; The electronic contract signing server verifies the registration information. After successful verification, it generates a quantum-resistant public key, uses the combination of the random number and the encrypted public key as the quantum-resistant public key, and sends the quantum-resistant public key of the electronic contract signatory to the corresponding signatory.
Citation Information
Patent Citations
Signature method and signature system for anti-quantum calculation based on public asymmetric key pool
CN109560935A
Quantum computing resisted signature method and system based on symmetric secret key pool
CN109586918A