CN112422276A - Method and system for realizing multi-party key agreement - Google Patents

Method and system for realizing multi-party key agreement Download PDF

Info

Publication number
CN112422276A
CN112422276A CN202011212830.2A CN202011212830A CN112422276A CN 112422276 A CN112422276 A CN 112422276A CN 202011212830 A CN202011212830 A CN 202011212830A CN 112422276 A CN112422276 A CN 112422276A
Authority
CN
China
Prior art keywords
key
information
agreement
negotiation
key agreement
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.)
Granted
Application number
CN202011212830.2A
Other languages
Chinese (zh)
Other versions
CN112422276B (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.)
Zhengzhou Xinda Jiean Information Technology Co Ltd
Original Assignee
Zhengzhou Xinda Jiean Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhengzhou Xinda Jiean Information Technology Co Ltd filed Critical Zhengzhou Xinda Jiean Information Technology Co Ltd
Priority to CN202011212830.2A priority Critical patent/CN112422276B/en
Publication of CN112422276A publication Critical patent/CN112422276A/en
Application granted granted Critical
Publication of CN112422276B publication Critical patent/CN112422276B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0838Key agreement, i.e. key establishment technique in which a shared key is derived by parties as a function of information contributed by, or associated with, each of these
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Power Engineering (AREA)
  • Storage Device Security (AREA)

Abstract

The invention provides a method and a system for realizing multi-party key agreement. The method comprises the following steps: member A1Generating key parameters
Figure DDA0002759388760000011
Then through
Figure DDA0002759388760000012
Generating key negotiation information with member information
Figure DDA0002759388760000013
And sent to member A2(ii) a Member A2Generating random numbers
Figure DDA0002759388760000014
Computing
Figure DDA0002759388760000015
By passing
Figure DDA0002759388760000016
Generating key negotiation information with member information
Figure DDA0002759388760000017
And sent to member A3(ii) a So continuing, member AmGenerating random numbers
Figure DDA0002759388760000018
Calculating to obtain a secret key; computing
Figure DDA0002759388760000019
By passing
Figure DDA00027593887600000110
Generating key negotiation information with member information
Figure DDA00027593887600000111
And sent to member Am‑1(ii) a So continuing, the key negotiation information is transmitted in sequence, and finally the member A1And calculating to obtain the key. The invention can effectively realize the key agreement of multi-party members, and selects a safe elliptic curve, and the difficulty of discrete logarithm on the elliptic curve can effectively ensure the security of the key parameter in the communication process on the basis of the safe elliptic curve.

Description

Method and system for realizing multi-party key agreement
Technical Field
The invention relates to the technical field of network communication security, in particular to a method and a system for realizing multi-party key agreement.
Background
With the global informatization, the emergence and development of digital communication systems, the human society has changed greatly. Before data interaction is needed between two devices of a digital communication system, in order to ensure the security of the data interaction, a secure communication mechanism needs to be established between the two devices, and the secure communication between the two devices is usually realized by encrypting and decrypting content to be communicated by using session keys of the two parties.
At present, DH (Diffie-Hellman) key agreement is implemented to let two communicating parties exchange mutual information on communication to jointly calculate the same session key, even if a part of the transmitted information is intercepted, the session key cannot be calculated according to the information, because another part of the information for calculating the session key is at the receiving party, and the receiving party does not disclose the part of the information, the intermediate party does not have enough information to obtain the session key, and further, the communication ciphertext after the decryption.
However, when the number of communication members exceeds two, the complexity of key agreement is greatly increased, more information needs to be exchanged between the members, so the security of the information exchange and key agreement process is crucial, once the exchange information is leaked, the key is cracked, therefore, how to design a multi-party key agreement method can effectively ensure the security of the information exchange between the key agreement members, and safely and efficiently realize the key agreement between a plurality of members is a problem which is urgently needed to be solved at present.
Disclosure of Invention
The invention provides a method and a system for realizing multi-party key agreement, aiming at the problem that the current key agreement method can not effectively ensure the safety of information exchange of key agreement members when the communication members exceed two parties.
In a first aspect, the present invention provides a method for implementing multi-party key agreement, which includes m key agreement members { A }1,A2,…,Am-said method comprising: a forward transmission process and a reverse transmission process;
the forward transmission process comprises the following steps:
key agreement member A1Generating random numbers
Figure BDA0002759388740000011
Then generating key parameters
Figure BDA0002759388740000012
By passing
Figure BDA0002759388740000013
Generating key negotiation information with member information
Figure BDA0002759388740000021
And sends to the key agreement member A2(ii) a G is a base point with a prime number n of an order on the elliptic curve;
key agreement member A2Generating random numbers
Figure BDA0002759388740000022
Calculating key parameters
Figure BDA0002759388740000023
By passing
Figure BDA0002759388740000024
Generating key negotiation information with member information
Figure BDA0002759388740000025
And sends to the key agreement member A3
Continuing so, key agreement member AiGenerating random numbers
Figure BDA0002759388740000026
Negotiating Member A based on a Keyi-1Key parameter of
Figure BDA0002759388740000027
Calculating its key parameters
Figure BDA0002759388740000028
Key parameter of the member negotiating with its previous (i-1) keys, key parameter of itself
Figure BDA0002759388740000029
Generating key negotiation information with member information
Figure BDA00027593887400000210
And sends to the next key negotiation member Ai+1(ii) a Wherein i is 3,4,5 …, m-1, i is a positive integer;
key agreement member AmGenerating random numbers
Figure BDA00027593887400000211
Calculating a secret key
Figure BDA00027593887400000212
Computing
Figure BDA00027593887400000213
Figure BDA00027593887400000214
The reverse transmission process comprises:
key agreement member AmBy passing
Figure BDA00027593887400000215
Generating key negotiation information with member information
Figure BDA00027593887400000216
And sends to the key agreement member Am-1
Key agreement member Am-1Calculating a secret key
Figure BDA00027593887400000217
Computing
Figure BDA00027593887400000218
Figure BDA00027593887400000219
By passing
Figure BDA00027593887400000220
Generating key negotiation information with member information
Figure BDA00027593887400000221
And sends to the key agreement member Am-2
Continuing so, key agreement member AjCalculating a secret key
Figure BDA00027593887400000222
Computing
Figure BDA00027593887400000223
By passing
Figure BDA00027593887400000224
Generating key negotiation information with member information
Figure BDA00027593887400000225
And sends to the next key negotiation member Aj-1(ii) a Wherein j is m-2, m-3, …,5,4,3, j is a positive integer;
key agreement member A2Calculating a secret key
Figure BDA00027593887400000226
Computing
Figure BDA0002759388740000031
By passing
Figure BDA0002759388740000032
Generating key negotiation information with member information
Figure BDA0002759388740000033
And sends to the key agreement member A1
Key agreement member A1Calculating a secret key
Figure BDA0002759388740000034
Further, still include:
before each key negotiation member sends the key negotiation information to the next key negotiation member corresponding to the key negotiation member, performing digest, signature and encryption processing on the key negotiation information;
correspondingly, after each key negotiation member receives the ciphertext, the received ciphertext is decrypted, signed and integrity verified, and then the key or the key parameter is calculated.
Further, the digest, signature, and encryption processing on the key agreement information specifically includes: performing hash operation on the key negotiation information through a hash algorithm to generate a first hash operation result; signing the first hash operation result by using a private key of each key negotiation member through a signature algorithm to generate signature information; encrypting the signature information and the key negotiation information through an encryption and decryption algorithm to generate a ciphertext;
the decrypting, signature verification and integrity verification of the received ciphertext specifically comprises: the method comprises the steps of firstly decrypting a received ciphertext through an encryption and decryption algorithm to obtain signature information and key negotiation information, then using public keys of all key negotiation members to verify the signature information, carrying out hash operation on the key negotiation information through a hash algorithm to generate a second hash operation result, and comparing the first hash operation result with the second hash operation result to verify the integrity of the key negotiation information.
Further, the key agreement information also includes a timestamp when the sender sends the information to the receiver;
correspondingly, after receiving the timestamp, the receiver first verifies the timestamp and then calculates the key or key parameters.
Further, the member information refers to ID information of a key agreement member as both communication parties.
Further, each key agreement member does not save each result of the intermediate calculation in the key agreement process, and only saves the generated random number.
In a second aspect, the present invention provides a system for implementing multi-party key agreement, including:
a first random number generation module for key negotiation member A1Generating random numbers
Figure BDA0002759388740000035
A first calculation module for generating key parameters
Figure BDA0002759388740000036
G is a base point with a prime number n of an order on the elliptic curve; a first key negotiation information generation module for passing through
Figure BDA0002759388740000037
Generating key negotiation information with member information
Figure BDA0002759388740000038
And sends to the key agreement member A2
A second random number generation module for key negotiation member A2Generating random numbers
Figure BDA0002759388740000041
A second calculation module for calculating key parameters
Figure BDA0002759388740000042
A second key agreement information generation module for passing through
Figure BDA0002759388740000043
Figure BDA0002759388740000044
Generating key negotiation information with member information
Figure BDA0002759388740000045
And sends to the key agreement member A3
The ith random number generation module is used for the key negotiation member AiGenerating random numbers
Figure BDA0002759388740000046
An ith calculation module for negotiating the member A according to the keyi-1Key parameter of
Figure BDA0002759388740000047
Calculating its key parameters
Figure BDA0002759388740000048
An ith key agreement information generation module for passing the key parameters of its previous (i-1) key agreement members, its own key parameters
Figure BDA0002759388740000049
Generating key negotiation information with member information
Figure BDA00027593887400000410
And sends to the next key negotiation member Ai+1(ii) a Wherein i is 3,4,5 …, m-1, i is a positive integer;
the mth random number generation module is used for the key negotiation member AmGenerating random numbers
Figure BDA00027593887400000411
An mth calculation module for calculating the obtained key
Figure BDA00027593887400000412
Computing
Figure BDA00027593887400000413
The mth key negotiation information generation module is used for the key negotiation member AmBy passing
Figure BDA00027593887400000414
Figure BDA00027593887400000415
Generating key negotiation information with member information
Figure BDA00027593887400000416
And sends to the key agreement member Am-1
M-1 th calculation module for key agreement member Am-1Calculating a secret key
Figure BDA00027593887400000417
Computing
Figure BDA00027593887400000418
Figure BDA00027593887400000419
M-1 key agreement information generation module for passing through
Figure BDA00027593887400000420
Figure BDA00027593887400000421
Generating key negotiation information with member information
Figure BDA00027593887400000422
And sends to the key agreement member Am-2
A jth calculation module for key negotiation member AjCalculating a secret key
Figure BDA00027593887400000423
Computing
Figure BDA00027593887400000424
Figure BDA00027593887400000425
By passing
Figure BDA00027593887400000426
Generating key negotiation information with member information
Figure BDA0002759388740000051
And sends to the next key negotiation member Aj-1(ii) a Wherein j is m-2, m-3, …,5,4,3, j is a positive integer;
a second calculation module for key agreement member A2Calculating a secret key
Figure BDA0002759388740000052
Computing
Figure BDA0002759388740000053
A second key agreement information generation module for passing through
Figure BDA0002759388740000054
Generating key negotiation information with member information
Figure BDA0002759388740000055
And sends to the key agreement member A1
A first calculation module for key agreement member A1Calculating a secret key
Figure BDA0002759388740000056
Further, still include: the first security module is used for performing digest, signature and encryption processing on the key negotiation information before each key negotiation member sends the key negotiation information to the next key negotiation member corresponding to the key negotiation member; and after each key negotiation member receives the ciphertext, decrypting, checking the signature and verifying the integrity of the received ciphertext.
Further, the first security module is specifically configured to:
performing hash operation on the key negotiation information through a hash algorithm to generate a first hash operation result; signing the first hash operation result by using a private key of each key negotiation member through a signature algorithm to generate signature information; encrypting the signature information and the key negotiation information through an encryption and decryption algorithm to generate a ciphertext;
and the encryption and decryption module is specifically configured to decrypt the received ciphertext through an encryption and decryption algorithm to obtain signature information and key agreement information, then verify the signature information using the public key of each key agreement member, perform hash operation on the key agreement information through the hash algorithm to generate a second hash operation result, and compare the first hash operation result with the second hash operation result to verify the integrity of the key agreement information.
Further, the key agreement information also includes a timestamp when the sender sends the information to the receiver; correspondingly, the system further comprises:
and the second safety module is used for verifying the time stamp after the receiving party receives the time stamp.
The invention has the beneficial effects that:
(1) the invention can divide the process of the key agreement of many parties into two processes of forward and backward, transmit the information that the member of subsequent key agreement needs sequentially, thus realize the key agreement of many parties effectively, and choose a safe elliptic curve, on the basis of the safe elliptic curve, the difficulty of the discrete logarithm on the elliptic curve can guarantee the security of the key parameter in the communication process effectively;
(2) in the process of multi-party key agreement, a fresh factor timestamp is added into each key agreement message of communication, so that each message interaction in the key agreement communication is ensured to be a fresh message, and replay attack of an old message is prevented;
(3) in the interactive process of key agreement, the invention adopts the signature technology for the key agreement information sent each time, so that an intermediate attacker cannot generate an effective signature of the message sent by a real communication main body, and cannot falsely succeed;
(4) the invention adopts a hash function technology and an encryption technology, in the interactive process of key agreement, for the key agreement information sent each time, a sender sends the information and simultaneously sends summary information of the information, and encrypts the information, and a receiver also generates the summary information of the information after receiving the information and compares the summary information with the received summary information to ensure that the key agreement information is not falsified by an attacker in the communication process;
(5) the invention provides a key negotiation process that the identity of a sender is in the first place and the information of a receiver is in the last place in the key negotiation information, so as to ensure that an information receiver can distinguish whether the information is the reflection of the message sent by the receiver.
Drawings
Fig. 1 is a flow chart of forward transmission in a method for implementing multi-party key agreement according to an embodiment of the present invention;
fig. 2 is a reverse transmission flow chart in a method for implementing multi-party key agreement according to an embodiment of the present invention.
Detailed Description
In order to make the objects, technical solutions and advantages of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly described below with reference to the accompanying drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Example 1:
the embodiment of the invention provides a method for realizing multi-party key agreement, which comprises m key agreement members { A }1,A2,…,AmThe method comprises a forward transmission process and a reverse transmission process; wherein:
the forward transmission process comprises the following steps:
key agreement member A1Generating random numbers
Figure BDA0002759388740000061
Then generating key parameters
Figure BDA0002759388740000062
By passing
Figure BDA0002759388740000063
Generating key negotiation information with member information
Figure BDA0002759388740000071
And sends to the key agreement member A2(ii) a G is a base point with a prime number n of an order on the elliptic curve; random number
Figure BDA0002759388740000072
Key agreement member A2Generating random numbers
Figure BDA0002759388740000073
Calculating key parameters
Figure BDA0002759388740000074
By passing
Figure BDA0002759388740000075
Generating key negotiation information with member information
Figure BDA0002759388740000076
And sends to the key agreement member A3(ii) a Random number
Figure BDA0002759388740000077
Continuing so, key agreement member AiGenerating random numbers
Figure BDA0002759388740000078
Negotiating Member A based on a Keyi-1Key parameter of
Figure BDA0002759388740000079
Calculating its key parameters
Figure BDA00027593887400000710
Key parameter of the member negotiating with its previous (i-1) keys, key parameter of itself
Figure BDA00027593887400000711
Generating key negotiation information with member information
Figure BDA00027593887400000712
And sends to the next key negotiation member Ai+1(ii) a Wherein i is 3,4,5 …, m-1, i is a positive integer; random number
Figure BDA00027593887400000713
Key agreement member AmGenerating random numbers
Figure BDA00027593887400000714
Calculating a secret key
Figure BDA00027593887400000715
Computing
Figure BDA00027593887400000716
Figure BDA00027593887400000717
The reverse transmission process comprises:
key agreement member AmBy passing
Figure BDA00027593887400000718
Generating key negotiation information with member information
Figure BDA00027593887400000719
And sends to the key agreement member Am-1
Key agreement member Am-1Calculating a secret key
Figure BDA00027593887400000720
Computing
Figure BDA00027593887400000721
Figure BDA00027593887400000722
By passing
Figure BDA00027593887400000723
Generating key negotiation information with member information
Figure BDA00027593887400000724
And sends to the key agreement member Am-2
Continuing so, key agreement member AjCalculating a secret key
Figure BDA00027593887400000725
Computing
Figure BDA00027593887400000726
By passing
Figure BDA00027593887400000727
Generating key negotiation information with member information
Figure BDA00027593887400000728
And sends to the next key negotiation member Aj-1(ii) a Wherein j is m-2, m-3, …,5,4,3, j is a positive integer;
key agreement member A2Calculating a secret key
Figure BDA0002759388740000081
Computing
Figure BDA0002759388740000082
By passing
Figure BDA0002759388740000083
Generating key negotiation information with member information
Figure BDA0002759388740000084
And sends to the key agreement member A1
Key agreement member A1Calculating a secret key
Figure BDA0002759388740000085
The method for realizing the multi-party key agreement provided by the embodiment of the invention can divide the process of the multi-party key agreement into a forward process and a reverse process, and sequentially transmit information required by subsequent key agreement members, thereby effectively realizing the key agreement of the multi-party members; and by selecting a safe elliptic curve, on the basis of the safe elliptic curve, the difficulty of discrete logarithm on the elliptic curve can effectively ensure the security of the key parameter in the communication process.
Example 2:
on the basis of the foregoing embodiment 1, an embodiment of the present invention provides another implementation method for multi-party key agreement, which is different from the foregoing embodiment 1 in that the method further includes the following steps:
before each key negotiation member sends the key negotiation information to the next key negotiation member corresponding to the key negotiation member, performing digest, signature and encryption processing on the key negotiation information;
specifically, the digest, signature, and encryption processing on the key agreement information specifically includes: performing hash operation on the key negotiation information through a hash algorithm to generate a first hash operation result; signing the first hash operation result by using a private key of each key negotiation member through a signature algorithm to generate signature information; encrypting the signature information and the key negotiation information through an encryption and decryption algorithm to generate a ciphertext;
for example, negotiate Member A with a KeyiNegotiating a Key with Member AjTransmitted key agreement information
Figure BDA0002759388740000086
For example, the process specifically comprises: negotiating information on a key by a hashing algorithm H (m)
Figure BDA0002759388740000087
After Hash operation, generate
Figure BDA0002759388740000088
Then passing through a signature algorithm
Figure BDA0002759388740000089
Negotiating Member A Using a KeyiPrivate key of
Figure BDA00027593887400000810
Signature generation for hash operation result
Figure BDA00027593887400000811
Sign information
Figure BDA00027593887400000812
And key agreement information
Figure BDA00027593887400000813
By encryption or decryption algorithms
Figure BDA00027593887400000814
Performing encryption processing to generate ciphertext
Figure BDA00027593887400000815
Correspondingly, after each key negotiation member receives the ciphertext, the received ciphertext is decrypted, signed and integrity verified, and then the key or the key parameter is calculated.
Specifically, the decrypting, signature verification, and integrity verification of the received ciphertext specifically includes: the method comprises the steps of firstly decrypting a received ciphertext through an encryption and decryption algorithm to obtain signature information and key negotiation information, then using public keys of all key negotiation members to verify the signature information, carrying out hash operation on the key negotiation information through a hash algorithm to generate a second hash operation result, and comparing the first hash operation result with the second hash operation result to verify the integrity of the key negotiation information.
For example, negotiate Member A with a KeyjReceiving the key negotiation member AiCiphertext of transmission
Figure BDA0002759388740000091
For example, the process specifically comprises: firstly, through an encryption and decryption algorithm
Figure BDA0002759388740000092
For received cipher text
Figure BDA0002759388740000093
Obtain signature information after decryption
Figure BDA0002759388740000094
And key agreement messageInformation processing device
Figure BDA0002759388740000095
Then negotiate member A using the keyiOf (2) a public key
Figure BDA0002759388740000096
For signature information
Figure BDA0002759388740000097
Checking the signature and negotiating information about the key by means of a hash algorithm H (m)
Figure BDA0002759388740000098
Also after Hash operation, generate
Figure BDA0002759388740000099
And the obtained result of the hash operation
Figure BDA00027593887400000910
Comparing and verifying the key agreement information
Figure BDA00027593887400000911
The integrity of (c).
In the method for implementing multi-party key agreement provided by the embodiment of the invention, in the interactive process of key agreement, for the key agreement information sent each time, a middle attacker cannot generate an effective signature of the message sent by a real communication main body by adopting a signature technology, so that the secret key agreement information cannot be pretended to be successful. And by adopting a hash function technology and an encryption technology, in the interactive process of key agreement, for the key agreement information sent each time, the sender sends the information and simultaneously sends the summary information of the information, and encrypts the information, and after the receiver receives the information, the receiver also generates the summary information of the information and compares the summary information with the received summary information, so that the key agreement information can be ensured not to be falsified by an attacker in the communication process.
Example 3:
on the basis of the foregoing embodiment 1 or embodiment 2, an embodiment of the present invention further provides a method for implementing multi-party key agreement, which is different from the foregoing embodiment 1 or embodiment 2 in that:
the key negotiation information also comprises a timestamp when the sender sends information to the receiver;
for example, negotiate Member A with a KeyiNegotiating a Key with Member AjTransmitted key agreement information
Figure BDA00027593887400000912
For example, at this time, the key negotiates member AiAs the sender, the key agreement member AjAs the receiver, the key agreement information
Figure BDA00027593887400000913
Comprising a key agreement member AiNegotiating a Key with Member AjTime stamp for sending information
Figure BDA00027593887400000914
Correspondingly, after receiving the timestamp, the receiver first verifies the timestamp and then calculates the key or key parameters.
For example, negotiate Member A with a KeyjReceiving the key negotiation member AiTimestamp of transmission
Figure BDA0002759388740000101
For example, at this time, the key negotiates member AjReceipt time stamp
Figure BDA0002759388740000102
Then, the authentication timestamp is obtained
Figure BDA0002759388740000103
Whether the freshness of (d) meets the requirements.
In the method for implementing multi-party key agreement provided by the embodiment of the invention, in the process of multi-party key agreement, a fresh factor timestamp is added into each key agreement message in communication, so that each message interaction in the key agreement communication can be ensured to be a fresh message, and the replay attack of an old message is prevented.
In the foregoing embodiments, as an implementable manner, the member information is specifically ID information of a key agreement member as both communication parties; for example, negotiate Member A with a KeyiNegotiating a Key with Member AjTransmitted key agreement information
Figure BDA0002759388740000104
For example, in generating key agreement information
Figure BDA0002759388740000105
The member information according to the time is a member A for key negotiationiID information of (2) and Key Agreement Member AjID information of (2).
As an implementation manner, in the key agreement information, the ID information of the appointed sender is before, and the ID information of the receiver is after; thus, it can be ensured that the information receiver can distinguish whether the information is a reflection of the message sent by the receiver.
As an implementable manner, each key agreement member does not save each result of the intermediate calculation in the key agreement process, and only saves the generated random number. For example, for key agreement member AiKeeping only random numbers
Figure BDA0002759388740000106
Is not preserved
Figure BDA0002759388740000107
Its previous (i-1) key agreement members' key parameters.
Example 4:
when the members of the key agreement are four parties A, B, C and D, the scheme flow of the key agreement is as follows:
1.1A → B: a generating a random number raCalculating
KA=raG,mAB=IDA||IDB||KA||TAB
Then the message is sent
Figure BDA0002759388740000108
Sending the data to B;
1.2B → C: b receives the message
Figure BDA0002759388740000109
Decrypting messages, verifying signatures, verifying messages mABIntegrity of, verifying timestamp TABThe freshness of (1). B generating a random number rbCalculating
K′B=rbKA=rbraG,mBC=IDB||IDC||KA||K′B||TBC
Then the message is sent
Figure BDA00027593887400001010
Sending the data to C;
1.3C → D: c receiving the message
Figure BDA0002759388740000111
Decrypting messages, verifying signatures, verifying messages mBCIntegrity of, verifying timestamp TBCThe freshness of (1). C generating a random number rcCalculating
K′C=rcK′B=rcrbraG,mCD=IDC||IDD||KA||K′B||K′C||TCD
Then the message is sent
Figure BDA0002759388740000112
Sending the data to D;
2.1D → C: d receiving the message
Figure BDA0002759388740000113
Decrypting messages, verifying signatures, verifying messages mCDIntegrity of, verifying timestamp TCDThe freshness of (1). D generating a random number rdCalculating
KABCD=rdK′C=[rarbrcrd]G,KD=rdG,
Figure BDA0002759388740000114
Figure BDA0002759388740000115
Then the message is sent
Figure BDA0002759388740000116
Sending the data to C;
2.2C → B: c receiving the message
Figure BDA0002759388740000117
Decrypting messages, verifying signatures, verifying messages mDCIntegrity of, verifying timestamp TDCThe freshness of (1). Computing
Figure BDA0002759388740000118
Figure BDA0002759388740000119
Then the message is sent
Figure BDA00027593887400001110
Sending the data to B;
2.3B → A: b receives the message
Figure BDA00027593887400001111
Decrypting messages, verifying signatures, verifying messages mCBIntegrity of, verifying timestamp TCBThe freshness of (1). Computing
Figure BDA00027593887400001112
Figure BDA00027593887400001113
Then the message is sent
Figure BDA00027593887400001114
Sending the signal to A;
2.4A receive message
Figure BDA00027593887400001115
Decrypting messages, verifying signatures, verifying messages mBAIntegrity of, verifying timestamp TBAThe freshness of (1). Computing
Figure BDA00027593887400001116
Wherein, IDA、IDB、IDC、IDDThe IDs of members A, B, C, D, respectively; g is a base point with prime number n on the order of the elliptic curve E; r isa、rb、rc、rdIs a random number, ra、rb、rc
Figure BDA00027593887400001117
Figure BDA00027593887400001118
For cryptographic algorithms, here KijFor encryption and decryption keys, i can be member A, B, C, D, and j can also be member A, B, C, D; t isijFor time stamp, i can be member A, B, C, D, j can also be member A, B, C, D; h (m) is a secure hash function. Sigi(m) elliptic curve-based signature algorithm for member i, which may be member A, B, C, D; kABCDConference key negotiated for member A, B, C, D.
The key agreement process of the embodiment of the invention stipulates that the identity of the sender is prior and the information of the receiver is later in the key agreement information, so as to ensure that an information receiver can distinguish whether the information is the reflection of the message sent by the receiver.
Example 5:
as shown in fig. 1 and 2, when the member performing key agreement is a1、A2、……Am-1、AmThe specific implementation process is as follows:
A1→A2:A1generating random numbers
Figure BDA0002759388740000121
Computing
Figure BDA0002759388740000122
Then the message is sent
Figure BDA0002759388740000123
Is sent to A2
A2→A3:A2Receiving a message
Figure BDA0002759388740000124
Decrypting messages, verifying signatures, verifying messages
Figure BDA0002759388740000125
Integrity of, verifying the timestamp
Figure BDA0002759388740000126
The freshness of (1). A. the2Generating random numbers
Figure BDA0002759388740000127
Computing
Figure BDA0002759388740000128
Then the message is sent
Figure BDA0002759388740000129
SendingTo A3
A3→A4:A3Receiving a message
Figure BDA00027593887400001210
Decrypting messages, verifying signatures, verifying messages
Figure BDA00027593887400001211
Integrity of, verifying the timestamp
Figure BDA00027593887400001212
The freshness of (1). A. the3Generating random numbers
Figure BDA00027593887400001213
Computing
Figure BDA00027593887400001214
Then the message is sent
Figure BDA00027593887400001215
Is sent to A4
A4→A5:A4Receiving a message
Figure BDA00027593887400001216
Decrypting messages, verifying signatures, verifying messages
Figure BDA00027593887400001217
Integrity of, verifying the timestamp
Figure BDA00027593887400001218
The freshness of (1). A. the4Generating random numbers
Figure BDA00027593887400001219
Computing
Figure BDA0002759388740000131
Then the message is sent
Figure BDA0002759388740000132
Is sent to A5
…………
Am-1→Am:Am-1Receiving a message
Figure BDA0002759388740000133
Decrypting messages, verifying signatures, verifying messages
Figure BDA0002759388740000134
Integrity of, verifying the timestamp
Figure BDA0002759388740000135
The freshness of (1). A. them-1Generating random numbers
Figure BDA0002759388740000136
Computing
Figure BDA0002759388740000137
Figure BDA0002759388740000138
Then the message is sent
Figure BDA0002759388740000139
Is sent to Am
Am→Am-1:AmReceiving a message
Figure BDA00027593887400001310
Decrypting messages, verifying signatures, verifying messages
Figure BDA00027593887400001311
The integrity of,Verifying a timestamp
Figure BDA00027593887400001312
The freshness of (1). A. themGenerating random numbers
Figure BDA00027593887400001313
Computing
Figure BDA00027593887400001314
Figure BDA00027593887400001315
Figure BDA00027593887400001316
Then the message is sent
Figure BDA00027593887400001317
Is sent to Am-1
Am-1→Am-2:Am-1Receiving a message
Figure BDA00027593887400001318
Decrypting messages, verifying signatures, verifying messages
Figure BDA00027593887400001319
Integrity of, verifying the timestamp
Figure BDA00027593887400001320
The freshness of (1). Computing
Figure BDA00027593887400001321
Figure BDA00027593887400001322
Figure BDA0002759388740000141
Then the message is sent
Figure BDA0002759388740000142
Is sent to Am-2
…………
A3→A2:A3Receiving a message
Figure BDA0002759388740000143
Decrypting messages, verifying signatures, verifying messages
Figure BDA0002759388740000144
Integrity of, verifying the timestamp
Figure BDA0002759388740000145
The freshness of (1). Computing
Figure BDA0002759388740000146
Figure BDA0002759388740000147
Figure BDA0002759388740000148
Then the message is sent
Figure BDA0002759388740000149
Is sent to A2
A2→A1:A2Receiving a message
Figure BDA00027593887400001410
Decrypting messages, verifying signatures, verifying messages
Figure BDA00027593887400001411
Integrity of, verifying the timestamp
Figure BDA00027593887400001412
The freshness of (1). Computing
Figure BDA00027593887400001413
Figure BDA00027593887400001414
Figure BDA00027593887400001415
Then the message is sent
Figure BDA00027593887400001416
Is sent to A1
A1Receiving a message
Figure BDA00027593887400001417
Decrypting messages, verifying signatures, verifying messages
Figure BDA00027593887400001418
Integrity of, verifying the timestamp
Figure BDA00027593887400001419
The freshness of (1). Computing
Figure BDA00027593887400001420
It should be noted that, in the key agreement process, each key agreement member does not need to store the intermediate variables of the calculation, but only stores the generated random numbers
Figure BDA00027593887400001421
And (4) finishing.
Example 6:
when the group member is taken as a unit to carry out key negotiation, the conditions of two parties, three parties and multiple parties also exist, the three-party member key negotiation scheme based on the elliptic curve is used for establishing the three-party group member key exchange scheme based on the elliptic curve, and the conditions of the two parties and the multiple parties can be established according to the reference.
Assuming that the group members are { a1, a2, A3, a4, a5, B1, B2, B3, C1, C2}, grouping the members according to the relevant attributes of the group members, assuming that the members can be divided into A, B, C three groups, a ═ { a1, a2, A3, a4, a5}, B ═ { B1, B2, B3}, C ═ C1, C2}, and selecting A, B, C three groups as a1, B1, C1, respectively.
The three-party group member key exchange scheme based on the elliptic curve is established according to the following process.
Step1:
1.1 for group a, since group a has 5 bit members, a key between the 5 bit members in group a can be established according to the elliptic curve-based multi-party member key agreement scheme in embodiment 5, and is denoted as a _ CK;
1.2 for group B, because group B has 3-bit members, a key between 3-bit members in group B can be established according to the elliptic curve-based three-party member key agreement scheme in embodiment 5, and is denoted as B _ CK;
1.3 for group C, since group C has 2-bit members, a key between 2-bit members in group C can be established according to the elliptic curve-based two-party member key agreement scheme in embodiment 5, and is denoted as C _ CK;
Step2:
2.1, representing three group members of A1, B1 and C1 by A, B, C groups, and establishing keys among A1, B1 and C1, which are denoted as ABC _ CK, according to the elliptic curve-based three-party member key agreement scheme in embodiment 5;
2.2 remember mA=IDA1||ABC_CK||TAHere IDA1ID of A1, TAFor time stamping, A1 is in the form of a broadcastForm message
Figure BDA0002759388740000151
Sending the ABC _ CK to the members of the group A, and obtaining ABC _ CK through respective calculation of the members;
2.3 note mB=IDB1||ABC_CK||TBHere IDB1ID of B1, TBFor time stamping, B1 plays the message in a streaming form
Figure BDA0002759388740000152
Sending the ABC _ CK to the members of the group B, and obtaining ABC _ CK through respective calculation of the members;
2.4 note mC=IDC1||ABC_CK||TCHere IDC1ID of C1, TCFor time stamping, C1 broadcasts the message in a form of a broadcast
Figure BDA0002759388740000153
And sending the ABC _ CK to the members of the group C, and obtaining ABC _ CK by the respective calculation of the members.
Example 7:
corresponding to the above method for implementing multi-party key agreement, an embodiment of the present invention further provides a system for implementing multi-party key agreement, including: the device comprises a plurality of random number generation modules, a plurality of calculation modules and a plurality of key negotiation information generation modules;
a first random number generation module for key negotiation member A1Generating random numbers
Figure BDA0002759388740000161
A first calculation module for generating key parameters
Figure BDA0002759388740000162
G is a base point with a prime number n of an order on the elliptic curve; a first key negotiation information generation module for passing through
Figure BDA0002759388740000163
Generating key negotiation information with member information
Figure BDA0002759388740000164
And sends to the key agreement member A2
A second random number generation module for key negotiation member A2Generating random numbers
Figure BDA0002759388740000165
A second calculation module for calculating key parameters
Figure BDA0002759388740000166
A second key agreement information generation module for passing through
Figure BDA0002759388740000167
Figure BDA0002759388740000168
Generating key negotiation information with member information
Figure BDA0002759388740000169
And sends to the key agreement member A3
The ith random number generation module is used for the key negotiation member AiGenerating random numbers
Figure BDA00027593887400001610
An ith calculation module for negotiating the member A according to the keyi-1Key parameter of
Figure BDA00027593887400001611
Calculating its key parameters
Figure BDA00027593887400001612
An ith key agreement information generation module for passing the key parameters of its previous (i-1) key agreement members, its own key parameters
Figure BDA00027593887400001613
Generating key negotiation information with member information
Figure BDA00027593887400001614
And sends to the next key negotiation member Ai+1(ii) a Wherein i is 3,4,5 …, m-1, i is a positive integer;
the mth random number generation module is used for the key negotiation member AmGenerating random numbers
Figure BDA00027593887400001615
An mth calculation module for calculating the obtained key
Figure BDA00027593887400001616
Computing
Figure BDA00027593887400001617
The mth key negotiation information generation module is used for the key negotiation member AmBy passing
Figure BDA00027593887400001618
Figure BDA00027593887400001619
Generating key negotiation information with member information
Figure BDA00027593887400001620
And sends to the key agreement member Am-1
M-1 th calculation module for key agreement member Am-1Calculating a secret key
Figure BDA00027593887400001621
M-1 key agreement information generation module for passing through
Figure BDA00027593887400001622
Figure BDA0002759388740000171
Generating key negotiation information with member information
Figure BDA0002759388740000172
And sends to the key agreement member Am-2
A jth calculation module for key negotiation member AjCalculating a secret key
Figure BDA0002759388740000173
Computing
Figure BDA0002759388740000174
Figure BDA0002759388740000175
By passing
Figure BDA0002759388740000176
Figure BDA0002759388740000177
Generating key negotiation information with member information
Figure BDA0002759388740000178
And sends to the next key negotiation member Aj-1(ii) a Wherein j is m-2, m-3, …,5,4,3, j is a positive integer;
a second calculation module for key agreement member A2Calculating a secret key
Figure BDA0002759388740000179
Computing
Figure BDA00027593887400001710
A second key agreement information generation module for passing through
Figure BDA00027593887400001713
Generating key negotiation information with member information
Figure BDA00027593887400001711
And sends to the key agreement member A1
A first calculation module for key agreement member A1Calculating a secret key
Figure BDA00027593887400001712
The system for realizing the multi-party key agreement provided by the embodiment of the invention can divide the process of the multi-party key agreement into a forward process and a reverse process, and sequentially transmit information required by subsequent key agreement members, thereby effectively realizing the key agreement of the multi-party members; and by selecting a safe elliptic curve, on the basis of the safe elliptic curve, the difficulty of discrete logarithm on the elliptic curve can effectively ensure the security of the key parameter in the communication process.
Example 8:
on the basis of the foregoing embodiment 7, an embodiment of the present invention further provides a system for implementing multi-party key agreement, which is different from the foregoing embodiment 7 in that the system further includes a first security module and a second security module; wherein:
the first security module is used for performing digest, signature and encryption processing on the key negotiation information before each key negotiation member sends the key negotiation information to the next key negotiation member corresponding to the key negotiation member; and the system is used for decrypting, checking and verifying the integrity of the received ciphertext after each key negotiation member receives the ciphertext.
Specifically, the digest, signature, and encryption processing are performed on the key agreement information, specifically: performing hash operation on the key negotiation information through a hash algorithm to generate a first hash operation result; signing the first hash operation result by using a private key of each key negotiation member through a signature algorithm to generate signature information; and encrypting the signature information and the key negotiation information through an encryption and decryption algorithm to generate a ciphertext.
Decrypting, checking and integrity verifying the received ciphertext, specifically comprising: decrypting the received ciphertext through an encryption and decryption algorithm to obtain signature information and key negotiation information, then verifying the signature information by using the public key of each key negotiation member, performing hash operation on the key negotiation information through the hash algorithm to generate a second hash operation result, and comparing the first hash operation result with the second hash operation result to verify the integrity of the key negotiation information.
In order to prevent replay attack of the old message, the key negotiation information also comprises a time stamp when the sender sends the information to the receiver; thus, the second security module is configured to verify the timestamp after the receiving party receives the timestamp.
It should be noted that the system for implementing multi-party key agreement provided by the present invention is for implementing the above method embodiments, and the functions thereof may specifically refer to the above method embodiments, and are not described herein again.
Finally, it should be noted that: the above examples are only intended to illustrate the technical solution of the present invention, but not to limit it; although the present invention has been described in detail with reference to the foregoing embodiments, it will be understood by those of ordinary skill in the art that: the technical solutions described in the foregoing embodiments may still be modified, or some technical features may be equivalently replaced; and such modifications or substitutions do not depart from the spirit and scope of the corresponding technical solutions of the embodiments of the present invention.

