Secret key exchange method and system based on digital signature on lattice

By adopting a digital signature-based method in key exchange, using the Dilithium algorithm and Peikert coordination mechanism, the problem that existing key exchange methods are vulnerable to man-in-the-middle attacks and quantum computing threats is solved, and efficient and secure key exchange is achieved.

CN119853896APending Publication Date: 2025-04-18GUANGZHOU FANGHE DATA SERVICE CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411755277.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-12-03
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

Existing key exchange methods are vulnerable to man-in-the-middle attacks and can become vulnerable in the face of quantum computers, with high computing and communication overhead.

Method used

A key exchange method based on digital signature on the grid is adopted, and a public-private key pair is generated using the Dilithium algorithm, the intermediate matrix and auxiliary information are signed, and the session key is obtained through the Peikert coordination mechanism.

Benefits of technology

It effectively avoids man-in-the-middle attacks, improves anti-quantum computing capabilities, shortens signature time, and ensures the security and efficiency of key exchange.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119853896A_ABST
    Figure CN119853896A_ABST
Patent Text Reader

Abstract

The invention discloses a secret key exchange method and system based on a digital signature on a lattice, and the method comprises the following steps: a client i and a client j respectively generate public and private key pairs according to preset parameters, the client i inputs and discloses safety parameters of secret key exchange of the client i, generates an intermediate matrix for secret key exchange according to the safety parameters, and sends the intermediate matrix to the client j; after the intermediate matrix is compressed, the compressed intermediate matrix and auxiliary information are signed by adopting a private key and are transmitted to a client j, the client j receives the signature and verifies the signature, if the verification is passed, key exchange is continued, otherwise, exchange is interrupted, and after the verification is passed, an auxiliary matrix is calculated according to public security parameters of the client i; the method comprises the following steps: obtaining a session key, generating auxiliary information of the session key, signing the auxiliary information and sending the auxiliary information to a client i, verifying the signature sent by a client j by the client i, and if the verification is passed, obtaining a symmetric session key according to a Peikert coordination mechanism to complete key exchange. Compared with the prior art, the problem of man-in-the-middle attack easily occurring when the auxiliary information used for generating the session key is exchanged is solved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the field of information security technology, and more specifically, to a key exchange method and system based on digital signature on a grid. Background Art

[0002] Key exchange is a fundamental technique in cryptography that allows two parties to securely share a key over an insecure communication channel. Classic key exchange methods, such as Diffie-Hellman, generate shared keys through mathematical calculations, but this scheme is vulnerable to man-in-the-middle attacks.

[0003] Digital signatures are used to verify the source and integrity of information, and are generally implemented through a public key infrastructure (PKI) to ensure the security of messages during transmission. Traditional digital signature methods (such as RSA) may become vulnerable to quantum computers, while lattice cryptography is based on mathematically difficult lattice problems, such as Learning With Errors (LWE). Compared with traditional cryptographic systems, lattice cryptographic algorithms are considered to have better resistance to quantum computers. In addition, lattice-based digital signatures use lattice structures to achieve security. Compared with traditional methods, lattice-based signatures are usually shorter, which can save bandwidth and achieve fast signature generation and verification processes, making them suitable for real-time applications.

[0004] The prior art discloses a lattice-based revocable attribute-based matching encryption method and system. The key generation center server generates a sending or receiving client key and sends the sending or receiving client key to the sending or receiving client; the sending client encrypts the message to be encrypted based on the sending client key and public parameters to generate a ciphertext, and sends the ciphertext to the receiving client; the receiving client decrypts the ciphertext based on the receiving client key to restore the encrypted message; the sending client embeds an attribute set in the ciphertext, and when the function embedded in the receiving client key satisfies the attribute set in the ciphertext, the receiving client is allowed to decrypt the ciphertext; the receiving client selects an attribute set during the decryption process, and when the function embedded in the sending client key satisfies the attribute set selected by the receiving client, the receiving client is allowed to decrypt correctly; the receiving client identity is put into a revocation list to revoke the decryption authority of the receiving client. A lattice-based revocable attribute-based matching encryption method and system are proposed, which are mainly used for data encryption and access control in cloud computing and cloud storage environments, and provide a revocable attribute-based encryption method, which allows the decryption authority of the user to be revoked when the user key is lost or leaked, thereby enhancing the security and flexibility of the system. Although it provides secure data encryption and access control, it may have relatively high computational and communication overheads, especially when complex attribute-based cryptographic operations are involved.

