Next Article in Journal
Modelling a Market Society with Stochastically Varying Money Exchange Frequencies
Previous Article in Journal
Parallel Subgradient-like Extragradient Approaches for Variational Inequality and Fixed-Point Problems with Bregman Relatively Asymptotical Nonexpansivity
Previous Article in Special Issue
Steganographic Method in Selected Areas of the Stego-Carrier in the Spatial Domain
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Three-Party Password Authentication and Key Exchange Protocol Based on MLWE

Third Academic, PLA Information Engineering University, Zhengzhou 450001, China
*
Author to whom correspondence should be addressed.
Symmetry 2023, 15(9), 1750; https://doi.org/10.3390/sym15091750
Submission received: 10 June 2023 / Revised: 30 July 2023 / Accepted: 2 August 2023 / Published: 13 September 2023
(This article belongs to the Special Issue Symmetry and Asymmetry in Cryptography)

Abstract

:
With the rapid development of quantum theory, the discrete logarithm problem and significant integer factorization problem have polynomial solution algorithms under quantum computing, and their security is seriously threatened. Therefore, a three-party password-authenticated key agreement scheme based on module learning with errors problem was proposed, and its security was proved in the BPR model. Compared with other password-authenticated key agreement protocols, the proposed protocol has higher efficiency and a shorter key length, which can resist quantum attacks. Therefore, the protocol is efficient and secure and suitable for large-scale network communication.

1. Introduction

With the rapid development of internet technology and the possible arrival of quantum computers, the demand for data security has become increasingly urgent. Currently, the cryptographic algorithms based on the discrete logarithm problem and the large integer factorization problem have polynomial solving algorithms [1] under quantum computers, and their security cannot be guaranteed. Therefore, cryptographic algorithms that resist quantum computer attacks have been widely studied. Among them, the cryptographic algorithm based on lattice theory has the universality of constructing almost all cryptographic primitives and the characteristics of being able to resist quantum computer attacks, so it has become a research hotspot in the field of cryptography.
Authenticated key exchange (AKE) means that two or more participants in an open network authenticate each other and agree on a shared session key. According to different authentication methods, AKE can be divided into identity-based, certificate-based, and password-authenticated key exchange (PAKE). Password-based authenticated key exchange protocols are easy to remember and operate and can eliminate the dependence on public key infrastructure (PKI) and security hardware. Therefore, the password-authenticated key exchange (PAKE) protocol is the most widely used authenticated key exchange protocol.
The current research on the PAKE protocol mainly focuses on two-party password-authenticated key exchange (2PAKE) [2]. 2PAKE is usually based on the CS model, which requires every two participants to share a password, so the number of passwords needed to be stored will increase with the increase of the number of users communicating with it, and it is not suitable for the communication between a large number of users. Therefore, researchers proposed the three-party password-authenticated key exchange (3PAKE) [3], in which users only need to share a low-entropy password with a trusted server. The trusted server authenticates between two users and helps two users with different passwords to negotiate keys, which is suitable for large-scale network communication.
The research on the PAKE protocol mainly focuses on two-party password-based authenticated key exchange [2]. 2PAKE is usually based on the CS (client-server) model, which requires every two participants to share a password. The complexity of passwords managed by 2PAKE increases exponentially with the number of participants, so it is unsuitable for the scenario where many participants need to mutually authenticate key exchange. For the scenario in which a large number of participants need a mutually authenticated key exchange, researchers have proposed a three-party password-authenticated key exchange protocol [3,4,5,6].
In 1995, Steiner et al. [7] first proposed the 3PAKE protocol, in which two users with different passwords authenticate each other and negotiate a key with the help of a trusted server. In the same year, Ding et al. [8] pointed out that Steiner’s protocol was vulnerable to the undetectable online dictionary attack. In 2000, Lin et al. pointed out that Steiner’s protocol was also vulnerable to offline dictionary attacks and proposed a new 3PAKE which can resist undetectable online dictionary attacks and offline dictionary attacks. However, its implementation depends on the server’s public key and has a high communication overhead. In 2001, Lin et al. [9] improved the protocol proposed by Lin et al. [5] and proposed a 3PAKE protocol that does not rely on the server’s public key, but the communication overhead is still high. In 2005, Abdalla et al. [3] proposed a security model for a 3PAKE protocol based on the BPR model and a new real-or-random (ROR) security model and constructed a general 3PAKE protocol framework based on a 2PAKE protocol. Since then, researchers have proposed several PAKE protocols [10,11,12,13,14,15,16] that can be provably secure in the random oracle model based on traditional mathematical problems.
Compared with the 3PAKE protocol based on traditional mathematical difficulties, the research on the 3PAKE protocol based on the lattice started late. It was not until 2013 that Ye Mao et al. [17] constructed the first 3PAKE protocol based on the lattice scheme of KATZ [18]. The scheme realizes the key exchange based on the ideal lattice and reduces the overhead of 3PAKE.
2017 Xu et al. [19] improved the 2PAKE protocol on the lattice proposed by Ding et al. [20] based on RLWE and Ding’s error coordination mechanism and designed a three-party PAKE protocol. Implementation based on an error coordination mechanism is more efficient than that using the smooth projection hash function. In 2018, Wang et al. [21] improved Xu’s 3PAKE protocol by considering both implicit authentication and explicit authentication. In the same year, Yu et al. [22] proposed a more efficient three-party PAKE protocol based on the split public key encryption scheme proposed by Zhang et al. [23] in 2017. In 2021, influenced by the verifier proposed by Gao [24] in 2018, Shu Qin et al. [25] designed a 3PAKE protocol based on RLWE that can resist server compromise attacks. Shu Qin et al. proved that the protocol is secure in the universally composable model.
The current PAKE protocols that can resist quantum computing attacks are mainly concentrated in two-party scenarios, and there are fewer PAKE protocols for three-party scenarios. 2PAKE can better solve the key exchange problem in the client-server environment, but it is unsuitable for communication between many users. The 3PAKE protocol can solve this problem. The current 3PAKE protocol is mainly implemented based on LWE and RLWE, and no 3PAKE protocol design is based on MLWE. MLWE is a compromise between learning with errors (LWE) and ring learning with errors (RLWE); module learning with errors (MLWE) retains the matrix format while introducing ring polynomials. Therefore, MLWE has a lower overhead than LWE and has higher security than RLWE. At the same time, MLWE can flexibly configure parameters of different security levels by adjusting the matrix dimension.
Contribution: Aiming at the current PAKE protocol that can resist quantum computing attacks, this paper constructs a three-party PAKE protocol based on the MLWE problem using Peikert error coordination technology. The new protocol proposed in this paper has the following advantages:
  • The new protocol is a three-party PAKE protocol. Compared with the two-party PAKE protocol, it can solve the problem of password storage and management in multi-user scenarios;
  • The new three-party PAKE protocol is based on the MLWE problem and the Peikert error reconciliation mechanism is implemented. Compared with the LWE problem-based scheme, its performance is better under the same security parameters. Compared with the RLWE problem-based 3PAKE, it can provide a more flexible parameter configuration;
  • The transmitted signal value of Peikert error reconciliation mechanism may bring the risk of signal leakage attack. The new three-party PAKE protocol does not need to transfer signal value in clear text, which can effectively resist signal leakage attacks.

2. Preliminaries

In this section, the definition of MLWE hard problems and the notation used in this paper are presented.

2.1. Sampling Random Variables on Lattice

Lattice cryptography adopts a particular probability distribution as noise to ensure that each sampling and the generated data are indistinguishable.
Definition 1.
Gaussian function on the lattice.
Given the parameters s > 0 , c R n , the continuous Gaussian function ρ s , c x in n-dimensional space is defined as: ρ s , c x = exp π x c 2 s 2 . c is called the center of the Gaussian and s is called the parameter of the Gaussian function. Then, for Gaussian function on a lattice Λ , denoted as ρ s , c Λ = x Λ ρ s , c x .
Definition 2.
The discrete Gaussian distribution on a lattice.
It is known that the Gaussian function on the lattice Λ is ρ s , c Λ = x Λ ρ s , c x , if the random variable ξ satisfies P s , c ξ = x = ρ s , c x ρ s , c Λ ; then, the random variable ξ is said to obey the discrete Gaussian distribution D Λ , s , c x with c as the center and the parameter s on the lattice.
Definition 3.
The central binomial distribution on the lattice.
The central binomial distribution sampling on the lattice can be used to improve the sampling efficiency and ensure that the results are indistinguishable from the discrete Gaussian distribution sampling. According to the work of Bai et al. [26], vectors sampled by the central binomial distribution with parameter η are statistically indistinguishable from vectors sampled by n-dimensional discrete Gaussian distribution with parameter η / 2 . Therefore, B η is an approximate Gaussian distribution with zero expectation and variance η / 2 , which can be used as the noise distribution in learning with errors problems. When a polynomial or matrix of such polynomials is sampled from B η in this paper, each polynomial coefficient is sampled from B η .
Take a 0 , a 1 , , a η , b 0 , b 1 , , b η 0 , 1 2 η uniformly and randomly, and output j = 1 η a j b j . f is a polynomial whose coefficients satisfy the B η distribution, and v is an n-dimensional vector composed of k polynomials f . Sample n coefficients satisfy B η distribution from B η distribution to form polynomial f , denoted as f β η . When the generated k polynomials f form a vector v , it is marked as v β η k .
Specifically, the input of the CBD algorithm in this paper is the n × 2 η bit output of the pseudo-random function; the output is a polynomial f β η . The process is defined as follows Algorithm 1.
Algorithm 1: Central Binomial Distribution Sampling Algorithm
1. Input: the n × 2 η bit sequence B = b 0 , b 1 , , b n × 2 η 1 B n × 2 η ;
2. output: polynomial f R q .
3. For i from 0 to n – 1
4. a : = j = 0 η 1 b 2 i η + j ,
5. b : = j = 0 η 1 b 2 i η + η + j ,
6. f i : = a b ,
7. End for
8. Return f = f 0 + f 1 x + f i x 2 + + f n 1 x n 1