Claims (10)

1. A method for realizing multi-party key agreement is characterized in that m key agreement members { A }1,A2,…,Am-said method comprising: a forward transmission process and a reverse transmission process;
the forward transmission process comprises the following steps:
key agreement member A1Generating random numbers
Figure FDA0002759388730000011
Then generating key parameters
Figure FDA0002759388730000012
By passing
Figure FDA0002759388730000013
Generating key negotiation information with member information
Figure FDA0002759388730000014
And sends to the key agreement member A2(ii) a G is a base point with a prime number n of an order on the elliptic curve;
key agreement member A2Generating random numbers
Figure FDA0002759388730000015
Calculating key parameters
Figure FDA0002759388730000016
By passing
Figure FDA0002759388730000017
Generating key negotiation information with member information
Figure FDA0002759388730000018
And sends to the key agreement member A3
Continuing so, key agreement member AiGenerating random numbers
Figure FDA0002759388730000019
Negotiating Member A based on a Keyi-1Key parameter of
Figure FDA00027593887300000110
Calculating its key parameters
Figure FDA00027593887300000111
Key parameter of the member negotiating with its previous (i-1) keys, key parameter of itself
Figure FDA00027593887300000112
Generating key negotiation information with member information
Figure FDA00027593887300000113
And sends to the next key negotiation member Ai+1(ii) a Wherein i is 3,4,5 …, m-1, i is a positive integer;
key agreement member AmGenerating random numbers
Figure FDA00027593887300000114
Calculating a secret key
Figure FDA00027593887300000115
Computing
Figure FDA00027593887300000116
Figure FDA00027593887300000117
The reverse transmission process comprises:
key agreement member AmBy passing
Figure FDA00027593887300000118
Generating key negotiation information with member information
Figure FDA00027593887300000119
And sends to the key agreement member Am-1
Key agreement member Am-1Calculating a secret key
Figure FDA00027593887300000120
Computing
Figure FDA00027593887300000121
Figure FDA00027593887300000122
By passing
Figure FDA00027593887300000123
Generating key negotiation information with member information
Figure FDA00027593887300000124
And sends to the key agreement member Am-2
Continuing so, key agreement member AjCalculating a secret key
Figure FDA00027593887300000125
Computing
Figure FDA0002759388730000021
By passing
Figure FDA0002759388730000022
Generating key negotiation information with member information
Figure FDA0002759388730000023
And sends to the next key negotiation member Aj-1(ii) a Wherein j is m-2, m-3, …,5,4,3, j is a positive integer;
key agreement member A2Calculating a secret key
Figure FDA0002759388730000024
Computing
Figure FDA0002759388730000025
By passing
Figure FDA0002759388730000026
Generating key negotiation information with member information
Figure FDA0002759388730000027
And sends to the key agreement member A1
Key agreement member A1Calculating a secret key
Figure FDA0002759388730000028
2. The method of claim 1, further comprising:
before each key negotiation member sends the key negotiation information to the next key negotiation member corresponding to the key negotiation member, performing digest, signature and encryption processing on the key negotiation information;
correspondingly, after each key negotiation member receives the ciphertext, the received ciphertext is decrypted, signed and integrity verified, and then the key or the key parameter is calculated.
3. The method of claim 2,
the digest, signature and encryption processing of the key negotiation information specifically includes: performing hash operation on the key negotiation information through a hash algorithm to generate a first hash operation result; signing the first hash operation result by using a private key of each key negotiation member through a signature algorithm to generate signature information; encrypting the signature information and the key negotiation information through an encryption and decryption algorithm to generate a ciphertext;
the decrypting, signature verification and integrity verification of the received ciphertext specifically comprises: the method comprises the steps of firstly decrypting a received ciphertext through an encryption and decryption algorithm to obtain signature information and key negotiation information, then using public keys of all key negotiation members to verify the signature information, carrying out hash operation on the key negotiation information through a hash algorithm to generate a second hash operation result, and comparing the first hash operation result with the second hash operation result to verify the integrity of the key negotiation information.
4. The method according to any one of claims 1-3, wherein the key agreement information further includes a timestamp when the sender sends the information to the receiver;
correspondingly, after receiving the timestamp, the receiver first verifies the timestamp and then calculates the key or key parameters.
5. The method according to claim 1, wherein the member information refers to ID information of a key agreement member as both parties of communication.
6. The method of claim 1, wherein each key agreement member does not save each result of the intermediate calculation during the key agreement process, but only saves the generated random number.
7. A system for implementing multi-party key agreement is characterized by comprising:
a first random number generation module for key negotiation member A1Generating random numbers
Figure FDA0002759388730000031
A first calculation module for generating key parameters
Figure FDA0002759388730000032
G is a base point with a prime number n of an order on the elliptic curve; a first key negotiation information generation module for passing through
Figure FDA0002759388730000033
Generating key negotiation information with member information
Figure FDA0002759388730000034
And sends to the key agreement member A2
A second random number generation module for key negotiation member A2Generating random numbers
Figure FDA0002759388730000035
A second calculation module for calculating key parameters
Figure FDA0002759388730000036
A second key agreement information generation module for passing through
Figure FDA0002759388730000037
Figure FDA0002759388730000038
Generating key negotiation information with member information
Figure FDA0002759388730000039
And sends to the key agreement member A3
The ith random number generation module is used for the key negotiation member AiGenerating random numbers
Figure FDA00027593887300000310
An ith calculation module for negotiating the member A according to the keyi-1Key parameter of
Figure FDA00027593887300000311
Calculating its key parameters
Figure FDA00027593887300000312
An ith key agreement information generation module for passing the key parameters of its previous (i-1) key agreement members, its own key parameters
Figure FDA00027593887300000313
Generating key negotiation information with member information
Figure FDA00027593887300000314
And sends to the next key negotiation member Ai+1(ii) a Wherein i is 3,4,5 …, m-1, i is a positive integer;
the mth random number generation module is used for the key negotiation member AmGenerating random numbers
Figure FDA00027593887300000315
An mth calculation module for calculating the obtained key
Figure FDA00027593887300000316
Computing
Figure FDA00027593887300000317
Mth key agreement information generationA module for key agreement member AmBy passing
Figure FDA00027593887300000318
Figure FDA00027593887300000319
Generating key negotiation information with member information
Figure FDA00027593887300000320
And sends to the key agreement member Am-1
M-1 th calculation module for key agreement member Am-1Calculating a secret key
Figure FDA00027593887300000321
Computing
Figure FDA00027593887300000322
Figure FDA00027593887300000323
M-1 key agreement information generation module for passing through
Figure FDA0002759388730000041
Figure FDA0002759388730000042
Generating key negotiation information with member information
Figure FDA0002759388730000043
And sends to the key agreement member Am-2
A jth calculation module for key negotiation member AjCalculating a secret key
Figure FDA0002759388730000044
Computing
Figure FDA0002759388730000045
Figure FDA0002759388730000046
By passing
Figure FDA0002759388730000047
Generating key negotiation information with member information
Figure FDA0002759388730000048
And sends to the next key negotiation member Aj-1(ii) a Wherein j is m-2, m-3, …,5,4,3, j is a positive integer;
a second calculation module for key agreement member A2Calculating a secret key
Figure FDA0002759388730000049
Computing
Figure FDA00027593887300000410
A second key agreement information generation module for passing through
Figure FDA00027593887300000411
Generating key negotiation information with member information
Figure FDA00027593887300000412
And sends to the key agreement member A1
A first calculation module for key agreement member A1Calculating a secret key
Figure FDA00027593887300000413
8. The system of claim 7, further comprising:
the first security module is used for performing digest, signature and encryption processing on the key negotiation information before each key negotiation member sends the key negotiation information to the next key negotiation member corresponding to the key negotiation member; and after each key negotiation member receives the ciphertext, decrypting, checking the signature and verifying the integrity of the received ciphertext.
9. The system of claim 8, wherein the first security module is specifically configured to:
performing hash operation on the key negotiation information through a hash algorithm to generate a first hash operation result; signing the first hash operation result by using a private key of each key negotiation member through a signature algorithm to generate signature information; encrypting the signature information and the key negotiation information through an encryption and decryption algorithm to generate a ciphertext;
and the encryption and decryption module is specifically configured to decrypt the received ciphertext through an encryption and decryption algorithm to obtain signature information and key agreement information, then verify the signature information using the public key of each key agreement member, perform hash operation on the key agreement information through the hash algorithm to generate a second hash operation result, and compare the first hash operation result with the second hash operation result to verify the integrity of the key agreement information.
10. The system according to any one of claims 7-9, wherein the key agreement information further includes a time stamp of when the sender sends information to the receiver; correspondingly, the system further comprises:
and the second safety module is used for verifying the time stamp after the receiving party receives the time stamp.
CN202011212830.2A 2020-11-04 2020-11-04 Method and system for realizing multi-party key agreement Active CN112422276B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011212830.2A CN112422276B (en) 2020-11-04 2020-11-04 Method and system for realizing multi-party key agreement

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011212830.2A CN112422276B (en) 2020-11-04 2020-11-04 Method and system for realizing multi-party key agreement

Publications (2)

Publication Number Publication Date
CN112422276A true CN112422276A (en) 2021-02-26
CN112422276B CN112422276B (en) 2022-03-25

Family

ID=74827497

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011212830.2A Active CN112422276B (en) 2020-11-04 2020-11-04 Method and system for realizing multi-party key agreement

Country Status (1)

Country Link
CN (1) CN112422276B (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113242122A (en) * 2021-04-15 2021-08-10 哈尔滨工业大学 Encryption method based on DH and RSA encryption algorithm
CN113660083A (en) * 2021-08-12 2021-11-16 云南电网有限责任公司信息中心 Symmetric key generation method based on common knowledge
CN113722750A (en) * 2021-07-20 2021-11-30 南京航空航天大学 Network-on-chip security domain construction method based on authentication encryption and group key

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000022775A1 (en) * 1998-10-09 2000-04-20 Deutsche Telekom Ag Method for establishing a common cryptographic key for n subscribers
CN101291214A (en) * 2007-04-19 2008-10-22 华为技术有限公司 Group cipher key generating method, system and apparatus
CN101321053A (en) * 2007-06-08 2008-12-10 华为技术有限公司 Group cipher key generating method, system and apparatus
US20090154711A1 (en) * 2007-12-18 2009-06-18 Jho Namsu Multi-party key agreement method using bilinear map and system therefor
CN102111266A (en) * 2009-12-28 2011-06-29 航天信息股份有限公司 Method for generating group keys based on elliptic curve
CN103634104A (en) * 2013-11-26 2014-03-12 常州大学 Three-party authentication key agreement protocol generating method based on certificates

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2000022775A1 (en) * 1998-10-09 2000-04-20 Deutsche Telekom Ag Method for establishing a common cryptographic key for n subscribers
CN101291214A (en) * 2007-04-19 2008-10-22 华为技术有限公司 Group cipher key generating method, system and apparatus
CN101321053A (en) * 2007-06-08 2008-12-10 华为技术有限公司 Group cipher key generating method, system and apparatus
US20090154711A1 (en) * 2007-12-18 2009-06-18 Jho Namsu Multi-party key agreement method using bilinear map and system therefor
CN102111266A (en) * 2009-12-28 2011-06-29 航天信息股份有限公司 Method for generating group keys based on elliptic curve
CN103634104A (en) * 2013-11-26 2014-03-12 常州大学 Three-party authentication key agreement protocol generating method based on certificates

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
MICHAEL STEINER等: ""Diffie-Hellman Key Distribution Extended to Group Communication"", 《PROCEEDINGS OF THE 3RD ACM CONFERENCE ON COMPUTER AND COMMUNICATIONS SECURITY》 *

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113242122A (en) * 2021-04-15 2021-08-10 哈尔滨工业大学 Encryption method based on DH and RSA encryption algorithm
CN113242122B (en) * 2021-04-15 2022-11-25 哈尔滨工业大学 Encryption method based on DH and RSA encryption algorithm
CN113722750A (en) * 2021-07-20 2021-11-30 南京航空航天大学 Network-on-chip security domain construction method based on authentication encryption and group key
CN113722750B (en) * 2021-07-20 2024-03-19 南京航空航天大学 Authentication encryption and group key based network-on-chip security domain construction method
CN113660083A (en) * 2021-08-12 2021-11-16 云南电网有限责任公司信息中心 Symmetric key generation method based on common knowledge
CN113660083B (en) * 2021-08-12 2023-08-04 云南电网有限责任公司信息中心 Symmetric key generation method based on shared knowledge

Also Published As

Publication number Publication date
CN112422276B (en) 2022-03-25

Similar Documents

Publication Publication Date Title
CN107947913B (en) Anonymous authentication method and system based on identity
CN108199835B (en) Multi-party combined private key decryption method
CN112422276B (en) Method and system for realizing multi-party key agreement
CN101238677B (en) Cryptographic authentication, and/or establishment of shared cryptographic keys, using a signing key encrypted with a non-one-time-pad encryption, including (but not limited to) techniques with improved safety
US9130744B1 (en) Sending an encrypted key pair and a secret shared by two devices to a trusted intermediary
CN107342977A (en) Suitable for the information security method of point-to-point instant messaging
CN111049647B (en) Asymmetric group key negotiation method based on attribute threshold
CN104618110A (en) VoIP safety meeting session key transmission method
CN101958907A (en) Method, system and device for transmitting key
CN113972981B (en) SM2 cryptographic algorithm-based efficient threshold signature method
CN113132104A (en) Active and safe ECDSA (electronic signature SA) digital signature two-party generation method
CN111049738B (en) E-mail data security protection method based on hybrid encryption
CN114553441B (en) Electronic contract signing method and system
JPH09312643A (en) Key sharing method and ciphering communication method
CN113242129B (en) End-to-end data confidentiality and integrity protection method based on lattice encryption
CN118540165A (en) Quantum security enhancement method for national security IPSec VPN protocol
CN114978488A (en) SM2 algorithm-based collaborative signature method and system
WO2020042023A1 (en) Instant messaging data encryption method and apparatus
CN111565108B (en) Signature processing method, device and system
CN111756537B (en) Two-party cooperative decryption method, system and storage medium based on SM2 standard
CN111526131B (en) Anti-quantum-computation electronic official document transmission method and system based on secret sharing and quantum communication service station
CN114268441B (en) Quantum security application method, client device, server device and system
CN114422114B (en) Time-controlled encryption method and system based on multi-time server
CN115865313A (en) Lightweight privacy protection longitudinal federal learning model parameter aggregation method
CN114070550B (en) Information processing method, device, equipment and storage medium

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