[0005] To this end, in combination with the above requirements and the defects of the prior art, the present application proposes a key exchange method and system based on digital signature on a grid. Summary of the invention

[0006] The present invention provides a key exchange method and system based on lattice digital signature, which adopts the Dilithium algorithm, has the characteristics of resisting quantum computer attacks and is highly secure under chosen plaintext attacks. The content to be signed is compressed from the matrix to a ciphertext through a compression algorithm, which greatly shortens the signing time without compromising the validity of the signature.

[0007] The primary purpose of the present invention is to solve the above technical problems. The technical solution of the present invention is as follows: The first aspect of the present invention provides a key exchange method based on digital signature on a grid, the method comprising the following steps: S1, client i and client j establish a connection, and according to the preset parameters, each generates a public-private key pair based on the Dilithium signature algorithm. Client i inputs and discloses the security parameters of its key exchange.

[0008] S2. Client i generates an intermediate matrix for key exchange based on the input security parameters.

[0009] S3. After client i compresses the intermediate matrix, it uses the private key generated based on the Dilithium signature algorithm to sign the compressed intermediate matrix and the auxiliary information to be transmitted, and transmits them to client j.

[0010] S4. Client j receives the signature and verifies it. If the verification is successful, the key exchange continues; otherwise, the exchange is interrupted. S5. Client j calculates the auxiliary matrix based on the public security parameters of client i to obtain the session key.

[0011] S6. Client j generates auxiliary information of the session key, signs the auxiliary information using the Dilithium signature algorithm, and sends it to client i.

[0012] S7. Client i verifies the signature sent by client j. If the verification is successful, the client obtains the symmetric session key according to the Peikert coordination mechanism and completes the key exchange.

[0013] Furthermore, the step S1 includes the following specific steps: S11, client i and client j establish a connection, preset parameters ,in is the seed length, is the ring module.

[0014] S12, according to the preset parameters , client i for the preset parameters Run the Dilithium signature algorithm to generate a public key And make it public, and get the private key at the same time ,in Both dimensional vector.

[0015] S13, client i inputs key exchange security parameters and publicly, among which is the matrix dimension, The sampling distribution specified for client i, is the number of bits expected to be extracted from the coefficients in the coordination mechanism, where the security parameter satisfies and .

[0016] S14. Seed the bit string that meets the security parameters Put it into the pseudo-random generator to get a two-dimensional matrix .

[0017] S15. According to the preset parameters , client j for the preset parameters Run the Dilithium signature algorithm to generate a public key And make public, private key .

[0018] Furthermore, step S2 includes the following specific steps: S21: Client i samples the two-dimensional matrix respectively under the condition of meeting the sampling distribution and security parameters in step S13 .

[0019] S22: Client i calculation , and get the intermediate matrix , where any element in the matrix .

[0020] Furthermore, step S3 includes the following specific steps: S31: For the intermediate matrix To compress, run Get the compressed content ,in .

[0021] S32: Client i targets Run the Dilithium signature algorithm and finally get the signature ;in is the signature of the transmitted message, It is auxiliary information provided for signature verification.

[0022] S33: Client i transmission To client j.

[0023] Furthermore, step S4 includes the following specific steps: S41: Message received by client j ,run , get the compressed content .

[0024] S42: Client j targets Run the authentication process in the Dilithium signature algorithm and get the returned Boolean value; if the return value is 1, it means that the verification is successful and the next key exchange with client i continues; if the return value is 0, it means that the received message may be subject to transmission loss or tampering attacks, interrupting the next key exchange with client i.

[0025] Further, when the return value is 1, step S5 is executed, and step S5 includes the following specific steps: S51: Client j will After feeding into the pseudo-random generator, the two-dimensional matrix is ​​recovered .

[0026] S52: Security parameters published by client i , client j samples the two-dimensional matrix under this distribution '' .

[0027] S53: Client j calculation , and get the intermediate matrix , any element in the matrix .

[0028] S54: Client j calculation '', get the session matrix , any element in the matrix .

