CN109842490B - Digital signature generating/transmitting/verifying method, terminal and computer storage medium - Google Patents

Digital signature generating/transmitting/verifying method, terminal and computer storage medium Download PDF

Info

Publication number
CN109842490B
CN109842490B CN201711216443.4A CN201711216443A CN109842490B CN 109842490 B CN109842490 B CN 109842490B CN 201711216443 A CN201711216443 A CN 201711216443A CN 109842490 B CN109842490 B CN 109842490B
Authority
CN
China
Prior art keywords
signature
digital signature
shared key
provider
algorithm
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
CN201711216443.4A
Other languages
Chinese (zh)
Other versions
CN109842490A (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.)
Quantumctek Guangdong Co ltd
Original Assignee
Quantumctek Guangdong 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 Quantumctek Guangdong Co ltd filed Critical Quantumctek Guangdong Co ltd
Priority to CN201711216443.4A priority Critical patent/CN109842490B/en
Publication of CN109842490A publication Critical patent/CN109842490A/en
Application granted granted Critical
Publication of CN109842490B publication Critical patent/CN109842490B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

The invention provides a digital signature generating/transmitting/verifying method, a terminal and a computer storage medium, wherein the digital signature generating method comprises the following steps: the signature sender calculates the corresponding signature information to obtain corresponding codes by using keys respectively shared with the multi-party authentication center and algorithms respectively corresponding to the multi-party authentication center; the multi-party authentication center comprises two parties and more than two parties; the corresponding signature information comprises signature data; and combining the identification number of the signature sender, the signature data, the serial number of the secret key shared by the multiparty authentication center, the identification number of the multiparty authentication center and the corresponding code to generate the digital signature of the signature sender. The invention can further improve the security of the digital signature.

Description