2.2. MLWE Problem

Since RLWE introduces additional algebraic structures on lattices, there may be potential security risks, such as the recently proposed attack using ring ideal lattice algebraic structures. In 2015, Langlois et al. [27] proposed the modular error-tolerant learning problem (MLWE). The design scheme introduced a tiny dimension (usually 2, 3, and 4 dimensions) in the polynomial ring structure and reduced the polynomial in the polynomial ring. The number of dimensions makes the operating efficiency comparable to RLWE while ensuring the same security. The MLWE problem can be reduced to a difficult problem on the lattice.
The following gives the definition of the MLWE problem [28] with parameters ( n , q , k , η ) , where n is the dimension of the vector, q is the modulus, q is the modulus in the polynomial ring R q n = Z q x / f ( x ) , f ( x ) is the irreducible polynomial x n + 1 , k is the dimension of the polynomial matrix, and β η is a central binomial distribution on R q n . By randomly selecting the polynomial matrix A R q k × k and randomly and uniformly selecting the secret s β η k and the error vector e β η k , b = A s + e R q k . The following two distributions exist:
  • The distribution ( A , b ) , in which the polynomial matrix A R q k × k , the secret s β η k , the error vector e β η k is chosen uniformly at random, compute b = A s + e R q k .
  • The distribution ( A , b ) , where the polynomial matrix A R q k × k and b R q k is chosen uniformly at random.
Then, the difficult problem of search MLWE based on module lattice is given distribution 1, for ( A , b ) and b = A s + e R q k in distribution 1; finding s β η k is difficult.
Then, the difficult problem of decision MLWE based on module lattice is given distribution 1 and distribution 2, and judging whether the given ( A , b ) is from distribution 1 or distribution 2.

2.3. Reconciliation Mechanism

The error reconciliation mechanism has a similar principle to the fuzzy extractor, which enables two parties with similar values to obtain the same value through information transmission and calculation.
By improving the original Ding-type error reconciliation mechanism [29], in 2014, Peikert [30] proposed the Peikert error reconciliation mechanism, which intercepts the high-order bits of the Z q element so that both parties evenly extract an identical bit from each Z q element. The specific process of the error reconciliation mechanism is described in detail below.
Supposing q is a prime number greater than 2, define Z q = q / 2 , , 0 , , q / 2 1 .
Define the following three intervals: I 0 = 0 , 1 , , q / 4 1 , I 1 = q / 4 , , 1 , E = q / 8 , q / 8 Z .
Definition 4. 
Error reconciliation mechanism.
The cross-rounding function: x q , 2 = 4 / q x m o d 2 , if x is uniformly random, then x q , 2 is uniformly random.
The modular rounding function: x q , 2 = 2 / q x , if x is uniformly random, then x q , 2 is uniformly random.
The reconciliation function: R e c w , σ = 0 , w I σ + E   m o d   q 1 , e l s e ;
When the above two functions are extended for the elements in MLWE, it is equivalent to performing the wrong reconciliation for each term of the polynomial on the R q ring to obtain the correct shared key of n bits.
For an even number q , if w + v = e   m o d   q mod q is known, and w Z q ,   e E , then we have v q , 2 = R e c w , v q , 2 .
For an odd q , then if the synchronization function rec is used directly at this time, the output is uneven. At this time, randomized function d b l x = 2 x e ¯ is introduced, where e ¯ is a random term. The probability that e ¯ is 0 is 0.5, and the probability that e ¯ is −1 and 1 is 0.5. If v Z q is uniformly random, let v ¯ = d b l v Z 2 q , then given dbl(v), v ¯ 2 q , 2 on Z 2 q is uniformly random. If w + v = 2 e   m o d   2 q is known, and w Z 2 q , e E , then we have v ¯ 2 q , 2 = R e c w , v ¯ 2 q , 2 .
When the above two functions are extended to the elements of a polynomial ring, R q , it is equivalent to performing error reconciliation for each term of the polynomials in the ring to obtain the correct shared key.

2.4. PWE Assumption Based on MLWE

To facilitate the construction of the security proof of the PAKE protocol, refer to the PWE (pairing with errors) assumption proposed by Ding [20] based on RLWE hard problem and DING error reconciliation mechanism, and propose the PWE assumption based on the MLWE problem.
To determine the content of the PWE assumption based on the MLWE problem, let the adversary be an algorithm in probabilistic polynomial events, and the input A , X , Y , σ , where A R q k × k , X R q k , s y , e y , e z β η k , Y = A T s y + e y R q k , σ = d b l X T s y + e z 2 q , 2 0 , 1 n , K = d b l X T s y + e z 2 q , 2 0 , 1 n . Then, the goal of the adversary C is to obtain the value of the K from the input of A , X , Y , σ . In this paper, the adversary’s advantage in breaking the PWE assumption based on MLWE problem is formally defined as follows.
A d v R q M P W E C = Pr A R q k × k ; s y β η k ; e y β η k ; e z β η ; Y A T s y + e y ; σ d b l X T s y + e z 2 q , 2 : K = C A , X , Y , σ
Let A d v R q M P W E t , N = m a x C A d v R q M P W E C , where, all adversaries with the maximum time complexity t will take advantage of the maximum attack, and these adversaries will output a list containing at most N elements belonging to 0 , 1 n . The MPWE assumption shows that t is negligible for t and N under the bounds of security parameters. The decision version of the MPWE problem can be defined as follows.
Definition 5.
Decision MPWE problem.
Given A , X , Y , σ , K R q k × k × R q k × R q k × 0 , 1 n × 0 , 1 n , where σ = d b l X T s y + e z 2 q , 2 , K = d b l X T s y + e z 2 q , 2 0 , 1 n . Set Z = X T s y + e z , then the DMPWE problem is to decide whether Y R q k and randomly uniformly generated Y R q k can be distinguished. If DMPWE is hard, then MPWE is hard.
Before reducing the DMPWE problem to the MLWE problem, it is first necessary to define an MLWE-DH problem, which can be reduced to the decision MLWE problem.
Definition 6.
MLWE-DH problem.
Given A , X , Y , Z R q k × k × R q k × R q k × R q , where A R q k × k , X R q k , then the MLWE-DH problem is to decide whether Z = X T s y + e z , Y A T s y + e y R q × R q k and random uniformly generated Z , Y R q × R q k can be distinguished.
Theorem 1.
Assuming that the decision MLWE problem is hard, the MLWE-DH problem is also hard.
Proof of Theorem 1.
Suppose there exists an algorithm D that can solve the MLWE-DH problem with a non-negligible advantage on the input A , X , Y , Z . Then an algorithm D can be constructed to solve the decision MLWE problem based on the algorithm. Specifically, two decision MLWE instances A 1 , b 1 and A 2 , b 2 with the same private key s y R q k are first given. The execution process of the algorithm D is as follows:
  • Set A , X , Y , Z = A 1 , A 2 , b 1 , b 2 ;
  • Input A , X , Y , Z into the algorithm D ;
If the algorithm D outputs 1, then that means Z = X T s y + e z , Y A T s y + e y   R q × R q k , b 2 = A 2 T s y + e z , b 1 A 1 T s y + e y R q × R q k , the algorithm D also outputs 1. If the algorithm D outputs 0, then it means that Z , Y R q × R q k is randomly uniformly generated. Therefore, b 2 , b 1 R q × R q k is randomly uniformly generated, in which case the algorithm D also outputs 0. The decision MLWE problem is solved. □
Suppose an algorithm can solve the MLWE-DH problem with non-negligible advantage. In that case, one can construct an algorithm to solve the decision MLWE problem with non-negligible advantage. However, this is contrary to the hardness of the decision MLWE problem itself, so if the decision MLWE problem is hard, the MLWE-DH problem is also hard.
Theorem 2.
Assuming that the MLWE-DH problem is hard, the DMPWE problem is also hard.
Proof of Theorem 2.
Suppose an algorithm D exists that can solve the DMPWE problem with a non-negligible advantage on the input A , X , Y , σ , K . An algorithm D can be constructed based on the algorithm D to solve the MLWE-DH problem. Specifically, the algorithm D execution process is as follows:
  • For an instance of the MLWE-DH problem A , X , Y , Z , set σ = d b l Z 2 q , 2 0 , 1 n , K = d b l Z 2 q , 2 0 , 1 n ;
  • Input A , X , Y , σ , K to the algorithm D ;
If the algorithm D outputs 1, then that means Y A T s y + e y R q k . Therefore, b 1 A T s y + e y R q k , the algorithm D also outputs 1. If the algorithm D outputs 0, then it means that Y R q k is randomly uniformly generated. Therefore, b 1 R q k is randomly uniformly generated, in which case the algorithm D also outputs 0. The MLWE-DH problem is solved. □
Suppose an algorithm D can solve the DMPWE problem with a non-negligible advantage. In that case, an algorithm D can be constructed to solve the MLWE-DH problem with non-negligible advantage.
It can be seen from Theorem 1 that the MLWE-DH problem is difficult, which is contrary to the solvability of the MLWE-DH problem. Therefore, if the MLWE-DH problem is hard, then DMPWE is also hard.

