[go: up one dir, main page]
More Web Proxy on the site http://driver.im/

CN110557367B - Secret key updating method and system for quantum computing secure communication resistance based on certificate cryptography - Google Patents

Secret key updating method and system for quantum computing secure communication resistance based on certificate cryptography Download PDF

Info

Publication number
CN110557367B
CN110557367B CN201910641105.8A CN201910641105A CN110557367B CN 110557367 B CN110557367 B CN 110557367B CN 201910641105 A CN201910641105 A CN 201910641105A CN 110557367 B CN110557367 B CN 110557367B
Authority
CN
China
Prior art keywords
original
client
key
server
signature
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910641105.8A
Other languages
Chinese (zh)
Other versions
CN110557367A (en
Inventor
富尧
钟一民
汪仲祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruban Quantum Technology Co Ltd
Nanjing Ruban Quantum Technology Co Ltd
Original Assignee
Ruban Quantum Technology Co Ltd
Nanjing Ruban Quantum Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ruban Quantum Technology Co Ltd, Nanjing Ruban Quantum Technology Co Ltd filed Critical Ruban Quantum Technology Co Ltd
Priority to CN201910641105.8A priority Critical patent/CN110557367B/en
Publication of CN110557367A publication Critical patent/CN110557367A/en
Application granted granted Critical
Publication of CN110557367B publication Critical patent/CN110557367B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0852Quantum cryptography
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Electromagnetism (AREA)
  • Theoretical Computer Science (AREA)
  • Storage Device Security (AREA)

Abstract

The application discloses a secret key updating method and a secret key updating system for resisting quantum computing secret communication based on certificate cryptography, wherein the secret key updating system for resisting quantum computing secret communication comprises a client and a server, the client is configured with a client key fob, and an asymmetric key pool, a client private key and a client digital certificate are stored in the client key fob; the server is configured with a server key fob in which an asymmetric key pool, a server private key and a server digital certificate are stored; the asymmetric key pool within the client key fob and the asymmetric key pool within the server key fob both contain public keys for the client and the server. When the information is transmitted between the client and the server, the offset is added to the encryption parameters by using the key in the key pool, and only the key card owner can recover the offset to obtain the original encryption parameters, so that the quantum computer is difficult to crack the encryption parameters in the transmission process, and the security of the key updating process is fully ensured.

Description

Secret key updating method and system for quantum computing secure communication resistance based on certificate cryptography
Technical Field
The application relates to the technical field of secure communication, in particular to a secret key updating method and a secret key updating system for quantum computing secret communication resistance based on certificate cryptography.
Background
The wide application of the internet enables people who are far from acquaintance with each other in all corners of the world to exchange information quickly and share information resources. In the course of the exchange, the person does not always want the information sent out by himself to be known to all, but in all cases the person sending out the information only wants the information sent out to be known to the person concerned. Therefore, people use the password to encrypt the information sent by themselves, and only people with the same password can decrypt the information. In addition, in an era where the world is connected to such a wide network world through the internet, it is required to encrypt information using a uniform password for the purpose of global electronic commerce and electronic commerce. The us data encryption standard DES was therefore published in 1975. When the DES algorithm of the conventional cryptosystem is used, the two communicating parties must distribute the same key in advance and keep the same key properly, and when no special key management mechanism exists, how to obtain the required key in advance by the two communicating parties who are not known to each other and how to identify the identity of the other party is a very important problem. The problem can be solved by how to authorize the opposite party to become the only legal communication partner of the communication, so that the opposite party has legal right and ability to decrypt the ciphertext sent by the opposite party.
Key fobs are identity authentication and encryption/decryption products that combine cryptographic techniques, hardware security isolation techniques, quantum physics techniques (with quantum random number generators). The embedded chip and operating system of the key fob may provide secure storage of keys and cryptographic algorithms, among other functions. Due to its independent data processing capabilities and good security, the key fob becomes a secure carrier for private keys and key pools. Each key fob can be protected by a hardware PIN code, and the PIN code and hardware constitute two essential factors for a user to use the key fob, so-called "two-factor authentication", and a user can log in the system only by simultaneously acquiring the key fob and the user PIN code which store relevant authentication information. Even if the PIN code of the user is leaked, the identity of the legal user cannot be counterfeited as long as the key fob held by the user is not stolen; if the key card of the user is lost, the finder can not imitate the identity of the legal user because the user PIN code is not known. In short, the key fob prevents confidential information such as keys from appearing in the form of plaintext on the disk and memory of the host, thereby effectively ensuring the security of the confidential information. The problems existing in the prior art are as follows:
1. after the asymmetric key pool of the client is issued, the client can initiate the requirement of updating the key to replace the public key of the client due to the safety of the client and other considerations. Since all clients use the same public key pool, there is no suitable method to update the asymmetric key pools of all clients if a client needs to update its public key.
2. The random number of the public key pointer of the communication counterpart must be obtained first for obtaining the public key of the counterpart from the asymmetric key pool. The public key pointer random number is difficult to remember, and the public key pointer random numbers of all communication partners need to be stored, so that extra storage space is wasted, and the process is redundant.
Disclosure of Invention
In view of the above, there is a need to provide a method and system for updating secret keys based on certificate cryptography and resisting quantum computing secure communication.
The application discloses a secret key updating method for quantum computing secure communication resistance based on certificate cryptography, wherein during active updating, a participant comprises a first client and a server, and the secret key updating method is implemented at the first client and comprises the following steps:
generating a new first public key and a new first private key, combining the original first public key, the original first public key generation time and the new first public key to obtain a first original text, calculating according to the original first client digital certificate and the original first private key to obtain a signature key, and performing signature calculation on the first original text by using the signature key to obtain a first signature;
combining the first original text and the first signature to obtain a second original text, wherein the encrypting calculation of the second original text comprises the following steps: calculating to obtain a first intermediate parameter according to the second original text, calculating to obtain a first offset according to the first intermediate parameter, generating a first original encryption parameter, subtracting the first offset from the first original encryption parameter to obtain a first offset encryption parameter, and combining the first offset encryption parameter and the first intermediate parameter to obtain a first ciphertext;
sending the first ciphertext to the server; the first intermediate parameter is used for the server to calculate to obtain a first offset, the first offset and the first offset encryption parameter are used for the server to add to obtain a first original encryption parameter, the first intermediate parameter and the first original encryption parameter are used for the server to calculate to obtain a second original text in combination with the server digital certificate, and the first original text is used for the server to execute a public key updating operation of the server after verifying that the signature of the first signature as the first original text passes;
receiving a second ciphertext from the server; the second ciphertext is obtained by the server after performing the signature calculation and the encryption calculation on a third original text, wherein the third original text is an execution result generated after the server executes the public key updating operation of the server;
and decrypting the second ciphertext to obtain the execution result, performing signature verification by using the execution result, analyzing the execution result after the verification is passed, and updating the original first public key, the original first public key generation time, the original first private key and the original first client digital certificate which are locally stored into a new first public key, a new first public key generation time, a new first private key and a new first client digital certificate if the execution result comprises the new first public key, the new first public key generation time and the new first client digital certificate.
The application discloses a secret key updating method for quantum computing secure communication resistance based on certificate cryptography, wherein during active updating, a participant comprises a first client and a server, and the secret key updating method is implemented in the server and comprises the following steps:
receiving a first ciphertext from a first client; the first ciphertext is obtained by a first client performing signature calculation and encryption calculation on a first original text, wherein the first original text is generated by the first client, the first original text comprises an original first public key, original first public key generation time and a new first public key, and the new first public key is generated by the first client;
decrypting the first ciphertext to obtain the first original text, and executing a server public key updating operation after the first original text signature verification is passed comprises: after the generation time of the original first public key and the original first public key in the first original text is verified to be consistent with the generation time of the original first public key and the original first public key which are locally stored, recording the current time of the server as the generation time of a new first public key, and replacing the generation time of the original first public key and the original first public key which are locally stored as the generation time of the new first public key and the new first public key;
after the server public key updating operation is executed, an execution result is generated and serves as a third original text, a signature key is obtained through calculation according to a server digital certificate and a server private key, and a second signature is obtained through signature calculation on the third original text through the signature key;
combining the third original text and the second signature to obtain a fourth original text, wherein the encrypting calculation of the fourth original text comprises: calculating to obtain a second intermediate parameter according to the fourth original text, calculating to obtain a second offset according to the second intermediate parameter, generating a second original encryption parameter, subtracting the second offset from the second original encryption parameter to obtain a second offset encryption parameter, and combining the second offset encryption parameter and the second intermediate parameter to obtain a second ciphertext;
sending the second ciphertext to the first client; the second intermediate parameter is used for the first client to calculate to obtain a second offset, the second offset and the second offset encryption parameter are used for the first client to add to obtain a second original encryption parameter, the second intermediate parameter and the second original encryption parameter are used for the client to calculate to obtain a fourth original text in combination with the original first client digital certificate, and the third original text is used for the first client to execute client key updating operation after verifying that the signature of the second signature as the third original text passes.
The application discloses a secret key updating method for quantum computing secure communication resistance based on certificate cryptography, wherein during active updating, a participant comprises a first client and a server, and the secret key updating method comprises the following steps:
the first client generates a new first public key and a new first private key, combines the original first public key, the original first public key generation time and the new first public key to obtain a first original text, calculates according to the original first client digital certificate and the original first private key to obtain a signature key, and performs signature calculation on the first original text by using the signature key to obtain a first signature;
the first client combines the first original text and the first signature to form a second original text, and the encryption calculation of the second original text comprises the following steps: calculating to obtain a first intermediate parameter according to the second original text, calculating to obtain a first offset according to the first intermediate parameter, generating a first original encryption parameter, subtracting the first offset from the first original encryption parameter to obtain a first offset encryption parameter, combining the first offset encryption parameter and the first intermediate parameter to obtain a first ciphertext, and sending the first ciphertext to the server;
the server receives a first ciphertext from a first client, calculates a first offset according to a first intermediate parameter to obtain a first offset, adds the first offset and a first offset encryption parameter to obtain a first original encryption parameter, calculates a second original ciphertext by using the first intermediate parameter, the first original encryption parameter and a server digital certificate, and executes a server public key updating operation after verifying that the first signature is a signature of the first original ciphertext, wherein the server public key updating operation comprises: after the generation time of the original first public key and the original first public key in the first original text is verified to be consistent with the generation time of the original first public key and the original first public key which are locally stored, recording the current time of the server as the generation time of a new first public key, and replacing the generation time of the original first public key and the original first public key which are locally stored as the generation time of the new first public key and the new first public key;
the server generates an execution result as a third original text after executing the update operation of the server public key, a signature key is obtained through calculation according to the server digital certificate and the server private key, and a second signature is obtained through signature calculation on the third original text by using the signature key;
the server combines the third original text and the second signature to form a fourth original text, and the encryption calculation of the fourth original text comprises the following steps: calculating to obtain a second intermediate parameter according to the fourth original text, calculating to obtain a second offset according to the second intermediate parameter, generating a second original encryption parameter, subtracting the second offset from the second original encryption parameter to obtain a second offset encryption parameter, combining the second offset encryption parameter and the second intermediate parameter to obtain a second ciphertext, and sending the second ciphertext to the first client;
the first client receives a second ciphertext from the server, calculates according to a second intermediate parameter to obtain a second offset, adds the second offset and a second offset encryption parameter to obtain a second original encryption parameter, calculates by using the second intermediate parameter, the second original encryption parameter and a first client digital certificate to obtain a fourth ciphertext, verifies that the second signature is a signature of the third ciphertext, and analyzes the execution result to perform client key updating operation: and if the execution result comprises the new first public key, the new first public key generation time and the new first client digital certificate, updating the locally stored original first public key, the original first public key generation time, the original first private key and the original first client digital certificate into the new first public key, the new first public key generation time, the new first private key and the new first client digital certificate.
The application discloses a secret key updating method for quantum computing secure communication resistance based on certificate cryptography, wherein during passive updating, a participant comprises a second client and a server, and the secret key updating method is implemented at the second client and comprises the following steps:
combining the first client ID, the second client ID and the original first public key generation time to obtain a first original text; the original first public key generation time is the latest generation time of the first public key of the first client stored by the second client, a signature key is obtained by calculation according to the second client digital certificate and the second private key, and the signature key is used for carrying out signature calculation on the first original text to obtain a first signature;
combining the first original text and the first signature to obtain a second original text, wherein the encrypting calculation of the second original text comprises the following steps: calculating to obtain a first intermediate parameter according to the second original text, calculating to obtain a first offset according to the first intermediate parameter, generating a first original encryption parameter, subtracting the first offset from the first original encryption parameter to obtain a first offset encryption parameter, and combining the first offset encryption parameter and the first intermediate parameter to obtain a first ciphertext;
sending the first ciphertext to the server; the first intermediate parameter is used for the server to calculate to obtain a first offset, the first offset and the first offset encryption parameter are used for the server to add to obtain a first original encryption parameter, the first intermediate parameter and the first original encryption parameter are used for the server to calculate to obtain a second original text in combination with the server digital certificate, and the first original text is used for the server to judge whether an original first public key in a second client needs to be updated or not after the server verifies that a signature with a first signature as the first original text passes;
receiving a second ciphertext from the server; the second ciphertext is obtained by the server after performing signature calculation and encryption calculation on a third original text, wherein the third original text is a judgment result generated after the server judges whether the original first public key in the second client needs to be updated or not;
and decrypting the second ciphertext to obtain the judgment result, performing signature verification by using the judgment result, analyzing the judgment result after the verification is passed, and updating the original first public key and the original first public key generation time which are locally stored into new first public keys and new first public key generation time if the judgment result comprises the new first public keys and the new first public key generation time.
The application discloses a secret key updating method for quantum computing secure communication resistance based on certificate cryptography, wherein in passive updating, a participant comprises a second client and a server, and the secret key updating method is implemented in the server and comprises the following steps:
receiving a first ciphertext from a second client; the first ciphertext is obtained by a second client performing signature calculation and encryption calculation on a first original text, wherein the first original text is generated by the second client, the first original text comprises a first client ID, a second client ID and original first public key generation time, and the original first public key generation time is the latest generation time of a first public key of the first client, which is stored by the second client;
decrypting the first ciphertext to obtain the first original text, and judging whether an original first public key in a second client needs to be updated or not after the first original text signature passes verification: the latest generation time of the locally stored first public key is taken out according to the ID of the first client in the first original text, and if the latest generation time of the locally stored first public key is not equal to the original generation time of the first public key in the first original text, the original first public key in the second client needs to be updated;
judging whether an original first public key in a second client needs to be updated or not, generating a judgment result as a third original text, calculating according to a server digital certificate and a server private key to obtain a signature key, and performing signature calculation on the third original text by using the signature key to obtain a second signature;
combining the third original text and the second signature to obtain a fourth original text, wherein the encrypting calculation of the fourth original text comprises: calculating to obtain a second intermediate parameter according to the fourth original text, calculating to obtain a second offset according to the second intermediate parameter, generating a second original encryption parameter, subtracting the second offset from the second original encryption parameter to obtain a second offset encryption parameter, and combining the second offset encryption parameter and the second intermediate parameter to obtain a second ciphertext;
sending the second ciphertext to the second client; the second intermediate parameter is used for the second client to calculate to obtain a second offset, the second offset and the second offset encryption parameter are used for the second client to add to obtain a second original encryption parameter, the second intermediate parameter and the second original encryption parameter are used for the client to calculate to obtain a fourth original text in combination with an original second client digital certificate, and the third original text is used for the second client to execute client key updating operation after verifying that a signature of the second signature as the third original text passes.
The application discloses a secret key updating method for quantum computing secure communication resistance based on certificate cryptography, wherein during passive updating, a participant comprises a second client and a server, and the secret key updating method comprises the following steps:
the second client combines the first client ID, the second client ID and the original first public key generation time to obtain a first original text; the original first public key generation time is the latest generation time of the first public key of the first client stored by the second client, a signature key is obtained by calculation according to the second client digital certificate and the second private key, and the signature key is used for carrying out signature calculation on the first original text to obtain a first signature;
the second client combines the first original text and the first signature to form a second original text, and the encryption calculation of the second original text comprises the following steps: calculating to obtain a first intermediate parameter according to the second original text, calculating to obtain a first offset according to the first intermediate parameter, generating a first original encryption parameter, subtracting the first offset from the first original encryption parameter to obtain a first offset encryption parameter, combining the first offset encryption parameter and the first intermediate parameter to obtain a first ciphertext, and sending the first ciphertext to the server;
the server receives a first ciphertext from a second client, calculates according to a first intermediate parameter to obtain a first offset, adds the first offset and a first offset encryption parameter to obtain a first original encryption parameter, calculates by using the first intermediate parameter, the first original encryption parameter and a server digital certificate to obtain a second original ciphertext, verifies that the first signature is the original first public key in the second client after the signature of the first original ciphertext passes the judgment of whether the original first public key in the second client needs to be updated or not: the latest generation time of the locally stored first public key is taken out according to the ID of the first client in the first original text, and if the latest generation time of the locally stored first public key is not equal to the original generation time of the first public key in the first original text, the original first public key in the second client needs to be updated;
the server judges whether an original first public key in a second client needs to be updated or not and then generates a judgment result as a third original text, a signature key is obtained through calculation according to a server digital certificate and a server private key, and the signature calculation is carried out on the third original text through the signature key to obtain a second signature;
the server combines the third original text and the second signature to form a fourth original text, and the encryption calculation of the fourth original text comprises the following steps: calculating to obtain a second intermediate parameter according to the fourth original text, calculating to obtain a second offset according to the second intermediate parameter, generating a second original encryption parameter, subtracting the second offset from the second original encryption parameter to obtain a second offset encryption parameter, combining the second offset encryption parameter and the second intermediate parameter to obtain a second ciphertext, and sending the second ciphertext to the second client;
the second client receives a second ciphertext from the server, calculates according to a second intermediate parameter to obtain a second offset, adds the second offset and a second offset encryption parameter to obtain a second original encryption parameter, calculates by using the second intermediate parameter, the second original encryption parameter and a second client digital certificate to obtain a fourth ciphertext, verifies that the second signature is a signature of the third ciphertext, and analyzes the judgment result to perform client key updating operation: and if the judgment result contains the new first public key and the new first public key generation time, updating the original first public key and the original first public key generation time which are locally stored into the new first public key and the new first public key generation time.
Preferably, the calculating to obtain the intermediate parameter according to the original text, and the calculating to obtain the offset according to the intermediate parameter includes:
according to the formula
Figure BDA0002131907580000081
Calculating to obtain intermediate parameters, wherein V is the intermediate parameter, M is the original text, and H2G is a hash function, g is a parameter obtained according to the public key of the first user, and r is a random number;
and utilizing a hash function to act on the combination of the intermediate parameter and the public key of the second user to obtain an offset parameter, and calculating the product of the public key parameter and the offset parameter to obtain the offset, wherein one of the first user and the second user is a server, and the other one is a client.
Preferably, the client is configured with a client key fob, and an asymmetric key pool, a client private key and a client digital certificate are stored in the client key fob; the server is configured with a server key fob in which an asymmetric key pool, a server private key, and a server digital certificate are stored; the asymmetric key pool within the client key fob and the asymmetric key pool within the server key fob both contain public keys for the client and the server.
The application also discloses a computer device, which comprises a memory and a processor, wherein the memory stores a computer program, and the processor realizes the steps of the secret key updating method for quantum computing secure communication resistance based on certificate cryptography when executing the computer program.
The application also discloses a secret key updating system of the quantum computing secure communication based on the certificate cryptography, which comprises a client and a server, wherein the client is configured with a client key fob, and an asymmetric key pool, a client private key and a client digital certificate are stored in the client key fob; the server is configured with a server key fob in which an asymmetric key pool, a server private key, and a server digital certificate are stored; the asymmetric key pool in the client key fob and the asymmetric key pool in the server key fob both contain public keys for the client and the server;
the client and the server realize the steps of the secret key updating method of the quantum computing secure communication resistance based on certificate cryptography through a communication network.
According to the method and the system for updating the secret key for resisting quantum computing secret communication based on certificate cryptography, when a client side and a server transmit messages, the secret key in the secret key pool is used for increasing the offset of encryption parameters, only a key fob owner can recover the offset to obtain original encryption parameters, and therefore a quantum computer is difficult to crack the encryption parameters in the transmission process, conversation contents are difficult to crack, and the safety of the secret key updating process is fully guaranteed. It is worth pointing out that the quantum computation resistant method of the present application is less computationally intensive than a method using symmetric key encryption to resist quantum computation.
Drawings
Fig. 1 is a diagram of the internal structure of a server/client key fob used in the present invention.
Detailed Description
The technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the drawings in the embodiments of the present application, and it is obvious that the described embodiments are only a part of the embodiments of the present application, and not all of the embodiments. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present application.
For a better description and illustration of embodiments of the application, reference may be made to one or more of the drawings, but additional details or examples used in describing the drawings should not be construed as limiting the scope of any of the inventive concepts of the present application, the presently described embodiments, or the preferred versions.
It should be understood that steps may be performed in other sequences unless explicitly stated otherwise. Moreover, at least a portion of the steps may include multiple sub-steps or multiple stages that are not necessarily performed at the same time, but may be performed at different times, and the order of performance of the sub-steps or stages is not necessarily sequential, but may be performed in turn or alternating with other steps or at least a portion of the sub-steps or stages of other steps.
In one embodiment, a secret key updating method for quantum computing secure communication resistance based on certificate cryptography is provided, wherein in active updating, a participant comprises a first client and a server, and the secret key updating method comprises the following steps:
the first client generates a new first public key and a new first private key, combines the original first public key, the original first public key generation time and the new first public key to obtain a first original text, calculates according to the original first client digital certificate and the original first private key to obtain a signature key, and performs signature calculation on the first original text by using the signature key to obtain a first signature;
the first client combines the first original text and the first signature to be used as a second original text, and the encryption calculation of the second original text comprises the following steps: calculating to obtain a first intermediate parameter according to the second original text, calculating to obtain a first offset according to the first intermediate parameter, generating a first original encryption parameter, subtracting the first offset from the first original encryption parameter to obtain a first offset encryption parameter, combining the first offset encryption parameter and the first intermediate parameter to obtain a first ciphertext, and sending the first ciphertext to the server;
the server receives a first ciphertext from a first client, calculates according to a first intermediate parameter to obtain a first offset, adds the first offset and a first offset encryption parameter to obtain a first original encryption parameter, calculates by using the first intermediate parameter, the first original encryption parameter and a server digital certificate to obtain a second original text, and executes a server public key updating operation after verifying that a signature of the first original text passes the first signature, wherein the server public key updating operation comprises: after the generation time of the original first public key and the original first public key in the first original text is verified to be consistent with the generation time of the original first public key and the original first public key which are locally stored, recording the current time of the server as the generation time of a new first public key, and replacing the generation time of the original first public key and the original first public key which are locally stored as the generation time of the new first public key and the new first public key;
the server generates an execution result as a third original text after executing the update operation of the server public key, a signature key is obtained through calculation according to the server digital certificate and the server private key, and a second signature is obtained through signature calculation on the third original text by using the signature key;
the server combines the third original text and the second signature to be used as a fourth original text, and the encryption calculation of the fourth original text comprises the following steps: calculating to obtain a second intermediate parameter according to the fourth original text, calculating to obtain a second offset according to the second intermediate parameter, generating a second original encryption parameter, subtracting the second offset from the second original encryption parameter to obtain a second offset encryption parameter, combining the second offset encryption parameter and the second intermediate parameter to obtain a second ciphertext, and sending the second ciphertext to the first client;
the first client receives a second ciphertext from the server, calculates according to a second intermediate parameter to obtain a second offset, adds the second offset and a second offset encryption parameter to obtain a second original encryption parameter, calculates by using the second intermediate parameter, the second original encryption parameter and a first client digital certificate to obtain a fourth original text, verifies that a signature of the third original text passes through a post-analysis execution result, and performs client key updating operation: and if the execution result comprises the new first public key, the new first public key generation time and the new first client digital certificate, updating the locally stored original first public key, the original first public key generation time, the original first private key and the original first client digital certificate into the new first public key, the new first public key generation time, the new first private key and the new first client digital certificate.
In the embodiment, when the client and the server transmit messages, the offset is increased, the external world can only obtain the value obtained by subtracting the offset from the original encryption parameter, the original encryption parameter cannot be recovered, and only the key fob owner can recover the offset to obtain the original encryption parameter, so that the quantum computer is difficult to crack the encryption parameter in the transmission process, thereby being difficult to crack the session content and fully ensuring the security of the key updating process.
In order to further explain the work flow of each participant in the key updating process of the quantum computing secure communication resistance, the key updating method of the quantum computing secure communication resistance based on certificate cryptography in the active updating process is described in a manner of implementing a single side.
In one embodiment, a secret key updating method for quantum computing secure communication resistance based on certificate cryptography is provided, and in active updating, a participant comprises a first client and a server, and the secret key updating method is implemented in the first client and comprises the following steps:
generating a new first public key and a new first private key, combining the original first public key, the original first public key generation time and the new first public key to obtain a first original text, calculating according to the original first client digital certificate and the original first private key to obtain a signature key, and performing signature calculation on the first original text by using the signature key to obtain a first signature;
combining the first original text and the first signature to obtain a second original text, wherein the encrypting calculation of the second original text comprises the following steps: calculating to obtain a first intermediate parameter according to the second original text, calculating to obtain a first offset according to the first intermediate parameter, generating a first original encryption parameter, subtracting the first offset from the first original encryption parameter to obtain a first offset encryption parameter, and combining the first offset encryption parameter and the first intermediate parameter to obtain a first ciphertext;
sending the first ciphertext to a server; the first intermediate parameter is used for the server to calculate to obtain a first offset, the first offset and the first offset encryption parameter are used for the server to add to obtain a first original encryption parameter, the first intermediate parameter and the first original encryption parameter are used for the server to calculate to obtain a second original text in combination with the server digital certificate, and the first original text is used for the server to execute server public key updating operation after verifying that the signature of the first signature as the first original text passes;
receiving a second ciphertext from the server; the second ciphertext is obtained by performing signature calculation and encryption calculation on a third original text by the server, wherein the third original text is an execution result generated after the server executes the public key updating operation of the server;
and decrypting the second ciphertext to obtain an execution result, performing signature verification by using the execution result, analyzing the execution result after the verification is passed, and updating the original first public key, the original first public key generation time, the original first private key and the original first client digital certificate which are locally stored as a new first public key, a new first public key generation time, a new first private key and a new first client digital certificate if the execution result comprises the new first public key, the new first public key generation time and the new first client digital certificate.
In one embodiment, a secret key updating method for quantum computing secure communication resistance based on certificate cryptography is provided, wherein in active updating, a participant comprises a first client and a server, and the secret key updating method is implemented in the server and comprises the following steps:
receiving a first ciphertext from a first client; the first ciphertext is obtained by a first client performing signature calculation and encryption calculation on a first original text, wherein the first original text is generated by the first client, the first original text comprises an original first public key, original first public key generation time and a new first public key, and the new first public key is generated by the first client;
decrypting the first ciphertext to obtain a first original text, and executing the public key updating operation of the server after the signature verification of the first original text is passed comprises the following steps: after the generation time of the original first public key and the original first public key in the first original text is verified to be consistent with the generation time of the original first public key and the original first public key which are locally stored, recording the current time of the server as the generation time of a new first public key, and replacing the generation time of the original first public key and the original first public key which are locally stored as the generation time of the new first public key and the new first public key;
after the server public key updating operation is executed, an execution result is generated and serves as a third original text, a signature key is obtained through calculation according to the server digital certificate and the server private key, and a second signature is obtained through signature calculation on the third original text through the signature key;
combining the third original text and the second signature to obtain a fourth original text, wherein the encrypting calculation of the fourth original text comprises the following steps: calculating to obtain a second intermediate parameter according to the fourth original text, calculating to obtain a second offset according to the second intermediate parameter, generating a second original encryption parameter, subtracting the second offset from the second original encryption parameter to obtain a second offset encryption parameter, and combining the second offset encryption parameter and the second intermediate parameter to obtain a second ciphertext;
sending a second ciphertext to the first client; the second intermediate parameter is used for the first client to calculate to obtain a second offset, the second offset and the second offset encryption parameter are used for the first client to add to obtain a second original encryption parameter, the second intermediate parameter and the second original encryption parameter are used for the client to calculate to obtain a fourth original text in combination with the original first client digital certificate, and the third original text is used for the first client to execute client key updating operation after verifying that the signature of the second signature as the third original text passes.
In the key update, besides the active update, the passive update is also included, wherein in one embodiment, a key update method for quantum computing secure communication resistance based on certificate cryptography is provided, and at the time of the passive update, the participant includes a second client and a server, and the key update method includes:
the second client combines the first client ID, the second client ID and the original first public key generation time to obtain a first original text; the original first public key generation time is the latest generation time of the first public key of the first client stored by the second client, a signature key is obtained by calculation according to the second client digital certificate and the second private key, and a first signature is obtained by signature calculation of the first original text by using the signature key;
the second client combines the first original text and the first signature to be used as a second original text, and the encryption calculation of the second original text comprises the following steps: calculating to obtain a first intermediate parameter according to the second original text, calculating to obtain a first offset according to the first intermediate parameter, generating a first original encryption parameter, subtracting the first offset from the first original encryption parameter to obtain a first offset encryption parameter, combining the first offset encryption parameter and the first intermediate parameter to obtain a first ciphertext, and sending the first ciphertext to the server;
the server receives a first ciphertext from a second client, calculates according to a first intermediate parameter to obtain a first offset, adds the first offset and a first offset encryption parameter to obtain a first original encryption parameter, calculates by using the first intermediate parameter, the first original encryption parameter and a server digital certificate to obtain a second original text, verifies that a signature of the first original text passes, and judges whether an original first public key in the second client needs to be updated or not: the latest generation time of the locally stored first public key is taken out according to the ID of the first client in the first original text, and if the latest generation time of the locally stored first public key is not equal to the original generation time of the first public key in the first original text, the original first public key in the second client needs to be updated;
the server judges whether the original first public key in the second client needs to be updated or not and then generates a judgment result as a third original text, a signature key is obtained through calculation according to the server digital certificate and the server private key, and a second signature is obtained through signature calculation on the third original text through the signature key;
the server combines the third original text and the second signature to be used as a fourth original text, and the encryption calculation of the fourth original text comprises the following steps: calculating to obtain a second intermediate parameter according to the fourth original text, calculating to obtain a second offset according to the second intermediate parameter, generating a second original encryption parameter, subtracting the second offset from the second original encryption parameter to obtain a second offset encryption parameter, combining the second offset encryption parameter and the second intermediate parameter to obtain a second ciphertext, and sending the second ciphertext to the second client;
the second client receives a second ciphertext from the server, calculates according to a second intermediate parameter to obtain a second offset, adds the second offset and a second offset encryption parameter to obtain a second original encryption parameter, calculates by using the second intermediate parameter, the second original encryption parameter and a second client digital certificate to obtain a fourth original text, and analyzes and judges a result after verifying that a signature of the second original text with a second signature is passed to perform client key updating operation: and if the judgment result contains the new first public key and the new first public key generation time, updating the original first public key and the original first public key generation time which are locally stored into the new first public key and the new first public key generation time.
In the embodiment, when the client and the server transmit messages, the offset is increased, the external world can only obtain the value obtained by subtracting the offset from the original encryption parameter, the original encryption parameter cannot be recovered, and only the key fob owner can recover the offset to obtain the original encryption parameter, so that the quantum computer is difficult to crack the encryption parameter in the transmission process, thereby being difficult to crack the session content and fully ensuring the security of the key updating process.
In order to further explain the work flow of each participant in the key updating process of the quantum computing secure communication resistance, the key updating method of the quantum computing secure communication resistance based on certificate cryptography in passive updating is described in a manner of implementing a single side.
In one embodiment, a secret key updating method for quantum computing secure communication resistance based on certificate cryptography is provided, and when the secret key updating method is passively updated, the participating party includes a second client and a server, and the secret key updating method is implemented at the second client and includes:
combining the first client ID, the second client ID and the original first public key generation time to obtain a first original text; the original first public key generation time is the latest generation time of the first public key of the first client stored by the second client, a signature key is obtained by calculation according to the second client digital certificate and the second private key, and a first signature is obtained by signature calculation of the first original text by using the signature key;
combining the first original text and the first signature to obtain a second original text, wherein the encrypting calculation of the second original text comprises the following steps: calculating to obtain a first intermediate parameter according to the second original text, calculating to obtain a first offset according to the first intermediate parameter, generating a first original encryption parameter, subtracting the first offset from the first original encryption parameter to obtain a first offset encryption parameter, and combining the first offset encryption parameter and the first intermediate parameter to obtain a first ciphertext;
sending the first ciphertext to a server; the first intermediate parameter is used for the server to calculate to obtain a first offset, the first offset and the first offset encryption parameter are used for the server to add to obtain a first original encryption parameter, the first intermediate parameter and the first original encryption parameter are used for the server to calculate to obtain a second original text in combination with the server digital certificate, and the first original text is used for the server to judge whether an original first public key in a second client needs to be updated or not after the server verifies that a signature with the first signature as the first original text passes;
receiving a second ciphertext from the server; the second ciphertext is obtained by the server after signature calculation and encryption calculation are carried out on a third original text, and the third original text is a judgment result generated after the server judges whether the original first public key in the second client needs to be updated or not;
and decrypting the second ciphertext to obtain a judgment result, performing signature verification by using the judgment result, analyzing the judgment result after the verification is passed, and updating the locally stored original first public key and the original first public key generation time to be the new first public key and the new first public key generation time if the judgment result comprises the new first public key and the new first public key generation time.
In one embodiment, a secret key updating method for quantum computing secure communication resistance based on certificate cryptography is provided, and in passive updating, a participant comprises a second client and a server, and the secret key updating method is implemented in the server and comprises the following steps:
receiving a first ciphertext from a second client; the first ciphertext is obtained by a second client-side after signature calculation and encryption calculation are carried out on a first original text by the second client-side, the first original text is generated by the second client-side, the first original text comprises a first client-side ID, a second client-side ID and original first public key generation time, and the original first public key generation time is the latest generation time of a first public key of the first client-side stored by the second client-side;
decrypting the first ciphertext to obtain a first original text, and judging whether an original first public key in the second client needs to be updated or not after the first original text signature passes verification: the latest generation time of the locally stored first public key is taken out according to the ID of the first client in the first original text, and if the latest generation time of the locally stored first public key is not equal to the original generation time of the first public key in the first original text, the original first public key in the second client needs to be updated;
judging whether an original first public key in a second client needs to be updated or not, generating a judgment result as a third original text, calculating according to a server digital certificate and a server private key to obtain a signature key, and performing signature calculation on the third original text by using the signature key to obtain a second signature;
combining the third original text and the second signature to obtain a fourth original text, wherein the encrypting calculation of the fourth original text comprises the following steps: calculating to obtain a second intermediate parameter according to the fourth original text, calculating to obtain a second offset according to the second intermediate parameter, generating a second original encryption parameter, subtracting the second offset from the second original encryption parameter to obtain a second offset encryption parameter, and combining the second offset encryption parameter and the second intermediate parameter to obtain a second ciphertext;
sending a second ciphertext to a second client; the second intermediate parameter is used for the second client to calculate to obtain a second offset, the second offset and the second offset encryption parameter are used for the second client to add to obtain a second original encryption parameter, the second intermediate parameter and the second original encryption parameter are used for the client to calculate to obtain a fourth original text in combination with the original second client digital certificate, and the third original text is used for the second client to execute client key updating operation after the second client verifies that the signature of the second signature as the third original text passes.
In another embodiment, the calculating an intermediate parameter according to the original text and calculating an offset according to the intermediate parameter includes:
according to the formula
Figure BDA0002131907580000171
Calculating to obtain intermediate parameters, wherein V is the intermediate parameter, M is the original text, and H2G is a hash function, g is a parameter obtained according to the public key of the first user, and r is a random number;
and utilizing a hash function to act on the combination of the intermediate parameter and the public key of the second user to obtain an offset parameter, and calculating the product of the public key parameter and the offset parameter to obtain an offset, wherein one of the first user and the second user is a server, and the other one is a client.
In the embodiment, the key in the key pool is used for offset calculation, so that only the key fob owner can recover the offset to obtain the original encryption parameters, thereby being difficult to crack the session content and fully ensuring the security of the key updating process.
In another embodiment, the client is configured with a client key fob having stored therein an asymmetric key pool, a client private key, and a client digital certificate; the server is configured with a server key fob in which an asymmetric key pool, a server private key and a server digital certificate are stored; the asymmetric key pool within the client key fob and the asymmetric key pool within the server key fob both contain public keys for the client and the server.
In this embodiment, asymmetric key pools (public keys) are stored in the client key fob and the server key fob, which are less computationally intensive than methods that use symmetric key encryption to combat quantum computation.
In this embodiment, the server simultaneously plays a role of a digital certificate authority to issue certificates to itself and clients. The issued digital certificate is stored in a key fob together with a public/private key, the client and the server having the same key fob. As shown in fig. 1, the key fob stores an asymmetric key pool (public key) and a private key/certificate. And there is only one server for multiple clients, all client key fobs being issued by the server. Let the client in the embodiment be a and B, each of a and B gets a key fob from a server, which is S.
This embodiment employs a mathematical description consistent with the "Certificate-based encryption and Certificate revocation protocol". Generating group G with allowed pairings1And G2G from which the server is1Taking the generator P as the parameter of the public key and the random number s from the real number setSA 1 is toSAs a private key of the server, sSP serves as the public key of the server. The same-reason server can generate public and private keys s of the client AAP/sAAnd public and private key s of client BBP/sB
The asymmetric key pool (public key pool) has public keys of the server and the clients, and the storage location of each public key sP can be determined by using a public key pointer random number rkp, and rkp ═ HASH (ID), that is, the public key pointer random number is equal to the HASH value of the client ID; storing rkp and an sP generation time TsP at the same time of storing each sP, wherein TsP is the time when the sP is acquired by the server, namely TsP is determined by the server in a unified manner.
A will include its ID value rA and the public key sAP is transmitted to the server S through a safety mode such as manual copying. S stores the identity information and the public key of A into a secret key pool, and then can take out the public key S of A from the secret key card according to rA in the secret key poolAP, mixing sAP and identity information including rA are packaged and named Ainfo. Then, a period serial number i (the period serial number represents the time period of the certificate currently issued by the server, and the value of the period serial number is irrelevant to the user) and a public key s of the server are takenCP(sCP is also named Q), using a hash function H1Acting on Ainfo, i and sCP, obtaining PA. Then according to the formula CertA=sCPACalculating to obtain the digital certificate Cert of AAThe digital certificate is then transferred to the key fob of a by way of manual copying or the like. And similarly, S can calculate the digital certificate Cert of BBAnd S own digital certificate CertSAnd each key fob digital certificate, then the digital certificate is transferred to each key fob by way of manual copying or the like, the client key fob is subsequently issued to each client, and the server key fob S itself remains.
After the key fob issues, the client can initiate the requirement of updating the key due to the safety of the client and other considerations; before other users use the public key of a communication partner in the key pool, the other users also need to check whether the public key needs to be updated.
In the present application, the names are based on letter and number combinations, e.g. public key s, unless otherwise specifiedAP、sAP in this application means the same meaning, i.e. the public key sAP; also as message msA, first ciphertext msA, ciphertext msA, msA represent the same meaning in this application, first ciphertext msA; the rest names are the same. And the server S and the public key S in the applicationAS, s in Pnew et alAPnew is only for the convenience of distinction and description, and does not have additional limitations on the parameters themselves, such as the private key sAnew, s in ciphertext msAAnew, msA; the other same principles are adopted. And a new first public key in this application is understood to be a newly generated first public key that is intended for updating, and an original first public key is understood to be the latest first public key stored in the current user key fob.
In one embodiment, an active update procedure in a key update is provided as follows:
step 1, A (first client) provides a public key S which needs to be updated A to S (server)AP。
A uses its own ID value rA and its own public key sAP (original first public key), sAGeneration time Ts of PAP (original first public key generation time) and the public key s to be updatedAPnew (new first public key) is combined to obtain rA | | sAP||TsAP||sAPnew, named first plaintext mA. A generating a public key sAAlso before Pnew, a new private key s is generatedAnew (new first private key).
A is to sAP and identity information including rA are packaged and named Ainfo. Then using a hash function H1Acting on Ainfo to obtain PA', again according to formula SA=sSPA+sAPA’=CertA+sAPA' calculation of SAAnd S isAWill be used as signature secretSignature calculation of mA by key: using a hash function H1Acting on i, sSP、sAP and Ainfo to obtain PA. Taking a random number tAAccording to the formula U1mA=tAPACalculate U1mAAccording to the formula U2mA=tAPA' calculation of U2mAAccording to the formula hA=H3(mA,U1mA,U2mA) Calculate hAAccording to formula VmA=(tA+hA)SA=(tA+hA)(sSPA+sAPA') calculate VmAAnd again according to sA ═ U1mA,U2mA,VmA) A first signature sA is obtained. The mathematical principle and flow of the Certificate-based digital Signature method used in this embodiment are the same as those in reference a Certificate based Signature Scheme.
A takes out S public key S from key fob public key pool by using ID value rS of SSP, then sSP and the identity information of S including rS are packaged and named Sinfo. A takes mA | sA as an object to be encrypted and transmitted, named as a second original text msa, and then uses Sinfo as a parameter to perform encryption calculation on the msa: using a hash function H1Acting on Sinfo, i and sSP, obtaining PS(ii) a Using a hash function H1Acting on Sinfo to obtain PSAccording to the formula g-e(s)SP,PS)e(sSP,PS') the parameter g is calculated, where e (a, b) is a bilinear pair calculation. Taking a random number rALet the first intermediate parameter
Figure BDA0002131907580000191
According to the formula KvA=HASH(VmsA||sAP) to obtain KvA. According to the formula UmsA=(rA-KvA) P obtains a first offset encryption parameter UmsA. Wherein KvAP is an offset named first offset, and quantum computer can only pass through UmsACalculated to obtain rA-KvAWhen Kv is unknownAIn case (a) will not be able to obtain rA. Finally according to the formula
Figure BDA0002131907580000192
Figure BDA0002131907580000201
A first ciphertext msA is computed. A sends the ciphertext msA to the server S.
And step 2, S, processing the request of A.
S receives the message msA sent by A according to the formula KvA=HASH(VmsA||sAP) to obtain KvA. According to KvAAnd rACalculate UmsA’=UmsA+KvAP, i.e. using KvARecovering the offset to obtain a first original encryption parameter UmsA’=rAAnd P. S will SSP and identity information including rS are packaged and named Sinfo, and then are processed by a hash function H1Acting on Sinfo to obtain PS', according to the formula SSER=sSPS+sSPS’=CertS+sSPS' can obtain SSER. According to the formula
Figure BDA0002131907580000202
And (5) calculating the original text msa to obtain the mA | sA.
The server needs to verify that sA is a signature of mA. According to the formula hA’=H3(mA,U1mA,U2mA) Calculate hAAccording to the formula k1A=e(sSP,U1mA+hA’*PS)e(sSP,U2mA+hA’*PS') calculate k1AAccording to the formula k2A=(P,VmA) Calculate k2A. Comparison k1AAnd k2AIf the size of the key is not equal, the server throws away the received message, S refuses to update the key and informs A of the result; if they are equal, it indicates that sA is a signature of mA, i.e. original mA is not modified during transmission, and verifies the identity of sender A, and continues to perform the following procedures, i.e. perform serviceAnd (4) updating the public key.
Record the current server time TsAPnew (new first public key generation time). Verification of s resolved from mAAP and TsAWhether P and s taken from server key fobAP and TsAP equals, if equal, s in the key fob is replacedAP is sAPnew, Change Ts in Key fobAP is TsAPnew。
And 3, step S sends the updating result to A as a response.
If the update is successful, let the third original text mAS be mA | | | TsAPnew||CertAnew, if the update fails, let the third original text mAS ═ mA | | | ResultA, where CertAnew is the new first client digital certificate generated by the server from i and the newly packaged Ainfo, and ResultA is the reason for the update failure.
S signs mAS as in step 1, resulting in a second signature sAS ═ U1mAS,U2mAS,VmAS). Then, according to the method in step 1, mAS | | | sAS, that is, the fourth original text is encrypted, and the second ciphertext msAS ═ U is obtainedmsAS,VmsAS]. And S sends the ciphertext msAS to A.
And step 4, A receives the response of S.
After A receives the message msAS sent by S, the same method in step 2 is used for decrypting the second ciphertext UmsAS,VmsAS]mAS | sAS is obtained, and then whether sAS is the signature of mAS is verified by the same method as in step 2. If the verification fails, the A discards the received message, refuses to update the key and informs the result to the S; if they are equal, the specification sAS is mAS signature, i.e. the original text mAS has not been modified during the transmission, and the identity of the sender S is verified, and the subsequent flow, i.e. the client rekeying operation, is continued.
Analyzing mAS, if ResultA is obtained, updating fails, the reason of failure can be checked, and the process is ended; if it is Ts obtainedAPnew, get sAP、TsAP、sAPnew、TsAPnew、CertAnew。
Verification of s resolved from mASAP and TsAWhether P and s taken from the key fobAP and TsAP equals, if equal, s in the key fob is replacedAP is sAPnew, Change Ts in Key fobAP is TsAPnew. A also updates the old private key sAAs a new private key sAnew, replace old digital certificate CertAIs CertAnew。
The present embodiment may be regarded as directed to the respective embodiments described above with respect to each step, and may also be regarded as a combination of the respective embodiments described above with respect to all steps.
In one embodiment, a passive update procedure in a key update is provided as follows:
step 1, when B (second client) needs to use the public key of A (first client), B inquires S (server) whether the public key S of A needs to be updatedAP。
B uses its own ID value rB and ID values rA and s of AAGeneration time Ts of PAP (original first public key generation time) is combined to obtain rB | | | rA | | TsAP, named first plaintext mB. Including TsAP means reporting the latest time of the public key of a local to B to S, thereby inquiring whether the public key of a needs to be updated.
B will public key sBP and identity information including rB are packaged and named Binfo, and then are processed by a hash function H1Acting on Binfo to obtain PB', again according to formula SB=sSPB+sBPB’=CertB+sBPB' calculation of SBAnd S isBSignature calculation will be performed on mB as a signature key: using a hash function H1Acting on i, sSP、sBP and Binfo to PB. Taking a random number tBAccording to the formula U1mB=tBPBCalculate U1mB. According to the formula U2mB=tBPB' calculation of U2mBAccording to the formula hB=H3(mB,U1mB,U2mB) Calculate hBRoot of Chinese characterAccording to formula VmB=(tB+hB)SB=(tB+hB)(sSPB+sBPB') calculate VmBThen according to the formula sB ═ (U1)mB,U2mB,VmB) A first signature sB is obtained.
B takes out the public key S of S from the key fob public key pool by using the ID value rS of SSP, then sSP and the identity information of S including rS are packaged and named Sinfo. B takes mB | | sB as an object to be transmitted in an encryption mode, named as a second original text msb, and then conducts encryption calculation on the msb by taking Sinfo as a parameter: using a hash function H1Acting on Sinfo, i and sSP, obtaining PS(ii) a Using a hash function H1Acting on Sinfo to obtain PSAccording to the formula g-e(s)SP,PS)e(sSP,PS') the parameter g is calculated, where e (a, b) is a bilinear pair calculation. Taking a random number rBLet the first intermediate parameter
Figure BDA0002131907580000221
According to the formula KvB=HASH(VmsB||sBP) to obtain KvB. According to the formula UmsB=(rB-KvB) P obtains a first offset encryption parameter UmsB. Finally according to the formula
Figure BDA0002131907580000222
A first ciphertext msB is computed. B sends the ciphertext msB to the server S.
And step 2, S processing the request of B.
After S receives the message msB sent by B, it follows formula KvB=HASH(VmsB||sBP) to obtain KvB. According to KvBAnd rBCalculate UmsB’=UmsB+KvBP. S will SSP and identity information including rS are packaged and named as Sinfo and then used as a hash function H1Acting on Sinfo to obtain PS', according to the formula SSER=sSPS+sSPS’=CertS+sSPS' can obtain SSER. According to the formula
Figure BDA0002131907580000223
And calculating the original text msb to obtain mB.
The server needs to verify that sB is a signature of mB. According to the formula hB’=H3(mB,U1mB,U2mB) Calculate hBAccording to the formula k1B=e(sSP,U1mB+hB’*PS)e(sSP,U2mB+hB’*PS') calculate k1BAccording to the formula k2B=(P,VmB) Calculate k2B. Comparison k1BAnd k2BIf the size of the key is not equal, the server throws away the received message, S refuses to update the key, and informs B of the result; if the two are equal, the sB is the signature of the mB, namely the original mB is not modified in the transmission process, the identity of the sender B is verified, and the subsequent process is continuously executed, namely whether the s in the B needs to be updated or not is judgedAP。
Taking Ts from server key fob according to rA obtained by parsing mBAP', which is then combined with Ts obtained from the analysis of mBAP is compared, if the public key of A is equal, the public key of A does not need to be replaced, and if the public key of A is not equal, the public key of A needs to be replaced.
Step 3, S sends the updating result to B as response
If the public key of A needs to be updated, the third original text mBS is mB | | | sAPnew||TsAPnew, if the public key of a does not need to be updated, let the third original text mBS ═ mB | | ResultB, where ResultB contains the content of the public key of a does not need to be updated.
S signs the mBS as in step 1, resulting in a second signature, sBS ═ U1 (U1)mBS,U2mBS,VmBS). Then, the mBS | | | sBS is encrypted according to the method in the step 1 to obtain a second ciphertext msBS ═ UmsBS,VmsBS]. And S sends the ciphertext msBS to B.
Step 4, B receives the response of S
B receives message msBS sent by S, and decrypts second ciphertext U by the same method in step 2msBS,VmsBS]Then mBS | | sBS is obtained, and whether the sBS is the signature of the mBS is verified by the same method in the step 2. If the verification fails, B discards the received message, refuses to update the key and informs S of the result; if the two are equal, the sBS is the signature of the mBS, that is, the original text mBS is not modified during transmission, and the identity of the sender S is verified, and the subsequent procedure, that is, the client-side key update operation, is performed continuously.
Analyzing mBS, if ResultB is obtained, updating is not needed, and the process is ended; if s is obtainedAPnew and TsAPnew, then replace s in the key fobAP is sAPnew, Change Ts in Key fobAP is TsAPnew。
The present embodiment may be regarded as directed to the respective embodiments described above with respect to each step, and may also be regarded as a combination of the respective embodiments described above with respect to all steps.
Since the digital certificate is associated with the cycle number, i.e. the cycle number is self-incremented every time one cycle unit elapses, i.e. i ═ i +1, then the digital certificate issued by the corresponding server also needs to be updated again. In one embodiment, for client A, the server generates a new digital certificate Cert from the self-imposed i and the original AinfoA1. The Cert is then signed and encrypted as described aboveA1And generating a ciphertext and sending the ciphertext to the client A. A, after receiving the ciphertext, decrypts and verifies the signature by the method in the previous step, and updates the digital certificate stored in the key fob to CertA1. The digital certificate can be updated for other clients in a similar way, and only the new digital certificate needs to be generated and updated in a local key fob for the server itself.
In this embodiment, all public keys, respective private keys, and digital certificates of the key fob storage server and the client are used, and the public key in the key fob can be selected for calculation according to the ID value, and the public key and the private key do not go out of the key fob during the whole calculation process. Therefore, the embodiment solves the problem that the random number of the public key pointer is difficult to maintain, and the user only needs to use the ID of the other party and the key card to carry out safe communication before communication. The digital certificate is used for signing, encrypting and decrypting the message, and the confidentiality and the reliability of the message are guaranteed. The key pool is always located in the key fob, which is a separate hardware-isolated device, with greatly reduced potential for stealing keys by malware or malicious operations.
In addition, when the message is transmitted between the client and the server, the offset is added to the encryption parameter by using the key in the key pool, only the key fob owner can recover the offset to obtain the original encryption parameter, so that the quantum computer is difficult to crack the encryption parameter in the transmission process, thereby being difficult to crack the session content and fully ensuring the security of the key updating process. It is worth pointing out that the quantum computation resistant method of the present application is less computationally intensive than a method using symmetric key encryption to resist quantum computation.
In this embodiment, an asymmetric key pool is taken as an example to describe how to safely update data of the asymmetric key pool. The present application may also be used to update other data in the key fob, such as a pool of symmetric keys, user shared data, and the like.
In an embodiment, a computer device, namely a secret key updating system of quantum computing secure communication based on certificate cryptography, is provided, which includes a memory and a processor, the memory stores a computer program, and the processor implements the steps of the secret key updating method of quantum computing secure communication based on certificate cryptography when executing the computer program.
The computer device may be a terminal whose internal structure may include a processor, a memory, a network interface, a display screen, and an input device connected through a system bus. Wherein the processor of the computer device is used to provide computing and control capabilities. The memory of the computer device comprises a nonvolatile storage medium and an internal memory. The non-volatile storage medium stores an operating system and a computer program. The internal memory provides an environment for the operation of an operating system and computer programs in the non-volatile storage medium. The network interface of the computer device is used for communicating with an external terminal through a network connection. The computer program is executed by a processor to implement the above-described method of updating a key for quantum computing secure communication based on certificate cryptography. The display screen of the computer equipment can be a liquid crystal display screen or an electronic ink display screen, and the input device of each equipment can be a touch layer covered on the display screen, a key, a track ball or a touch pad arranged on the shell of the computer equipment, an external keyboard, a touch pad or a mouse and the like.
In another embodiment, a quantum computing secure communication resistant rekeying system based on certificate cryptography is provided, the quantum computing secure communication resistant rekeying system comprising a client and a server, the client configured with a client key fob having stored therein an asymmetric key pool, a client private key and a client digital certificate; the server is configured with a server key fob in which an asymmetric key pool, a server private key and a server digital certificate are stored; the asymmetric key pool within the client key fob and the asymmetric key pool within the server key fob both contain public keys for the client and the server;
and the client and the server realize the steps of the secret key updating method of quantum computing secret communication resistance based on certificate cryptography through a communication network.
For specific limitations of the key renewal system for quantum computing secure communication based on certificate cryptography, reference may be made to the above limitations of the method for quantum computing secure communication based on certificate cryptography, which are not described herein again.
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above examples only express several embodiments of the present application, and the description thereof is more specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for a person skilled in the art, several variations and modifications can be made without departing from the concept of the present application, which falls within the scope of protection of the present application. Therefore, the protection scope of the present application shall be subject to the appended claims.