[0029] S55: Security parameters published by client i , client j to session matrix Each element in is approximated as follows: , and get the approximate matrix , is the session key, where .

[0030] Furthermore, step S6 includes the following specific steps: S61: Client j Each element in is approximated as follows: , and get the approximate matrix .

[0031] S62: Client j runs and , and get the compressed content, which are recorded as and .

[0032] S63: Client j targets and Run the Dilithium signature algorithm to obtain signatures and .in and 'Yes and Signature, To verify the signature Provided auxiliary information, To verify the signature Provided auxiliary information.

[0033] S64: Client j transmits ( ) to client i.

[0034] Furthermore, step S7 includes the following specific steps: S71: The message received by client i ( ),run , get the compressed content ';run , get the compressed content '.

[0035] S72: Client i targets and Run the authentication process in the Dilithium signature algorithm and get the returned Boolean values ​​respectively; if the return values ​​are all 1, it means that the verification is successful and the next key exchange with client i is carried out; if there is a return value of 0, it means that the received message may be subject to transmission loss or tampering attack, interrupting the next key exchange with client i.

[0036] S73: When the Boolean return value is 1, client i uses Get the matrix .

[0037] Furthermore, the rec function is a coordination function. and The difference between corresponding elements of the matrix is ​​less than When , which is the session key.

[0038] The second aspect of the present invention provides a key exchange system based on digital signature on a lattice, which is used for the key exchange method based on digital signature on a lattice, and includes: client i and client j.

[0039] The client i and the client j each generate a public-private key pair according to preset parameters. The client i inputs and discloses its security parameters for key exchange, generates an intermediate matrix for key exchange according to the security parameters, compresses the intermediate matrix, uses the private key to sign the compressed intermediate matrix and the auxiliary information to be transmitted, and transmits them to the client j. The client j receives the signature and verifies it. If the verification is successful, the key exchange continues. Otherwise, the exchange is interrupted. After the verification is successful, the auxiliary matrix is ​​calculated according to the public security parameters of the client i to obtain the session key, generate auxiliary information of the session key, sign the auxiliary information, and send it to the client i. The client i verifies the signature sent by the client j. If the verification is successful, the symmetric session key is obtained according to the Peikert coordination mechanism to complete the key exchange.

[0040] Compared with the prior art, the technical solution of the present invention has the following beneficial effects: The present invention provides a key exchange method and system based on digital signature on a lattice, which adopts the Dilithium signature algorithm to sign the intermediate matrix and auxiliary information, and can effectively avoid the problem of man-in-the-middle attack that is easy to occur when the auxiliary information of the session key is generated. BRIEF DESCRIPTION OF THE DRAWINGS

[0041] Figure 1 The present invention is a flowchart of a key exchange method based on digital signature on a grid.

[0042] Figure 2 The diagram is a schematic diagram of a key exchange system based on digital signature on a grid according to the present invention. DETAILED DESCRIPTION

[0043] In order to more clearly understand the above-mentioned purpose, features and advantages of the present invention, the present invention is further described in detail below in conjunction with the accompanying drawings and specific embodiments. It should be noted that the embodiments of the present application and the features in the embodiments can be combined with each other without conflict.

[0044] In the following description, many specific details are set forth to facilitate a full understanding of the present invention. However, the present invention may also be implemented in other ways different from those described herein. Therefore, the protection scope of the present invention is not limited to the specific embodiments disclosed below.

[0045] First, some symbols and algorithm definitions involved in the present invention are explained:

[0046] : It is based on the key generation algorithm in the Dilithium scheme to generate a public key , private key .

[0047] : It is based on the signature algorithm in the Dilithium scheme, where It is the content that needs to be signed, and finally gets the signature ,in is the signature of the transmitted message, It is auxiliary information provided for signature verification.

[0048] :in It is the content that needs to be verified, and finally returns a Boolean value. If it is 1, the verification is passed, and if it is 0, the verification fails.

[0049] : is an algorithm for compressing matrices. .

[0050] : The .rec function is a coordination mechanism. and The difference between corresponding elements of the matrix is ​​less than When you can get .