2.5. Three-Party PAKE Security Model

This section mainly adopts [20,31,32] models in the literature to give a more realistic three-party PAKE security model, which can more accurately evaluate the real risk faced by the three-party PAKE protocol.
Security game: an algorithm game between the challenger C and the adversary. The challenger C runs an instance of the simulator simulating the protocol P , running the protocol P on behalf of the honest user.
System model: Similar to the existing three-party PAKE protocol, the system model consists of a server set and a user set, while also assuming the existence of a dictionary library of size D . At the protocol’s beginning, two users and are extracted from the user set, and their passwords P W i and passwords P W j are assigned from the dictionary library, respectively. Then, extract a server from the server set and assign it a password P W i and a password P W j . The users U i and U j authenticate and exchange information to establish a shared session key through the server.
Adversary capability: An adversary A operating in probabilistic polynomial time is assumed to have complete control over the communication channel. The adversary A can create, forward or modify a message. The adversary can also create multiple instances to participate in the concurrent execution of the protocol. The participant instance of the 3PAKE protocol is denoted by identity Π P i ; the two instances of the user are denoted by Π A i and Π B i , and the instance of the server is denoted by Π S i . The security of the protocol is defined by a series of games between the challenger C and the adversary A , in which the adversary A can query any given participant instance as follows:
Execute ( Π A i , Π B i , Π S i ) query: This query characterizes the passive attack capability of the adversary A . The adversary can obtain the information transmitted over the channel during the honest interaction of the protocol by querying the instances.
Send ( Π P i , m ) query: This query describes the dynamic attack capability of the adversary A . The adversary can interact with the Π P i instance by intercepting, forwarding, and modifying the generated information m . The oracle output is the reply message executed according to the protocol specification after Π P i receiving the generated information from the adversary A .
Reveal ( Π U i ) query: This query captures the ability to leak session keys when a participant in a user instance Π U i misuses a session key. The adversary A obtains the session key S K U i in the user instance through this query.
Corrupt ( Π P i ) query: This query characterizes the forward security of the protocol, allowing the adversary A to damage the protocol participants at will. If the participant is a server, return the passwords of both users to the adversary A ; if the participant is a user, return the passwords of the corresponding users to the adversary A .
Test ( Π P i ) query: This query characterizes the adversary’s ability to distinguish a real session key from random values. Randomly flip a coin b 0 , 1 ; if b = 0 , return the real negotiated key, if b = 1 , return any random number in the session key space. Finally, the adversary A outputs b ; if b = b , the adversary A wins. If the result of this query is guaranteed to be valid, it should be assured that the queried session instance is fresh.
Based on the above description, this section gives the following definitions:
Definition 7.
Partnership.
This article uses session identifiers to define partnerships, where S i d is an identifier used to uniquely name one of the sessions corresponding to that instance. P i d is used to determine the identity of the user instance that is talking to the instance. S K is the value of the shared secret that both user instances Π A i and Π B i have completed the calculation of the last step stipulated in the protocol. Both Π A i and Π B i instances maintain list Sid A i , Pid A i , SK A i and Sid B i , Pid B i , SK B i , respectively. Partnership is said to be satisfied when the following conditions are satisfied: 1. Sid A i = Sid B i ; 2. Pid A i = B , Pid B i = A ; 3. SK A i = SK B i .
Definition 8.
Freshness.
Π A i is a fresh instance when Π A i is an honest session, and satisfies the following conditions:
  • The adversary has not performed the Reveal ( Π U i ) query on the user instance Π A i or its partner Π B i ;
  • The adversary has not executed the Corrupt ( Π P i ) query on the user instance Π A i , the partner instance Π B i , or the server instance Π S i .
Definition 9.
Semantic safety.
The PAKE protocol is secure if the following conditions are satisfied:
Two honest user instances satisfy the partnership and compute the same session key (otherwise the protocol fails).
Under the BPR model, the goal of adversary A is to identify the real session key from a given random key and the real session key. The adversary performs a special test ( Π P i ) query. Finally, adversary A outputs b , and if b = b , then adversary A wins. The advantage of adversary A in attacking instance Π U i is defined as: A d v Π A k e A = 2 Pr b = b 1 . The 3PAKE protocol is semantically safe if A d v Π A k e A is negligible for all probabilistic polynomial-time adversaries A .

3. Our Protocol

Aiming at the current PAKE protocol that can resist quantum computing attacks, this chapter constructs a three-party PAKE protocol based on the MLWE problem and the Peikert error reconciliation technique. The new protocol has the following advantages: (1) The new protocol is a three-party PAKE protocol, compared with the two-party PAKE protocol, so it can solve the problem of password storage and management in multi-user scenarios. (2) The new three-party PAKE protocol is implemented based on the MLWE problem and Peikert error reconciliation mechanism, which has better performance than the scheme based on the LWE problem under the same security parameters and can provide more flexible parameter configuration than the 3PAKE based on RLWE problem. (3) The signal value transmitted by the Peikert error reconciliation mechanism may bring the risk of signal leakage attack. The new tripartite PAKE protocol does not need to transmit the signal value in plaintext, which can effectively resist the signal leakage attack.

3.1. System Initialization Process

In the PAKE scheme in this paper, R and R q represent Z x / x n + 1 and Z q x / x n + 1 , respectively; the lowercase italic letters represent column vectors, in which the elements belong to the ring R or R q ; the capital italic letters indicate matrix. Let n , q , k be the public parameters of the PAKE scheme, where n is a power of 2, and q is an odd prime and satisfies q 1 mod n . A R q k × k represents a sample matrix uniformly from R q k × k . s , e β η k × β η k represents a sample private key and noise uniformly from β η k .

3.2. Registration Process

When users i join the system, they need to register with the server S through a secure channel. The details are as follows:
  • i S : ID i , PW 1 .The user i selects an identity ID i , a private password PW 0 , and calculates shared password PW 1 = H 0 ( ID i | | PW 0 ) . After that, the user i sends registration request ID i , PW 1 to the server S .
  • S i : TID i , H 1 .The server S receives the registration request ID i , PW 1 from the user i , generates random number n 0 , calculates the temporary identity TID i = H 0 ID i | | n 0 | | PW 1 of the user i , and retains the shared password PW 1 . After that, the server S sends TID i to the user i .

3.3. Authentication and Key Exchange Phase

When users A and users B need to share the session key for communication, it is necessary to establish two-way authentication between users A with users B based on the trusted server to ensure the legitimacy of the identities of both users A and users B , and an exchange shared session key.
The execution process of the protocol is described in Figure 1:
1.
A S : M 0 = T I D A , T I D B , n 1 , b A 0
The user A samples s A 0 , e A 0 β η k × β η k uniformly, generates random number n 1 , and calculates b A 0 = A s A 0 + e A 0 . The user A sends M 0 = T I D A , T I D B , n 1 , b A 0 to the server S .
2.
S B : M 1 = T I D A , T I D B , n 1 , n 2 , b A 0 , b S 1
Upon the server receiving M 0 , the server confirms the identity of the client applying for authentication and key exchange through T I D A , T I D B . Then, the server samples s S 0 , e S 0 , e S 1 β η k × β η k × β η and s S 1 , e S 2 β η k × β η k uniformly generate random number n 2 and calculate b S 0 = A T s S 0 + e S 0 , b S 1 = A s S 1 + e S 2 and v 0 = b A 0 T s S 0 + e S 1 . The server uses the randomized function, cross-rounding function, and modular rounding function to calculate b. The randomized function, cross-rounding function, and modular rounding function are used to calculate v ¯ 0 d b l v 0 , σ 0 < v ¯ 0 > 2 q , 2 and k 0 v ¯ 0 2 q , 2 , and send M 1 = T I D A , T I D B , n 1 , n 2 , b A 0 , b S 1 to the user B .
3.
B S : M 2 = T I D A , A u t h 0 , σ 1 , n 3 , c 0 , b B 0
After the user B receives the message M 1 , user B sample s B 0 , e B 0 , e B 1 , e B 2 β η k × β η k × β η × β η uniformly generates random numbers n 3 , n 4 , and calculates b B 0 = A T s B 0 + e B 0 , v 1 = b S 1 T s B 0 + e B 1 and v 2 = b A 0 T s B 0 + e B 2 . The user B uses the randomized function to calculate v ¯ 1 d b l v 1 and v ¯ 2 d b l v 2 ; uses the cross-rounding function to calculate σ 1 < v ¯ 1 > 2 q , 2 and σ 2 < v ¯ 2 > 2 q , 2 ; uses the modular rounding function to calculate k 1 v ¯ 1 2 q , 2 and k 2 v ¯ 2 2 q , 2 .
The user B calculates the authentication information A u t h 0 = H 1 T I D A , T I D B , n 2 , n 3 , k 1 , P W B 1 between the server and user B , and calculates the authentication information A u t h 1 = H 1 T I D A , T I D B , b A 0 , b B 0 , n 1 , n 3 , n 4 , k 2 between user A and user B . Then, user B calculates the shared key s k 0 = H 2 T I D A , T I D B , n 2 , n 3 , k 1 , P W B 1 between user B and uses the shared key to encrypt σ 2 , n 4 , A u t h 1 . At this time, user B sets the shared key s k B = H 2 T I D A , T I D B , b A 0 , b B 0 , n 1 , n 3 , n 4 , k 2 between user B and user A . User B sends M 2 = T I D A , A u t h 0 , σ 1 , n 3 , c 0 , b B 0 to the server.
4.
S A : M 3 = T I D B , n 2 , σ 0 , c 1 , A u t h 2 , b B 0 , b S 0
The server calculates v 1 = b B 0 T s S 1 , then the user uses the Peikert error reconciliation function to calculate k 1 = R e c 2 v 1 , σ 1 0 , 1 n . The server calculates the verification information A u t h 0 = H 1 T I D A , T I D B , n 2 , n 3 , k 1 , P W B 1 with user B and the verification information A u t h 2 = H 1 T I D A , T I D B , n 1 , n 3 , k 0 , P W A 1 with user A . If A u t h 0 = A u t h 0 , the server continues to calculate the shared key s k 0 = H 2 T I D A , T I D B , n 2 , n 3 , k 1 , P W B 1 with user B and the shared key s k 1 = H 2 T I D A , T I D B , n 1 , n 2 , k 0 , P W A 1 with user A , and the server uses the shared key s k 0 to decrypt c 0 to obtain σ 2 , n 4 , A u t h 1 . After the user finishes decrypting, the server uses the shared key s k 1 with user A to encrypt σ 2 , n 4 , A u t h 1 to obtain c 1 . The server sends M 3 = T I D B , n 2 , σ 0 , c 1 , A u t h 2 , b B 0 , b S 0 to user A .
5.
s k A = s k B
After user A receives the message M 3 , user A calculates v 0 = b S 0 T s A 0 and uses the Peikert error reconciliation function to calculate k 0 = R e c 2 v 0 , σ 0 . Then, user A calculates A u t h 2 = H 1 T I D A , T I D B , n 1 , n 2 , k 0 , P W A 1 and compares it with the received authentication information A u t h 2 of the server; if A u t h 2 = A u t h 2 , the server’s identity is credible. User A calculates the shared key s k 1 = T I D B , n 1 , n 2 , k 0 , P W A 1 with the server, and decrypts c 1 to obtain σ 2 , n 4 , A u t h 1 . Based on the decrypted information, user A continues to calculate v 2 = b B 0 T s A 0 and uses the Peikert error reconciliation function to calculate k 2 = R e c 2 v 2 , σ 2 . Then, the user calculates A u t h 1 =   H 1 T I D A , T I D B , b A 0 , b B 0 , n 1 , n 4 , k 2 and compares it with A u t h 1 . If A u t h 1 = A u t h 1 , user A ‘s identity is credible, and user A obtains the same session key s k A = H 2 T I D A , T I D B , b A 0 , b B 0 , n 1 , n 4 , k 2 as user B .