Claims (10)

1. A secret key updating method for quantum computing secure communication resistance based on certificate cryptography is characterized in that when the secret key updating method is actively carried out, a participant comprises a first client and a server, and the secret key updating method is implemented at the first client and comprises the following steps:
generating a new first public key and a new first private key, combining the original first public key, the original first public key generation time and the new first public key to obtain a first original text, calculating according to the original first client digital certificate and the original first private key to obtain a signature key, and performing signature calculation on the first original text by using the signature key to obtain a first signature;
combining the first original text and the first signature to obtain a second original text, wherein the encrypting calculation of the second original text comprises the following steps: calculating to obtain a first intermediate parameter according to the second original text, calculating to obtain a first offset according to the first intermediate parameter, generating a first original encryption parameter, subtracting the first offset from the first original encryption parameter to obtain a first offset encryption parameter, and combining the first offset encryption parameter and the first intermediate parameter to obtain a first ciphertext;
sending the first ciphertext to the server; the first intermediate parameter is used for the server to calculate to obtain a first offset, the first offset and the first offset encryption parameter are used for the server to add to obtain a first original encryption parameter, the first intermediate parameter and the first original encryption parameter are used for the server to calculate to obtain a second original text in combination with the server digital certificate, and the first original text is used for the server to execute a public key updating operation of the server after verifying that the signature of the first signature as the first original text passes;
receiving a second ciphertext from the server, specifically including:
the server generates an execution result as a third original text after executing the update operation of the server public key, a signature key is obtained through calculation according to the server digital certificate and the server private key, and a second signature is obtained through signature calculation on the third original text by using the signature key;
the server combines the third original text and the second signature to form a fourth original text, and the encryption calculation of the fourth original text comprises the following steps: calculating to obtain a second intermediate parameter according to the fourth original text, calculating to obtain a second offset according to the second intermediate parameter, generating a second original encryption parameter, subtracting the second offset from the second original encryption parameter to obtain a second offset encryption parameter, combining the second offset encryption parameter and the second intermediate parameter to obtain a second ciphertext, and sending the second ciphertext to the first client;
and decrypting the second ciphertext to obtain the execution result, performing signature verification by using the execution result, analyzing the execution result after the verification is passed, and updating the original first public key, the original first public key generation time, the original first private key and the original first client digital certificate which are locally stored into a new first public key, a new first public key generation time, a new first private key and a new first client digital certificate if the execution result comprises the new first public key, the new first public key generation time and the new first client digital certificate.
2. A secret key updating method for quantum computing secure communication resistance based on certificate cryptography is characterized in that when active updating is carried out, a participant comprises a first client and a server, and the secret key updating method is implemented in the server and comprises the following steps:
receiving a first ciphertext from a first client, specifically comprising:
the first client generates a new first public key and a new first private key, combines the original first public key, the original first public key generation time and the new first public key to obtain a first original text, calculates according to the original first client digital certificate and the original first private key to obtain a signature key, and performs signature calculation on the first original text by using the signature key to obtain a first signature;
the first client combines the first original text and the first signature to form a second original text, and the encryption calculation of the second original text comprises the following steps: calculating to obtain a first intermediate parameter according to the second original text, calculating to obtain a first offset according to the first intermediate parameter, generating a first original encryption parameter, subtracting the first offset from the first original encryption parameter to obtain a first offset encryption parameter, combining the first offset encryption parameter and the first intermediate parameter to obtain a first ciphertext, and sending the first ciphertext to the server;
decrypting the first ciphertext to obtain the first original text, and executing a server public key updating operation after the first original text signature verification is passed comprises: after the generation time of the original first public key and the original first public key in the first original text is verified to be consistent with the generation time of the original first public key and the original first public key which are locally stored, recording the current time of the server as the generation time of a new first public key, and replacing the generation time of the original first public key and the original first public key which are locally stored as the generation time of the new first public key and the new first public key;
after the server public key updating operation is executed, an execution result is generated and serves as a third original text, a signature key is obtained through calculation according to a server digital certificate and a server private key, and a second signature is obtained through signature calculation on the third original text through the signature key;
combining the third original text and the second signature to obtain a fourth original text, wherein the encrypting calculation of the fourth original text comprises: calculating to obtain a second intermediate parameter according to the fourth original text, calculating to obtain a second offset according to the second intermediate parameter, generating a second original encryption parameter, subtracting the second offset from the second original encryption parameter to obtain a second offset encryption parameter, and combining the second offset encryption parameter and the second intermediate parameter to obtain a second ciphertext;
sending the second ciphertext to the first client; the second intermediate parameter is used for the first client to calculate to obtain a second offset, the second offset and the second offset encryption parameter are used for the first client to add to obtain a second original encryption parameter, the second intermediate parameter and the second original encryption parameter are used for the client to calculate to obtain a fourth original text in combination with the original first client digital certificate, and the third original text is used for the first client to execute client key updating operation after verifying that the signature of the second signature as the third original text passes.
3. A secret key updating method for quantum computing secure communication resistance based on certificate cryptography is characterized in that when active updating is carried out, a participant comprises a first client and a server, and the secret key updating method comprises the following steps:
the first client generates a new first public key and a new first private key, combines the original first public key, the original first public key generation time and the new first public key to obtain a first original text, calculates according to the original first client digital certificate and the original first private key to obtain a signature key, and performs signature calculation on the first original text by using the signature key to obtain a first signature;
the first client combines the first original text and the first signature to form a second original text, and the encryption calculation of the second original text comprises the following steps: calculating to obtain a first intermediate parameter according to the second original text, calculating to obtain a first offset according to the first intermediate parameter, generating a first original encryption parameter, subtracting the first offset from the first original encryption parameter to obtain a first offset encryption parameter, combining the first offset encryption parameter and the first intermediate parameter to obtain a first ciphertext, and sending the first ciphertext to the server;
the server receives a first ciphertext from a first client, calculates a first offset according to a first intermediate parameter to obtain a first offset, adds the first offset and a first offset encryption parameter to obtain a first original encryption parameter, calculates a second original ciphertext by using the first intermediate parameter, the first original encryption parameter and a server digital certificate, and executes a server public key updating operation after verifying that the first signature is a signature of the first original ciphertext, wherein the server public key updating operation comprises: after the generation time of the original first public key and the original first public key in the first original text is verified to be consistent with the generation time of the original first public key and the original first public key which are locally stored, recording the current time of the server as the generation time of a new first public key, and replacing the generation time of the original first public key and the original first public key which are locally stored as the generation time of the new first public key and the new first public key;
the server generates an execution result as a third original text after executing the update operation of the server public key, a signature key is obtained through calculation according to the server digital certificate and the server private key, and a second signature is obtained through signature calculation on the third original text by using the signature key;
the server combines the third original text and the second signature to form a fourth original text, and the encryption calculation of the fourth original text comprises the following steps: calculating to obtain a second intermediate parameter according to the fourth original text, calculating to obtain a second offset according to the second intermediate parameter, generating a second original encryption parameter, subtracting the second offset from the second original encryption parameter to obtain a second offset encryption parameter, combining the second offset encryption parameter and the second intermediate parameter to obtain a second ciphertext, and sending the second ciphertext to the first client;
the first client receives a second ciphertext from the server, calculates according to a second intermediate parameter to obtain a second offset, adds the second offset and a second offset encryption parameter to obtain a second original encryption parameter, calculates by using the second intermediate parameter, the second original encryption parameter and a first client digital certificate to obtain a fourth ciphertext, verifies that the second signature is a signature of the third ciphertext, and analyzes the execution result to perform client key updating operation: and if the execution result comprises the new first public key, the new first public key generation time and the new first client digital certificate, updating the locally stored original first public key, the original first public key generation time, the original first private key and the original first client digital certificate into the new first public key, the new first public key generation time, the new first private key and the new first client digital certificate.
4. The secret key updating method for resisting quantum computing secret communication based on certificate cryptography is characterized in that when the secret key is passively updated, the participating party comprises a second client and a server, and the secret key updating method is implemented on the second client and comprises the following steps:
combining the first client ID, the second client ID and the original first public key generation time to obtain a first original text; the original first public key generation time is the latest generation time of the first public key of the first client stored by the second client, a signature key is obtained by calculation according to the second client digital certificate and the second private key, and the signature key is used for carrying out signature calculation on the first original text to obtain a first signature;
combining the first original text and the first signature to obtain a second original text, wherein the encrypting calculation of the second original text comprises the following steps: calculating to obtain a first intermediate parameter according to the second original text, calculating to obtain a first offset according to the first intermediate parameter, generating a first original encryption parameter, subtracting the first offset from the first original encryption parameter to obtain a first offset encryption parameter, and combining the first offset encryption parameter and the first intermediate parameter to obtain a first ciphertext;
sending the first ciphertext to the server; the first intermediate parameter is used for the server to calculate to obtain a first offset, the first offset and the first offset encryption parameter are used for the server to add to obtain a first original encryption parameter, the first intermediate parameter and the first original encryption parameter are used for the server to calculate to obtain a second original text in combination with the server digital certificate, and the first original text is used for the server to judge whether an original first public key in a second client needs to be updated or not after the server verifies that a signature with a first signature as the first original text passes;
receiving a second ciphertext from the server, specifically including:
judging whether an original first public key in a second client needs to be updated or not, generating a judgment result as a third original text, calculating according to a server digital certificate and a server private key to obtain a signature key, and performing signature calculation on the third original text by using the signature key to obtain a second signature;
combining the third original text and the second signature to obtain a fourth original text, wherein the encrypting calculation of the fourth original text comprises: calculating to obtain a second intermediate parameter according to the fourth original text, calculating to obtain a second offset according to the second intermediate parameter, generating a second original encryption parameter, subtracting the second offset from the second original encryption parameter to obtain a second offset encryption parameter, and combining the second offset encryption parameter and the second intermediate parameter to obtain a second ciphertext;
and decrypting the second ciphertext to obtain the judgment result, performing signature verification by using the judgment result, analyzing the judgment result after the verification is passed, and updating the original first public key and the original first public key generation time which are locally stored into new first public keys and new first public key generation time if the judgment result comprises the new first public keys and the new first public key generation time.
5. A secret key updating method for quantum computing secure communication resistance based on certificate cryptography is characterized in that when the secret key updating method is passively updated, a participant comprises a second client and a server, and the secret key updating method is implemented in the server and comprises the following steps:
receiving a first ciphertext from a second client, specifically comprising:
the second client combines the first client ID, the second client ID and the original first public key generation time to obtain a first original text; the original first public key generation time is the latest generation time of the first public key of the first client stored by the second client, a signature key is obtained by calculation according to the second client digital certificate and the second private key, and the signature key is used for carrying out signature calculation on the first original text to obtain a first signature;
the second client combines the first original text and the first signature to form a second original text, and the encryption calculation of the second original text comprises the following steps: calculating to obtain a first intermediate parameter according to the second original text, calculating to obtain a first offset according to the first intermediate parameter, generating a first original encryption parameter, subtracting the first offset from the first original encryption parameter to obtain a first offset encryption parameter, combining the first offset encryption parameter and the first intermediate parameter to obtain a first ciphertext, and sending the first ciphertext to the server;
decrypting the first ciphertext to obtain the first original text, and judging whether an original first public key in a second client needs to be updated or not after the first original text signature passes verification: the latest generation time of the locally stored first public key is taken out according to the ID of the first client in the first original text, and if the latest generation time of the locally stored first public key is not equal to the original generation time of the first public key in the first original text, the original first public key in the second client needs to be updated;
judging whether an original first public key in a second client needs to be updated or not, generating a judgment result as a third original text, calculating according to a server digital certificate and a server private key to obtain a signature key, and performing signature calculation on the third original text by using the signature key to obtain a second signature;
combining the third original text and the second signature to obtain a fourth original text, wherein the encrypting calculation of the fourth original text comprises: calculating to obtain a second intermediate parameter according to the fourth original text, calculating to obtain a second offset according to the second intermediate parameter, generating a second original encryption parameter, subtracting the second offset from the second original encryption parameter to obtain a second offset encryption parameter, and combining the second offset encryption parameter and the second intermediate parameter to obtain a second ciphertext;
sending the second ciphertext to the second client; the second intermediate parameter is used for the second client to calculate to obtain a second offset, the second offset and the second offset encryption parameter are used for the second client to add to obtain a second original encryption parameter, the second intermediate parameter and the second original encryption parameter are used for the client to calculate to obtain a fourth original text in combination with an original second client digital certificate, and the third original text is used for the second client to execute client key updating operation after verifying that a signature of the second signature as the third original text passes.
6. A secret key updating method for quantum computing secure communication resistance based on certificate cryptography is characterized in that when the secret key is passively updated, a participant comprises a second client and a server, and the secret key updating method comprises the following steps:
the second client combines the first client ID, the second client ID and the original first public key generation time to obtain a first original text; the original first public key generation time is the latest generation time of the first public key of the first client stored by the second client, a signature key is obtained by calculation according to the second client digital certificate and the second private key, and the signature key is used for carrying out signature calculation on the first original text to obtain a first signature;
the second client combines the first original text and the first signature to form a second original text, and the encryption calculation of the second original text comprises the following steps: calculating to obtain a first intermediate parameter according to the second original text, calculating to obtain a first offset according to the first intermediate parameter, generating a first original encryption parameter, subtracting the first offset from the first original encryption parameter to obtain a first offset encryption parameter, combining the first offset encryption parameter and the first intermediate parameter to obtain a first ciphertext, and sending the first ciphertext to the server;
the server receives a first ciphertext from a second client, calculates according to a first intermediate parameter to obtain a first offset, adds the first offset and a first offset encryption parameter to obtain a first original encryption parameter, calculates by using the first intermediate parameter, the first original encryption parameter and a server digital certificate to obtain a second original ciphertext, verifies that the first signature is the original first public key in the second client after the signature of the first original ciphertext passes the judgment of whether the original first public key in the second client needs to be updated or not: the latest generation time of the locally stored first public key is taken out according to the ID of the first client in the first original text, and if the latest generation time of the locally stored first public key is not equal to the original generation time of the first public key in the first original text, the original first public key in the second client needs to be updated;
the server judges whether an original first public key in a second client needs to be updated or not and then generates a judgment result as a third original text, a signature key is obtained through calculation according to a server digital certificate and a server private key, and the signature calculation is carried out on the third original text through the signature key to obtain a second signature;
the server combines the third original text and the second signature to form a fourth original text, and the encryption calculation of the fourth original text comprises the following steps: calculating to obtain a second intermediate parameter according to the fourth original text, calculating to obtain a second offset according to the second intermediate parameter, generating a second original encryption parameter, subtracting the second offset from the second original encryption parameter to obtain a second offset encryption parameter, combining the second offset encryption parameter and the second intermediate parameter to obtain a second ciphertext, and sending the second ciphertext to the second client;
the second client receives a second ciphertext from the server, calculates according to a second intermediate parameter to obtain a second offset, adds the second offset and a second offset encryption parameter to obtain a second original encryption parameter, calculates by using the second intermediate parameter, the second original encryption parameter and a second client digital certificate to obtain a fourth ciphertext, verifies that the second signature is a signature of the third ciphertext, and analyzes the judgment result to perform client key updating operation: and if the judgment result contains the new first public key and the new first public key generation time, updating the original first public key and the original first public key generation time which are locally stored into the new first public key and the new first public key generation time.
7. The method of claim 6, wherein computing an intermediate parameter from the original text and computing an offset from the intermediate parameter comprises:
according to the formula V ═ M ^ H2(gr) Calculating to obtain intermediate parameters, wherein V is the intermediate parameter, M is the original text, and H2G is a hash function, g is a parameter obtained according to the public key of the first user, and r is a random number;
and utilizing a hash function to act on the combination of the intermediate parameter and the public key of the second user to obtain an offset parameter, and calculating the product of the public key parameter and the offset parameter to obtain the offset, wherein one of the first user and the second user is a server, and the other one is a client.
8. The method of claim 6, wherein a client is configured with a client key fob having stored therein an asymmetric key pool, a client private key, and a client digital certificate; the server is configured with a server key fob in which an asymmetric key pool, a server private key, and a server digital certificate are stored; the asymmetric key pool within the client key fob and the asymmetric key pool within the server key fob both contain public keys for the client and the server.
9. A computer device comprising a memory and a processor, the memory storing a computer program, characterized in that the processor when executing the computer program implements the steps of the method for updating a key for secure communication against quantum computation based on certificate cryptography of any one of claims 1 to 2, 4 to 5.
10. The quantum computation secure communication resisting key updating system based on certificate cryptography is characterized by comprising a client and a server, wherein the client is provided with a client key fob, and an asymmetric key pool, a client private key and a client digital certificate are stored in the client key fob; the server is configured with a server key fob in which an asymmetric key pool, a server private key, and a server digital certificate are stored; the asymmetric key pool in the client key fob and the asymmetric key pool in the server key fob both contain public keys for the client and the server;
the client and the server implement the steps of the method for updating a key of quantum computing secure communication based on certificate cryptography according to claim 3 or 6 through a communication network.
CN201910641105.8A 2019-07-16 2019-07-16 Secret key updating method and system for quantum computing secure communication resistance based on certificate cryptography Active CN110557367B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910641105.8A CN110557367B (en) 2019-07-16 2019-07-16 Secret key updating method and system for quantum computing secure communication resistance based on certificate cryptography

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910641105.8A CN110557367B (en) 2019-07-16 2019-07-16 Secret key updating method and system for quantum computing secure communication resistance based on certificate cryptography