[0051] Example 1 like Figure 1 As shown, the present invention provides a key exchange method based on digital signature on a grid, and the method comprises the following steps: S1, client i and client j establish a connection, and according to the preset parameters, each generates a public-private key pair based on the Dilithium signature algorithm. Client i inputs and discloses the security parameters of its key exchange.

[0052] S2. Client i generates an intermediate matrix for key exchange based on the input security parameters.

[0053] S3. After client i compresses the intermediate matrix, it uses the private key generated based on the Dilithium signature algorithm to sign the compressed intermediate matrix and the auxiliary information to be transmitted, and transmits them to client j.

[0054] S4. Client j receives the signature and verifies it. If the verification is successful, the key exchange continues; otherwise, the exchange is interrupted. S5. Client j calculates the auxiliary matrix based on the public security parameters of client i to obtain the session key.

[0055] S6. Client j generates auxiliary information of the session key, signs the auxiliary information using the Dilithium signature algorithm, and sends it to client i.

[0056] S7. Client i verifies the signature sent by client j. If the verification is successful, the client obtains the symmetric session key according to the Peikert coordination mechanism and completes the key exchange.

[0057] According to the above technical features, the present invention combines the quantum resistance of the Dilithium signature algorithm and the verification characteristics of the digital signature. The session key is generated by simultaneously signing and encrypting the intermediate matrix and the auxiliary matrix. The client j generates auxiliary information of the session key, signs the auxiliary information and sends it to the client i. When the client i receives the auxiliary information from the client j, it obtains the shared session key after verifying the validity of the signature.

[0058] In addition, the algorithm compresses the content to be signed from the matrix into a ciphertext, which greatly shortens the signing time without compromising the validity of the signature. The Peikert key coordination mechanism is adopted, and more shared bits are allowed to be extracted, which improves the accuracy and security of key exchange.

[0059] It should be noted that the generation of private keys is random. Even if future private keys are leaked, it will not affect the session keys generated in the past. In addition, the life cycle of a session key is a single session, that is, it is destroyed immediately after use. Therefore, even if a past session key is obtained in the future, only past and meaningless data can be obtained.

[0060] Example 2 Based on the above embodiment 1, combined with Figure 1 , this embodiment describes the technical solution of the present invention in detail.

[0061] In a specific embodiment, step S1 specifically includes: S11: Client i and client j establish a connection and determine the two parties of communication. System preset parameters ,in is the seed length, usually set to 256 bits, is the ring modulus. According to the Dilithium anti-quantum attack security test, It is 8380417.

[0062] S12: According to the system preset parameters , client i runs , generate a public key And make public, private key .in Both dimensional vector.

[0063] S13: Client i enters key exchange security parameters and publicly, among which is the matrix dimension, The sampling distribution specified for client i, such as Gaussian distribution, The number of bits expected to be extracted from the coefficients in the coordination mechanism, the system verifies and , otherwise the security parameters are invalid; S14: It is a bit string seed that meets the security parameters. After the system puts it into the pseudo-random generator (default SHAKE-128), it obtains a two-dimensional matrix .

[0064] S15: According to the system preset parameters , client j runs , generate a public key And make public, private key .

[0065] S21: Client i samples a two-dimensional matrix under the distribution and parameters specified in S13 .

[0066] S22: Client i calculation , and get the intermediate matrix , any element in the matrix .

[0067] S31: For the intermediate matrix To compress, run Get the compressed content ,in .

[0068] S32: Client i runs , and finally got the signature .in is the signature of the transmitted message, It is auxiliary information provided for signature verification.

[0069] S33: Client i transmission To client j.

[0070] S41: Message received by client j ,run , get the compressed content .

[0071] S42: Client j runs , get the returned Boolean value. If the return value is 1, it means that the verification is successful and the next key exchange with client i can be carried out; if the return value is 0, it means that the received message may be subject to transmission loss or tampering attacks, interrupting the next key exchange with client i. The following steps are the case when the Boolean return value is 1.

[0072] S51: Client j will After being fed into a pseudo-random generator (SHAKE-128 by default), the two-dimensional matrix can be recovered due to the determinism of the pseudo-random generator. .

[0073] S52: Security parameters published by client i , client j samples the two-dimensional matrix under this distribution '' .

[0074] S53: Client j calculation , and get the intermediate matrix , any element in the matrix .