4. Proof of Correctness of the Protocol

If the protocol participants all run the protocol honestly, they will obtain s k A = s k B with significant probability. In the protocol, the following is the correctness proof that user A and user B obtain the same session key when the honest user executes the scheme.
It is known that s k A = H 2 T I D A , T I D B , b A 0 , b B 0 , n 1 , n 4 , k 2 and s k B = H 2 T I D A , T I D B , b A 0 , b B 0 , n 1 , n 4 , k 2 .
So, if k 2 = k 2 , user A and user B will obtain the same session key. This paper has k 2 = R e c 2 v 2 , σ 2 and k 2 v ¯ 2 2 q , 2 . From the Peikert error reconciliation function, if all the coefficients of the polynomial obtained by v ¯ 2 2 v 2 are not in q / 4 , q / 4 , then k 2 = k 2 can be obtained in this paper.
v ¯ 2 = d b l v 2 = 2 v 2 + e ¯
v 2 = b A 0 T s B 0 + e B 2 = A s A 0 + e A 0 T s B 0 + e B 2 = s A 0 T A T s B 0 + e A 0 T s B 0 + e B 2
v 2 = b B 0 T s A 0 = A T s B 0 + e B 0 T s A 0 = s B 0 T A s A 0 + e B 0 T s A 0 = s A 0 T A T s B 0 T + e B 0 T s A 0
Since s A 0 T A T s B 0 is a polynomial, so v ¯ 2 2 v 2 = 2 e A 0 T s B 0 + 2 e B 2 + e ¯ 2 e B 0 T s A 0 . According to the central binomial distribution sampling algorithm, all the coefficients of the obtained polynomial 2 e A 0 T s B 0 + 2 e B 2 + e ¯ 2 e B 0 T s A 0 are not in q / 4 , q / 4 . So, from the Peikert error reconciliation function, user A and user B will obtain s k A = s k B with significant probability.

5. Security Analysis

This section proves the AKE security of the three-party PAKE protocol proposed in this paper based on the BPR model, and analyzes the security properties satisfied by the protocol against known attacks.

5.1. Security proof

This section is mainly based on the BPR model to prove the security of the three-party PAKE protocol scheme proposed in this paper. Each participant, including the adversary, is simulated in this protocol section as a set of probabilistic polynomial oracles. Suppose there is a polynomial time adversary A , user instances Π A i and Π B i of the ith session, and server instance Π S i . The adversary’s ability can be abstracted as several queries on the Execute, Send, Reveal, Corrupt, and Test oracles.
Theorem 3.
Let  Π  be the protocol proposed in this paper, and  D  be the dictionary library of size  D . q s e , q e x , q r e , q c o  respectively represent Send, Execute, Reveal, Corrupt queries, and  q r o  represent querying random oracles. Assume that the emulator controls all oracles that the adversary  A  has access to. The simulator runs the protocol  Π , including choosing a password for each user. Then, for a polynomial time adversary  A , the advantage of its attack protocol is defined as:  A d v Π A k e A q r o + q s e + q e x 2 / q n k + q s e / 2 d + q r o / q n k + 2 A d v R q M P W E t , q r o + 2 A d v R q D M L W E t , q r o + q s e / D .
Proof of Theorem 3.
The game G i i = 0 , , 7 is defined in the security model of this section. Among these, G 0 = Π is equivalent to the honest implementation of the protocol. In G 7 , it is equivalent to simulating the protocol in the ideal situation under the random oracle model; at this time, the advantage of the adversary attacking the protocol is negligible. For any game G i , define the event that the adversary guesses correctly to randomly select the bit b in the Test query as S u c c i . The advantage of the adversary attacking the protocol in G i is greater than that of the adversary attacking the protocol in G i 1 ; that is, the security of the protocol is gradually reduced, so we can obtain:
A d v G 0 A k e A A d v G 1 A k e A + ε 1 A d v G 2 A k e A + ε 2 A d v G 3 A k e A + ε 3 A d v G 4 A k e A + ε 4 A d v G 5 A k e A + ε 5 A d v G 6 A k e A + ε 6 A d v G 7 A k e A + ε 7
The ε 1 ε 7 in the formula is negligible. By combining these negligible values with the probability of success of an online password-guessing attack, this paper can calculate the adversary’s advantage of the success in attacking the protocol.
For ease of understanding, this article distinguishes between user queries Π A i , user queries Π B i , and server queries Π S i . Adversary A makes one of the following queries:
A 0 query: whether to instruct some unused Π A i instance to send the first message to the server instance Π S i , which corresponds to the user Π A i start of the authenticated key exchange phase;
S 1 query: whether some messages were sent to a previously unused server instance Π S i , and the server instance Π S i is expected to send some messages to user instance Π B i , which corresponds to the first response of the server during the authentication key exchange phase;
B 1 query: whether a message has been sent to an unused user instance Π B i , and the user instance is expected to send a message to the server instance Π S i , which corresponds to the first response of the user Π B i in the authentication key exchange phase;
S 2 query: whether a message was sent to a used server instance Π S i and is expected to send a message to a user instance Π A i , which corresponds to the second response of the server during the authentication key exchange phase;
A 1 query: Whether a message was sent to a user instance Π A i indicating that this is the last message for this key exchange, corresponding to the last message received during the authenticated key exchange phase.
For ease of understanding, the adversary can define session key guessing and password guessing events for user instances and server instances at any stage in the query process:
Testsk ( A , i , B , S , l ): For b A 0 , b B 0 , b S 0 , b S 1 , adversaries A perform a query H l T I D A , T I D B , b A 0 , b B 0 , n 1 , n 4 , k 2 ; the query A 0 , whose output is T I D A , T I D B , n 1 , b A 0 , the A 1 query whose input is T I D B , n 2 , σ 0 , c 1 , A u t h 2 , b B 0 , b S 0 , and the nearest query is the query H l ( ) or query A 1 , where k 2 = R e c 2 v 2 , σ 2 and v 2 = b B 0 T s A 0 , the event’s associated value is the output of H l ( ) , l 1 , 2 (representing A u t h 1 , s k A , respectively).
Testsk! ( A , i , B , S , l ): For b B 0 , c 1 , making a A 1 query with input T I D B , n 2 , σ 0 , c 1 , A u t h 2 , b B 0 , b S 0 and results in the event Testsk ( A , i , B , S , 1 ) with associated value is A u t h 1 .
Testsk ( B , j , A , S , l ): For b A 0 , b B 0 , b S 0 , b S 1 , the adversary has made B 1 queries with the input T I D A , T I D B , n 1 , n 2 , b A 0 , b S 1 and output T I D A , A u t h 0 , σ 1 , n 3 , c 0 , b B 0 . Then, the adversary has made the H l T I D A , T I D B , b A 0 , b B 0 , n 1 , n 4 , k 2 query, where k 2 v ¯ 2 2 q , 2 , v 2 = b A 0 T s B 0 + e B 2 . The event’s associated value is the output of H l ( ) , l 1 , 2 (representing A u t h 1 , s k A respectively).
Testsk* ( B , j , A , S ): For l 1 , 2 , Testsk( B , j , A , S , l ) occurs.
Testsk ( A , i , B , j , S ): For l 1 , 2 , the Testsk ( A , i , B , S , l ) and Testsk ( B , j , A , S , l ) events occur simultaneously, where Π A i is paired with Π B j and Π B i is paired with Π A j after the S 2 query.
Testexecsk ( A , i , B , j , S ): For b A 0 , b B 0 , b S 0 , b S 1 , and adversary A has executed ( Π A i , Π B i , Π S i ) query with output ( b A 0 , b B 0 , b S 0 , b S 1 , c 1 ), then adversary A has made H l T I D A , T I D B , b A 0 , b B 0 , n 1 , n 4 , k 2 , where k 2 v ¯ 2 2 q , 2 = R e c 2 v 2 , σ 2 . The event’s associated value is the output of H l ( ) , l 1 , 2 (representing A u t h 1 , s k A , respectively).
Correctsk: Testsk! ( A , i , B , S , l ) events occurs on A , i , B and S or Testsk* ( B , j , A , S ) occurs on B , j , A , and S , before any Corrupt queries.
Correctskexec: Testexecsk ( A , i , B , j , S ) occurs on A , i , B , j , S .
Pairedskguess: For A , i , B , j , S , the Testsk ( A , i , B , j , S ) event occurs.
Correctauth 0: For b B 0 , b S 1 , the adversary makes the H 1 T I D A , T I D B , n 2 , n 3 , k 1 , P W B 1 query, the S 1 query with input T I D A , T I D B , n 1 , b A 0 and output T I D A , T I D B , n 1 , n 2 , b A 0 , b S 1 , and S 2 query with input as T I D A , A u t h 0 , σ 1 , n 3 , c 0 , b B 0 , where the nearest query is the H 1 ( ) query or S 2 query. If k 1 = R e c 2 v 1 , σ 1 , v 1 = b B 0 T s S 1 , the associated value for this event is A u t h 0 .
Correctauth 2: For b A 0 , b S 0 , the adversary makes the H 1 T I D A , T I D B , n 1 , n 2 , k 0 , P W A 1 query, the A 0 query with input T I D A , T I D B , n 1 , b A 0 , the A 1 query with input T I D B , n 2 , σ 0 , c 1 , A u t h 2 , b B 0 , b S 0 , and the nearest query is the H 1 ( ) query or the A 1 query. k 0 = R e c 2 v 0 , σ 0 , v 0 = b S 0 T s A 0 . The associated value for this event is A u t h 2 .
Correctpw: The adversary made a correct guess about the user’s password.
The next step is to make security reduction on the 3PAKE protocol proposed in this paper:
G 0 : This game simulates a real attack under the random oracle model for the PAKE protocol proposed in this paper. The advantage of an adversary in breaking the protocol can be defined as: A d v G 0 A k e A = 2 Pr S u c c 0 1 .
G 1 : In this game, the simulator simulates a random oracle H i i 0 , 1 by maintaining hash lists H 0 and H 1 . In a hash query, if there is a record m , r in the hash list, r is returned; otherwise, an element r Z q is randomly selected, m , r is added to the list, and r is returned. □
Lemma 1.
For probabilistic polynomial adversaries  A , G 1  and  G 0  are indistinguishable.
Proof. 
Obviously, unless adversary A can break the one-way hash function, adversary A cannot distinguish the output of the hash function and random string. Thus, G 1 and G 0 are indistinguishable: | A d v G 0 A k e A A d v G 1 A k e A | n e g l .
G 2 : G 2 and G 1 are indistinguishable unless an honest player randomly chooses b A 0 , b B 0 , b S 0 , b S 1 which appeared in a previous query; then, the protocol aborts and the adversary fails. □
Lemma 2.
For probabilistic polynomial adversaries  A , the advantage of distinguishing between games  G 2  and  G 1  games is:  A d v G 2 A k e A A d v G 1 A k e A q r o + q s e + q e x 2 / q n k .
Proof. 
That is, b A 0 cannot be equal to the b A 0 that appeared in the previous Execute ( Π A i , Π B i , Π S i ), Send ( Π P i , m ) query, A 0 query, S 1 query or B 1 query and random oracle query; b S 0 cannot be equal to b S 0 that appeared in the previous Execute ( Π A i , Π B i , Π S i ), Send ( Π P i , m ) query, S 2 query, A 1 query, or random oracle query. b S 1 cannot be equal to the b S 1 that appears in the previous Execute ( Π A i , Π B i , Π S i ), Send ( Π P i , m ) query, S 1 query, B 1 query, or random oracle query; b B 0 cannot be the same as b B 0 that appeared in the previous Execute ( Π A i , Π B i , Π S i ), Send ( Π P i , m ) query, B 1 query, S 2 query, A 1 query, or random oracle query.
From the birthday attack, the probability of distinguishing G 2 from G 1 for a probabilistic polynomial adversary does not exceed: A d v G 2 A k e A A d v G 1 A k e A q r o + q s e + q e x 2 / q n k .
G 3 : G 3 is same as G 2 , except that the adversary does not use the random oracle model in the output of Execute ( Π A i , Π B i , Π S i ) and Send ( Π P i , m ) queries. Subsequent oracle queries by the adversary will be as consistent as possible with Execute ( Π A i , Π B i , Π S i ) and Send ( Π P i , m ) queries. The specific queries are answered as follows:
For the Execute ( Π A i , Π B i , Π S i ) query, b A 0 = A s A 0 + e A 0 , b S 0 = A T s S 0 + e S 0 , b S 1 = A s S 1 + e S 2 , b B 0 = A T s B 0 + e B 0 , where s A 0 , e A 0 , s S 0 , e S 0 , s S 1 , e S 2 , s B 0 , e B 0 is taken randomly from the distribution β η k , A u t h 0 , σ 1 , A u t h 2 random uniform is taken from the distribution 0 , 1 d , and c 0 , c 1 is generated uniformly at random from distribution 0 , 1 .
For S 1 queries on server instances Π S i , b A 0 = A s A 0 + e A 0 , where s A 0 , e A 0 , s S 1 , e S 2 are randomly taken from the distribution β η k .
For B 1 queries on the user instance Π B i , b B 0 = A T s B 0 + e B 0 where s B 0 , e B 0 is taken randomly from the distribution β η k , and A u t h 0 , σ 1 are taken randomly uniformly from the distribution 0 , 1 d , and c 0 is the generated uniformly at random from distribution 0 , 1 .
For S 2 queries on server instances Π S i , if the query results in a Correctauth0 event, set b S 0 = A T s S 0 + e S 0 , where s S 0 , e S 0 are randomly taken from the distribution β η k . Otherwise, the server instance aborts.
For A 1 queries on the user instance Π A i , if the query results in a Correctauth2 event, perform the following steps:
If the user instance Π A i is not yet paired with a user instance Π B i , and the query results in a Testsk! ( A , i , B , S , l ), then set s k A to the relevant value of Testsk ( A , i , B , S , 2 ).
Set s k A = s k B , if the user instance Π A i has already paired with a user instance Π B i .
Otherwise, the user instance Π A i terminates.
If the query does not result in a Correctauth2 event, the user instance Π A i terminates.
For H l query, l 1 , 2 , if the query results in the occurrence of the events Testsk ( A , i , B , S , l ), Testsk ( B , j , A , S , l ), Testexecsk ( A , i , B , j , S ), Correctauth0, or Correctauth2, then output the associated value of the event, otherwise output a random value. □
Lemma 3.
For any polynomial adversary,  A d v G 3 A k e A A d v G 2 A k e A q s e / 2 d + q r o / q n k .
Proof. 
The design of G 3 is a standard technique used in the security analysis of random oracle. G 3 and G 2 are indistinguishable unless the adversary makes the following two queries:
The Correctauth0 or Correctauth2 event caused by the H l query with the correct password as input, but the total probability of this happening is at most q r o / q n k since the adversary cannot actually obtain the correct password.
The Send ( Π P i , m ) query terminates either the user instance or the server instance. According to the above analysis, the query that causes the termination of the user instance Π A i is the A 1 query, and the query that causes the termination of the server instance Π S i is the S 2 query. If the query does not cause a Correctauth0 event, the server instance terminates. The probability of termination is not more than q s e / 2 d .
Thus, for any polynomial adversary, the advantage of distinguishing G 3 and G 2 is A d v G 3 A k e A A d v G 2 A k e A q s e / 2 d + q r o / q n k .
G 4 : G 4 is the same as G 3 , except that in H l T I D A , T I D B , b A 0 , b B 0 , n 1 , n 4 , k 2 , the query executes a random response without checking the consistency of its output with the Execute query. That is, the Testexecsk ( A , i , B , j , S ) event does not occur in G 4 . □
Lemma 4.
For any polynomial adversary, the advantage of distinguishing  G 4  and  G 3  is  A d v G 4 A k e A A d v G 3 A k e A 2 A d v R q M P W E t , q r o + 2 A d v R q D M L W E t , q r o .
Proof. 
Clearly, if the Testexecsk ( A , i , B , j , S ) event does not occur, G 4 and G 3 are indistinct. If an adversary can cause Testexecsk ( A , i , B , j , S ) to occur with non-negligible probability, then a simulator can construct an algorithm D to solve the MPWE problem by running the adversary on G 3 . Given A , X , Y , σ , the algorithm simulates the game G 3 by changing it as follows.
  • When adversary makes the Execute ( Π A i , Π B i , Π S i ) query, the algorithm D sets b A 0 = X + A s A 0 + e A 0 , b B 0 = Y + A T s B 0 + e B 0 , where s A 0 , e A 0 , s B 0 , e B 0 are taken from the distribution β η k . At the same time, it is assumed that the adversary knows what is selected randomly and uniformly. This assumption will only increase the advantage of the adversary’s successful attack.
  • When the adversary finishes, for each H l T I D A , T I D B , b A 0 , b B 0 , n 1 , n 4 , k 2 query, where b A 0 , b B 0 , n 1 is obtained in the Execute query, k 2 = R e c 2 v 2 , σ 2 = v ¯ 2 2 q , 2 , v ¯ 2 d b l v 2 , v 2 = b A 0 T s B 0 + e B 2 . Then, the algorithm D can compute:
    v 2 = b A 0 T s B 1 + e B 1 = X + A s A 0 + e A 0 T s y + s B 0 + e B 1 = X T s y + X T s B 0 + s A 0 T A T s y + s A 0 T A T s B 0 + e A 0 T s y + e A 0 T s B 0 + e B 1 X T s y + s A 0 T Y + X + A s A 0 + e A 0 T s B 0
Calculate K = R e c 2 X T s y , σ = R e c 2 v 2 s A 0 T Y X + A s A 0 + e A 0 T s B 0 , σ and add K to the list of possible values of the MPWE problem, at which point the MPWE problem is solved.
When the algorithm D simulates the game G 3 , algorithm D sets b A 0 = X + A s A 0 + e A 0 , b B 0 = Y + A T s B 0 + e B 0 to replace the actual b A 0 = A s A 0 + e A 0 , b B 0 = A T s B 0 + e B 0 , respectively. Because X is randomly uniformly drawn from the distribution R q k , b A 0 set by the algorithm and the actual b A 0 are indistinguishable. Because Y = A T s y + e y , unless the adversary can solve the DMLWE problem with a non-negligible advantage, the algorithm sets b B 0 and the actual b B 0 is indistinguishable. Considering the difficulty of the MPWE problem, assuming t is the algorithm D ’s running time, D creates a list of size q r o with the advantage of ε , and t = O t + q s e + q e x + q r e + q c o t e x p .
For probabilistic polynomial adversaries A , the advantage of distinguishing between games G 4 and G 3 games is A d v G 4 A k e A A d v G 3 A k e A 2 A d v R q M P W E t , q r o + 2 A d v R q D M L W E t , q r o .
G 5 : G 5 is the same as G 4 , unless the adversary is able to execute the Correctsk event before the Corrupt query. When the adversary executes the Correctsk event, the protocol terminates and the adversary succeeds. Compared to G 4 , G 5 makes following changes:
Before the Corrupt query, in A 1 query to the user instance Π A i , if the Testsk! ( A , i , B , S , l ) event occurs, the protocol terminates and the adversary succeeds.
Before the Corrupt query, for the H l query, if the Testsk* ( B , j , A , S ) event occurs, the protocol terminates and the adversary succeeds. □
Lemma 5.
For any polynomial adversary,  A d v G 4 A k e A A d v G 5 A k e A .
Proof. 
Clearly, the definition only increases the advantage of the adversary; then, for any polynomial, the adversary A d v G 4 A k e A A d v G 5 A k e A .
G 6 : G 6 is the same as G 5 unless the adversary guesses the password of the paired two user instances. At this point, the protocol is terminated and the adversary fails. If the Pairedskguess event occurs, the protocol terminates and the adversary fails. This section assumes that the test for Correctsk occurs after the test for Pairedskguess when the query is made.
This will make the following changes to G 5 : If a Testsk( A , i , B , S , l ) event occurs for l 1 , 2 (this event should be checked in the A 1 query or H l query), check whether the Testsk( A , i , B , j , S ) event also occurs. □
Lemma 6.
For any polynomial adversary, the advantage of distinguishing  G 6  and  G 5  is  A d v G 6 A k e A A d v G 5 A k e A 2 A d v R q M P W E t , q r o + 2 A d v R q D M L W E t , q r o .
Proof. 
Clearly, G 6 and G 5 are indistinguishable if the Pairedskguess event does not occur. If the adversary can make the Pairedskguess occur with non-negligible probability in G 5 , then the algorithm D can be constructed to solve the MPWE problem by running the adversary in G 5 . Given A , X , Y , σ , the algorithm D simulates the game G 5 by changing the following.
In A 0 queries to user instances Π A i , the algorithm D sets b A 0 = X .
In the B 1 query with input as T I D A , T I D B , n 1 , n 2 , b A 0 , b S 1 to the user instance Π B j , there is A 0 query for the user instance Π B j with output T I D A , T I D B , n 1 , b A 0 , and S 1 query with input is T I D A , T I D B , n 1 , b A 0 , and the output is T I D A , T I D B , n 1 , n 2 , b A 0 , b S 1 , and set b B 0 = Y + A T s B 0 + e B 0 , where s B 0 , e B 0 are all taken from β η k .
In the A 1 query to user instance Π A i , if Π A i has not been paired, the algorithm outputs 0 and aborts.
After the adversary attack is finished, for each H l T I D A , T I D B , b A 0 , b B 0 , n 1 , n 4 , k 2 query, when b A 0 and b B 0 are in a related Π A i query, the algorithm D can be calculated as follows:
v 2 = b A 0 T s B 1 + e B 1 = X T s y + s B 0 + e B 1 = X T s y + X T s B 0 + e B 1 X T s y + X T s B 0
Calculate K = R e c 2 X T s y , σ = R e c 2 v 2 X T s B 0 , σ , and add K to the list of possible values of the MPWE problem; then, the MPWE problem is solved.
When the algorithm D simulates the game G 5 , algorithm D sets b B 0 = Y + A T s B 0 + e B 0 to replace actual b B 0 = A T s B 0 + e B 0 . Because Y = A T s y + e y , unless the adversary can solve the DMLWE problem with non-negligible advantage, the algorithm D sets b B 0 and the actual b B 0 is indistinguishable. Considering the difficulty of the MPWE problem, assuming t is the algorithm D ′s running time, D creates a list of size q r o with the advantage of ε , and t = O t + q s e + q e x + q r e + q c o t e x p .
For probabilistic polynomial adversaries A , the advantage of distinguishing between games G 6 and G 5 games is A d v G 6 A k e A A d v G 5 A k e A 2 A d v R q M P W E t , q r o + 2 A d v R q D M L W E t , q r o .
G 7 : G 7 is the same as G 6 , except that there is an internal password oracle that keeps all passwords and is used to check the correctness of a given password in G 7 . This oracle is password-safe. The password oracle initializes all passwords and is unavailable to arbitrary polynomial adversaries.
The oracle accepts queries of the form testpw ( U , P W ) and returns TRUE if P W = P W U , FALSE otherwise. It also accepts a Corrupt ( U ) query and returns P W 1 = H 0 ( I D i | | P W 0 ) if U is a server, else returns P W U . When a protocol receives a Corrupt( U ) query, it answers with a Corrupt ( U ) query to the password oracle. □
Lemma 7.
For any polynomial adversary,  G 7  and  G 6  are indistinguishable,  A d v G 7 A k e A = A d v G 6 A k e A .
Proof. 
Clearly, G 7 and G 6 are completely indistinguishable.
Now this section analyzes the advantages of the adversarial attack game G 7 . According to the definition of the game G 7 , this section can easily bound the probability of the adversary’s success in the game as follows.
Pr S u c c 7 A Pr Correctpw + ( Pr Correctsk ¬ Correctpw + Pr S u c c 7 A ¬ Correctsk ¬ Correctpw Pr ¬ Correctsk ¬ Correctpw ) Pr ¬ Correctpw
For Pr Correctpw , since passwords are randomly selected from a dictionary of size D and will occur at most q s e queries to the password oracle, then Pr Correctpw q s e / D .
For Pr Correctsk ¬ Correctpw , since the adversary cannot decrypt n 4 without correctly guessing the password, the probability of the event Correctsk is negligible; that is, the probability Pr Correctsk ¬ Correctpw is negligible.
For Pr S u c c 7 A ¬ Correctsk ¬ Correctpw , the Correctsk event and Correctpw event have not occurred; then, if and only if the adversary successfully guesses the password used in the Test query on a fresh instance, the adversary succeeds in the attack. Since Pr Correctsk | ¬ Correctpw is negligible, the Pr ¬ Correctsk ¬ Correctpw probability is close to 1, so Pr S u c c 7 A ¬ Correctsk ¬ Correctpw Pr ¬ Correctsk ¬ Correctpw 1 / 2 .
In summary, Pr S u c c 7 A q s e / D + 1 / 2 1 q s e / D 1 / 2 + q s e / 2 D , so for any polynomial adversary, the advantage of its attack game G 7 is A d v G 7 A k e A q s e / D .
Integrating G 0 to G 7 , the advantage of the adversary’s successful attack is A d v Π A k e A q r o + q s e + q e x 2 / q n k + q s e / 2 d + q r o / q n k + 2 A d v R q M P W E t , q r o + 2 A d v R q D M L W E t , q r o + q s e / D and its value is negligible. The attacker bases the query on the random oracle, and the advantage of a successful attack is almost zero. The PAKE protocol scheme in this paper is provably secure based on the random oracle model, and the security of the protocol can ultimately be attributed to the difficulty of the MLWE problem on the lattice. □

5.2. Security Properties