Digital signature generating/transmitting/verifying method, terminal and computer storage medium
Technical Field
The invention belongs to the technical field of network security, relates to a digital signature, and particularly relates to a digital signature generating/transmitting/verifying method, a terminal and a computer storage medium.
Background
The existing digital signature technology is the application of asymmetric key encryption technology and digital digest technology. Existing digital signatures encrypt digest information with the sender's private key, which is transmitted to the recipient along with the original text. The receiver can decrypt the encrypted digest information only by using the public key of the sender, and then generates a digest information for the received original text by using the HASH function, and compares the digest information with the decrypted digest information. If the two information are the same, the received information is complete and is not modified in the transmission process, otherwise, the received information is modified, so that the digital signature can verify the integrity of the information.
The existing digital signature is established based on a public key cryptosystem, but the security of the public key cryptosystem depends on the complexity of calculation, and the unconditional security is theoretically absent. As the computing power of the computer is continuously improved, the probability of being cracked is very high, and the potential safety hazard is great.
Disclosure of Invention
In view of the above-mentioned shortcomings of the prior art, an object of the present invention is to provide a digital signature generation/transmission/verification method, a terminal and a computer storage medium, which are used to solve the problem that as the computing capability of a computer is continuously improved, the probability of the existing digital signature technology being cracked is increased, and a large potential safety hazard exists.
To achieve the above and other related objects, the present invention provides a digital signature generation method, including: the signature sender calculates the corresponding signature information to obtain corresponding codes by using keys respectively shared with the multi-party authentication center and algorithms respectively corresponding to the multi-party authentication center; the multi-party authentication center comprises two parties and more than two parties; the corresponding signature information comprises signature data; and combining the identification number of the signature sender, the signature data, the serial number of the secret key shared by the multiparty authentication center, the identification number of the multiparty authentication center and the corresponding code to generate the digital signature of the signature sender.
In an embodiment of the present invention, the corresponding algorithm is incorporated in the digital signature.
In one embodiment of the present invention, the corresponding algorithm is pre-agreed and is not incorporated in the digital signature.
In an embodiment of the present invention, an implementation procedure of the digital signature generation method includes: the signature sender calculates first signature information by using a first shared key and a first algorithm to obtain a first code; the signature sender calculates second signature information by using a second shared secret key and a second algorithm to obtain a second code; combining the identification number of the signature sender, the signature data, the serial number of the first shared key, the provider identification number of the first shared key, the first code, the serial number of the second shared key, the provider identification number of the second shared key and the second code to generate a digital signature of the signature sender; if the first algorithm or/and the second algorithm is/are predetermined, merging or not merging in the digital signature; if the first algorithm or/and the second algorithm is/are not agreed in advance, merging the first algorithm and/or the second algorithm into the digital signature; wherein the provider of the first shared key is a first authentication center of the multi-party authentication centers; the provider of the second shared key is a second one of the multi-party authentication centers.
In an embodiment of the present invention, the first signature information includes first signature area data, and the first signature area data includes an identifier of the signature sender, the signature data, a serial number of the first shared key, a provider identifier of the first shared key, and the first algorithm; the second signature information includes second signature area data, and the second signature area data includes an identifier of the signature sender, the signature data, a serial number of the second shared key, a provider identifier of the second shared key, and the second algorithm.
In an embodiment of the present invention, the first signature information includes first digest information; the first abstract information is obtained by carrying out abstract calculation on the first signature area data by utilizing a first abstract algorithm; the second signature information comprises second digest information; the second abstract information is obtained by carrying out abstract calculation on the second signature area data by using a second abstract algorithm; if the first abstract algorithm or/and the second abstract algorithm is/are predetermined, merging or not merging in the digital signature; if the first digest algorithm or/and the second digest algorithm is not agreed in advance, the first digest algorithm or/and the second digest algorithm are combined in the digital signature.
In an embodiment of the present invention, the first signature information and the second signature information are the same and are both signature information; the signature information comprises summary information; the abstract information is obtained by carrying out abstract calculation on the signature area data by using an abstract algorithm; the signature area data includes an identifier of the sender of the signature, the signature data, the digest algorithm, a serial number of the first shared key, a provider identifier of the first shared key, the first algorithm, a serial number of the second shared key, a provider identifier of the second shared key, and the second algorithm; if the abstract algorithm is predetermined, merging or not merging in the digital signature; if the digest algorithm is not agreed in advance, the digest algorithm is merged into the digital signature.
In an embodiment of the invention, at least one of the first shared key and the second shared key is a quantum key.
In an embodiment of the invention, a provider of the first shared key is different from a provider of the second shared key.
In an embodiment of the present invention, the first shared key is selected from a first shared key set; the first shared key set is a key set shared by the first shared key provider and the signature sender; or/and the second shared key is selected from a second set of shared keys; the second shared key set is a key set shared by the second shared key provider and the signing sender.
In an embodiment of the present invention, an implementation procedure of the digital signature generation method further includes: the signature sender calculates third signature information by using a third shared key and a third algorithm to obtain a third code; the digital signature of the signature sender further comprises a serial number of the third shared key, a provider identification number of the third shared key and the third code; if the third algorithm is predetermined, merging or not merging in the digital signature; if the third algorithm is not agreed in advance, merging the third algorithm into the digital signature; the provider of the third shared key is a third one of the multi-party authentication centers.
In an embodiment of the invention, the third signature information includes third signature area data, and the third signature area data includes an identifier of the signature sender, the signature data, a serial number of the third shared key, a provider identifier of the third shared key, and the third algorithm.
In an embodiment of the invention, the third signature information includes third digest information; the third abstract information is obtained by performing abstract calculation on the third signature area data by using a third abstract algorithm; if the third digest algorithm is pre-agreed, merging or not merging in the digital signature; and if the third digest algorithm is not agreed in advance, merging the third digest algorithm into the digital signature.
In an embodiment of the present invention, the third signature information is the same as the first signature information and the second signature information, and both the third signature information and the second signature information are signature information; the signature information comprises summary information; the abstract information is obtained by carrying out abstract calculation on the signature area data by using an abstract algorithm; the signature area data includes an identifier of the sender of the signature, the signature data, the digest algorithm, a serial number of the first shared key, a provider identifier of the first shared key, the first algorithm, a serial number of the second shared key, a provider identifier of the second shared key, the second algorithm, a serial number of the third shared key, a provider identifier of the third shared key, and the third algorithm; if the abstract algorithm is predetermined, merging or not merging in the digital signature; if the digest algorithm is not agreed in advance, the digest algorithm is merged into the digital signature.
In an embodiment of the invention, at least one of the first shared secret key, the second shared secret key and the third shared secret key is a quantum secret key.
In an embodiment of the present invention, at least 2 providers of the first shared key, the second shared key, and the third shared key are different.
In an embodiment of the present invention, the first shared key is selected from a first shared key set; the first shared key set is a key set shared by the first shared key provider and the signature sender; the second shared key is selected from a second set of shared keys; the second shared key set is a key set shared by the second shared key provider and the signature sender; or/and the third shared key is selected from a third set of shared keys; the third shared key set is a key set shared by the third shared key provider and the signing sender.
The present invention also provides a computer storage medium having a first computer program stored thereon; the first computer program executes the digital signature generation method when called by a processor.
The present invention also provides a digital signature generation terminal, including: a first input for inputting digital signature related parameters; a first memory for storing a first computer program and the digital signature related parameters; and the first processor is in communication connection with the first memory, and executes the digital signature generation method to generate a digital signature when calling the first computer program and the parameters related to the digital signature.
The invention also provides a digital signature sending method, which comprises the following steps: the signature sender sends the digital signature generated by the digital signature generation method to a signature receiver; or the signature sender utilizes a shared secret key KabEncrypting the digital signature generated by the digital signature generation method and then sending the encrypted digital signature to a signature receiver; the shared secret key KabIs a key shared by the signature sender and the signature receiver.
The invention also provides a digital signature verification method, which comprises the following steps: the signature receiver acquires a digital signature of the signature sender; the digital signature of the signature sender comprises: the identification number of the signature sender, the signature data, the serial number of a secret key shared by the multiparty authentication center, the identification number of the multiparty authentication center and a corresponding code; the signature sender calculates corresponding signature information by using keys respectively shared with the multi-party authentication center and algorithms respectively corresponding to the multi-party authentication center to obtain the corresponding codes; the multi-party authentication center comprises two parties and more than two parties; the corresponding signature information includes the signature data; the signature receiver sends the digital signatures to the multiparty authentication center for verification respectively according to the identification numbers of the multiparty authentication center in the digital signatures, and receives the verification results fed back by the multiparty authentication center; when the verification results fed back by the multi-party authentication center are all passed, the signature receiver confirms that the digital signature is valid; otherwise, the signature receiver confirms that the digital signature is invalid.
The present invention also provides a computer storage medium having a second computer program stored thereon; the second computer program, when invoked by a processor, performs the digital signature verification method.
The present invention also provides a digital signature verification terminal, including: a second input end for inputting digital signature related parameters; a second memory for storing a second computer program and the digital signature related parameters; and the second processor is in communication connection with the second memory, and executes the digital signature verification method when calling the second computer program and the digital signature related parameters to verify whether the digital signature is valid or not.
The invention also provides a digital signature verification method, which comprises the following steps: the signature receiver acquires a digital signature of the signature sender; the digital signature includes: an identification number of a signature sender, signature data, a serial number of a first shared key, a provider identification number of the first shared key, a first code, a serial number of a second shared key, a provider identification number of the second shared key, and a second code; the signature sender utilizes the first shared key and a first algorithm to calculate first signature information to obtain the first code; the signature sender utilizes the second shared secret key and a second algorithm to calculate second signature information to obtain the second code; the first signature information and the second signature information each include the signature data; if the first algorithm or/and the second algorithm is/are predetermined, merging or not merging in the digital signature; if the first algorithm or/and the second algorithm is/are not agreed in advance, merging the first algorithm and/or the second algorithm into the digital signature; wherein the provider of the first shared key is a first authentication center of a multi-party authentication center; the provider of the second shared key is a second authentication center in the multi-party authentication center; the signature receiving party sends the digital signature to a provider of the first shared key for verification according to the provider identification number of the first shared key in the digital signature, and receives a first verification result fed back by the provider of the first shared key; the signature receiving party sends the digital signature to a provider of a second shared key for verification according to the provider identification number of the second shared key in the digital signature, and receives a second verification result fed back by the provider of the second shared key; when the first verification result and the second verification result both pass, the signature receiver confirms that the digital signature is valid; otherwise, the signature receiver confirms that the digital signature is invalid.
In an embodiment of the present invention, an implementation process of the signature receiver obtaining the digital signature of the signature sender includes: the signature receiver receives the digital signature sent by the signature sender; or the signature receiver utilizes a shared secret key KabDecrypting to obtain the digital signature sent by the signature sender; the shared secret key KabIs a key shared by the signature sender and the signature receiver.
In an embodiment of the present invention, an implementation process of the signature receiving party sending the digital signature to a provider of a first shared key or a provider of a second shared key for verification includes: the signature receiver sends all the data of the digital signature to a provider of the first shared secret key or a provider of the second shared secret key for verification; or the signature receiver sends the data related to the provider of the first shared key in the digital signature to the provider of the first shared key for verification, or sends the data related to the provider of the second shared key in the digital signature to the provider of the second shared key for verification.
In an embodiment of the present invention, an implementation process of the provider of the first shared key to verify the digital signature includes: the provider of the first shared key obtains the corresponding first shared key according to the identification number of the signature sender in the digital signature and the serial number of the first shared key, and calculates and obtains a first verification code according to the first algorithm, the first signature information and the first shared key; and the provider of the first shared key compares the first verification code with the first code in the digital signature, if the first verification code is identical with the first code in the digital signature, the provider feeds back a first verification result which passes the verification, and otherwise, the provider feeds back a first verification result which does not pass the verification.
In an embodiment of the present invention, an implementation process of the provider of the second shared secret key to verify the digital signature includes: the provider of the second shared secret key obtains a corresponding second shared secret key according to the identification number of the signature sender in the digital signature and the serial number of the second shared secret key, and calculates and obtains a second verification code according to the second algorithm, the second signature information and the second shared secret key; and the provider of the second shared secret key compares the second verification code with the second code in the digital signature, if the second verification code is the same as the second code in the digital signature, the provider feeds back a second verification result which passes the verification, and otherwise, the provider feeds back a second verification result which does not pass the verification.
The present invention also provides a computer storage medium having a third computer program stored thereon; the third computer program, when invoked by a processor, performs the digital signature verification method.
The present invention also provides a digital signature verification terminal, including: a third input end for inputting digital signature related parameters; a third memory for storing a third computer program and the digital signature related parameters; and the third processor is in communication connection with the third memory, and executes the digital signature verification method when calling the third computer program and the digital signature related parameters to verify whether the digital signature is valid.
The invention also provides a digital signature verification method, which comprises the following steps: the signature receiver acquires a digital signature of the signature sender; the digital signature of the signature sender comprises: an identification number of a signature sender, signature data, a serial number of a first shared key, a provider identification number of the first shared key, a first code, a serial number of a second shared key, a provider identification number of the second shared key, a second code, a serial number of a third shared key, a provider identification number of the third shared key, and a third code; the signature sender utilizes the first shared key and a first algorithm to calculate first signature information to obtain the first code; the signature sender utilizes the second shared secret key and a second algorithm to calculate second signature information to obtain the second code; the signature sender utilizes the third shared secret key and a third algorithm to calculate third signature information to obtain the third code; the first signature information, the second signature information, and the third signature information each include the signature data; if the first algorithm, the second algorithm or/and the third algorithm are predetermined, merging or not merging in the digital signature; if the first algorithm, the second algorithm or/and the third algorithm are not agreed in advance, merging the first algorithm, the second algorithm or/and the third algorithm into the digital signature; wherein the provider of the first shared key is a first authentication center of the multi-party authentication centers; the provider of the second shared key is a second one of the multi-party authentication centers; the provider of the third shared key is a third authentication center in the multi-party authentication center; the signature receiving party sends the digital signature to a provider of the first shared key for verification according to the provider identification number of the first shared key in the digital signature, and receives a first verification result fed back by the provider of the first shared key; the signature receiving party sends the digital signature to a provider of a second shared key for verification according to the provider identification number of the second shared key in the digital signature, and receives a second verification result fed back by the provider of the second shared key; the signature receiving party sends the digital signature to a provider of a third shared key for verification according to the provider identification number of the third shared key in the digital signature, and receives a third verification result fed back by the provider of the third shared key; when the first verification result, the second verification result and the third verification result are both passed, the signature receiver confirms that the digital signature is valid; otherwise, the signature receiver confirms that the digital signature is invalid.
In an embodiment of the present invention, an implementation process of the signature receiver obtaining the digital signature of the signature sender includes: the signature receiver receives the digital signature sent by the signature sender; or the signature receiver utilizes a shared secret key KabDecrypting to obtain the digital signature sent by the signature sender; the shared secret key KabIs a key shared by the signature sender and the signature receiver.
In an embodiment of the present invention, an implementation procedure of the signature receiving side sending the digital signature to a provider of a first shared key, and the provider of a second shared key or/and the provider of a third shared key performing verification includes: the signature receiver sends all the data of the digital signature to a provider of the first shared key, and the provider of the second shared key or/and the provider of the third shared key carry out verification; or the signature receiver sends the data related to the provider of the first shared key in the digital signature to the provider of the first shared key for verification, or sends the data related to the provider of the second shared key in the digital signature to the provider of the second shared key for verification, or sends the data related to the provider of the third shared key in the digital signature to the provider of the third shared key for verification.
In an embodiment of the present invention, an implementation process of the provider of the first shared key to verify the digital signature includes: the provider of the first shared key obtains the corresponding first shared key according to the identification number of the signature sender in the digital signature and the serial number of the first shared key, and calculates and obtains a first verification code according to the first algorithm, the first signature information and the first shared key; and the provider of the first shared key compares the first verification code with the first code in the digital signature, if the first verification code is identical with the first code in the digital signature, the provider feeds back a first verification result which passes the verification, and otherwise, the provider feeds back a first verification result which does not pass the verification.
In an embodiment of the present invention, an implementation process of the provider of the second shared secret key to verify the digital signature includes: the provider of the second shared secret key obtains a corresponding second shared secret key according to the identification number of the signature sender in the digital signature and the serial number of the second shared secret key, and calculates and obtains a second verification code according to the second algorithm, the second signature information and the second shared secret key; and the provider of the second shared secret key compares the second verification code with the second code in the digital signature, if the second verification code is the same as the second code in the digital signature, the provider feeds back a second verification result which passes the verification, and otherwise, the provider feeds back a second verification result which does not pass the verification.
In an embodiment of the present invention, an implementation process of the third shared key provider verifying the digital signature includes: the provider of the third shared key obtains a corresponding third shared key according to the identification number of the signature sender in the digital signature and the serial number of the third shared key, and calculates and obtains a third verification code according to the third algorithm, the third signature information and the third shared key; and the provider of the third shared key compares the third verification code with the third code in the digital signature, if the third verification code is the same as the third code in the digital signature, the third verification result which passes the verification is fed back, and otherwise, the third verification result which does not pass the verification is fed back.
The present invention also provides a computer storage medium having a fourth computer program stored thereon; said fourth computer program, when invoked by a processor, executes said digital signature verification method.
The present invention also provides a digital signature verification terminal, including: a fourth input end for inputting digital signature related parameters; a fourth memory for storing a fourth computer program and the digital signature related parameters; and the fourth processor is in communication connection with the fourth memory, and executes the digital signature verification method when calling the fourth computer program and the digital signature related parameters to verify whether the digital signature is valid.
As described above, the digital signature generation/transmission/verification method, terminal and computer storage medium of the present invention have the following advantageous effects:
the invention realizes digital signature by using a countersigning mode or a quantum key or a mode of combining the countersigning mode and the quantum key; the countersigning mode can ensure that only a signing party has a complete digital signature key, a single authentication center only has a partial digital signature key, and the authentication center cannot forge the digital signature of the signing party, so that the safety of the digital signature is further improved; the quantum key is based on quantum mechanics, the safety of the quantum key is established on the physical characteristics of the inaccurate measurement principle, quantum unclonable, quantum coherence and the like, and the quantum key is proved to be unconditionally safe, so that the safety of the digital signature is further improved; the combination of the countersigning mode and the quantum key can fundamentally solve the potential safety hazard of the digital signature based on the public key cryptosystem.
Drawings
Fig. 1A is a schematic flow chart illustrating an implementation of the digital signature generation method according to the embodiment of the present invention.
Fig. 1B is a schematic flowchart illustrating a specific implementation of the digital signature generation method according to the embodiment of the present invention.
Fig. 1C is a schematic flow chart illustrating another specific implementation of the digital signature generation method according to the embodiment of the present invention.
Fig. 1D is a schematic view of an application scenario of the digital signature generation method according to the embodiment of the present invention.
Fig. 1E is a schematic diagram illustrating an implementation structure of a digital signature generation terminal according to an embodiment of the present invention.
Fig. 2A is a schematic flow chart illustrating an implementation process of the digital signature sending method according to the embodiment of the present invention.
Fig. 2B is a schematic flow chart illustrating another implementation of the digital signature sending method according to the embodiment of the present invention.
Fig. 2C is a schematic view of an application scenario of the digital signature sending method according to the embodiment of the present invention.
Fig. 3A is a schematic flow chart illustrating an implementation of the digital signature verification method according to the embodiment of the present invention.
Fig. 3B is a schematic flowchart illustrating an implementation of the digital signature verification method according to the embodiment of the present invention.
Fig. 3C is a schematic flow chart illustrating another specific implementation of the digital signature verification method according to the embodiment of the present invention.
Fig. 3D is a schematic view of an application scenario of the digital signature verification method according to the embodiment of the present invention.
Fig. 3E is a schematic view illustrating another application scenario of the digital signature verification method according to the embodiment of the present invention.
Fig. 4 is a schematic structural diagram illustrating an implementation of the digital signature verification terminal according to an embodiment of the present invention.
Fig. 5 is a schematic structural diagram illustrating another implementation of the digital signature verification terminal according to the embodiment of the present invention.
Fig. 6 is a schematic structural diagram of another implementation of the digital signature verification terminal according to the embodiment of the present invention.
Description of the element reference numerals
100 digital signature generation terminal
110 first input terminal
120 first memory
130 first processor
300 digital signature verification terminal
410 second input terminal
420 second memory
430 second processor
510 third input terminal
520 third memory
530 third processor
610 fourth input terminal
620 fourth memory
630 fourth processor
S101 to S102
S111 to S113
S121 to S124
S301 to S302
S311 to S316
S321 to S327 steps
Detailed Description
The embodiments of the present invention are described below with reference to specific embodiments, and other advantages and effects of the present invention will be easily understood by those skilled in the art from the disclosure of the present specification. The invention is capable of other and different embodiments and of being practiced or of being carried out in various ways, and its several details are capable of modification in various respects, all without departing from the spirit and scope of the present invention. It is to be noted that the features in the following embodiments and examples may be combined with each other without conflict.
It should be noted that the drawings provided in the following embodiments are only for illustrating the basic idea of the present invention, and the drawings only show the components related to the present invention rather than the number, shape and size of the components in actual implementation, and the type, quantity and proportion of the components in actual implementation may be changed freely, and the layout of the components may be more complicated.
Referring to fig. 1A, an embodiment of the present invention provides a digital signature generation method, where the digital signature generation method includes:
s101, a signature sender calculates corresponding signature information to obtain corresponding codes by utilizing keys respectively shared with a multi-party authentication center and algorithms respectively corresponding to the multi-party authentication center; the multi-party authentication center comprises two or more authentication centers, namely the multi-party authentication center comprises at least 2 authentication centers, such as a first authentication center, a second authentication center, a third authentication center, a fourth authentication center, a fifth authentication center and the like; the corresponding signature information includes signature data.
S102, combining the identification number of the signature sender, the signature data, the serial number of the secret key shared by the multiparty authentication center, the identification number of the multiparty authentication center and the corresponding code, and generating the digital signature of the signature sender.
If the corresponding algorithm is not agreed in advance, the corresponding algorithm is merged into the digital signature; if the corresponding algorithm is pre-agreed, the corresponding algorithm may not be incorporated in the digital signature, or the corresponding algorithm may also be incorporated in the digital signature.
Referring to fig. 1B, an embodiment of the present invention provides a digital signature generation method, where an implementation process of the digital signature generation method includes:
and S111, the signature sender calculates the first signature information by using the first shared key and the first algorithm to obtain a first code.
And S112, the signature sender calculates the second signature information by using a second shared secret key and a second algorithm to obtain a second code.
S113, combining the identification number of the signature sender, the signature data, the serial number of the first shared key, the provider identification number of the first shared key, the first code, the serial number of the second shared key, the provider identification number of the second shared key and the second code to generate a digital signature of the signature sender; if the first algorithm or/and the second algorithm is/are predetermined, not combining or combining in the digital signature; and if the first algorithm or/and the second algorithm is not agreed in advance, combining the first algorithm and/or the second algorithm in the digital signature. Wherein the provider of the first shared key is a first authentication center of the multi-party authentication centers; the provider of the second shared key is a second one of the multi-party authentication centers.
At least one of the first shared secret key and the second shared secret key is a quantum secret key, so that the unconditional security of the quantum secret key is achieved. Preferably, the first shared key and the second shared key are both quantum keys.
In an embodiment of the present invention, the first signature information includes first signature area data, and the first signature area data includes an identifier of the signature sender, the signature data, a serial number of the first shared key, a provider identifier of the first shared key, and the first algorithm; the second signature information includes second signature area data, and the second signature area data includes an identifier of the signature sender, the signature data, a serial number of the second shared key, a provider identifier of the second shared key, and the second algorithm. Wherein, if the first algorithm is pre-agreed, the first algorithm may or may not be included in the first signature region data; if the second algorithm is pre-agreed, the second algorithm may or may not be included in the second signature region data.
In an embodiment of the present invention, the first signature information includes first digest information; the first abstract information is obtained by carrying out abstract calculation on the first signature area data by utilizing a first abstract algorithm; the second signature information comprises second digest information; the second abstract information is obtained by carrying out abstract calculation on the second signature area data by using a second abstract algorithm; if the first abstract algorithm or/and the second abstract algorithm is/are predetermined, merging or not merging in the digital signature; if the first digest algorithm or/and the second digest algorithm is not agreed in advance, the first digest algorithm or/and the second digest algorithm are combined in the digital signature. If the first digest algorithm is pre-agreed, the first digest algorithm may or may not be included in the first signature region data; if the second digest algorithm is pre-agreed, the second digest algorithm may or may not be included in the second signature region data.
In an embodiment of the present invention, the first signature information and the second signature information are the same and are both signature information; the signature information comprises summary information; the abstract information is obtained by carrying out abstract calculation on the signature area data by using an abstract algorithm; the signature area data includes an identifier of the sender of the signature, the signature data, the digest algorithm, a serial number of the first shared key, a provider identifier of the first shared key, the first algorithm, a serial number of the second shared key, a provider identifier of the second shared key, and the second algorithm; if the abstract algorithm is predetermined, merging or not merging in the digital signature; if the digest algorithm is not agreed in advance, the digest algorithm is merged into the digital signature. Wherein, if the digest algorithm is pre-agreed, the digest algorithm may or may not be included in the signature region data.
Furthermore, the provider of the first shared key is different from the provider of the second shared key, so that the countersigning mode is realized, the problem of unsafe signature caused by the problem of one authentication center is avoided, and the safety of the digital signature is further improved.
Further, the first algorithm comprises a message authentication code algorithm or/and a key encryption algorithm; or/and the second algorithm comprises a message authentication code algorithm or/and a key encryption algorithm. The message authentication code algorithm comprises a Hash operation message authentication code algorithm; the key encryption algorithm comprises a symmetric key encryption algorithm.
Further, the first shared key is selected from a first set of shared keys; the first shared key set is a key set shared by the first shared key provider and the signature sender; or/and the second shared key is selected from a second set of shared keys; the second shared key set is a key set shared by the second shared key provider and the signing sender.
Referring to fig. 1C, an embodiment of the present invention further provides a digital signature generation method, where the digital signature generation method includes:
and S121, the signature sender calculates the first signature information by using the first shared key and the first algorithm to obtain a first code.
And S122, the signature sender calculates the second signature information by using a second shared secret key and a second algorithm to obtain a second code.
And S123, the signature sender calculates third signature information by using a third shared key and a third algorithm to obtain a third code.
S124, combining the identification number of the sender of the signature, the signature data, the serial number of the first shared key, the provider identification number of the first shared key, the first code, the serial number of the second shared key, the provider identification number of the second shared key, the second code, the serial number of the third shared key, the provider identification number of the third shared key, and the third code, and generating a digital signature of the sender of the signature; if the first algorithm, the second algorithm, or/and the third algorithm are pre-agreed, merging or not merging in the digital signature; if the first algorithm, the second algorithm, or/and the third algorithm are not pre-agreed, then the first algorithm, the second algorithm, or/and the third algorithm are merged into the digital signature. Wherein the provider of the first shared key is a first authentication center of the multi-party authentication centers; the provider of the second shared key is a second one of the multi-party authentication centers; the provider of the third shared key is a third one of the multi-party authentication centers.
By analogy, the signature sender may also calculate a fourth signature information by using a fourth shared key and a fourth algorithm to obtain a fourth code, and obtain a fifth code, a sixth code, a seventh code, an eighth code, and the like, which are not listed here, but the implementation manner is similar to the second code and the third code.
At least one of the first shared secret key, the second shared secret key and the third shared secret key is a quantum secret key, so that the unconditional security of the quantum secret key is achieved. Preferably, the first shared key, the second shared key and the third shared key are quantum keys.
In an embodiment of the present invention, the first signature information includes first signature area data, and the first signature area data includes an identifier of the signature sender, the signature data, a serial number of the first shared key, a provider identifier of the first shared key, and the first algorithm; the second signature information includes second signature area data, which includes an identifier of the signature sender, the signature data, a serial number of the second shared key, a provider identifier of the second shared key, and the second algorithm; the third signature information includes third signature area data, and the third signature area data includes an identifier of the signature sender, the signature data, a serial number of the third shared key, a provider identifier of the third shared key, and the third algorithm.
In an embodiment of the present invention, the first signature information includes first digest information; the first abstract information is obtained by carrying out abstract calculation on the first signature area data by utilizing a first abstract algorithm; the second signature information comprises second digest information; the second abstract information is obtained by carrying out abstract calculation on the second signature area data by using a second abstract algorithm; the third signature information includes third digest information; the third abstract information is obtained by performing abstract calculation on the third signature area data by using a third abstract algorithm; if the first digest algorithm, the second digest algorithm or/and the third digest algorithm are predetermined, merging or not merging in the digital signature; if the first digest algorithm, the second digest algorithm or/and the third digest algorithm are not agreed in advance, the first digest algorithm, the second digest algorithm or/and the third digest algorithm are combined in the digital signature.
In an embodiment of the present invention, the first signature information and the second signature information are the same and are both signature information; the signature information comprises summary information; the abstract information is obtained by carrying out abstract calculation on the signature area data by using an abstract algorithm; the signature area data includes an identifier of the sender of the signature, the signature data, the digest algorithm, a serial number of the first shared key, a provider identifier of the first shared key, the first algorithm, a serial number of the second shared key, a provider identifier of the second shared key, and the second algorithm; if the abstract algorithm is predetermined, merging or not merging in the digital signature; if the digest algorithm is not agreed in advance, the digest algorithm is merged into the digital signature.
In an embodiment of the present invention, the third signature information is the same as the first signature information or/and the second signature information, and both are signature information; the signature information comprises summary information; the abstract information is obtained by carrying out abstract calculation on the signature area data by using an abstract algorithm; the signature area data includes an identifier of the sender of the signature, the signature data, the digest algorithm, a serial number of the third shared key, a provider identifier of the third shared key, the third algorithm, a serial number of the second shared key, a provider identifier of the second shared key, the second algorithm, or/and a serial number of the first shared key, a provider identifier of the first shared key, and the first algorithm; if the abstract algorithm is predetermined, merging or not merging in the digital signature; if the digest algorithm is not agreed in advance, the digest algorithm is merged into the digital signature.
The summary information in the signature information is obtained by performing summary calculation on signature area data by using a summary algorithm, wherein the signature area data may be the combination of first signature area data and second signature area data, the combination of the first signature area data and third signature area data, the combination of the second signature area data and third signature area data, or the combination of the first signature area data, the second signature area data and the third signature area data; that is, the signature region data may be a combination of any two or more signature region data.
Furthermore, at least 2 providers of the first shared key, the second shared key and the third shared key are different, so that the countersigning mode is realized, the problem of unsafe signature caused by the problem of one authentication center is avoided, and the security of the digital signature is further improved. Preferably, the provider of the first shared key, the provider of the second shared key, and the provider of the third shared key are different in pairs.
Further, the first algorithm comprises a message authentication code algorithm or/and a key encryption algorithm; the second algorithm comprises a message authentication code algorithm or/and a key encryption algorithm; or/and said third algorithm comprises a message authentication code algorithm or/and a key encryption algorithm. The message authentication code algorithm comprises a Hash operation message authentication code algorithm; the key encryption algorithm comprises a symmetric key encryption algorithm.
Further, the first shared key is selected from a first set of shared keys; the first shared key set is a key set shared by the first shared key provider and the signature sender; the second shared key is selected from a second set of shared keys; the second shared key set is a key set shared by the second shared key provider and the signature sender; or/and the third shared key is selected from a third set of shared keys; the third shared key set is a key set shared by the third shared key provider and the signing sender.
The protection scope of the digital signature generation method according to the present invention is not limited to the execution sequence of the steps listed in this embodiment, and all the schemes of adding or subtracting steps and replacing steps in the prior art according to the principle of the present invention are included in the protection scope of the present invention.
The following embodiments are provided as further illustrations of the technical solutions of the present invention, but the scope of the present invention is not limited to the illustrated embodiments of the present invention, and all modifications made according to the principles of the present invention are included in the scope of the present invention.
Referring to fig. 1D, an application scenario diagram of a digital signature generation method is provided in the embodiment of the present invention, wherein a quantum key Distribution center kdc (key Distribution center) distributes a batch of shared keys (or shared key set 1) to a certificate authority CA1And a signature sender Alice; quantum key distribution center KDC distributes a batch of shared keys (or shared key set 2)) To a certification centre CA2And a signature sender Alice; the quantum key distribution center KDC distributes a batch of shared keys (or shared key set n) to the certification center CAnAnd a signature sender Alice. The signature sender Alice may select 2 or more than 2 certificate authorities' shared secret keys to generate the signature, for example, select CA1And CA2Generating signatures, or selecting CAs1,CA2And CAnGenerating a signature, wherein n represents a number of authentication centers of 3 and above, such as: selection of CA1,CA2And CA3Generating signatures, or selecting CAs1,CA2,CA3And CA4Generating signatures, or selecting CAs1,CA2,CA3,CA4And CA5Generate signatures, etc.
Example 1:
1.1 signature sender Alice Slave and Authentication center CA1Selects a shared key from the shared key set, records the serial number IDXK of the shared keyac1Using IDXKac1Corresponding shared secret key Kac1Selecting a Hash operation message authentication code algorithm HMACac1For signature region DATA DATA1=(IDAlice,P,IDXKac1,SCA1,HMACac1) Computing a hash message authentication code HMAC (DATA)1,Kac1) (ii) a Wherein, IDAliceFor signing the identification number of the sender, P is the signature data, SCA1As a certification centre CA1An identification number of (a).
1.2 signature sender Alice selects a shared key from a shared key set with a certificate authority CA2, records the key sequence number IDXKac2Using IDXKac2Corresponding key Kac2Selecting a Hash operation message authentication code algorithm HMACac2For signature region DATA DATA2=(IDAlice,P,IDXKac2,,SCA2,HMACac2) Computing a hash message authentication code HMAC (DATA)2,Kac2) (ii) a Wherein S isCA2As a certification centre CA2An identification number of (a).
1.3 merging signatures of sender AliceIdentification number IDAliceSignature data P, key sequence number IDXKac1And a certification center CA1Identification number SCA1Hash operation message authentication code algorithm HMACac1Hash operation message authentication code HMAC (DATA)1,Kac1) Key sequence number IDXKac2And a certification center CA2Identification number SCA2Hash operation message authentication code algorithm HMACac2Hash operation message authentication code HMAC (DATA)2,Kac2) As Alice signature: SIGAlice=(IDAlice,P,IDXKac1,SCA1,HMACac1,HMAC(DATA1,Kac1),IDXKac2,SCA2,HMACac2,HMAC(DATA2,Kac2))。
Hash operation message authentication code algorithm HMAC in the embodimentac1Message authentication code algorithm HMAC (hybrid message Access control) with Hash operationac2May be the same or different.
Optionally, a hash operation message authentication code algorithm HMACac1And HMACac2May be predetermined without being incorporated into the signature SIGAliceIn (1).
Example 2:
2.1 signature sender Alice Slave and Authentication center CA1Selects a shared key from the shared key set, records the serial number IDXK of the shared keyac1For IDXKac1Corresponding key Kac1Selecting a symmetric key encryption algorithm ENCRPac1(ii) a Then the slave and the authentication center CA2Selects a shared key from the shared key set, records the serial number IDXK of the shared keyac2For IDXKac2Corresponding key Kac2Selecting a symmetric key encryption algorithm ENCRPac2(ii) a Then selecting a summary algorithm HASH; finally, the ID of the signature data P, Alice is combinedAliceAnd a certification center CA1Identification number S ofCA1And a certification center CA2Identification number S ofCA2Generating signature area DATA (DATA ═ ID)Alice,P,HASH,IDXKac1,SCA1,ENCRPac1,IDXKac2,SCA2,ENCRPac2) Carrying out abstract operation on the DATA DATA in the signature area to obtain abstract information MAC (DATA);
2.2 signature sender Alice uses secret Key Kac1And a corresponding symmetric key encryption algorithm ENCRPac1Encrypting the digest information MAC (DATA)ac1(MAC(DATA));
2.3 signing sender Alice uses secret Key Kac2And a corresponding symmetric key encryption algorithm ENCRPac2Encrypting the digest information MAC (DATA)ac2(MAC(DATA));
2.4 merging the ID of the sender Alice of the signatureAliceSignature data P, summary algorithm HASH and key sequence number IDXKac1And a certification center CA1Identification number SCA1Symmetric key encryption algorithm ENCRPac1Encrypted summary information Kac1(MAC (DATA)), Key Serial number IDXKac2And a certification center CA2Identification number SCA2Symmetric key encryption algorithm ENCRPac2Encrypted summary information Kac2(MAC (DATA)) as Alice signature: SIGAlice=(IDAlice,P,HASH,IDXKac1,SCA1,ENCRPac1,Kac1(MAC(DATA)),IDXKac2,SCA2,ENCRPac2,Kac2(MAC(DATA)))。
Symmetric key encryption algorithm ENCRP in the embodimentac1Symmetric key encryption algorithm ENCRPac2May be the same or different.
Optionally, a digest algorithm HASH and a symmetric key encryption algorithm ENCRPac1、ENCRPac2May be predetermined without being incorporated into the signature SIGAliceIn (1).
Example 3:
3.1 signature sender Alice Slave and Authentication center CA1Selects a shared key from the shared key set, records the serial number IDXK of the shared keyac1For IDXKac1Corresponding key Kac1Selecting a symmetric key encryption algorithm ENCRPac1(ii) a Then selects a summary calculatorMethod HASHac1(ii) a Finally, the ID of the signature data P, Alice is combinedAliceAnd a certification center CA1Identification number SCA1Generating signature region DATA DATA1=(IDAlice,P,HASHac1,IDXKac1,SCA1,ENCRPac1) For signature region DATA DATA1Abstract operation is carried out to obtain abstract information MACac1(DATA1);
3.2 signature sender Alice uses secret Key Kac1And a corresponding symmetric key encryption algorithm ENCRPac1For abstract information MACac1(DATA1) Carry out encryption Kac1(MACac1(DATA1));
3.3 signature sender Alice Slave and Authentication center CA2Selects a shared key from the shared key set, records the serial number IDXK of the shared keyac2For IDXKac2Corresponding key Kac2Selecting a symmetric key encryption algorithm ENCRPac2(ii) a Then selects a summary algorithm HASHac2(ii) a Finally, the ID of the signature data P, Alice is combinedAliceAnd a certification center CA2Identification number SCA2Generating signature region DATA DATA2=(IDAlice,P,HASHac2,IDXKac2,SCA2,ENCRPac2) For signature region DATA DATA2Abstract operation is carried out to obtain abstract information MACac2(DATA2);
3.4 signature sender Alice uses secret Key Kac2And a corresponding symmetric key encryption algorithm ENCRPac2For abstract information MACac2(DATA2) Carry out encryption Kac2(MACac2(DATA2));
3.5 merging the ID of the sender Alice of the signatureAliceSignature data P and summary algorithm HASHac1Key sequence number IDXKac1And a certification center CA1Identification number SCA1Symmetric key encryption algorithm ENCRPac1Encrypted summary information Kac1(MACac1(DATA1) HASH algorithm, summary algorithmac2Key sequence number IDXKac2And a certification center CA2Identification number SCA2Symmetric key encryption algorithm ENCRPac2Encrypted summary information Kac2(MACac2(DATA2) As Alice signature: SIGAlice=(IDAlice,P,HASHac1,IDXKac1,SCA1,ENCRPac1,Kac1(MACac1(DATA1)),HASHac2,IDXKac2,SCA2,ENCRPac2,Kac2(MACac2(DATA2)))。
Summary algorithm HASH in this embodimentac1And abstract algorithm HASHac2The symmetric key encryption algorithm ENCRP can be the same or differentac1Symmetric key encryption algorithm ENCRPac2May be the same or different.
Alternatively, the digest algorithm HASHac1、HASHac2And a symmetric key encryption algorithm ENCRPac1、ENCRPac2May be predetermined without being incorporated into the signature SIGAliceIn (1).
The embodiment of the invention also provides a computer storage medium, wherein the computer storage medium stores a first computer program; the first computer program, when called by the processor, executes the digital signature generation method of the present invention.
Referring to fig. 1E, an embodiment of the present invention further provides a digital signature generation terminal, where the digital signature generation terminal 100 includes: a first input 110, a first memory 120, a first processor 130; the first input terminal 110 is used for inputting digital signature related parameters; the first memory 120 is used for storing a first computer program and the digital signature related parameters; the first processor 130 is communicatively connected to the first memory 120, and executes the digital signature generation method according to the present invention when the first computer program and the parameter related to the digital signature are called, so as to generate the digital signature.
The digital signature generating terminal according to the present invention can implement the digital signature generating method according to the present invention, but the implementation apparatus of the digital signature generating method according to the present invention includes, but is not limited to, the structure of the digital signature generating terminal described in this embodiment, and all structural modifications and substitutions in the prior art made according to the principle of the present invention are included in the scope of the present invention.
Referring to fig. 2A, an embodiment of the present invention further provides a digital signature sending method, including: the signature sender sends the digital signature generated by the digital signature generation method to the signature receiver.
Referring to fig. 2B, an embodiment of the present invention further provides a digital signature sending method, including: signature sender using shared secret key KabEncrypting the digital signature generated by the digital signature generation method of the invention and then sending the encrypted digital signature to a signature receiver; the shared secret key KabIs a key shared by the signature sender and the signature receiver.
The following embodiments are provided as further illustrations of the technical solutions of the present invention, but the scope of the present invention is not limited to the illustrated embodiments of the present invention, and all modifications made according to the principles of the present invention are included in the scope of the present invention.
Referring to fig. 2C, an application scenario diagram of a digital signature sending method is provided in an embodiment of the present invention, where a quantum key distribution center KDC distributes a shared key KabSending the signature to a signature sender Alice; quantum key distribution center KDC distributes shared key KabTo the signature receiver Bob; signature sender Alice uses KabSign SIG to AliceAliceCarry out encryption Kab(SIGAlice) And sent to Bob. The signature sender Alice can also send the signature SIG directlyAliceTo the signature receiver Bob.
The protection scope of the digital signature sending method according to the present invention is not limited to the execution sequence of the steps listed in this embodiment, and all the schemes of adding or subtracting steps and replacing steps in the prior art according to the principle of the present invention are included in the protection scope of the present invention.
Referring to fig. 3A, an embodiment of the present invention further provides a digital signature verification method, where the digital signature verification method includes:
s301, the signature receiver acquires the digital signature of the signature sender; the digital signature is generated by the digital signature generation method;
s302, the signature receiver sends the digital signatures to a multiparty authentication center for verification respectively according to the identification numbers of the multiparty authentication center in the digital signatures, and receives the verification results fed back by the multiparty authentication center; when the verification results fed back by the multi-party authentication center are all passed, the signature receiver confirms that the digital signature is valid; otherwise, the signature receiver confirms that the digital signature is invalid.
Referring to fig. 3B, an embodiment of the present invention further provides a digital signature verification method, where the digital signature verification method includes:
s311, the signature receiver acquires the digital signature of the signature sender; the digital signature is generated by the digital signature generation method;
s312, the signature receiving party sends the digital signature to a provider of the first shared key for verification according to the provider identification number of the first shared key in the digital signature, and receives a first verification result fed back by the provider of the first shared key; the provider of the first shared key is a first authentication center of the multi-party authentication centers;
s313, the signature receiving party sends the digital signature to a provider of a second shared key for verification according to the provider identification number of the second shared key in the digital signature, and receives a second verification result fed back by the provider of the second shared key; the provider of the second shared key is a second one of the multi-party authentication centers;
s314, the signature receiver judges whether the first verification result and the second verification result both pass;
s315, if yes, the signature receiver confirms that the digital signature is valid;
s316, otherwise, the signature receiver confirms that the digital signature is invalid.
In an embodiment of the present invention, an implementation procedure of the signature receiver acquiring the digital signature of the signature sender includes: the signature receiver receives the digital signature sent by the signature sender; or the signature receiver utilizes a shared secret key KabDecrypting to obtain the digital signature sent by the signature sender; the shared secret key KabIs a key shared by the signature sender and the signature receiver.
In an embodiment of the present invention, an implementation procedure of the signature receiving side sending the digital signature to the provider of the first shared key or the provider of the second shared key for verification includes: the signature receiver sends all the data of the digital signature to a provider of the first shared secret key or a provider of the second shared secret key for verification; or the signature receiver sends the data related to the provider of the first shared key in the digital signature to the provider of the first shared key for verification, or sends the data related to the provider of the second shared key in the digital signature to the provider of the second shared key for verification.
In an embodiment of the present invention, one implementation procedure of the provider of the first shared key to verify the digital signature includes: the provider of the first shared key obtains the corresponding first shared key according to the identification number of the signature sender in the digital signature and the serial number of the first shared key, and calculates and obtains a first verification code according to a first algorithm, first signature information and the first shared key in the digital signature; and the provider of the first shared key compares the first verification code with the first code in the digital signature, if the first verification code is identical with the first code in the digital signature, the provider feeds back a first verification result which passes the verification, and otherwise, the provider feeds back a first verification result which does not pass the verification. If the first algorithm is predetermined, merging or not merging in the digital signature; if the first algorithm is not pre-agreed, it is incorporated into the digital signature.
One implementation of the second shared key provider to verify the digital signature includes: the provider of the second shared secret key obtains a corresponding second shared secret key according to the identification number of the signature sender in the digital signature and the serial number of the second shared secret key, and calculates and obtains a second verification code according to a second algorithm, second signature information and the second shared secret key in the digital signature; and the provider of the second shared secret key compares the second verification code with the second code in the digital signature, if the second verification code is the same as the second code in the digital signature, the provider feeds back a second verification result which passes the verification, and otherwise, the provider feeds back a second verification result which does not pass the verification. If the second algorithm is predetermined, merging or not merging in the digital signature; if the second algorithm is not pre-agreed, it is incorporated into the digital signature.
In an embodiment of the present invention, the first signature information includes first signature area data, and the first signature area data includes an identifier of a signature sender, signature data, a serial number of the first shared key, a provider identifier of the first shared key, and the first algorithm; the second signature information includes second signature area data, and the second signature area data includes an identifier of a signature sender, the signature data, a serial number of the second shared key, a provider identifier of the second shared key, and the second algorithm. Wherein, if the first algorithm is pre-agreed, the first algorithm may or may not be included in the first signature region data; if the second algorithm is pre-agreed, the second algorithm may or may not be included in the second signature region data.
In an embodiment of the present invention, the first signature information includes first digest information; the first abstract information is obtained by carrying out abstract calculation on the first signature area data by utilizing a first abstract algorithm; the second signature information comprises second digest information; and the second abstract information is obtained by carrying out abstract calculation on the second signature area data by using a second abstract algorithm. If the first abstract algorithm or/and the second abstract algorithm is/are predetermined, not combining or combining in the digital signature; if the first digest algorithm or/and the second digest algorithm is not agreed in advance, the first digest algorithm or/and the second digest algorithm are combined in the digital signature. If the first digest algorithm is pre-agreed, the first digest algorithm may or may not be included in the first signature region data; if the second digest algorithm is pre-agreed, the second digest algorithm may or may not be included in the second signature region data.
In an embodiment of the present invention, the first signature information and the second signature information are the same and are both signature information; the signature information comprises summary information; the abstract information is obtained by carrying out abstract calculation on the signature area data by using an abstract algorithm; the signature area data includes an identifier of the sender of the signature, the signature data, the digest algorithm, a serial number of the first shared key, a provider identifier of the first shared key, the first algorithm, a serial number of the second shared key, a provider identifier of the second shared key, and the second algorithm. If the abstract algorithm is predetermined, merging or not merging in the digital signature; if the digest algorithm is not agreed in advance, the digest algorithm is merged into the digital signature. Wherein, if the digest algorithm is pre-agreed, the digest algorithm may or may not be included in the signature region data.
Referring to fig. 3C, an embodiment of the present invention further provides a digital signature verification method, where the digital signature verification method includes:
s321, the signature receiver acquires the digital signature of the signature sender; the digital signature is generated by the digital signature generation method;
s322, the signature receiving party sends the digital signature to a provider of the first shared key for verification according to the provider identification number of the first shared key in the digital signature, and receives a first verification result fed back by the provider of the first shared key; the provider of the first shared key is a first authentication center of the multi-party authentication centers;
s323, the signature receiving party sends the digital signature to a provider of a second shared key for verification according to the provider identification number of the second shared key in the digital signature, and receives a second verification result fed back by the provider of the second shared key; the provider of the second shared key is a second one of the multi-party authentication centers;
s324, the signature receiving party sends the digital signature to a provider of a third shared key for verification according to the provider identification number of the third shared key in the digital signature, and receives a third verification result fed back by the provider of the third shared key; the provider of the third shared key is a third one of the multi-party authentication centers;
s325, the signature receiver judges whether the first verification result, the second verification result and the third verification result are both passed;
s326, if yes, the signature receiver confirms that the digital signature is valid;
s327, otherwise, the signature receiver confirms that the digital signature is invalid.
If the digital signature needs to be verified by a fourth shared key provider, a fifth shared key provider, a sixth shared key provider, a seventh shared key provider, an eighth shared key provider, and the like, multi-party verification can be realized by analogy according to the verification principle of the digital signature verification method of the present invention, which is not listed in the present invention.
In an embodiment of the present invention, an implementation procedure of the signature receiver acquiring the digital signature of the signature sender includes: the signature receiver receives the digital signature sent by the signature sender; or the signature receiver utilizes a shared secret key KabDecrypting to obtain the digital signature sent by the signature sender; the shared secret key KabIs a key shared by the signature sender and the signature receiver.
In an embodiment of the present invention, an implementation procedure of the signature receiving side sending the digital signature to a provider of a first shared key, and the provider of a second shared key or/and the provider of a third shared key performing verification includes: the signature receiver sends all the data of the digital signature to a provider of the first shared key, and the provider of the second shared key or/and the provider of the third shared key carry out verification; or the signature receiver sends the data related to the provider of the first shared key in the digital signature to the provider of the first shared key for verification, or sends the data related to the provider of the second shared key in the digital signature to the provider of the second shared key for verification, or sends the data related to the provider of the third shared key in the digital signature to the provider of the third shared key for verification.
In an embodiment of the present invention, one implementation procedure of the provider of the first shared key to verify the digital signature includes: the provider of the first shared key obtains the corresponding first shared key according to the identification number of the signature sender in the digital signature and the serial number of the first shared key, and calculates and obtains a first verification code according to a first algorithm, first signature information and the first shared key in the digital signature; and the provider of the first shared key compares the first verification code with the first code in the digital signature, if the first verification code is identical with the first code in the digital signature, the provider feeds back a first verification result which passes the verification, and otherwise, the provider feeds back a first verification result which does not pass the verification. If the first algorithm is predetermined, merging or not merging in the digital signature; if the first algorithm is not pre-agreed, it is incorporated into the digital signature.
One implementation of the second shared key provider to verify the digital signature includes: the provider of the second shared secret key obtains a corresponding second shared secret key according to the identification number of the signature sender in the digital signature and the serial number of the second shared secret key, and calculates and obtains a second verification code according to a second algorithm, second signature information and the second shared secret key in the digital signature; and the provider of the second shared secret key compares the second verification code with the second code in the digital signature, if the second verification code is the same as the second code in the digital signature, the provider feeds back a second verification result which passes the verification, and otherwise, the provider feeds back a second verification result which does not pass the verification. If the second algorithm is predetermined, merging or not merging in the digital signature; if the second algorithm is not pre-agreed, it is incorporated into the digital signature.
One implementation of the third shared key provider to verify the digital signature includes: the provider of the third shared key obtains a corresponding third shared key according to the identification number of the signature sender in the digital signature and the serial number of the third shared key, and calculates and obtains a third verification code according to a third algorithm, third signature information and the third shared key in the digital signature; and the provider of the third shared key compares the third verification code with the third code in the digital signature, if the third verification code is the same as the third code in the digital signature, the third verification result which passes the verification is fed back, and otherwise, the third verification result which does not pass the verification is fed back. If the third algorithm is predetermined, merging or not merging in the digital signature; if the third algorithm is not pre-agreed, it is incorporated into the digital signature.
In an embodiment of the present invention, the first signature information includes first signature area data, and the first signature area data includes an identifier of a signature sender, signature data, a serial number of the first shared key, a provider identifier of the first shared key, and the first algorithm; the second signature information includes second signature area data, and the second signature area data includes an identifier of a signature sender, the signature data, a serial number of the second shared key, a provider identifier of the second shared key, and the second algorithm; the third signature information includes third signature area data, and the third signature area data includes an identifier of a signature sender, signature data, a serial number of the third shared key, a provider identifier of the third shared key, and the third algorithm. Wherein, if the first algorithm is pre-agreed, the first algorithm may or may not be included in the first signature region data; if the second algorithm is pre-agreed, the second algorithm may or may not be included in the second signature region data; if the third algorithm is pre-agreed, the third algorithm may or may not be included in the third signature region data.
In an embodiment of the present invention, the first signature information includes first digest information; the first abstract information is obtained by carrying out abstract calculation on the first signature area data by utilizing a first abstract algorithm; the second signature information comprises second digest information; the second abstract information is obtained by carrying out abstract calculation on the second signature area data by using a second abstract algorithm; the third signature information includes third digest information; and the third abstract information is obtained by performing abstract calculation on the third signature area data by using a third abstract algorithm. If the first digest algorithm, the second digest algorithm or/and the third digest algorithm are predetermined, merging or not merging in the digital signature; if the first digest algorithm, the second digest algorithm or/and the third digest algorithm are not agreed in advance, the first digest algorithm, the second digest algorithm or/and the third digest algorithm are combined in the digital signature. If the first digest algorithm is pre-agreed, the first digest algorithm may or may not be included in the first signature region data; if the second digest algorithm is pre-agreed, the second digest algorithm may or may not be included in the second signature region data; if the third digest algorithm is pre-agreed, the third digest algorithm may or may not be included in the third signature region data.
In an embodiment of the present invention, the first signature information and the second signature information are the same and are both signature information; the signature information comprises summary information; the abstract information is obtained by carrying out abstract calculation on the signature area data by using an abstract algorithm; the signature area data includes an identifier of the sender of the signature, the signature data, the digest algorithm, a serial number of the first shared key, a provider identifier of the first shared key, the first algorithm, a serial number of the second shared key, a provider identifier of the second shared key, and the second algorithm.
In an embodiment of the present invention, the third signature information is the same as the first signature information or/and the second signature information, and both are signature information; the signature information comprises summary information; the abstract information is obtained by carrying out abstract calculation on the signature area data by using an abstract algorithm; the signature area data includes an identifier of the signature sender, the signature data, the digest algorithm, a serial number of the third shared key, a provider identifier of the third shared key, the third algorithm, a serial number of the second shared key, a provider identifier of the second shared key, the second algorithm, or/and a serial number of the first shared key, a provider identifier of the first shared key, and the first algorithm.
The summary information in the signature information is obtained by performing summary calculation on signature area data by using a summary algorithm, wherein the signature area data may be the combination of first signature area data and second signature area data, the combination of the first signature area data and third signature area data, the combination of the second signature area data and third signature area data, or the combination of the first signature area data, the second signature area data and the third signature area data; that is, the signature region data may be a combination of any two or more signature region data. If the abstract algorithm is predetermined, not combining or combining in the digital signature; if the digest algorithm is not agreed in advance, the digest algorithm is merged into the digital signature. Wherein, if the digest algorithm is pre-agreed, the digest algorithm may or may not be included in the signature region data.
The protection scope of the digital signature verification method according to the present invention is not limited to the execution sequence of the steps listed in this embodiment, and all the schemes of adding or subtracting steps and replacing steps in the prior art according to the principles of the present invention are included in the protection scope of the present invention.
The following embodiments are provided as further illustrations of the technical solutions of the present invention, but the scope of the present invention is not limited to the illustrated embodiments of the present invention, and all modifications made according to the principles of the present invention are included in the scope of the present invention.
Referring to fig. 3D, an application scenario diagram of a digital signature verification method is provided in the embodiments of the present invention, wherein a signature receiver Bob obtains a signature of a signature sender Alice and verifies the signature.
Example 4:
4.1 the signature receiver Bob gets the signature sender Alice signature.
For example: signature receiver Bob uses shared secret key KabDecrypting K the received Alice signatureab-(Kab(SIGAlice) Obtain the Alice signature SIG before encryption)Alice
For example: signature receiver Bob directly obtains Alice signature SIGAliceNo decryption is required.
4.2 signature receiver Bob according to authentication center identification number SCA1Sending Alice signature data to a Certificate Authority (CA)1And carrying out signature verification.
For example: the signature receiver Bob identifies the number S according to the authentication centerCA1Sending all data of Alice signature to a certification center CA1And carrying out signature verification.
For example: the signature receiver Bob identifies the number S according to the authentication centerCA1The Alice signature is compared with the CA1The relevant data is sent to the certification center CA1And carrying out signature verification.
If the above-described embodiment 1 of digital signature generation is adopted, then Bob will be (ID)Alice,P,IDXKac1,HMACac1,HMAC(DATA1,Kac1) To a certificate authority CA1And carrying out signature verification.
If the above-described embodiment 2 of digital signature generation is adopted, then Bob will be (ID)Alice,P,HASH,IDXKac1,ENCRPac1Kac1(MAC (DATA)) to the authentication center CA1And carrying out signature verification.
If the above-described embodiment 3 of digital signature generation is adopted, then Bob will be (ID)Alice,P,HASHac1,IDXKac1,ENCRPac1,Kac1(MACac1(DATA1) ) to the certification authority CA1And carrying out signature verification.
4.3 authentication center CA1And verifying the Alice signature.
For example: the signature verification process of embodiment 1 corresponding to the above digital signature generation is: authentication center CA1According to the Alice identification number IDAliceAnd key sequence number IDXKac1Obtaining a corresponding key Kac1According to the Hash operation message authentication code algorithm HMACac1Using Kac1For signature region DATA DATA1Computing a hash message authentication code HMAC (DATA)1,Kac1) And HMAC (DATA) in Alice signature1,Kac1) And comparing, if the two are the same, the verification is passed, otherwise, the verification is not passed. Authentication center CA1And returning the verification result to Bob.
For example: the signature verification process of embodiment 2 corresponding to the above digital signature generation is: authentication center CA1Performing HASH operation on the DATA in the signature area according to a HASH algorithm HASH to obtain digest information mac (DATA); authentication center CA1According to the Alice identification number IDAliceAnd key sequence number IDXKac1Obtaining a corresponding key Kac1According to a symmetric key encryption algorithm ENCRPac1Encrypting the digest information MAC (DATA) by Kac1(MAC (DATA)); authentication center CA1The encryption result Kac1(MAC (DATA)) and K in Alice signatureac1(MAC (DATA)) comparing, if the two are same, the verification is passed, otherwise, the verification is not passed. Authentication center CA1And returning the verification result to Bob.
For example: the signature verification process of embodiment 3 corresponding to the above digital signature generation is: authentication center CA1HASH according to a summary algorithmac1For signature region DATA DATA1HASH operation is carried out to obtain summary information MACac1(DATA1) (ii) a Authentication center CA1According to Alice identificationNumber IDAliceAnd key sequence number IDXKac1Obtaining a corresponding key Kac1According to a symmetric key encryption algorithm ENCRPac1For summary information MACac1(DATA1) Carry out encryption Kac1(MACac1(DATA1) ); authentication center CA1The obtained encryption result Kac1(MACac1(DATA1) K in Alice signatureac1(MACac1(DATA1) Compare, if the two are the same, the verification is passed, otherwise the verification is not passed. Authentication center CA1And returning the verification result to Bob.
4.4 signature receiver Bob according to authentication center identification number SCA2Sending Alice signature data to a Certificate Authority (CA)2And carrying out signature verification.
For example: the signature receiver Bob identifies the number S according to the authentication centerCA2Sending all data of Alice signature to a certification center CA2And carrying out signature verification.
For example: the signature receiver Bob identifies the number S according to the authentication centerCA2The Alice signature is compared with the CA2The related data is sent to the certification center CA2And carrying out signature verification.
If the above-described embodiment 1 of digital signature generation is adopted, then Bob will be (ID)Alice,P,IDXKac2,HMACac2,HMAC(DATA2,Kac2) To a certificate authority CA2And carrying out signature verification.
If the above-described embodiment 2 of digital signature generation is adopted, then Bob will be (ID)Alice,P,HASH,IDXKac2,ENCRPac2,Kac2(MAC (DATA)) to the authentication center CA2And carrying out signature verification.
If the above-described embodiment 3 of digital signature generation is adopted, then Bob will be (ID)Alice,P,HASHac2,IDXKac2,ENCRPac2,Kac2(MACac2(DATA2) ) to the certification authority CA2And carrying out signature verification.
4.5 authentication center CA2And verifying the Alice signature.
For example: the signature verification process of embodiment 1 corresponding to the above digital signature generation is: authentication center CA2According to the Alice identification number IDAliceAnd key sequence number IDXKac2Obtaining a corresponding key Kac2According to the Hash operation message authentication code algorithm HMACac2Using Kac2For signature region DATA DATA2Computing a hash message authentication code HMAC (DATA)2,Kac2) And HMAC (DATA) in Alice signature2,Kac2) And comparing, if the two are the same, the verification is passed, otherwise, the verification is not passed. Authentication center CA2And returning the verification result to Bob.
For example: the signature verification process of embodiment 2 corresponding to the above digital signature generation is: authentication center CA2Performing HASH operation on the DATA in the signature area according to a HASH algorithm HASH to obtain digest information mac (DATA); authentication center CA2According to the Alice identification number IDAliceAnd key sequence number IDXKac2Obtaining a corresponding key Kac2According to a symmetric key encryption algorithm ENCRPac2Encrypting the digest information MAC (DATA) by Kac2(MAC (DATA)); authentication center CA2The obtained encryption result Kac2(MAC (DATA)) and K in Alice signatureac2(MAC (DATA)) comparing, if the two are same, the verification is passed, otherwise, the verification is not passed. Authentication center CA2And returning the verification result to Bob.
For example: the signature verification process of embodiment 3 corresponding to the above digital signature generation is: authentication center CA2HASH according to a summary algorithmac2For signature region DATA DATA2HASH operation is carried out to obtain summary information MACac2(DATA2) (ii) a Authentication center CA2According to the Alice identification number IDAliceAnd key sequence number IDXKac2Obtaining a corresponding key Kac2According to a symmetric key encryption algorithm ENCRPac2For summary information MACac2(DATA2) Carry out encryption Kac2(MACac2(DATA2) ); authentication center CA2The obtained encryption result Kac2(MACac2(DATA2) K in Alice signatureac2(MACac2(DATA2) Compare, if the two are the same, the verification is passed, otherwise the verification is not passed. Authentication center CA2And returning the verification result to Bob.
Referring to fig. 3E, an application scenario diagram of another digital signature verification method is provided in the embodiments of the present invention, wherein a signature receiver Bob obtains an Alice signature, performs digest calculation on data in a signature area, and sends the digest calculation result and the signature to a CA respectively1And CA2And (6) verifying.
Example 5:
5.1 the signing receiver Bob obtains the signature of the signing sender Alice.
For example: signature receiver Bob uses KabDecrypting Alice signatures Kab-(Kab(SIGAlice));
For example: signature receiver Bob directly obtains Alice signature SIGAliceNo decryption is required.
5.2 the signature receiver Bob calculates the digest of the signature area data according to a digest algorithm.
For example: the signature verification process of embodiment 2 corresponding to the above digital signature generation is: and the signature receiver Bob performs HASH operation on the signature area data according to the digest algorithm HASH to obtain digest information MAC (DATA).
For example: the signature verification process of embodiment 3 corresponding to the above digital signature generation is: signature receiver Bob according to the digest algorithm HASHac1For signature region DATA DATA1HASH operation is carried out to obtain summary information MACac1(DATA1) (ii) a Signature receiver Bob according to the digest algorithm HASHac2For signature region DATA DATA2HASH operation is carried out to obtain summary information MACac2(DATA2)。
5.3 signature receiver Bob according to authentication center identification number SCA1Sending the digest calculation result and the Alice signature data in the step 5.2 to a Certificate Authority (CA)1And carrying out signature verification.
For example: the signature receiver Bob identifies the number S according to the authentication centerCA1All data of the abstract calculation result and the Alice signature in the step 5.2 are processedSending to a certificate authority CA1And carrying out signature verification.
For example: the signature receiver Bob identifies the number S according to the authentication centerCA1The abstract calculation result in the step 5.2 and the Alice signature are compared with CA1The related data is sent to the certification center CA1And carrying out signature verification.
For example: if the above digital signature generation embodiment 2 is adopted, Bob will calculate the digest mac (data) and Alice signature part data (ID)Alice,IDXKac1,ENCRPac1,Kac1(MAC (DATA)) to the authentication center CA1And carrying out signature verification.
If the above embodiment 3 of digital signature generation is adopted, Bob calculates the digest result MACac1(DATA1) And Alice signature part data (ID)Alice,IDXKac1,ENCRPac1,Kac1(MAC ac1(DATA1) ) to the certification authority CA1And carrying out signature verification.
5.4 authentication center CA1 verifies the Alice signature.
For example: the signature verification process of embodiment 2 corresponding to the above digital signature generation is: authentication center CA1According to the Alice identification number IDAliceAnd key sequence number IDXKac1Obtaining a corresponding key Kac1According to a symmetric key encryption algorithm ENCRPac1Encrypting the digest information MAC (DATA) by Kac1(MAC(DATA));
Authentication center CA1The obtained encryption result Kac1(MAC (DATA)) and K in Alice signatureac1(MAC (DATA)) comparing, if the two are same, the verification is passed, otherwise, the verification is not passed. Authentication center CA1And returning the verification result to Bob.
For example: the signature verification process of embodiment 3 corresponding to the above digital signature generation is: authentication center CA1According to the Alice identification number IDAliceAnd key sequence number IDXKac1Obtaining a corresponding key Kac1According to a symmetric key encryption algorithm ENCRPac1For summary information MACac1(DATA1) Carry out encryption Kac1(MACac1(DATA1) ); authentication center CA1The obtained encryption result Kac1(MACac1(DATA1) K in Alice signatureac1(MACac1(DATA1) Compare, if the two are the same, the verification is passed, otherwise the verification is not passed. Authentication center CA1And returning the verification result to Bob.
5.5 signature receiver Bob according to authentication center identification number SCA2Sending the digest calculation result and the Alice signature data in the step 5.2 to a Certificate Authority (CA)2And carrying out signature verification.
For example: the signature receiver Bob identifies the number S according to the authentication centerCA2All data of the abstract calculation result and the Alice signature are sent to a certification center CA2And carrying out signature verification.
For example: the signature receiver Bob identifies the number S according to the authentication centerCA2The abstract calculation result and the Alice signature are compared with CA2The related data is sent to the certification center CA2And carrying out signature verification.
For example: if the above digital signature generation embodiment 2 is adopted, Bob will calculate the digest mac (data) and Alice signature part data (ID)Alice,IDXKac2,ENCRPac2,Kac2(MAC (DATA)) to the authentication center CA2And carrying out signature verification.
If the above embodiment 3 of digital signature generation is adopted, Bob calculates the digest result MACac2(DATA2) And Alice signature part data (ID)Alice,IDXKac2,ENCRPac2,Kac2(MACac2(DATA2) ) to the certification authority CA2And carrying out signature verification.
5.6 certificate Authority CA2And verifying the Alice signature.
For example: the signature verification process of embodiment 2 corresponding to the above digital signature generation is: authentication center CA2According to the Alice identification number IDAliceAnd key sequence number IDXKac2Obtaining a corresponding key Kac2According to a symmetric key encryption algorithm ENCRPac2To summary informationMAC (DATA) performs encryption Kac2(MAC (DATA)); authentication center CA2The obtained encryption result Kac2(MAC (DATA)) and K in Alice signatureac2(MAC (DATA)) comparing, if the two are same, the verification is passed, otherwise, the verification is not passed. Authentication center CA2And returning the verification result to Bob.
For example: the signature verification process of embodiment 3 corresponding to the above digital signature generation is: authentication center CA2According to the Alice identification number IDAliceAnd key sequence number IDXKac2Obtaining a corresponding key Kac2According to a symmetric key encryption algorithm ENCRPac2For summary information MACac2(DATA2) Carry out encryption Kac2(MACac2(DATA2) ); authentication center CA2The obtained encryption result Kac2(MACac2(DATA2) K in Alice signatureac2(MACac2(DATA2) Compare, if the two are the same, the verification is passed, otherwise the verification is not passed. Authentication center CA2And returning the verification result to Bob.
The embodiment of the invention also provides a computer storage medium, wherein the computer storage medium stores a second computer program; the second computer program, when invoked by the processor, performs the digital signature verification method of the present invention as described in fig. 3A.
The embodiment of the invention also provides a computer storage medium, wherein the computer storage medium stores a third computer program; the third computer program, when invoked by the processor, performs the digital signature verification method of the present invention as described in fig. 3B.
The embodiment of the invention also provides a computer storage medium, wherein the computer storage medium stores a fourth computer program; the fourth computer program, when invoked by the processor, performs the digital signature verification method of the present invention as described in fig. 3C.
Referring to fig. 4, an embodiment of the present invention further provides a digital signature verification terminal, where the digital signature verification terminal 400 includes: a second input 410, a second memory 420, and a second processor 430. The second input terminal 410 is used for inputting digital signature related parameters; the second memory 420 is used for storing a second computer program and the digital signature related parameters; the second processor 430 is communicatively connected to the second memory 420, and executes the digital signature verification method according to the present invention as shown in fig. 3A when the second computer program and the parameters related to the digital signature are called, so as to verify whether the digital signature is valid.
Referring to fig. 5, an embodiment of the present invention further provides a digital signature verification terminal, where the digital signature verification terminal 500 includes: a third input 510, a third memory 520, and a third processor 530. The third input 510 is used for inputting digital signature related parameters; the third memory 520 is used for storing a third computer program and the digital signature related parameters; the third processor 530 is communicatively connected to the third memory 520, and executes the digital signature verification method according to the present invention as shown in fig. 3B when the third computer program and the parameters related to the digital signature are called, so as to verify whether the digital signature is valid.
Referring to fig. 6, an embodiment of the present invention further provides a digital signature verification terminal, where the digital signature verification terminal 600 includes: a fourth input 610, a fourth memory 620, and a fourth processor 630. The fourth input terminal 610 is used for inputting digital signature related parameters; the fourth memory 620 is used for storing a fourth computer program and the digital signature related parameters; the fourth processor 630 is communicatively connected to the fourth memory 620, and executes the digital signature verification method according to fig. 3C when the fourth computer program and the digital signature related parameter are called, so as to verify whether the digital signature is valid.
The digital signature verification terminal of the present invention can implement the digital signature verification method of the present invention, but the implementation apparatus of the digital signature verification method of the present invention includes, but is not limited to, the structure of the digital signature verification terminal described in this embodiment, and all structural modifications and substitutions in the prior art made according to the principle of the present invention are included in the scope of protection of the present invention.
The invention realizes digital signature by using a countersigning mode or a quantum key or a combination mode of the countersigning mode and the quantum key.
The countersigning mode can ensure that only a signing party has a complete digital signature key, a single authentication center only has a partial digital signature key, and the authentication center cannot forge the digital signature of the signing party, so that the safety of the digital signature is further improved.
The quantum key is based on quantum mechanics, the safety of the quantum key is established on the physical characteristics of the inaccurate measurement principle, quantum non-clonable, quantum coherence and the like, and the quantum key is proved to be unconditionally safe, so that the safety of the digital signature is further improved.
The combination of the countersigning mode and the quantum key can fundamentally solve the potential safety hazard of the digital signature based on the public key cryptosystem.
In conclusion, the present invention effectively overcomes various disadvantages of the prior art and has high industrial utilization value.
The foregoing embodiments are merely illustrative of the principles and utilities of the present invention and are not intended to limit the invention. Any person skilled in the art can modify or change the above-mentioned embodiments without departing from the spirit and scope of the present invention. Accordingly, it is intended that all equivalent modifications or changes which can be made by those skilled in the art without departing from the spirit and technical spirit of the present invention be covered by the claims of the present invention.

Claims (38)

1. A digital signature generation method, characterized by comprising:
the signature sender calculates the corresponding signature information to obtain corresponding codes by using keys respectively shared with the multi-party authentication center and algorithms respectively corresponding to the multi-party authentication center; the multi-party authentication center comprises two parties and more than two parties; the corresponding signature information comprises signature data;
and combining the identification number of the signature sender, the signature data, the serial number of the secret key shared by the multiparty authentication center, the identification number of the multiparty authentication center and the corresponding code to generate the digital signature of the signature sender.
2. The digital signature generation method according to claim 1, wherein: the corresponding algorithm is incorporated in the digital signature.
3. The digital signature generation method according to claim 1, wherein: the corresponding algorithm is pre-agreed and is not incorporated in the digital signature.
4. The digital signature generation method according to claim 1, wherein one implementation procedure of the digital signature generation method includes:
the signature sender calculates first signature information by using a first shared key and a first algorithm to obtain a first code;
the signature sender calculates second signature information by using a second shared secret key and a second algorithm to obtain a second code;
combining the identification number of the signature sender, the signature data, the serial number of the first shared key, the provider identification number of the first shared key, the first code, the serial number of the second shared key, the provider identification number of the second shared key and the second code to generate a digital signature of the signature sender; if the first algorithm or/and the second algorithm is/are predetermined, merging or not merging in the digital signature; if the first algorithm or/and the second algorithm is/are not agreed in advance, merging the first algorithm and/or the second algorithm into the digital signature; wherein the provider of the first shared key is a first authentication center of the multi-party authentication centers; the provider of the second shared key is a second one of the multi-party authentication centers.
5. The digital signature generation method according to claim 4, wherein: the first signature information includes first signature area data including an identification number of the signature sender, the signature data, a serial number of the first shared key, a provider identification number of the first shared key, and the first algorithm; the second signature information includes second signature area data, and the second signature area data includes an identifier of the signature sender, the signature data, a serial number of the second shared key, a provider identifier of the second shared key, and the second algorithm.
6. The digital signature generation method according to claim 5, wherein: the first signature information comprises first digest information; the first abstract information is obtained by carrying out abstract calculation on the first signature area data by utilizing a first abstract algorithm; the second signature information comprises second digest information; the second abstract information is obtained by carrying out abstract calculation on the second signature area data by using a second abstract algorithm; if the first abstract algorithm or/and the second abstract algorithm is/are predetermined, merging or not merging in the digital signature; if the first digest algorithm or/and the second digest algorithm is not agreed in advance, the first digest algorithm or/and the second digest algorithm are combined in the digital signature.
7. The digital signature generation method according to claim 4, wherein: the first signature information is the same as the second signature information and is signature information; the signature information comprises summary information; the abstract information is obtained by carrying out abstract calculation on the signature area data by using an abstract algorithm; the signature area data includes an identifier of the sender of the signature, the signature data, the digest algorithm, a serial number of the first shared key, a provider identifier of the first shared key, the first algorithm, a serial number of the second shared key, a provider identifier of the second shared key, and the second algorithm; if the abstract algorithm is predetermined, merging or not merging in the digital signature; if the digest algorithm is not agreed in advance, the digest algorithm is merged into the digital signature.
8. The digital signature generation method according to claim 4, wherein: at least one of the first shared key and the second shared key is a quantum key.
9. The digital signature generation method according to claim 4, wherein: a provider of the first shared key is different from a provider of the second shared key.
10. The digital signature generation method according to claim 4, wherein:
the first shared key is selected from a first set of shared keys; the first shared key set is a key set shared by the first shared key provider and the signature sender; or/and
the second shared key is selected from a second set of shared keys; the second shared key set is a key set shared by the second shared key provider and the signing sender.
11. The digital signature generation method according to any one of claims 4 to 7, wherein an implementation procedure of the digital signature generation method further comprises:
the signature sender calculates third signature information by using a third shared key and a third algorithm to obtain a third code;
the digital signature of the signature sender further comprises a serial number of the third shared key, a provider identification number of the third shared key and the third code; if the third algorithm is predetermined, merging or not merging in the digital signature; if the third algorithm is not agreed in advance, merging the third algorithm into the digital signature; the provider of the third shared key is a third one of the multi-party authentication centers.
12. The digital signature generation method according to claim 11, wherein: the third signature information includes third signature area data, and the third signature area data includes an identifier of the signature sender, the signature data, a serial number of the third shared key, a provider identifier of the third shared key, and the third algorithm.
13. The digital signature generation method according to claim 12, wherein: the third signature information includes third digest information; the third abstract information is obtained by performing abstract calculation on the third signature area data by using a third abstract algorithm; if the third digest algorithm is pre-agreed, merging or not merging in the digital signature; and if the third digest algorithm is not agreed in advance, merging the third digest algorithm into the digital signature.
14. The digital signature generation method according to claim 11, wherein: the third signature information is the same as the first signature information or/and the second signature information and is signature information; the signature information comprises summary information; the abstract information is obtained by carrying out abstract calculation on the signature area data by using an abstract algorithm; the signature area data includes an identifier of the sender of the signature, the signature data, the digest algorithm, a serial number of the third shared key, a provider identifier of the third shared key, the third algorithm, a serial number of the second shared key, a provider identifier of the second shared key, the second algorithm, or/and a serial number of the first shared key, a provider identifier of the first shared key, and the first algorithm; if the abstract algorithm is predetermined, not combining or combining in the digital signature; if the digest algorithm is not agreed in advance, the digest algorithm is merged into the digital signature.
15. The digital signature generation method according to claim 11, wherein: at least one of the first shared secret key, the second shared secret key and the third shared secret key is a quantum secret key.
16. The digital signature generation method according to claim 11, wherein: at least 2 providers of the first shared key, the second shared key, and the third shared key are different.
17. The digital signature generation method according to claim 11, wherein:
the first shared key is selected from a first set of shared keys; the first shared key set is a key set shared by the first shared key provider and the signature sender;
the second shared key is selected from a second set of shared keys; the second shared key set is a key set shared by the second shared key provider and the signature sender; or/and
the third shared key is selected from a third set of shared keys; the third shared key set is a key set shared by the third shared key provider and the signing sender.
18. A computer storage medium, characterized in that: the computer storage medium stores a first computer program; the first computer program, when invoked by a processor, performs a digital signature generation method as claimed in any one of claims 1 to 17.
19. A digital signature generation terminal, comprising:
a first input for inputting digital signature related parameters;
a first memory for storing a first computer program and the digital signature related parameters;
a first processor, communicatively connected to the first memory, for executing the digital signature generation method according to any one of claims 1 to 17 when the first computer program and the digital signature related parameter are invoked, thereby generating a digital signature.
20. A digital signature transmission method, comprising:
a signature sender sends a digital signature generated by the digital signature generation method of any one of claims 1 to 17 to a signature receiver; or
Signature sender using shared secret key KabTransmitting the encrypted digital signature generated by the digital signature generation method according to any one of claims 1 to 17 to a signature receiver; the shared secret key KabIs a key shared by the signature sender and the signature receiver.
21. A digital signature verification method, characterized in that the digital signature verification method comprises:
the signature receiver acquires a digital signature of the signature sender; the digital signature of the signature sender comprises: the identification number of the signature sender, the signature data, the serial number of a secret key shared by the multiparty authentication center, the identification number of the multiparty authentication center and a corresponding code; the signature sender calculates corresponding signature information by using keys respectively shared with the multi-party authentication center and algorithms respectively corresponding to the multi-party authentication center to obtain the corresponding codes; the multi-party authentication center comprises two parties and more than two parties; the corresponding signature information includes the signature data;
the signature receiver sends the digital signatures to the multiparty authentication center for verification respectively according to the identification numbers of the multiparty authentication center in the digital signatures, and receives the verification results fed back by the multiparty authentication center;
when the verification results fed back by the multi-party authentication center are all passed, the signature receiver confirms that the digital signature is valid; otherwise, the signature receiver confirms that the digital signature is invalid.
22. A computer storage medium, characterized in that: the computer storage medium stores a second computer program; the second computer program, when invoked by a processor, performs the digital signature verification method of claim 21.
23. A digital signature verification terminal, comprising:
a second input end for inputting digital signature related parameters;
a second memory for storing a second computer program and the digital signature related parameters;
a second processor, communicatively coupled to the second memory, for executing the digital signature verification method of claim 21 when the second computer program and the digital signature related parameter are invoked, to verify whether the digital signature is valid.
24. A digital signature verification method, wherein one implementation of the digital signature verification method comprises:
the signature receiver acquires a digital signature of the signature sender; the digital signature includes: an identification number of a signature sender, signature data, a serial number of a first shared key, a provider identification number of the first shared key, a first code, a serial number of a second shared key, a provider identification number of the second shared key, and a second code; the signature sender utilizes the first shared key and a first algorithm to calculate first signature information to obtain the first code; the signature sender utilizes the second shared secret key and a second algorithm to calculate second signature information to obtain the second code; the first signature information and the second signature information each include the signature data; if the first algorithm or/and the second algorithm is/are predetermined, merging or not merging in the digital signature; if the first algorithm or/and the second algorithm is/are not agreed in advance, merging the first algorithm and/or the second algorithm into the digital signature; wherein the provider of the first shared key is a first authentication center of a multi-party authentication center; the provider of the second shared key is a second authentication center in the multi-party authentication center;
the signature receiving party sends the digital signature to a provider of the first shared key for verification according to the provider identification number of the first shared key in the digital signature, and receives a first verification result fed back by the provider of the first shared key;
the signature receiving party sends the digital signature to a provider of a second shared key for verification according to the provider identification number of the second shared key in the digital signature, and receives a second verification result fed back by the provider of the second shared key;
when the first verification result and the second verification result both pass, the signature receiver confirms that the digital signature is valid; otherwise, the signature receiver confirms that the digital signature is invalid.
25. The digital signature verification method of claim 24, wherein the signature receiver obtains the digital signature of the signature sender by a realization process comprising:
the signature receiver receives the digital signature sent by the signature sender; or
The signature receiver utilizes a shared secret key KabDecrypting to obtain the digital signature sent by the signature sender; the shared secret key KabIs a key shared by the signature sender and the signature receiver.
26. The digital signature verification method of claim 24, wherein: one implementation process of the signature receiver sending the digital signature to the provider of the first shared key or the provider of the second shared key for verification includes:
the signature receiver sends all the data of the digital signature to a provider of the first shared secret key or a provider of the second shared secret key for verification; or
And the signature receiver sends the data related to the provider of the first shared key in the digital signature to the provider of the first shared key for verification, or sends the data related to the provider of the second shared key in the digital signature to the provider of the second shared key for verification.
27. The digital signature verification method of claim 24, wherein: one implementation of the first shared key provider to verify the digital signature includes:
the provider of the first shared key obtains the corresponding first shared key according to the identification number of the signature sender in the digital signature and the serial number of the first shared key, and calculates and obtains a first verification code according to the first algorithm, the first signature information and the first shared key;
and the provider of the first shared key compares the first verification code with the first code in the digital signature, if the first verification code is identical with the first code in the digital signature, the provider feeds back a first verification result which passes the verification, and otherwise, the provider feeds back a first verification result which does not pass the verification.
28. The digital signature verification method of claim 24, wherein: one implementation of the second shared key provider to verify the digital signature includes:
the provider of the second shared secret key obtains a corresponding second shared secret key according to the identification number of the signature sender in the digital signature and the serial number of the second shared secret key, and calculates and obtains a second verification code according to the second algorithm, the second signature information and the second shared secret key;
and the provider of the second shared secret key compares the second verification code with the second code in the digital signature, if the second verification code is the same as the second code in the digital signature, the provider feeds back a second verification result which passes the verification, and otherwise, the provider feeds back a second verification result which does not pass the verification.
29. A computer storage medium, characterized in that: the computer storage medium stores a third computer program; the third computer program, when invoked by a processor, performs a digital signature verification method as claimed in any one of claims 24 to 28.
30. A digital signature verification terminal, comprising:
a third input end for inputting digital signature related parameters;
a third memory for storing a third computer program and the digital signature related parameters;
a third processor, communicatively coupled to the third memory, for executing the digital signature verification method according to any one of claims 24 to 28 when the third computer program and the digital signature related parameter are invoked, and verifying whether the digital signature is valid.
31. A digital signature verification method, characterized in that the digital signature verification method comprises:
the signature receiver acquires a digital signature of the signature sender; the digital signature of the signature sender comprises: an identification number of a signature sender, signature data, a serial number of a first shared key, a provider identification number of the first shared key, a first code, a serial number of a second shared key, a provider identification number of the second shared key, a second code, a serial number of a third shared key, a provider identification number of the third shared key, and a third code; the signature sender utilizes the first shared key and a first algorithm to calculate first signature information to obtain the first code; the signature sender utilizes the second shared secret key and a second algorithm to calculate second signature information to obtain the second code; the signature sender utilizes the third shared secret key and a third algorithm to calculate third signature information to obtain the third code; the first signature information, the second signature information, and the third signature information each include the signature data; if the first algorithm, the second algorithm or/and the third algorithm are predetermined, merging or not merging in the digital signature; if the first algorithm, the second algorithm or/and the third algorithm are not agreed in advance, merging the first algorithm, the second algorithm or/and the third algorithm into the digital signature; wherein the provider of the first shared key is a first authentication center of a multi-party authentication center; the provider of the second shared key is a second authentication center in the multi-party authentication center; the provider of the third shared key is a third authentication center in the multi-party authentication center;
the signature receiving party sends the digital signature to a provider of the first shared key for verification according to the provider identification number of the first shared key in the digital signature, and receives a first verification result fed back by the provider of the first shared key;
the signature receiving party sends the digital signature to a provider of a second shared key for verification according to the provider identification number of the second shared key in the digital signature, and receives a second verification result fed back by the provider of the second shared key;
the signature receiving party sends the digital signature to a provider of a third shared key for verification according to the provider identification number of the third shared key in the digital signature, and receives a third verification result fed back by the provider of the third shared key;
when the first verification result, the second verification result and the third verification result are both passed, the signature receiver confirms that the digital signature is valid; otherwise, the signature receiver confirms that the digital signature is invalid.
32. The digital signature verification method of claim 31, wherein the signature receiver obtains the digital signature of the signature sender by a process comprising:
the signature receiver receives the digital signature sent by the signature sender; or
The signature receiver utilizes a shared secret key KabDecrypting to obtain the digital signature sent by the signature sender; the shared secret key KabIs a key shared by the signature sender and the signature receiver.
33. The digital signature verification method of claim 31, wherein: one implementation process of the signature receiver sending the digital signature to the provider of the first shared key, and the provider of the second shared key or/and the provider of the third shared key performing verification includes:
the signature receiver sends all the data of the digital signature to a provider of the first shared key, and the provider of the second shared key or/and the provider of the third shared key carry out verification; or
And the signature receiver sends the data related to the provider of the first shared key in the digital signature to the provider of the first shared key for verification, or sends the data related to the provider of the second shared key in the digital signature to the provider of the second shared key for verification, or sends the data related to the provider of the third shared key in the digital signature to the provider of the third shared key for verification.
34. The digital signature verification method of claim 31, wherein: one implementation of the first shared key provider to verify the digital signature includes:
the provider of the first shared key obtains the corresponding first shared key according to the identification number of the signature sender in the digital signature and the serial number of the first shared key, and calculates and obtains a first verification code according to the first algorithm, the first signature information and the first shared key;
and the provider of the first shared key compares the first verification code with the first code in the digital signature, if the first verification code is identical with the first code in the digital signature, the provider feeds back a first verification result which passes the verification, and otherwise, the provider feeds back a first verification result which does not pass the verification.
35. The digital signature verification method of claim 31, wherein: one implementation of the second shared key provider to verify the digital signature includes:
the provider of the second shared secret key obtains a corresponding second shared secret key according to the identification number of the signature sender in the digital signature and the serial number of the second shared secret key, and calculates and obtains a second verification code according to the second algorithm, the second signature information and the second shared secret key;
and the provider of the second shared secret key compares the second verification code with the second code in the digital signature, if the second verification code is the same as the second code in the digital signature, the provider feeds back a second verification result which passes the verification, and otherwise, the provider feeds back a second verification result which does not pass the verification.
36. The digital signature verification method of claim 31, wherein: one implementation of the third shared key provider to verify the digital signature includes:
the provider of the third shared key obtains a corresponding third shared key according to the identification number of the signature sender in the digital signature and the serial number of the third shared key, and calculates and obtains a third verification code according to the third algorithm, the third signature information and the third shared key;
and the provider of the third shared key compares the third verification code with the third code in the digital signature, if the third verification code is the same as the third code in the digital signature, the third verification result which passes the verification is fed back, and otherwise, the third verification result which does not pass the verification is fed back.
37. A computer storage medium, characterized in that: the computer storage medium stores a fourth computer program; the fourth computer program, when invoked by a processor, performs the digital signature verification method of any one of claims 31 to 36.
38. A digital signature verification terminal, comprising:
a fourth input end for inputting digital signature related parameters;
a fourth memory for storing a fourth computer program and the digital signature related parameters;
a fourth processor, communicatively coupled to the fourth memory, for executing the digital signature verification method according to any one of claims 31 to 36 when the fourth computer program and the digital signature related parameter are invoked, and verifying whether the digital signature is valid.
CN201711216443.4A 2017-11-28 2017-11-28 Digital signature generating/transmitting/verifying method, terminal and computer storage medium Active CN109842490B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711216443.4A CN109842490B (en) 2017-11-28 2017-11-28 Digital signature generating/transmitting/verifying method, terminal and computer storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711216443.4A CN109842490B (en) 2017-11-28 2017-11-28 Digital signature generating/transmitting/verifying method, terminal and computer storage medium

Publications (2)

Publication Number Publication Date
CN109842490A CN109842490A (en) 2019-06-04
CN109842490B true CN109842490B (en) 2022-03-08

Family

ID=66881117

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711216443.4A Active CN109842490B (en) 2017-11-28 2017-11-28 Digital signature generating/transmitting/verifying method, terminal and computer storage medium

Country Status (1)

Country Link
CN (1) CN109842490B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112287399B (en) * 2019-07-22 2022-09-27 科大国盾量子技术股份有限公司 Digital signature method, system and device

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009111405A1 (en) * 2008-03-04 2009-09-11 Apple Inc. System and method of authorizing execution of software code based on a trusted cache

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7096362B2 (en) * 2001-06-01 2006-08-22 International Business Machines Corporation Internet authentication with multiple independent certificate authorities
US7966487B2 (en) * 2004-01-09 2011-06-21 Corestreet, Ltd. Communication-efficient real time credentials for OCSP and distributed OCSP
CN101174942A (en) * 2006-10-31 2008-05-07 华为技术有限公司 Method and system for implementing cryptographic key protection
CN101425114B (en) * 2008-12-12 2010-08-25 四川长虹电器股份有限公司 Software upgrading bag packaging method and software upgrading method
CN103338448A (en) * 2013-06-07 2013-10-02 国家电网公司 Wireless local area network security communication method based on quantum key distribution
CN106357396B (en) * 2016-09-23 2019-11-12 浙江神州量子网络科技有限公司 Digital signature method and system and quantum key card

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009111405A1 (en) * 2008-03-04 2009-09-11 Apple Inc. System and method of authorizing execution of software code based on a trusted cache

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Multiple Attribute Authorities Attribute-Based Designated Confirmer Signature Scheme with Unified Verification;Ren, Yan等;《IEICE TRANSACTIONS ON FUNDAMENTALS OF ELECTRONICS COMMUNICATIONS AND COMPUTER SCIENCES》;20151130;全文 *
多授权中心的基于属性的签名;孙昌霞等;《 四川大学学报(工程科学版)》;20110131;全文 *

Also Published As

Publication number Publication date
CN109842490A (en) 2019-06-04

Similar Documents

Publication Publication Date Title
CN110213042B (en) Cloud data deduplication method based on certificate-free proxy re-encryption
CN109495274B (en) Decentralized intelligent lock electronic key distribution method and system
US7634085B1 (en) Identity-based-encryption system with partial attribute matching
US9426131B2 (en) Server apparatus and program to re-encrypt ciphertext data
CN101640590B (en) Method for obtaining a secret key for identifying cryptographic algorithm and cryptographic center thereof
CN111342976B (en) Verifiable ideal on-grid threshold proxy re-encryption method and system
CN108347404B (en) Identity authentication method and device
CN104641592A (en) Method and system for a certificate-less authentication encryption (CLAE)
KR20080004165A (en) Method for device authentication using broadcast encryption
CN112104453B (en) Anti-quantum computation digital signature system and signature method based on digital certificate
JP2004015241A (en) Encryption communication system, terminal apparatus and server therefor, and decoding method
CN106713349B (en) Inter-group proxy re-encryption method capable of resisting attack of selecting cipher text
Yu et al. Quantum secure direct communication with authentication using two nonorthogonal states
CN113708917A (en) APP user data access control system and method based on attribute encryption
CN109547413A (en) The access control method of convertible data cloud storage with data source authentication
CN109842490B (en) Digital signature generating/transmitting/verifying method, terminal and computer storage medium
CN102036194B (en) Method and system for encrypting MMS
CN115174277B (en) Data communication and file exchange method based on block chain
CN116743358A (en) Repudiation multi-receiver authentication method and system
WO2013163861A1 (en) Method, device and system for proxy transformation
CN113656818B (en) Trusted-free third party cloud storage ciphertext deduplication method and system meeting semantic security
CN113918971A (en) Block chain based message transmission method, device, equipment and readable storage medium
CN114679262A (en) Quantum key distribution system and method fusing asymmetric system
JPH10313306A (en) Authentication device, ciphering device, decoding device and cipher communication system
CN114448636A (en) Quantum-resistant computing digital currency system based on digital certificate and anonymous communication method

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