Publications (2)

Publication Number Publication Date
CN110557367A CN110557367A (en) 2019-12-10
CN110557367B true CN110557367B (en) 2021-10-22

Family

ID=68735663

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910641105.8A Active CN110557367B (en) 2019-07-16 2019-07-16 Secret key updating method and system for quantum computing secure communication resistance based on certificate cryptography

Country Status (1)

Country Link
CN (1) CN110557367B (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110995427A (en) * 2019-12-12 2020-04-10 广东电网有限责任公司电力调度控制中心 Control system key management method and device based on asymmetric encryption
CN112104453B (en) * 2020-08-06 2022-08-09 如般量子科技有限公司 Anti-quantum computation digital signature system and signature method based on digital certificate
CN112702161B (en) * 2020-12-23 2023-10-20 北京掌上无限科技有限公司 Disposable data symmetric encryption and decryption algorithm

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104601579A (en) * 2015-01-20 2015-05-06 成都市酷岳科技有限公司 Computer system for ensuring information security and method thereof
CN109861813B (en) * 2019-01-11 2021-08-10 如般量子科技有限公司 Anti-quantum computing HTTPS communication method and system based on asymmetric key pool
CN109981255B (en) * 2019-04-02 2022-06-14 如般量子科技有限公司 Method and system for updating key pool

Also Published As

Publication number Publication date
CN110557367A (en) 2019-12-10

Similar Documents

Publication Publication Date Title
CN108111301B (en) Method and system for realizing SSH protocol based on post-quantum key exchange
EP3219049B1 (en) Account recovery protocol
CN106104562B (en) System and method for securely storing and recovering confidential data
CN108352015B (en) Secure multi-party loss-resistant storage and encryption key transfer for blockchain based systems in conjunction with wallet management systems
CN109756329B (en) Anti-quantum computing shared key negotiation method and system based on private key pool
EP2020797B1 (en) Client-server Opaque token passing apparatus and method
TWI233739B (en) Systems, methods and computer readable recording medium for remote password authentication using multiple servers
CN104641592B (en) The method and system of (CLAE) is encrypted for no certificate verification
He et al. A social-network-based cryptocurrency wallet-management scheme
CN114730420A (en) System and method for generating signatures
CN110519046B (en) Quantum communication service station key negotiation method and system based on one-time asymmetric key pair and QKD
US20130191632A1 (en) System and method for securing private keys issued from distributed private key generator (d-pkg) nodes
US7634085B1 (en) Identity-based-encryption system with partial attribute matching
CN109981255B (en) Method and system for updating key pool
CN109728906B (en) Anti-quantum-computation asymmetric encryption method and system based on asymmetric key pool
US8806206B2 (en) Cooperation method and system of hardware secure units, and application device
CN110557248B (en) Secret key updating method and system based on signcryption of certificateless cryptography
CN109861813B (en) Anti-quantum computing HTTPS communication method and system based on asymmetric key pool
CN108199847B (en) Digital security processing method, computer device, and storage medium
CN110417547B (en) Secret key updating method and system for secret communication based on certificateless cryptography
CN110557367B (en) Secret key updating method and system for quantum computing secure communication resistance based on certificate cryptography
Tsai et al. TTP based high-efficient multi-key exchange protocol
Yu et al. Decim: Detecting endpoint compromise in messaging
CN112104453A (en) Anti-quantum computation digital signature system and signature method based on digital certificate
CN110380859B (en) Quantum communication service station identity authentication method and system based on asymmetric key pool pair and DH protocol

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant