[go: up one dir, main page]

CN109787758A - Anti- quantum calculation MQV cryptographic key negotiation method and system based on private key pond and Elgamal - Google Patents

Anti- quantum calculation MQV cryptographic key negotiation method and system based on private key pond and Elgamal Download PDF

Info

Publication number
CN109787758A
CN109787758A CN201910049038.0A CN201910049038A CN109787758A CN 109787758 A CN109787758 A CN 109787758A CN 201910049038 A CN201910049038 A CN 201910049038A CN 109787758 A CN109787758 A CN 109787758A
Authority
CN
China
Prior art keywords
key
public key
static
pond
temporary
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
CN201910049038.0A
Other languages
Chinese (zh)
Other versions
CN109787758B (en
Inventor
富尧
钟一民
余秋炜
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ruban Quantum Technology Co Ltd
Original Assignee
Ruban Quantum Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ruban Quantum Technology Co Ltd filed Critical Ruban Quantum Technology Co Ltd
Priority to CN201910049038.0A priority Critical patent/CN109787758B/en
Publication of CN109787758A publication Critical patent/CN109787758A/en
Application granted granted Critical
Publication of CN109787758B publication Critical patent/CN109787758B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

The present invention relates to a kind of anti-quantum calculation MQV cryptographic key negotiation method based on private key pond and Elgamal, participant is configured with key card, when implementing the anti-quantum calculation MQV cryptographic key negotiation method, it include: to generate corresponding temporary public key and temporary private in one's own side, shared key is generated with the encrypted public key of encryption key and other side, and obtains ciphertext using the temporary public key of shared key encryption one's own side;By the ciphertext, true random number and the static public key pointer address of one's own side for obtaining other side's encrypted public key are sent to other side with ciphertext form;Recipient generates shared key using the encryption key of one's own side and the encrypted public key of other side, the ciphertext, which is decrypted, using shared key obtains the temporary public key of other side, the static public key of other side is obtained using the static public key pointer address, and arranging key is generated using the temporary public key of other side, static public key and one's own side's temporary private, temporary public key, static private key and algorithm parameter.

Description

Anti- quantum calculation MQV cryptographic key negotiation method and system based on private key pond and Elgamal
Technical field
The present invention relates to public-key cryptosystems and private key pool technology, and in particular to the key exchange in group between communicating pair Technology.
Background technique
The Internet of rapid development brings huge convenience to people's lives, work, and people can be sitting in family It sent and received e-mail, made a phone call by Internet, carrying out the activities such as shopping online, bank transfer.The network information security simultaneously It is increasingly becoming a potential huge problem.In general the network information is faced with following several security risks: the network information It is stolen, information is tampered, attacker palms off information, malicious sabotage etc..
The key technology of the current guarantee network information security is exactly cryptographic technique, and in field of cryptography of today, it is main Will there are two types of cryptographic system, first is that symmetric key cryptosystem, i.e. encryption key and decruption key use it is same.The other is Public key cryptosystem, i.e. encryption key and decruption key difference, one of them can be disclosed.
The safety of symmetric key cryptosystem relies on following two factor.First, Encryption Algorithm must be it is sufficiently strong, Being based only on ciphertext itself and removing solution confidential information is impossible in practice;Second, the safety of encryption method is from key Secret, rather than the secret of algorithm.The problem of symmetric encryption system maximum be key distribution and management it is extremely complex, It is of a high price.Symmetric encipherment algorithm, which has another disadvantage that, is not easily accomplished digital signature.So in current mobile e-business Encryption Algorithm realization in field depends primarily on RSA arithmetic.
The encryption key pair (public key) and decryption key (private key) that Public Key Cryptographic Systems uses are different.Due to encryption Key be it is disclosed, the distribution of key and management are just very simple, and Public Key Cryptographic Systems can also be easily carried out number Signature.
Since public key encryption comes out, scholars propose many kinds of public key encryption methods, their safety is all base In complicated difficult math question.Classified according to the difficult math question being based on, have following three classes system be presently believed to be safety and It is effective: big integer factorization system (representative to have RSA), Discrete log systems (representative to have DSA) and ellipse from It dissipates Logarithmic system (ECC).
But with the development of quantum computer, classical asymmetric-key encryption algorithm will be no longer safe, no matter encryption and decryption Or private key can be calculated in key exchange method, quantum computer by public key, therefore currently used asymmetric close Key will become cannot withstand a single blow in the quantum epoch.
Summary of the invention
The present invention provides a kind of safety the higher anti-quantum calculation MQV key agreement based on private key pond and Elgamal Method and system.
The present invention is based on the anti-quantum calculation MQV cryptographic key negotiation method in private key pond and Elgamal, participant is configured with key Block, is stored with static public key pond, encryption key pond, encrypted public key pond group and static private key and algorithm parameter, institute in key card It states encryption key pond and is stored with encryption key, encrypted public key pond group includes that quantity encryption corresponding with key card quantity is public Key pond is stored with encrypted public key corresponding with the encryption key in each encrypted public key pond, stores in the static state public key pond There is static public key corresponding with the static private key;
When implementing the anti-quantum calculation MQV cryptographic key negotiation method, comprising:
Corresponding temporary public key and temporary private are generated in one's own side, is generated with the encrypted public key of encryption key and other side shared Key, and ciphertext is obtained using the temporary public key of shared key encryption one's own side;By the ciphertext, for obtaining other side's encrypted public key True random number and the static public key pointer address of one's own side other side is sent to ciphertext form;
The ciphertext from other side, the true random number and the static public key pointer address are received, using described true Random number obtains the encrypted public key of other side and the encryption key of one's own side, raw using the encryption key of one's own side and the encrypted public key of other side At shared key, the ciphertext is decrypted using shared key and obtains the temporary public key of other side, using the static public key pointer Location obtains the static public key of other side, and utilizes the temporary public key of other side, static public key and one's own side's temporary private, temporary public key, quiet State private key and algorithm parameter generate arranging key.
Optionally, the participant includes initiator and responder, includes: in the initiator
The first true random number is generated, generates the first temporary public key and the first temporary private using the first true random number;
The second true random number is generated, obtains the first encryption key of one's own side from the key card using the second true random number With the first encrypted public key of other side;
The progress operation of the first encrypted public key of the first encryption key of one's own side and other side is obtained into the first shared key, and benefit First temporary public key, which is encrypted, with the first shared key obtains the first ciphertext;
By first ciphertext, the second true random number, the static public key pointer address of one's own side and the encrypted public key pond of one's own side Number is sent to responder with ciphertext form.
Optionally, include: in the responder
Using received second true random number obtained from the key card one's own side the first encryption key and other side One encrypted public key;
The progress operation of the first encrypted public key of the first encryption key of one's own side and other side is obtained into the first shared key, and benefit First ciphertext, which is decrypted, with the first shared key obtains the first temporary public key of other side;
The first static public key of other side is obtained from the key card using received static public key pointer address;
Third true random number is generated, generates the second temporary public key and the second temporary private using third true random number;
The second static private key of one's own side is obtained from key card, and accordingly calculates arranging key;
The 4th true random number is generated, obtains the second encryption key of one's own side from the key card using the 4th true random number With the second encrypted public key of other side;
The progress operation of the second encrypted public key of the second encryption key of one's own side and other side is obtained into the second shared key, and benefit Second temporary public key, which is encrypted, with the second shared key obtains the second ciphertext;
The static public key pointer address of second ciphertext, the 4th true random number, one's own side is sent to ciphertext form Play side.
Optionally, in the responder, the mode of arranging key is calculated are as follows:
Arranging key be K andWherein:
H is the algorithm parameter in key card;
Kb is the second temporary private of responder;
Kb is the second temporary public key of responder;
B is the second static private key of responder;
Ka ' is the first temporary public key of initiator;
A is the first static public key of initiator.
Optionally, in the initiator further include:
Using received 4th true random number obtained from the key card one's own side the second encryption key and other side Two encrypted public keys;
The progress operation of the second encrypted public key of the second encryption key of one's own side and other side is obtained into the second shared key, and benefit Second ciphertext, which is decrypted, with the second shared key obtains the second temporary public key of other side;
The second static public key of other side is obtained from the key card using received static public key pointer address;
The first static private key that one's own side is obtained from key card, accordingly calculates arranging key.
Optionally, in the initiator, the mode of arranging key is calculated are as follows:
Arranging key be K ' andWherein:
H is the algorithm parameter in key card;
Ka is the first temporary private of initiator;
Ka is the first temporary public key of initiator;
A is the first static private key of initiator;
Kb ' is the second temporary public key of responder;
B is the second static public key of responder.
The present invention also provides a kind of anti-quantum calculation MQV key agreement system based on private key pond and Elgamal, participant Configured with key card, static public key pond, encryption key pond, encrypted public key pond group and static private key and calculation are stored in key card Method parameter, the encryption key pond are stored with encryption key, and encrypted public key pond group includes that quantity is opposite with key card quantity The encrypted public key pond answered is stored with encrypted public key corresponding with the encryption key in each encrypted public key pond, described static public Static public key corresponding with the static private key is stored in key pond;
The anti-quantum calculation MQV key agreement system, comprising:
First module, for generating corresponding temporary public key and temporary private in one's own side, with encryption key and other side's plus Migong key generates shared key, and obtains ciphertext using the temporary public key of shared key encryption one's own side;By the ciphertext, it is used for The static public key pointer address of true random number and one's own side to other side's encrypted public key is sent to other side with ciphertext form;
Second module, for receiving the ciphertext from other side, the true random number and the static public key pointer Location obtains the encrypted public key of other side and the encryption key of one's own side using the true random number, utilizes the encryption key of one's own side and right The encrypted public key of side generates shared key, decrypts the ciphertext using shared key and obtains the temporary public key of other side, using described Static public key pointer address obtains the static public key of other side, and temporarily private using the temporary public key of other side, static public key and one's own side Key, temporary public key, static private key and algorithm parameter generate arranging key.
The present invention also provides a kind of anti-quantum calculation MQV key agreement system based on private key pond and Elgamal, participant Configured with key card, static public key pond, encryption key pond, encrypted public key pond group and static private key and calculation are stored in key card Method parameter, the encryption key pond are stored with encryption key, and encrypted public key pond group includes that quantity is opposite with key card quantity The encrypted public key pond answered is stored with encrypted public key corresponding with the encryption key in each encrypted public key pond, described static public Static public key corresponding with the static private key is stored in key pond;
Participant includes memory and processor, is stored with computer program in memory, which executes computer The anti-quantum calculation MQV cryptographic key negotiation method based on private key pond and Elgamal is realized when program.
In the present invention, the key card used is independent hardware isolated equipment.Other phases such as public key, private key and true random number It closes in the equal server of parameter and generates, reallocate to key card, corresponding pool of keys and private key and parameter are stored in specified safety Region, a possibility that stealing key by Malware or malicious operation, substantially reduce, and will not be obtained and be broken by quantum computer Solution.Since the public key transmitted in a network only has temporary public key, and temporary public key is to be encrypted transmission, is encrypted used public and private Key is chosen from the group of unsymmetrical key pond, and the external world can not obtain, therefore the probability that the public key is cracked is extremely low.In a network Other data of transmission are only the relevant parameters of cipher key location, and key, therefore key association of the invention can not independently be calculated The relatively classical ECMQV cryptographic key negotiation method of the safety of quotient's method is much higher.Also ensure disappearing for subsequent communicating pair The safety of breath.
Detailed description of the invention
Fig. 1 is the distribution schematic diagram of pool of keys in the present invention;
Fig. 2 is the key agreement flow chart of embodiment;
Fig. 3 is the flow diagram for calculating private key and public key.
Specific embodiment
Following will be combined with the drawings in the embodiments of the present invention, and technical solution in the embodiment of the present invention carries out clear, complete Site preparation description, it is clear that described embodiments are only a part of the embodiments of the present invention, instead of all the embodiments.It is based on Embodiment in the present invention, it is obtained by those of ordinary skill in the art without making creative efforts every other Embodiment shall fall within the protection scope of the present invention.
In order to better describe and illustrate embodiments herein, one or more attached drawing can refer to, but attached for describing The additional detail or example of figure are not construed as to present invention creation, current described embodiment or preferred side The limitation of the range of any one in formula.
It should be understood that there is no stringent sequences to limit for the execution of each step unless expressly stating otherwise herein, These steps can execute in other order.Moreover, at least part step may include multiple sub-steps or multiple ranks Section, these sub-steps or stage are not necessarily to execute completion in synchronization, but can execute at different times, this The execution sequence in a little step perhaps stage be also not necessarily successively carry out but can be with other steps or other steps Sub-step or at least part in stage execute in turn or alternately.
The present invention realizes that scene is any two in the group of an asymmetric cryptography system to weevil, second.This hair Each object has key card in group in bright, can store the key of big data quantity, also has the ability of processing information.Group Each key card has multiple pool of keys in group, is static public key pond, encryption key pond and encrypted public key pond group respectively and quiet State private key and relevant parameter.The number of encrypted public key pond group is the number of all members in group, encrypted public key Chi Zuji group The set in the corresponding encrypted public key pond of interior each member.Distribution in specific key card is as shown in Figure 1.In the present invention, to weevil and All there is the algorithm of corresponding demand in the local system of object second.
The description of key card is visible, and application No. is the patents of " 201610843210.6 ".When for mobile terminal, key card Preferably key SD card;When for fixed terminal, key card is preferably key USBkey or host key board.
With application No. is compared with the patent of " 201610843210.6 ", key card to issue mechanism different.This patent The key card side of issuing be key card supervisor side, the generally administrative department of group, such as the pipe of certain enterprise or public institution Reason department;The member's that the key card side of being awarded is managed by the supervisor side of key card, generally certain enterprise or public institution is each Grade employee.Supervisor side's application that user terminal arrives key card first is opened an account.After user terminal carries out registering granted, it will obtain close Key card (has unique key card ID).Key card stores client enrollment register information.User side key in key card is all Under be downloaded from the same cipher key management services station, and for the supervisor side of same group key card, each key card for issuing The public-key cryptographic keys pond group of middle storage is completely the same.Preferably, the pool of keys size stored in key card can be 1G, 2G, 4G, 8G, 16G, 32G, 64G, 128G, 256G, 512G, 1024G, 2048G, 4096G etc..
Key card is developed from smart card techniques, is combined with real random number generator (preferably quantum random number Generator), cryptological technique, the authentication of hardware security isolation technology and encryption and decryption product.The embedded chip of key card and Operating system can provide the functions such as secure storage and the cryptographic algorithm of key.Due to it with independent data-handling capacity and Good safety, key card become the safety barrier of private key and pool of keys.Each key card has the protection of hardware PIN code, PIN code and hardware constitute two necessary factors that user uses key card.I.e. so-called " double factor authentication ", user is only simultaneously The key card and user's PIN code for saving relevant authentication information are obtained, it just can be with login system.Even if the PIN code of user is let out Dew, as long as the key card that user holds is not stolen, the identity of legitimate user would not be counterfeit;If the key card of user is lost It loses, the person of picking up also cannot counterfeit the identity of legitimate user due to not knowing user's PIN code.
For key card when supplementing pool of keys with money, Key Management server can specify one group identities of key card, and give group ID in group.Server can define a prime number p when creating a group, and p meets p > 3.And it generates two and is less than the non-of p Negative integer, parameter alpha and parameter beta, for constructing elliptic curve E: γ23+αχ+β.In addition the rank of elliptic curve is set as n, And assume that h is confactor, it is Q that the member point of the elliptic curve, which is basic point,.If group member number is N.Server can generate N Corresponding public key is calculated as static private key in a true random number, these public keys are written in same file and are formed Static public key file, i.e. static public key pond.The above-mentioned public and private key of gained is used for the public and private key of static state as ECMQV algorithm.Server It can recycle and generate effective description that member g generates a q rank cyclic group G.The cyclic group needs to meet certain security property.Together When generate big data quantity the random number in { 1 ..., q-1 } range as encryption key, and form encryption key pond, produced Raw encryption key pond number is N.And corresponding encrypted public key is calculated according to encryption key, and it is public to form corresponding encryption Key pond.The position phase of encryption key is corresponded in each encrypted public key pond in the position of encrypted public key and corresponding encryption key pond Together.
In key card registration, server can be by static public key file, unappropriated encryption key pond and encrypted public key Pond group is stored in key card together.One will be randomly selected in unappropriated static private key simultaneously to distribute to the key card and incite somebody to action It is corresponding static state public key pointer address be stored in key card, static public key pointer address be used for searches with static private key in pairs Public key.In addition, also storage has one's own side's encrypted public key pond number and relevant algorithm parameter elliptic curve domain parameter in key card { p, α, β, Q, n, h } and { g, q, G }.
If the object of this system key agreement is respectively to weevil and object second.It is the masters of key agreement to weevil (initiator), object second are the cooperation side (responder) of key agreement.If it is corresponding to weevil static state public private key pair be (A, a), Public key is A, private key a;If the corresponding static public private key pair of object second is (B, b), public key B, private key b;If to weevil Encrypting encryption public private key pair corresponding to unsymmetrical key pond is (Ki, ki), public key Ki, private key ki, the calculating of public key Ki Mode is Ki=gkimod q;If encryption public private key pair corresponding to the encryption unsymmetrical key pond of object second is (Kj, kj), public Key is Kj, and the calculation of private key kj, public key Kj are Kj=gkjmod q.In the present invention, Encryption Algorithm is Elgamal encryption Algorithm.
Wherein in an embodiment, a kind of key agreement side anti-quantum calculation MQV based on private key pond and Elgamal is provided Method, participant are configured with key card, and static public key pond, encryption key pond, encrypted public key pond group and quiet are stored in key card State private key and algorithm parameter, the encryption key pond are stored with encryption key, and encrypted public key pond group includes quantity and key The corresponding encrypted public key pond of card quantity is stored with encrypted public key corresponding with the encryption key in each encrypted public key pond, Static public key corresponding with the static private key is stored in the static state public key pond;
When implementing the anti-quantum calculation MQV cryptographic key negotiation method, comprising:
Corresponding temporary public key and temporary private are generated in one's own side, is generated with the encrypted public key of encryption key and other side shared Key, and ciphertext is obtained using the temporary public key of shared key encryption one's own side;By the ciphertext, for obtaining other side's encrypted public key True random number and the static public key pointer address of one's own side other side is sent to ciphertext form;
The ciphertext from other side, the true random number and the static public key pointer address are received, using described true Random number obtains the encrypted public key of other side and the encryption key of one's own side, raw using the encryption key of one's own side and the encrypted public key of other side At shared key, the ciphertext is decrypted using shared key and obtains the temporary public key of other side, using the static public key pointer Location obtains the static public key of other side, and utilizes the temporary public key of other side, static public key and one's own side's temporary private, temporary public key, quiet State private key and algorithm parameter generate arranging key.
The participant includes initiator and responder, and the detailed process of arranging key mainly divides three phases.
First stage includes: in the initiator
The first true random number is generated, generates the first temporary public key and the first temporary private using the first true random number;
The second true random number is generated, obtains the first encryption key of one's own side from the key card using the second true random number With the first encrypted public key of other side;
The progress operation of the first encrypted public key of first encryption key and other side is obtained into the first shared key, and utilizes first Shared key encrypts first temporary public key and obtains the first ciphertext;
By first ciphertext, the second true random number, the static public key pointer address of one's own side and the encrypted public key pond of one's own side Number is sent to responder with ciphertext form.
Second stage includes: in the responder
Using received second true random number obtained from the key card one's own side the first encryption key and other side One encrypted public key;
The progress operation of the first encrypted public key of first encryption key and other side is obtained into the first shared key, and utilizes first Shared key decrypts first ciphertext and obtains the first temporary public key of other side;
The first static public key of other side is obtained from the key card using received static public key pointer address;
Third true random number is generated, generates the second temporary public key and the second temporary private using third true random number;
The second static private key of one's own side is obtained from key card, and accordingly calculates arranging key, calculates arranging key Mode are as follows:
Arranging key be K andWherein:
H is the algorithm parameter in key card;
Kb is the second temporary private of responder;
Kb is the second temporary public key of responder;
B is the second static private key of responder;
Ka ' is the first temporary public key of initiator;
A is the first static public key of initiator;
The 4th true random number is generated, obtains the second encryption key of one's own side from the key card using the 4th true random number With the second encrypted public key of other side;
The progress operation of the second encrypted public key of second encryption key and other side is obtained into the second shared key, and utilizes second Shared key encrypts second temporary public key and obtains the second ciphertext;
The static public key pointer address of second ciphertext, the 4th true random number, one's own side is sent to ciphertext form Play side.
Phase III, in the initiator further include:
Using received 4th true random number obtained from the key card one's own side the second encryption key and other side Two encrypted public keys;
The progress operation of the second encrypted public key of second encryption key and other side is obtained into the second shared key, and utilizes second Shared key decrypts second ciphertext and obtains the second temporary public key of other side;
The second static public key of other side is obtained from the key card using received static public key pointer address;
The first static private key that one's own side is obtained from key card, accordingly calculates arranging key, calculates arranging key Mode are as follows:
Arranging key be K ' andWherein:
H is the algorithm parameter in key card;
Ka is the first temporary private of initiator;
Ka is the first temporary public key of initiator;
A is the first static private key of initiator;
Kb ' is the second temporary public key of responder;
B is the second static public key of responder.
Below in conjunction with 2~Fig. 3 of attached drawing, another embodiment is provided, the anti-quantum calculation MQV based on private key pond and Elgamal Cryptographic key negotiation method, comprising:
Step 1: interim public and private key being generated to weevil and relevant parameter is sent to object second
1.1 pairs of weevils generate temporary private: generating a true random number ka (the first true random number) conduct at random to weevil The temporary private ka (the first temporary private) of this key agreement, and temporary public key Ka=(ka) Q (the first interim public affairs are calculated Key), Q is one of elliptic curve domain parameter.
1.2 pairs of weevils take encryption key and Party B's encrypted public key: generating a true random number r1 to weevil, (second is truly random Number).Ri1 and rj1 are split by assignment algorithm by random number r1 to weevil.Key indicator algorithm fkp is passed through by ri1 to weevil Obtain encryption key pointer address kpi1.Object nail root is according to encryption key pointer address kpi1 from the encryption key pond of local system It is middle to take out corresponding encryption key ki1 (the first encryption key of Party A).
Meanwhile weevil being calculated to by unsymmetrical key pointer function fkp the encrypted public key pointer of object second by rj1 Address kpj1.Object nail root according to encrypted public key pointer address kpj1 and object second encrypted public key pond number Pj, from local system In encrypted public key pool of keys group in take out Party B's encrypted public key Kj1 (the first encrypted public key of Party B).The encryption of object second is public Key pond number Pj is obtained by access server or to object second direct request.
1.3 pairs of weevils encrypt temporary public key: generating shared key s1=Kj1^ki1 (the first shared key) to weevil.It is right Weevil obtains first ciphertext c1={ Ka } s1 after encrypting to temporary public key Ka.
Key negotiation information is sent object second by 1.4 pairs of weevils: to weevil by temporary public key ciphertext c1, random number r1, Static public key pointer address ra to weevil and object second is sent to the encrypted public key pond number Pi encryption of weevil.
Step 2: object second decryption parsing message is calculated arranging key and relevant parameter is sent to weevil
2.1 object second receive message and decrypt parsing: object second is received from the message to weevil, it is decrypted Parsing obtain the static public key pointer address ra ' to weevil, encrypted public key pond number Pi ', the random number r1 ' to weevil and temporarily Public key cryptography c1 '.
2.2 object second obtain encryption key and Party A's encrypted public key: object second splits random number r1 ' by assignment algorithm At ri1 ' and rj1 '.Rj1 ' is obtained encryption key pointer address kpj1 ' by key indicator algorithm fkp by object second.Object second Taken out from the encryption key pond of local system according to encryption key pointer address kpj1 ' corresponding encryption key kj1 (Party B's First encryption key).
Meanwhile ri1 ' is calculated by unsymmetrical key pointer function fkp and is referred to the encrypted public key of weevil by object second Needle address kpi1 '.Object second is according to encrypted public key pointer address kpi1 ' and to the encrypted public key pond number Pi ' of weevil from local Party A's public key Ki1 (the first encrypted public key of Party A) is taken out in encrypted public key pool of keys group in system.
2.3 object second decrypt to obtain Party A's temporary public key and take out Party A's static state public key: object second calculates shared key s1 ' =Ki1^kj1.Object second using shared key s1 ' to temporary public key ciphertext c1 ' decryption obtain the first temporary public key of Party A Ka '= c1'·s1'-1.S1-1 is inverse element of the s1 on cyclic group G.Object second utilize to the static public key pointer address ra ' of weevil from The static public key A (the first static public key) to weevil is taken out in static public key pond.
2.4 object second generate temporary private and take out itself static private key: object second generates a true random number kb at random The temporary private of (third true random number) as this key agreement, temporary public key Kb=(kb) Q is calculated, and (second is interim public Key).Object second takes out itself static private key b (the second static private key).
Arranging key is calculated in 2.5 object second: object second is calculated using existing parameter WhereinAndNegotiation is obtained by calculation in object second Key
2.6 object second obtain encryption key and Party A's encrypted public key: object second generate a true random number r2 (the 4th very with Machine number).Random number r2 is split into ri2 and rj2 by assignment algorithm by object second.Rj2 is passed through key indicator algorithm by object second Fkp obtains encryption key pointer address kpj2.Object second is private according to the encryption of encryption key pointer address kpj2 from local system Corresponding encryption key kj2 (the second encryption key of Party B) is taken out in key pond.
Meanwhile the encrypted public key pointer to weevil is calculated in ri2 by object second by unsymmetrical key pointer function fkp Address kpi2.Object second is according to encrypted public key pointer address kpi2 and to the public key pond number Pi ' of weevil from local system Party A's public key Ki2 (the second encrypted public key of Party A) is taken out in encrypted public key pool of keys group.
2.6 object second encrypt temporary public key: object second generates shared key s2=Ki2^kj2 (the second shared key).It is right Second ciphertext c2={ Kb } s2 is obtained after encrypting as second to temporary public key Kb.
2.7 object second send key negotiation information to weevil: object second by temporary public key ciphertext c2, random number r2 and The public key pointer address rb encryption of object second is sent to weevil.
Step 3: parsing message being decrypted to weevil and calculates arranging key
3.1 pairs of weevils receive message and decrypt parsing: receiving the message from object second to weevil, it is decrypted Parsing obtains public key pointer address rb ', the random number r2 ' and temporary public key ciphertext c2 ' of object second.
3.2 pairs of weevils obtain encryption key and Party B's encrypted public key: splitting random number r2 ' by assignment algorithm to weevil At ri2 ' and rj2 '.Encryption key pointer address kpi2 ' is obtained by key indicator algorithm fkp by ri2 ' to weevil.To weevil Taken out from the encryption key pond of local system according to encryption key pointer address kpi2 ' corresponding encryption key ki2 (Party A's Second encryption key).
Meanwhile weevil is referred to rj2 ' by the encrypted public key that object second is calculated in unsymmetrical key pointer function fkp Needle address kpj2 '.Object nail root is according to encrypted public key pointer address kpj2 ' and the public key pond number Pj of object second from local system Encrypted public key pool of keys group in take out Party B's public key Kj2 (the second encrypted public key of Party B).
3.3 pairs of weevils are decrypted to obtain Party B's temporary public key and take out Party B's static state public key: object second calculates shared key s2 ' =Kj2^ki2.Kb '=c2 ' s2 ' -1 is obtained to temporary public key ciphertext c2 ' decryption using shared key s2 ' to weevil.s2-1 It is inverse element of the s2 on cyclic group G.Object is taken out from static public key pond using the public key pointer address rb ' of object second to weevil The static public key B (the second static public key) of second.
Arranging key is calculated in 3.4 pairs of weevils: taking out itself static private key a (the first static private key) to weevil.Object First is calculated using existing parameterWhereinAndArranging key is obtained by calculation to weevil:
The arranging key of weevil is developed to obtain:
The arranging key of object second develops to obtain:
So the arranging key obtained to weevil and object second is identical, key agreement success.
Wherein in an embodiment, a kind of anti-quantum calculation MQV key agreement system based on private key pond and Elgamal is provided System, participant are configured with key card, and static public key pond, encryption key pond, encrypted public key pond group and quiet are stored in key card State private key and algorithm parameter, the encryption key pond are stored with encryption key, and encrypted public key pond group includes quantity and key The corresponding encrypted public key pond of card quantity is stored with encrypted public key corresponding with the encryption key in each encrypted public key pond, Static public key corresponding with the static private key is stored in the static state public key pond;
The anti-quantum calculation MQV key agreement system, comprising:
First module, for generating corresponding temporary public key and temporary private in one's own side, with encryption key and other side's plus Migong key generates shared key, and obtains ciphertext using the temporary public key of shared key encryption one's own side;By the ciphertext, it is used for The static public key pointer address of true random number and one's own side to other side's encrypted public key is sent to other side with ciphertext form;
Second module, for receiving the ciphertext from other side, the true random number and the static public key pointer Location obtains the encrypted public key of other side and the encryption key of one's own side using the true random number, utilizes the encryption key of one's own side and right The encrypted public key of side generates shared key, decrypts the ciphertext using shared key and obtains the temporary public key of other side, using described Static public key pointer address obtains the static public key of other side, and temporarily private using the temporary public key of other side, static public key and one's own side Key, temporary public key, static private key and algorithm parameter generate arranging key.
Specific restriction about anti-quantum calculation MQV key agreement system may refer to above for anti-quantum calculation The restriction of MQV key agreement system, details are not described herein.Above-mentioned modules can fully or partially through software, hardware and its Combination is to realize.Above-mentioned each module can be embedded in the form of hardware or independently of in the processor in computer equipment, can also be with It is stored in the memory in computer equipment in a software form, in order to which processor calls the above modules of execution corresponding Operation.
In one embodiment, a kind of computer equipment, i.e., a kind of anti-quantum based on private key pond and Elgamal are provided MQV key agreement system is calculated, which can be terminal, and internal structure may include connecting by system bus Processor, memory, network interface, display screen and input unit.Wherein, the processor of the computer equipment is based on providing Calculation and control ability.The memory of the computer equipment includes non-volatile memory medium, built-in storage.The non-volatile memories Media storage has operating system and computer program.The built-in storage is the operating system and calculating in non-volatile memory medium The operation of machine program provides environment.The network interface of the computer equipment is used to communicate with external terminal by network connection. To realize above-mentioned anti-quantum calculation MQV cryptographic key negotiation method when the computer program is executed by processor, the computer equipment Display screen can be liquid crystal display or electric ink display screen, and the input unit of the computer equipment can be on display screen The touch layer of covering is also possible to the key being arranged on computer equipment shell, trace ball or Trackpad, can also be external Keyboard, Trackpad or mouse etc..
Wherein in an embodiment, a kind of anti-quantum calculation MQV key agreement system based on private key pond and Elgamal is provided System, participant are configured with key card, and static public key pond, encryption key pond, encrypted public key pond group and quiet are stored in key card State private key and algorithm parameter, the encryption key pond are stored with encryption key, and encrypted public key pond group includes quantity and key The corresponding encrypted public key pond of card quantity is stored with encrypted public key corresponding with the encryption key in each encrypted public key pond, Static public key corresponding with the static private key is stored in the static state public key pond;
Participant includes memory and processor, is stored with computer program in memory, which executes computer The anti-quantum calculation MQV cryptographic key negotiation method based on private key pond and Elgamal is realized when program.
Each technical characteristic of embodiment described above can be combined arbitrarily, for simplicity of description, not to above-mentioned reality It applies all possible combination of each technical characteristic in example to be all described, as long as however, the combination of these technical characteristics is not deposited In contradiction, all should be considered as described in this specification.
The embodiments described above only express several embodiments of the present invention, and the description thereof is more specific and detailed, but simultaneously The limitation to invention scope therefore cannot be interpreted as.It should be pointed out that for those of ordinary skill in the art, Under the premise of not departing from present inventive concept, various modifications and improvements can be made, and these are all within the scope of protection of the present invention. Therefore, protection scope of the present invention should be determined by the appended claims.

Claims (8)

1. the anti-quantum calculation MQV cryptographic key negotiation method based on private key pond and Elgamal, which is characterized in that participant is configured with Key card is stored with static public key pond, encryption key pond, encrypted public key pond group and static private key and algorithm ginseng in key card Number, the encryption key pond are stored with encryption key, and encrypted public key pond group includes that quantity is corresponding with key card quantity Encrypted public key pond is stored with encrypted public key corresponding with the encryption key, the static state public key pond in each encrypted public key pond In be stored with static public key corresponding with the static private key;
When implementing the anti-quantum calculation MQV cryptographic key negotiation method, comprising:
Corresponding temporary public key and temporary private are generated in one's own side, is shared with the generation of the encrypted public key of encryption key and other side close Key, and ciphertext is obtained using the temporary public key of shared key encryption one's own side;By the ciphertext, for obtaining other side's encrypted public key True random number and the static public key pointer address of one's own side are sent to other side with ciphertext form;
The ciphertext from other side, the true random number and the static public key pointer address are received, using described truly random Number obtains the encrypted public key of other side and the encryption key of one's own side, is generated altogether using the encryption key of one's own side and the encrypted public key of other side Key is enjoyed, the ciphertext is decrypted using shared key and obtains the temporary public key of other side, is obtained using the static public key pointer address To the static public key of other side, and utilize the temporary public key of other side, static public key and one's own side's temporary private, temporary public key, static private Key and algorithm parameter generate arranging key.
2. the anti-quantum calculation MQV cryptographic key negotiation method based on private key pond and Elgamal as described in claim 1, feature It is, the participant includes initiator and responder, includes: in the initiator
The first true random number is generated, generates the first temporary public key and the first temporary private using the first true random number;
The second true random number is generated, obtains the first encryption key of one's own side and right from the key card using the second true random number First encrypted public key of side;
The progress operation of the first encrypted public key of the first encryption key of one's own side and other side is obtained into the first shared key, and utilizes the One shared key encrypts first temporary public key and obtains the first ciphertext;
By first ciphertext, the second true random number, the static public key pointer address of one's own side and the encrypted public key pond number of one's own side Responder is sent to ciphertext form.
3. the anti-quantum calculation MQV cryptographic key negotiation method based on private key pond and Elgamal as claimed in claim 2, feature It is, includes: in the responder
Using received second true random number obtained from the key card one's own side the first encryption key and other side first plus Migong key;
The progress operation of the first encrypted public key of the first encryption key of one's own side and other side is obtained into the first shared key, and utilizes the One shared key decrypts first ciphertext and obtains the first temporary public key of other side;
The first static public key of other side is obtained from the key card using received static public key pointer address;
Third true random number is generated, generates the second temporary public key and the second temporary private using third true random number;
The second static private key of one's own side is obtained from key card, and accordingly calculates arranging key;
The 4th true random number is generated, obtains the second encryption key of one's own side and right from the key card using the 4th true random number Second encrypted public key of side;
The progress operation of the second encrypted public key of the second encryption key of one's own side and other side is obtained into the second shared key, and utilizes the Two shared keys encrypt second temporary public key and obtain the second ciphertext;
The static public key pointer address of second ciphertext, the 4th true random number, one's own side is sent to initiator with ciphertext form.
4. the anti-quantum calculation MQV cryptographic key negotiation method based on private key pond and Elgamal as claimed in claim 3, feature It is, in the responder, calculates the mode of arranging key are as follows:
Arranging key be K andWherein:
H is the algorithm parameter in key card;
Kb is the second temporary private of responder;
Kb is the second temporary public key of responder;
B is the second static private key of responder;
Ka ' is the first temporary public key of initiator;
A is the first static public key of initiator.
5. the anti-quantum calculation MQV cryptographic key negotiation method based on private key pond and Elgamal as claimed in claim 3, feature It is, in the initiator further include:
Using received 4th true random number obtained from the key card one's own side the second encryption key and other side second plus Migong key;
The progress operation of the second encrypted public key of the second encryption key of one's own side and other side is obtained into the second shared key, and utilizes the Two shared keys decrypt second ciphertext and obtain the second temporary public key of other side;
The second static public key of other side is obtained from the key card using received static public key pointer address;
The first static private key that one's own side is obtained from key card, accordingly calculates arranging key.
6. the anti-quantum calculation MQV cryptographic key negotiation method based on private key pond and Elgamal as claimed in claim 5, feature It is, in the initiator, calculates the mode of arranging key are as follows:
Arranging key be K ' andWherein:
H is the algorithm parameter in key card;
Ka is the first temporary private of initiator;
Ka is the first temporary public key of initiator;
A is the first static private key of initiator;
Kb ' is the second temporary public key of responder;
B is the second static public key of responder.
7. the anti-quantum calculation MQV key agreement system based on private key pond and Elgamal, which is characterized in that participant is configured with Key card is stored with static public key pond, encryption key pond, encrypted public key pond group and static private key and algorithm ginseng in key card Number, the encryption key pond are stored with encryption key, and encrypted public key pond group includes that quantity is corresponding with key card quantity Encrypted public key pond is stored with encrypted public key corresponding with the encryption key, the static state public key pond in each encrypted public key pond In be stored with static public key corresponding with the static private key;
The anti-quantum calculation MQV key agreement system, comprising:
First module, it is public with the encryption of encryption key and other side for generating corresponding temporary public key and temporary private in one's own side Key generates shared key, and obtains ciphertext using the temporary public key of shared key encryption one's own side;By the ciphertext, for obtaining pair The true random number of square encrypted public key and the static public key pointer address of one's own side are sent to other side with ciphertext form;
Second module, for receiving the ciphertext from other side, the true random number and the static public key pointer address, Obtain the encrypted public key of other side and the encryption key of one's own side using the true random number, encryption key and other side using one's own side Encrypted public key generates shared key, decrypts the ciphertext using shared key and obtains the temporary public key of other side, utilizes the static state Public key pointer address obtains the static public key of other side, and using the temporary public key of other side, static public key and one's own side's temporary private, Temporary public key, static private key and algorithm parameter generate arranging key.
8. the anti-quantum calculation MQV key agreement system based on private key pond and Elgamal, which is characterized in that participant is configured with Key card is stored with static public key pond, encryption key pond, encrypted public key pond group and static private key and algorithm ginseng in key card Number, the encryption key pond are stored with encryption key, and encrypted public key pond group includes that quantity is corresponding with key card quantity Encrypted public key pond is stored with encrypted public key corresponding with the encryption key, the static state public key pond in each encrypted public key pond In be stored with static public key corresponding with the static private key;
Participant includes memory and processor, is stored with computer program in memory, which executes computer program The described in any item anti-quantum calculation MQV cryptographic key negotiation methods based on private key pond and Elgamal of Shi Shixian claim 1~6.
CN201910049038.0A 2019-01-18 2019-01-18 Anti-quantum computation MQV key agreement method and system based on private key pool and Elgamal Active CN109787758B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910049038.0A CN109787758B (en) 2019-01-18 2019-01-18 Anti-quantum computation MQV key agreement method and system based on private key pool and Elgamal

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910049038.0A CN109787758B (en) 2019-01-18 2019-01-18 Anti-quantum computation MQV key agreement method and system based on private key pool and Elgamal

Publications (2)

Publication Number Publication Date
CN109787758A true CN109787758A (en) 2019-05-21
CN109787758B CN109787758B (en) 2021-08-10

Family

ID=66501703

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910049038.0A Active CN109787758B (en) 2019-01-18 2019-01-18 Anti-quantum computation MQV key agreement method and system based on private key pool and Elgamal

Country Status (1)

Country Link
CN (1) CN109787758B (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266485A (en) * 2019-06-28 2019-09-20 宁波奥克斯电气股份有限公司 A NB-IoT-based secure communication control method for the Internet of Things
CN110601825A (en) * 2019-08-29 2019-12-20 北京思源理想控股集团有限公司 Ciphertext processing method and device, storage medium and electronic device
CN112187832A (en) * 2020-11-03 2021-01-05 北京指掌易科技有限公司 Data transmission method and electronic equipment
CN113904766A (en) * 2021-09-08 2022-01-07 北京世纪互联宽带数据中心有限公司 Encrypted communication method, device, equipment and medium
CN114398602A (en) * 2022-01-11 2022-04-26 国家计算机网络与信息安全管理中心 Internet of things terminal identity authentication method based on edge calculation
CN116961906A (en) * 2023-09-19 2023-10-27 长春吉大正元信息技术股份有限公司 Network communication method, device, equipment and storage medium

Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1599316A (en) * 2004-09-17 2005-03-23 叶润国 Asymmetic identification scheme and long-distance access safety protocol
CN101521881A (en) * 2009-03-24 2009-09-02 刘建 Method and system for assessing wireless local area network
CN101582906A (en) * 2009-06-23 2009-11-18 中国人民解放军信息工程大学 Key agreement method and device
US7752444B2 (en) * 2005-12-21 2010-07-06 Nortel Networks Limited System and method for providing identity hiding in a shared key authentication protocol
CN102104481A (en) * 2010-12-17 2011-06-22 中国科学院数据与通信保护研究教育中心 Elliptic curve-based key exchange method
CN103200000A (en) * 2013-03-27 2013-07-10 武汉大学 Shared secret key establishment method under quantum computing environment
CN105024801A (en) * 2015-07-06 2015-11-04 国网山东寿光市供电公司 A quantum encryption communication method
CN105024807A (en) * 2014-04-30 2015-11-04 宇龙计算机通信科技(深圳)有限公司 Data processing method and system
CN105071929A (en) * 2015-07-15 2015-11-18 清华大学 Postprocessing method for quantum key distribution
CN106533662A (en) * 2016-11-03 2017-03-22 北京奇虎科技有限公司 Methods and devices for transmitting network safety secret key
CN106713302A (en) * 2016-12-19 2017-05-24 北京握奇智能科技有限公司 Operating system updating method and device
CN108599925A (en) * 2018-03-20 2018-09-28 如般量子科技有限公司 A kind of modified AKA identity authorization systems and method based on quantum communication network
CN108768661A (en) * 2018-05-29 2018-11-06 如般量子科技有限公司 It is a kind of based on pool of symmetric keys and span centre after modified AKA identity authorization systems and method

Patent Citations (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1599316A (en) * 2004-09-17 2005-03-23 叶润国 Asymmetic identification scheme and long-distance access safety protocol
US7752444B2 (en) * 2005-12-21 2010-07-06 Nortel Networks Limited System and method for providing identity hiding in a shared key authentication protocol
CN101521881A (en) * 2009-03-24 2009-09-02 刘建 Method and system for assessing wireless local area network
CN101582906A (en) * 2009-06-23 2009-11-18 中国人民解放军信息工程大学 Key agreement method and device
CN102104481A (en) * 2010-12-17 2011-06-22 中国科学院数据与通信保护研究教育中心 Elliptic curve-based key exchange method
CN103200000A (en) * 2013-03-27 2013-07-10 武汉大学 Shared secret key establishment method under quantum computing environment
CN105024807A (en) * 2014-04-30 2015-11-04 宇龙计算机通信科技(深圳)有限公司 Data processing method and system
CN105024801A (en) * 2015-07-06 2015-11-04 国网山东寿光市供电公司 A quantum encryption communication method
CN105071929A (en) * 2015-07-15 2015-11-18 清华大学 Postprocessing method for quantum key distribution
CN106533662A (en) * 2016-11-03 2017-03-22 北京奇虎科技有限公司 Methods and devices for transmitting network safety secret key
CN106713302A (en) * 2016-12-19 2017-05-24 北京握奇智能科技有限公司 Operating system updating method and device
CN108599925A (en) * 2018-03-20 2018-09-28 如般量子科技有限公司 A kind of modified AKA identity authorization systems and method based on quantum communication network
CN108768661A (en) * 2018-05-29 2018-11-06 如般量子科技有限公司 It is a kind of based on pool of symmetric keys and span centre after modified AKA identity authorization systems and method

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110266485A (en) * 2019-06-28 2019-09-20 宁波奥克斯电气股份有限公司 A NB-IoT-based secure communication control method for the Internet of Things
CN110601825A (en) * 2019-08-29 2019-12-20 北京思源理想控股集团有限公司 Ciphertext processing method and device, storage medium and electronic device
CN112187832A (en) * 2020-11-03 2021-01-05 北京指掌易科技有限公司 Data transmission method and electronic equipment
CN113904766A (en) * 2021-09-08 2022-01-07 北京世纪互联宽带数据中心有限公司 Encrypted communication method, device, equipment and medium
CN113904766B (en) * 2021-09-08 2024-04-30 北京世纪互联宽带数据中心有限公司 Encryption communication method, device, equipment and medium
CN114398602A (en) * 2022-01-11 2022-04-26 国家计算机网络与信息安全管理中心 Internet of things terminal identity authentication method based on edge calculation
CN114398602B (en) * 2022-01-11 2024-05-10 国家计算机网络与信息安全管理中心 Internet of things terminal identity authentication method based on edge calculation
CN116961906A (en) * 2023-09-19 2023-10-27 长春吉大正元信息技术股份有限公司 Network communication method, device, equipment and storage medium
CN116961906B (en) * 2023-09-19 2023-12-15 长春吉大正元信息技术股份有限公司 Network communication method, device, equipment and storage medium

Also Published As

Publication number Publication date
CN109787758B (en) 2021-08-10

Similar Documents

Publication Publication Date Title
CN106961336B (en) A kind of key components trustship method and system based on SM2 algorithm
CN109787758A (en) Anti- quantum calculation MQV cryptographic key negotiation method and system based on private key pond and Elgamal
CN109728906B (en) Anti-quantum-computation asymmetric encryption method and system based on asymmetric key pool
Tsai et al. Novel anonymous authentication scheme using smart cards
CN109936456B (en) Anti-quantum computation digital signature method and system based on private key pool
CN109450623A (en) Anti- quantum calculation cryptographic key negotiation method based on unsymmetrical key pond
CN109818749A (en) The point-to-point method for message transmission of anti-quantum calculation and system based on pool of symmetric keys
CN109756329A (en) Anti- quantum calculation shared key machinery of consultation and system based on private key pond
CN109921905B (en) Anti-quantum computation key negotiation method and system based on private key pool
CN110519046A (en) Quantum communications service station cryptographic key negotiation method and system based on disposable asymmetric key pair and QKD
CN109951274B (en) Anti-quantum computing point-to-point message transmission method and system based on private key pool
CN110086626A (en) Quantum secret communication alliance chain method of commerce and system based on unsymmetrical key pond pair
CN109660338A (en) Anti- quantum calculation digital signature method and anti-quantum calculation digital signature system based on pool of symmetric keys
CN109728905A (en) Anti- quantum calculation MQV cryptographic key negotiation method and system based on unsymmetrical key pond
CN109905229A (en) Anti- quantum calculation Elgamal encryption and decryption method and system based on group's unsymmetrical key pond
CN110213056A (en) Anti- quantum calculation energy-saving communication method and system and computer equipment based on online static signature
CN109495244A (en) Anti- quantum calculation cryptographic key negotiation method based on pool of symmetric keys
CN110380859A (en) Based on unsymmetrical key pond to and DH agreement quantum communications service station identity identifying method and system
CN110519040B (en) Anti-quantum computation digital signature method and system based on identity
CN110176989A (en) Quantum communications service station identity identifying method and system based on unsymmetrical key pond
WO2016193731A1 (en) Authentication methods, systems, devices, servers and computer program products
CN109905236A (en) Anti- quantum calculation Elgamal encryption and decryption method and system based on private key pond
CN110266483B (en) Quantum communication service station key negotiation method, system and device based on asymmetric key pool pair and QKD
CN109787773B (en) Anti-quantum computation signcryption method and system based on private key pool and Elgamal
CN109687962A (en) Anti- quantum calculation MQV cryptographic key negotiation method and system based on private key pond

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