This section will mainly analyze how the three-party PAKE protocol of this paper satisfies the proposed security requirements.
1.
Mutual authentication between three parties
In the proposed protocol, there is implicit authentication with user Π A i and explicit authentication with user Π B i for server Π S i , explicit authentication with user Π B i and server Π S i for user Π A i , and implicit authentication with user Π A i and server Π S i for Π B i . After the user Π A i obtains the shared key with users Π B i , the user Π B i can explicitly authenticate user Π A i ’s identity by sending the authentication information or encrypting the message with the shared key. Therefore, the proposed protocol realizes mutual authentication among the three parties, and only the legitimate party with a legitimate password can authenticate.
2.
Known key security
The session keys are independent of each other. Even if the adversary obtains a specific session key, it cannot obtain other session keys through this session key. The final session key in this paper is s k A = H 2 T I D A , T I D B , b A 0 , b B 0 , n 1 , n 4 , k 2 , which is constructed by the identity of the polynomial matrix regenerated each time b A 0 , b B 0 , random numbers and the secret information k 2 are exchanged and calculated by two users. Therefore, each session key is independent of each other, and the collision probability is minimal. Therefore, the three-party PAKE protocol proposed in this paper has known-key security.
3.
Forward security
The forward security of PAKE means that even if the adversary obtains one or more shared passwords, the attacker cannot obtain the previously established session key. That is, session keys and passwords are independent of each other. Since the three-party PAKE protocol proposed in this paper needs the random number n 1 , n 4 generated in this session, the calculated k 2 every time the session key is generated, and the session key is independent of the user password. Therefore, the protocol in this paper can provide forward security.
4.
Resist three types of dictionary attacks
The dictionary attacks on the PAKE protocol can be divided into three categories: offline dictionary attacks, testable online dictionary attacks, and untestable online dictionary attacks.
For the offline dictionary attack, the adversary intercepts the information through the open channel and can carry out the dictionary attack A u t h 0 , A u t h 2 , c 0 and c 1 . If the adversary conducts dictionary attack on A u t h 0 or c 0 , the adversary needs to overcome the MPWE problem with inputs b B 0 and b S 1 to calculate k 1 . If the adversary conducts a dictionary attack on A u t h 2 or c 1 , it needs to overcome the MPWE problem with inputs b A 0 and b S 0 to calculate k 0 . According to the difficulty of the MPWE problem, the protocol in this paper can resist offline dictionary attacks.
For the measurable online dictionary attack, the adversary pretends to be the user Π B i and the server Π S i to launch an online dictionary attack on the user Π A i . Since the user Π A i will verify whether the server Π S i holds the password and whether the user Π B i is legal during the stage A 1 , once the verification fails many times, the user Π A i will realize that Π A i is the target of online dictionary attacks. Suppose the adversary pretends to be the user Π A i and the server Π S i to launch an online dictionary attack on the user Π B i . Then, user Π B i will authenticate user Π A i through the verification information or the message encrypted with the shared key after the key exchange is completed sent by the user Π A i . In that case, once the verification fails many times, user Π B i will realize that Π B i is the target of online dictionary attacks. Suppose the adversary pretends as user Π A i and user Π B i to launch an online dictionary attack on the server. Since the server Π S i can verify whether the user Π B i is legal in the stage S 1 , the verification fails many times. In that case, the server Π S i realizes it has become the target of the online dictionary attack. Once a protocol participant realizes that it has become the target of an online dictionary attack, it can immediately notify the other party that shares the password to update the password. Therefore, the protocol in this paper can resist measurable online dictionary attacks.
For untestable online dictionary attacks, since all online dictionary attacks in this protocol are detectable, the adversary cannot conduct untestable online dictionary attacks on the protocol participants.

6. Performance Analysis

In this section, the parameter settings of the proposed tripartite PAKE scheme and the comparison tripartite PAKE scheme are given, and the performance analysis is carried out from three aspects: computational efficiency, communication efficiency, and security. Considering that the computational complexity of symmetric encryption, hash function, and Peikert error reconciliation operation are much smaller than that of polynomial multiplication operation and public and private key generation operation, when comparing the computational efficiency, this section mainly considers polynomial multiplication operation and public and private key generation operation with high computational cost, and ignores the rest of the operations.

6.1. Parameter Selection

This section assumes that for all PAKE protocols, the size of the username is 64 bytes, the output length of the hash function is 256 bits, and the size of the random number is taken to be 256 bits. The parameters of the scheme implemented based on the RLWE hard problem are selected, and the parameters of the scheme based on the MLWE hard problem are set, as where the dimension of the polynomial in the polynomial ring, and the parameter of the central binomial distribution is the modulus n , η , q = 768 , 2 , 3329 n , k , η , q = 256 , 3 , 2 , 3329 n R q k η q LWE_ESTIMATOR [33] for the LWE hard problem and the scheme based on the MLWE hard problem, respectively. The results show that both parameter configurations can achieve 222 bits of post-quantum security.

6.2. Computational Efficiency

The software implementation of the protocol presented in this paper was executed on a 64-bit system computer with 2.30 GHz 11th Gen Intel(R) Core(TM) i7-11800H and 16 GB RAM on Windows 11 Version 22H2. In order to improve the computational efficiency, the NTT algorithm was introduced O n 2 to reduce the O n log n computational complexity of polynomial multiplication and public and private key generation operations to a minimum. The following Table 1 provides the average operation time costs of polynomial multiplication and public and private key generation operations obtained from 1,000,000 measurements under different parameter configurations. It can be seen from the table that under the same post-quantum security bits, the average operation time of polynomial multiplication with MLWE parameters and RLWE parameters is almost the same, and the public and private key generation with MLWE parameters is slightly more expensive than that with RLWE parameters.

6.3. Performance Comparison

Table 2 shows the comparison of the proposed tripartite PAKE scheme [21,34,35]. In terms of security, all the schemes can resist the offline dictionary attack. Compared with Choi’s scheme [34], in terms of communication overhead, the amount of communication data of the proposed scheme is basically the same as that of other schemes [34,35]. In terms of computational overhead, the proposed scheme is almost the same as Liu’s scheme. In addition, the tripartite PAKE protocol implemented based on the RLWE hard problem introduces a structured lattice which brings new security threats, while the proposed scheme implemented on the MLWE hard problem has higher potential security than the tripartite PAKE protocol implemented to solve the RLWE hard problem.

7. Conclusions

The two-party PAKE protocol will bring huge overhead and management problems when applied to a large number of user communication scenarios. Therefore, researchers have proposed the three-party PAKE protocol. However, the current three-party PAKE protocols are often designed based on traditional difficult mathematical problems, which are vulnerable to quantum computing attacks. Therefore, it is urgent to study the three-party PAKE protocols that can resist quantum computing attacks. Based on the MLWE problem, this paper proposes a provably secure tripartite PAKE protocol under the BPR model for the first time. The security analysis shows that the proposed tripartite PAKE protocol realizes mutual authentication between three parties and can resist three types of dictionary attacks, and has higher or equivalent security than the existing schemes. Compared with the existing schemes, the proposed tripartite PAKE protocol has almost the same amount of communication data, but has the lowest communication rounds. Computational cost analysis shows that the computational cost of the proposed tripartite PAKE protocol is almost the same as that of the existing tripartite PAKE protocol. Considering the potential security problems of the tripartite PAKE protocol based on e RLWE hard problem, the tripartite PAKE protocol based on the MLWE hard problem proposed in this paper has higher practical value.

Author Contributions

Conceptualization, S.G. (Songhui Guo) and Y.S.; methodology, S.G. (Songhui Guo) and Y.S.; software, S.G. (Song Guo); validation, Y.Y. and S.S.; formal analysis, Y.S.; writing—original draft preparation, S.G. (Songhui Guo) and Y.S.; writing—review and editing, Y.Y. and S.S. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Data Availability Statement

Data are available on request to the authors.

Acknowledgments

The authors would like to thank anonymous reviewers for their valuable comments, which helped improve the content, organization, and quality of this article.

Conflicts of Interest

The authors declare no conflict of interest.