[0075] S54: Client j calculation '', get the session matrix , any element in the matrix .

[0076] S55: Security parameters published by client i , client j to session matrix Each element in is approximated as follows: , and get the approximate matrix , is the session key, where .

[0077] S61: Client j Each element in is approximated as follows: , and get the approximate matrix .

[0078] S62: Client j runs and , and get the compressed content, which are recorded as and .

[0079] S63: Client j runs and , and finally get the signatures and .in and 'Yes and Signature, To verify the signature Provided auxiliary information, To verify the signature Provided auxiliary information.

[0080] S64: Client j transmits ( ) to client i.

[0081] S71: The message received by client i ( ),run , get the compressed content ';run , get the compressed content '.

[0082] S72: Client i runs and , and get the returned Boolean value respectively. If the return value is 1, it means that the verification is successful and the next key exchange with client i can be carried out; if there is a return value of 0, it means that the received message may be subject to transmission loss or tampering attack, interrupting the next key exchange with client i. The following steps are when the Boolean return value is 1.

[0083] S73: Client i uses Get the matrix The rec function is a coordination function. and The difference between corresponding elements of the matrix is ​​less than When you can get , which is the session key.

[0084] Example 3 like Figure 2 As shown, the present invention also provides a key exchange system based on digital signature on a lattice, which is used for the key exchange method based on digital signature on a lattice, and includes: client i and client j.

[0085] The client i and the client j each generate a public-private key pair according to preset parameters. The client i inputs and discloses its security parameters for key exchange, generates an intermediate matrix for key exchange according to the security parameters, compresses the intermediate matrix, uses the private key to sign the compressed intermediate matrix and the auxiliary information to be transmitted, and transmits them to the client j. The client j receives the signature and verifies it. If the verification is successful, the key exchange continues. Otherwise, the exchange is interrupted. After the verification is successful, the auxiliary matrix is ​​calculated according to the public security parameters of the client i to obtain the session key, generate auxiliary information of the session key, sign the auxiliary information, and send it to the client i. The client i verifies the signature sent by the client j. If the verification is successful, the symmetric session key is obtained according to the Peikert coordination mechanism to complete the key exchange.

[0086] Obviously, the above embodiments of the present invention are merely examples for clearly illustrating the present invention, and are not intended to limit the embodiments of the present invention. The icons describing the structural positional relationships in the accompanying drawings are only used for exemplary purposes and are not to be construed as limiting the present invention. For those of ordinary skill in the art, other different forms of changes or modifications can be made based on the above description. It is not necessary and is not possible to list all the embodiments here. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present invention shall be included in the scope of protection of the claims of the present invention.

Claims

1. A key exchange method based on digital signature on a lattice, characterized in that: The following steps are involved: S1, client i and client j establish a connection, and according to the preset parameters, each generates a public and private key pair based on the Dilithium signature algorithm. Client i inputs and discloses the security parameters of its key exchange; S2, client i generates an intermediate matrix for key exchange based on the input security parameters; S3, after client i compresses the intermediate matrix, it uses the private key generated based on the Dilithium signature algorithm to sign the compressed intermediate matrix and the auxiliary information to be transmitted, and transmits them to client j; S4. Client j receives the signature and verifies it. If the verification is successful, the key exchange continues; otherwise, the exchange is terminated. S5. Client j calculates the auxiliary matrix based on the public security parameters of client i to obtain the session key; S6. Client j generates auxiliary information of the session key, signs the auxiliary information using the Dilithium signature algorithm, and sends it to client i; S7. Client i verifies the signature sent by client j. If the verification is successful, it obtains the symmetric session key according to the Peikert coordination mechanism and completes the key exchange.

2. A key exchange method based on digital signature on a grid according to claim 1, characterized in that: The step S1 comprises the following specific steps: S11, client i and client j establish a connection, preset parameters ,in is the seed length, is the ring module; S12, according to the preset parameters , client i for the preset parameters Run the Dilithium signature algorithm to generate a public key And make it public, and get the private key at the same time ,in Both dimensional vector; S13, client i inputs key exchange security parameters and publicly, among which is the matrix dimension, The sampling distribution specified for client i, is the number of bits expected to be extracted from the coefficients in the coordination mechanism, where the security parameter satisfies and ; S14. Seed the bit string that meets the security parameters Put it into the pseudo-random generator to get a two-dimensional matrix ; S15. According to the preset parameters , client j for the preset parameters Run the Dilithium signature algorithm to generate a public key And public, private key .

3. A key exchange method based on digital signature on a grid according to claim 2, characterized in that: The step S2 comprises the following specific steps: S21: Client i samples the two-dimensional matrix respectively under the condition of meeting the sampling distribution and security parameters in step S13 ; S22: Client i calculation , and get the intermediate matrix , where any element in the matrix .

4. A key exchange method based on digital signature on a grid according to claim 3, characterized in that: The step S3 comprises the following specific steps: S31: For the intermediate matrix To compress, run Get the compressed content ,in ; S32: Client i targets Run the Dilithium signature algorithm and finally get the signature ;in is the signature of the transmitted message, It is auxiliary information provided for signature verification; S33: Client i transmission To client j.

5. A key exchange method based on digital signature on a grid according to claim 4, characterized in that: The step S4 comprises the following specific steps: S41: Message received by client j ,run , get the compressed content ; S42: Client j targets Run the authentication process in the Dilithium signature algorithm and get the returned Boolean value; if the return value is 1, it means that the verification is successful and the next key exchange with client i continues; if the return value is 0, it means that the received message may be subject to transmission loss or tampering attacks, interrupting the next key exchange with client i.

6. A key exchange method based on digital signature on a grid according to claim 5, characterized in that: When the return value is 1, step S5 is executed, and step S5 includes the following specific steps: S51: Client j will After feeding into the pseudo-random generator, the two-dimensional matrix is ​​recovered ; S52: Security parameters published by client i , client j samples the two-dimensional matrix under this distribution '' ; S53: Client j calculation , and get the intermediate matrix , any element in the matrix ; S54: Client j calculation '', get the session matrix , any element in the matrix ; S55: Security parameters published by client i , client j to session matrix Each element in is approximated as follows: , and get the approximate matrix , is the session key, where .

7. A key exchange method based on digital signature on a grid according to claim 6, characterized in that: The step S6 comprises the following specific steps: S61: Client j Each element in is approximated as follows: , and get the approximate matrix ; S62: Client j runs and , and get the compressed content, which are recorded as and ; S63: Client j targets and Run the Dilithium signature algorithm to obtain signatures and .in and ' Yes and Signature, To verify the signature Provided auxiliary information, To verify the signature Supporting information provided; S64: Client j transmits ( ) to client i.

8. A key exchange method based on digital signature on a grid according to claim 7, characterized in that: The step S7 comprises the following specific steps: S71: The message received by client i ( ),run , get the compressed content ';run , get the compressed content '. S72: Client i targets and Run the authentication process in the Dilithium signature algorithm and get the returned Boolean values ​​respectively; if the return values ​​are all 1, it means that the verification is successful and the next key exchange with client i is carried out; if there is a return value of 0, it means that the received message may be subject to transmission loss or tampering attack, interrupting the next key exchange with client i. S73: When the Boolean return value is 1, client i uses Get the matrix .

9. A key exchange method based on digital signature on a grid according to claim 8, characterized in that: The rec function is a coordination function. and The difference between corresponding elements of the matrix is ​​less than When , which is the session key.

10. A key exchange system based on digital signature on a lattice, the system being used for a key exchange method based on digital signature on a lattice as claimed in any one of claims 1 to 9, characterized in that: Including: client i and client j; The client i and the client j each generate a public-private key pair according to preset parameters. The client i inputs and discloses its security parameters for key exchange, generates an intermediate matrix for key exchange according to the security parameters, compresses the intermediate matrix, uses the private key to sign the compressed intermediate matrix and the auxiliary information to be transmitted, and transmits them to the client j. The client j receives the signature and verifies it. If the verification is successful, the key exchange continues. Otherwise, the exchange is interrupted. After the verification is successful, the auxiliary matrix is ​​calculated according to the public security parameters of the client i to obtain the session key, generate auxiliary information of the session key, sign the auxiliary information, and send it to the client i. The client i verifies the signature sent by the client j. If the verification is successful, the symmetric session key is obtained according to the Peikert coordination mechanism to complete the key exchange.