References

  1. Shor, P.W. Algorithms for quantum computation: Discrete logarithms and factoring. In Proceedings of the 35th Annual Symposium on Foundations of Computer Science, Santa Fe, NM, USA, 20–22 November 1994; pp. 124–134. [Google Scholar]
  2. Law, L.; Menezes, A.; Qu, M.; Solinas, J.; Vanstone, S.; Vanstone, S. An Efficient Protocol for Authenticated Key Agreement. Des. Codes Cryptogr. 2003, 28, 119–134. [Google Scholar] [CrossRef]
  3. Abdalla, M.; Fouque, P.A.; Pointcheval, D. Password-Based Authenticated Key Exchange in the Three-Party Setting. In Proceedings of the International Conference on Theory & Practice in Public Key Cryptography, Les Diablerets, Switzerland, 23–26 January 2005. [Google Scholar]
  4. Dongna, E.; Cheng, Q.; Ma, C. Password authenticated key exchange based on RSA in the three-party settings. In Proceedings of the Provable Security: Third International Conference, ProvSec 2009, Guangzhou, China, 11–13 November 2009; pp. 168–182, Proceedings 3. [Google Scholar]
  5. Lin, C.; Sun, H.; Hwang, T. Three-party encrypted key exchange: Attacks and a solution. ACM SIGOPS Oper. Syst. Rev. 2000, 34, 12–20. [Google Scholar] [CrossRef]
  6. Chang, T.; Hwang, M.; Yang, W. A communication-efficient three-party password authenticated key exchange protocol. Inf. Sci. 2011, 181, 217–226. [Google Scholar] [CrossRef]
  7. Steiner, M.; Tsudik, G.; Waidner, M. Refinement and extension of encrypted key exchange. ACM SIGOPS Oper. Syst. Rev. 1995, 29, 22–30. [Google Scholar] [CrossRef]
  8. Ding, Y.; Horster, P. Undetectable on-line password guessing attacks. ACM SIGOPS Oper. Syst. Rev. 1995, 29, 77–86. [Google Scholar] [CrossRef]
  9. Lin, C.; Sun, H.; Steiner, M.; Hwang, T. Three-party encrypted key exchange without server public-keys. IEEE Commun. Lett. 2001, 5, 497–499. [Google Scholar] [CrossRef]
  10. Lee, T.; Hwang, T.; Lin, C. Enhanced three-party encrypted key exchange without server public keys. Comput. Secur. 2004, 23, 571–577. [Google Scholar] [CrossRef]
  11. Lu, R.; Cao, Z. Simple three-party key exchange protocol. Comput. Secur. 2007, 26, 94–97. [Google Scholar] [CrossRef]
  12. Huang, H.F. A simple three-party password-based key exchange protocol. Int. J. Commun. Syst. 2009, 22, 857–862. [Google Scholar] [CrossRef]
  13. Lee, C.; Li, C.; Hsu, C. A three-party password-based authenticated key exchange protocol with user anonymity using extended chaotic maps. Nonlinear Dyn. 2013, 73, 125–132. [Google Scholar] [CrossRef]
  14. Zhao, J.; Gu, D. Provably secure three-party password-based authenticated key exchange protocol. Inf. Sci. 2012, 184, 310–323. [Google Scholar] [CrossRef]
  15. Lou, D.C.; Huang, H.F. Efficient three-party password-based key exchange scheme. Int. J. Commun. Syst. 2011, 24, 504–512. [Google Scholar] [CrossRef]
  16. Wu, S.; Chen, K.; Zhu, Y. Enhancements of a three-party password-based authenticated key exchange protocol. Int. Arab. J. Inf. Technol. 2013, 10, 215–221. [Google Scholar]
  17. Mao, Y. Password Authenticated Key Exchange Protocol in the Three Party Setting Based on Lattices. J. Electron. Inf. Technol. 2014, 35, 1376–1381. [Google Scholar]
  18. Katz, J.; Vaikuntanathan, V. Smooth Projective Hashing and Password-Based Authenticated Key Exchange from Lattices; Springer: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
  19. Xu, D.; He, D.; Choo, K.R.; Chen, J. Provably secure three-party password authenticated key exchange protocol based on ring learning with error. Cryptol. ePrint Arch. 2017. [Google Scholar]
  20. Ding, J.; Alsayigh, S.; Lancrenon, J.; Saraswathy, R.V.; Snook, M. Provably Secure Password Authenticated Key Exchange Based on RLWE for the Post-Quantum World. In Proceedings of the Cryptographers Track at the RSA Conference, San Francisco, CA, USA, 14–17 February 2017. [Google Scholar]
  21. Wang, C.; Chen, L. Three-party password authenticated key agreement protocol with user anonymity based on lattice. J. Commun. 2018, 39, 21–30. [Google Scholar]
  22. Yu, J.; Lian, H.; Tang, Y.; Shi, M.; Zhao, Z. Password-based three-party authenticated key exchange protocol from lattices. J. Commun. 2018, 39, 87–97. [Google Scholar]
  23. Zhang, J.; Yu, Y. Two-round PAKE from approximate SPH and instantiations from lattices. In Proceedings of the Advances in Cryptology–ASIACRYPT 2017: 23rd International Conference on the Theory and Applications of Cryptology and Information Security, Hong Kong, China, 3–7 December 2017; pp. 37–67, Proceedings, Part III 23. [Google Scholar]
  24. Gao, X.; Ding, J.; Liu, J.; Li, L. Post-quantum secure remote password protocol from RLWE problem. In Proceedings of the Information Security and Cryptology: 13th International Conference, Inscrypt 2017, Xi’an, China, 3–5 November 2017; pp. 99–116, Revised Selected Papers 13. [Google Scholar]
  25. Shu, Q.; Wang, S.; Hu, B.; Han, L. Verifier-Based Three-Party Password-Authenticated Key Exchange Protocol from Ideal Lattices. J. Cryptol. Res. 2021, 8, 294–306. [Google Scholar] [CrossRef]
  26. Bai, S.; Lepoint, T.; Roux-Langlois, A.; Sakzad, A.; Stehlé, D.; Steinfeld, R. Improved security proofs in lattice-based cryptography: Using the Rényi divergence rather than the statistical distance. J. Cryptol. 2015, 31, 610–640. [Google Scholar] [CrossRef]
  27. Langlois, A.; Stehlé, D. Worst-case to average-case reductions for module lattices. Des. Codes Cryptogr. 2015, 75, 565–599. [Google Scholar] [CrossRef]
  28. Bos, J.; Ducas, L.; Kiltz, E.; Lepoint, T.; Lyubashevsky, V.; Schanck, J.M.; Schwabe, P.; Seiler, G.; Stehlé, D. CRYSTALS-Kyber: A CCA-secure module-lattice-based KEM. In Proceedings of the 2018 IEEE European Symposium on Security and Privacy (EuroS&P), London, UK, 24–26 April 2018; pp. 353–367. [Google Scholar]
  29. Ding, J.; Lin, X. A Simple Provably Secure Key Exchange Scheme Based on the Learning with Errors Problem. Iacr Cryptol. Eprint Arch. 2013. [Google Scholar]
  30. Peikert, C. Lattice cryptography for the internet. In Proceedings of the Post-Quantum Cryptography: 6th International Workshop, PQCrypto 2014, Waterloo, ON, Canada, 1–3 October 2014; pp. 197–219, Proceedings 6. [Google Scholar]
  31. Bellare, M.; Pointcheval, D.; Rogaway, P. Authenticated Key Exchange Secure Against Dictionary Attacks. In Proceedings of the International Conference on the Theory & Applications of Cryptographic Techniques, Bruges, Belgium, 14–18 May 2000. [Google Scholar]
  32. Bellare, M.; Rogaway, P. Entity authentication and key distribution. In Proceedings of the Annual International Cryptology Conference, Santa Barbara, CA, USA, 22–26 August 1993; pp. 232–249. [Google Scholar]
  33. Albrecht, M.R.; Player, R.; Scott, S. On the concrete hardness of Learning with Errors. J. Math. Cryptol. 2015, 9, 169–203. [Google Scholar] [CrossRef]
  34. Choi, R.; An, H.; Kim, K. AtLast: Another three-party lattice-based PAKE scheme. In Proceedings of the 2018 Symposium on Cryptography and Information Security (SCIS 2018), Niigata, Japan, 23–26 January 2018. [Google Scholar]
  35. Liu, C.; Zheng, Z.; Jia, K.; You, Q. Provably secure three-party password-based authenticated key exchange from RLWE. In Proceedings of the Information Security Practice and Experience: 15th International Conference, ISPEC 2019, Kuala Lumpur, Malaysia, 26–28 November 2019; pp. 56–72, Proceedings 15. [Google Scholar]
Figure 1. Authentication and key exchange phase.
Figure 1. Authentication and key exchange phase.
Symmetry 15 01750 g001
Table 1. Operation time of polynomial multiplication operation and public and private key generation operations.
Table 1. Operation time of polynomial multiplication operation and public and private key generation operations.
OperationAverage Operation Time (ms) with MLWE ParametersAverage Operation Time (ms) with RLWE Parameters
Polynomial multiplication operation0.053370.05732
Public and private key generation operations0.116880.07364
Table 2. Comparison of cost and security features.
Table 2. Comparison of cost and security features.
ProtocolChoi Scheme [34]Wang Scheme [21]Liu’s Scheme [35]Shu Scheme [25]Scheme of This Paper
Implicit AuthenticationExplicit Authentication
Three-party mutual authenticationnoyesyesyesyesyes
Offline dictionary attackyesyesyesyesyesyes
Undetectable online dictionary attacknononoyesyesyes
Difficult hypothesisRLWERLWERLWERLWEMLWE
Public key length/byte15361536153615361536
Communication overhead/byte950414,14411,10415,870969610,080
Compute overhead/ms0.638480.392280.392280.581160.753120.78774
Correspondence rounds645764
Error reconciliation mechanismDING typeDING PoseDING PosePeikert stylePeikert stylePeikert style
Security modelBPR modelBPR modelBPR modelBPR modelUC modelBPR model
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Guo, S.; Song, Y.; Guo, S.; Yang, Y.; Song, S. Three-Party Password Authentication and Key Exchange Protocol Based on MLWE. Symmetry 2023, 15, 1750. https://doi.org/10.3390/sym15091750

AMA Style

Guo S, Song Y, Guo S, Yang Y, Song S. Three-Party Password Authentication and Key Exchange Protocol Based on MLWE. Symmetry. 2023; 15(9):1750. https://doi.org/10.3390/sym15091750

Chicago/Turabian Style

Guo, Songhui, Yunfan Song, Song Guo, Yeming Yang, and Shuaichao Song. 2023. "Three-Party Password Authentication and Key Exchange Protocol Based on MLWE" Symmetry 15, no. 9: 1750. https://doi.org/10.3390/sym15091750

APA Style

Guo, S., Song, Y., Guo, S., Yang, Y., & Song, S. (2023). Three-Party Password Authentication and Key Exchange Protocol Based on MLWE. Symmetry, 15(9), 1750. https://doi.org/10.3390/sym15091750

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop