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 , , the continuous Gaussian function in n-dimensional space is defined as: . is called the center of the Gaussian and is called the parameter of the Gaussian function. Then, for Gaussian function on a lattice , denoted as .
Definition 2.
The discrete Gaussian distribution on a lattice.
It is known that the Gaussian function on the lattice is , if the random variable satisfies ; then, the random variable is said to obey the discrete Gaussian distribution with c as the center and the parameter 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 . Therefore, is an approximate Gaussian distribution with zero expectation and variance , which can be used as the noise distribution in learning with errors problems. When a polynomial or matrix of such polynomials is sampled from in this paper, each polynomial coefficient is sampled from .
Take uniformly and randomly, and output . is a polynomial whose coefficients satisfy the distribution, and is an n-dimensional vector composed of polynomials . Sample n coefficients satisfy distribution from distribution to form polynomial , denoted as . When the generated polynomials form a vector , it is marked as .
Specifically, the input of the CBD algorithm in this paper is the bit output of the pseudo-random function; the output is a polynomial . The process is defined as follows Algorithm 1.
| Algorithm 1: Central Binomial Distribution Sampling Algorithm |
| 1. Input: the bit sequence ; 2. output: polynomial . 3. For from 0 to n – 1 4. , 5. , 6. , 7. End for 8. Return |
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 , where is the dimension of the vector, is the modulus, is the modulus in the polynomial ring , is the irreducible polynomial , is the dimension of the polynomial matrix, and is a central binomial distribution on . By randomly selecting the polynomial matrix and randomly and uniformly selecting the secret and the error vector , . The following two distributions exist:
- The distribution , in which the polynomial matrix , the secret , the error vector is chosen uniformly at random, compute .
- The distribution , where the polynomial matrix and is chosen uniformly at random.
Then, the difficult problem of search MLWE based on module lattice is given distribution 1, for and in distribution 1; finding 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 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 element so that both parties evenly extract an identical bit from each element. The specific process of the error reconciliation mechanism is described in detail below.
Supposing is a prime number greater than 2, define .
Define the following three intervals: , , .
Definition 4.
Error reconciliation mechanism.
The cross-rounding function: , if x is uniformly random, then is uniformly random.
The modular rounding function: , if x is uniformly random, then is uniformly random.
The reconciliation function: ;
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 ring to obtain the correct shared key of n bits.
For an even number , if mod is known, and , then we have .
For an odd , then if the synchronization function rec is used directly at this time, the output is uneven. At this time, randomized function is introduced, where is a random term. The probability that is 0 is 0.5, and the probability that is −1 and 1 is 0.5. If is uniformly random, let , then given dbl(v), on is uniformly random. If is known, and , then we have .
When the above two functions are extended to the elements of a polynomial ring, , 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 , where , , , , , . Then, the goal of the adversary is to obtain the value of the from the input of . In this paper, the adversary’s advantage in breaking the PWE assumption based on MLWE problem is formally defined as follows.
Let , where, all adversaries with the maximum time complexity will take advantage of the maximum attack, and these adversaries will output a list containing at most elements belonging to . The MPWE assumption shows that t is negligible for and under the bounds of security parameters. The decision version of the MPWE problem can be defined as follows.
Definition 5.
Decision MPWE problem.
Given , where , . Set , then the DMPWE problem is to decide whether and randomly uniformly generated 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 , where , , then the MLWE-DH problem is to decide whether and random uniformly generated 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 that can solve the MLWE-DH problem with a non-negligible advantage on the input . Then an algorithm can be constructed to solve the decision MLWE problem based on the algorithm. Specifically, two decision MLWE instances and with the same private key are first given. The execution process of the algorithm is as follows:
- Set ;
- Input into the algorithm ;
If the algorithm outputs 1, then that means , , the algorithm also outputs 1. If the algorithm outputs 0, then it means that is randomly uniformly generated. Therefore, is randomly uniformly generated, in which case the algorithm 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 exists that can solve the DMPWE problem with a non-negligible advantage on the input . An algorithm can be constructed based on the algorithm to solve the MLWE-DH problem. Specifically, the algorithm execution process is as follows:
- For an instance of the MLWE-DH problem , set , ;
- Input to the algorithm ;
If the algorithm outputs 1, then that means . Therefore, , the algorithm also outputs 1. If the algorithm outputs 0, then it means that is randomly uniformly generated. Therefore, is randomly uniformly generated, in which case the algorithm also outputs 0. The MLWE-DH problem is solved. □
Suppose an algorithm can solve the DMPWE problem with a non-negligible advantage. In that case, an algorithm 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 and the adversary. The challenger runs an instance of the simulator simulating the protocol , running the protocol 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 . At the protocol’s beginning, two users and are extracted from the user set, and their passwords and passwords are assigned from the dictionary library, respectively. Then, extract a server from the server set and assign it a password and a password . The users and authenticate and exchange information to establish a shared session key through the server.
Adversary capability: An adversary operating in probabilistic polynomial time is assumed to have complete control over the communication channel. The adversary 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 ; the two instances of the user are denoted by and , and the instance of the server is denoted by . The security of the protocol is defined by a series of games between the challenger and the adversary , in which the adversary can query any given participant instance as follows:
Execute () query: This query characterizes the passive attack capability of the adversary . The adversary can obtain the information transmitted over the channel during the honest interaction of the protocol by querying the instances.
Send () query: This query describes the dynamic attack capability of the adversary . The adversary can interact with the instance by intercepting, forwarding, and modifying the generated information . The oracle output is the reply message executed according to the protocol specification after receiving the generated information from the adversary .
Reveal () query: This query captures the ability to leak session keys when a participant in a user instance misuses a session key. The adversary obtains the session key in the user instance through this query.
Corrupt () query: This query characterizes the forward security of the protocol, allowing the adversary to damage the protocol participants at will. If the participant is a server, return the passwords of both users to the adversary ; if the participant is a user, return the passwords of the corresponding users to the adversary .
Test () query: This query characterizes the adversary’s ability to distinguish a real session key from random values. Randomly flip a coin ; if , return the real negotiated key, if , return any random number in the session key space. Finally, the adversary outputs ; if , the adversary 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 is an identifier used to uniquely name one of the sessions corresponding to that instance. is used to determine the identity of the user instance that is talking to the instance. is the value of the shared secret that both user instances and have completed the calculation of the last step stipulated in the protocol. Both and instances maintain list and , respectively. Partnership is said to be satisfied when the following conditions are satisfied: 1. ; 2. , ; 3. .
Definition 8.
Freshness.
is a fresh instance when is an honest session, and satisfies the following conditions:
- The adversary has not performed the Reveal () query on the user instance or its partner ;
- The adversary has not executed the Corrupt () query on the user instance , the partner instance , or the server instance .
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 is to identify the real session key from a given random key and the real session key. The adversary performs a special test () query. Finally, adversary outputs , and if , then adversary wins. The advantage of adversary in attacking instance is defined as:. The 3PAKE protocol is semantically safe if is negligible for all probabilistic polynomial-time adversaries .
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, and represent and , respectively; the lowercase italic letters represent column vectors, in which the elements belong to the ring or ; the capital italic letters indicate matrix. Let be the public parameters of the PAKE scheme, where is a power of 2, and is an odd prime and satisfies . represents a sample matrix uniformly from . represents a sample private key and noise uniformly from .
3.2. Registration Process
When users join the system, they need to register with the server through a secure channel. The details are as follows:
- .The user selects an identity , a private password , and calculates shared password . After that, the user sends registration request to the server .
- .The server receives the registration request from the user , generates random number , calculates the temporary identity of the user , and retains the shared password . After that, the server sends to the user .
3.3. Authentication and Key Exchange Phase
When users and users need to share the session key for communication, it is necessary to establish two-way authentication between users with users based on the trusted server to ensure the legitimacy of the identities of both users and users , and an exchange shared session key.
The execution process of the protocol is described in Figure 1:
Figure 1.
Authentication and key exchange phase.
- 1.
The user samples uniformly, generates random number , and calculates . The user sends to the server .
- 2.
Upon the server receiving , the server confirms the identity of the client applying for authentication and key exchange through . Then, the server samples and uniformly generate random number and calculate , and . 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 , and , and send to the user .
- 3.
After the user receives the message , user sample uniformly generates random numbers , , and calculates , and . The user uses the randomized function to calculate and ; uses the cross-rounding function to calculate and ; uses the modular rounding function to calculate and .
The user calculates the authentication information between the server and user , and calculates the authentication information between user and user . Then, user calculates the shared key between user and uses the shared key to encrypt . At this time, user sets the shared key between user and user . User sends to the server.
- 4.
The server calculates , then the user uses the Peikert error reconciliation function to calculate . The server calculates the verification information with user and the verification information with user . If , the server continues to calculate the shared key with user and the shared key with user , and the server uses the shared key to decrypt to obtain . After the user finishes decrypting, the server uses the shared key with user to encrypt to obtain . The server sends to user .
- 5.
After user receives the message , user calculates and uses the Peikert error reconciliation function to calculate . Then, user calculates and compares it with the received authentication information of the server; if , the server’s identity is credible. User calculates the shared key with the server, and decrypts to obtain . Based on the decrypted information, user continues to calculate and uses the Peikert error reconciliation function to calculate . Then, the user calculates and compares it with . If , user ‘s identity is credible, and user obtains the same session key as user .
4. Proof of Correctness of the Protocol
If the protocol participants all run the protocol honestly, they will obtain with significant probability. In the protocol, the following is the correctness proof that user and user obtain the same session key when the honest user executes the scheme.
It is known that and .
So, if , user and user will obtain the same session key. This paper has and . From the Peikert error reconciliation function, if all the coefficients of the polynomial obtained by are not in , then can be obtained in this paper.
Since is a polynomial, so . According to the central binomial distribution sampling algorithm, all the coefficients of the obtained polynomial are not in . So, from the Peikert error reconciliation function, user and user will obtain 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 , user instances and of the ith session, and server instance . 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 be the dictionary library of size . , , , respectively represent Send, Execute, Reveal, Corrupt queries, and represent querying random oracles. Assume that the emulator controls all oracles that the adversary has access to. The simulator runs the protocol , including choosing a password for each user. Then, for a polynomial time adversary , the advantage of its attack protocol is defined as: .
Proof of Theorem 3.
The game is defined in the security model of this section. Among these, is equivalent to the honest implementation of the protocol. In , 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 , define the event that the adversary guesses correctly to randomly select the bit in the Test query as . The advantage of the adversary attacking the protocol in is greater than that of the adversary attacking the protocol in ; that is, the security of the protocol is gradually reduced, so we can obtain:
The 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 , user queries , and server queries . Adversary makes one of the following queries:
query: whether to instruct some unused instance to send the first message to the server instance , which corresponds to the user start of the authenticated key exchange phase;
query: whether some messages were sent to a previously unused server instance , and the server instance is expected to send some messages to user instance , which corresponds to the first response of the server during the authentication key exchange phase;
query: whether a message has been sent to an unused user instance , and the user instance is expected to send a message to the server instance , which corresponds to the first response of the user in the authentication key exchange phase;
query: whether a message was sent to a used server instance and is expected to send a message to a user instance , which corresponds to the second response of the server during the authentication key exchange phase;
query: Whether a message was sent to a user instance 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 (): For , , , , adversaries perform a query ; the query , whose output is , the query whose input is , and the nearest query is the query or query , where and , the event’s associated value is the output of , (representing , , respectively).
Testsk! (): For , , making a query with input and results in the event Testsk () with associated value is .
Testsk (): For , , , , the adversary has made queries with the input and output . Then, the adversary has made the query, where , . The event’s associated value is the output of , (representing , respectively).
Testsk* (): For , Testsk() occurs.
Testsk (): For , the Testsk () and Testsk () events occur simultaneously, where is paired with and is paired with after the query.
Testexecsk (): For , , , , and adversary has executed () query with output (, , , , ), then adversary has made , where . The event’s associated value is the output of , (representing , , respectively).
Correctsk: Testsk! () events occurs on , , and or Testsk* () occurs on , , , and , before any Corrupt queries.
Correctskexec: Testexecsk () occurs on , , , , .
Pairedskguess: For , , , , , the Testsk () event occurs.
Correctauth 0: For , , the adversary makes the query, the query with input and output , and query with input as , where the nearest query is the query or query. If , , the associated value for this event is .
Correctauth 2: For , , the adversary makes the query, the query with input , the query with input , and the nearest query is the query or the query. , . The associated value for this event is .
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:
: 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: .
: In this game, the simulator simulates a random oracle by maintaining hash lists and . In a hash query, if there is a record in the hash list, is returned; otherwise, an element is randomly selected, is added to the list, and is returned. □
Lemma 1.
For probabilistic polynomial adversaries
,
and
are indistinguishable.
Proof.
Obviously, unless adversary can break the one-way hash function, adversary cannot distinguish the output of the hash function and random string. Thus, and are indistinguishable: .
: and are indistinguishable unless an honest player randomly chooses , , , which appeared in a previous query; then, the protocol aborts and the adversary fails. □
Lemma 2.
For probabilistic polynomial adversaries , the advantage of distinguishing between games and games is: .
Proof.
That is, cannot be equal to the that appeared in the previous Execute (), Send () query, query, query or query and random oracle query; cannot be equal to that appeared in the previous Execute (), Send () query, query, query, or random oracle query. cannot be equal to the that appears in the previous Execute (), Send () query, query, query, or random oracle query; cannot be the same as that appeared in the previous Execute (), Send () query, query, query, query, or random oracle query.
From the birthday attack, the probability of distinguishing from for a probabilistic polynomial adversary does not exceed: .
: is same as , except that the adversary does not use the random oracle model in the output of Execute () and Send () queries. Subsequent oracle queries by the adversary will be as consistent as possible with Execute () and Send () queries. The specific queries are answered as follows:
For the Execute () query, , , , , where , , , , , , , is taken randomly from the distribution , , , random uniform is taken from the distribution , and , is generated uniformly at random from distribution .
For queries on server instances , , where , , , are randomly taken from the distribution .
For queries on the user instance , where , is taken randomly from the distribution , and , are taken randomly uniformly from the distribution , and is the generated uniformly at random from distribution .
For queries on server instances , if the query results in a Correctauth0 event, set , where , are randomly taken from the distribution . Otherwise, the server instance aborts.
For queries on the user instance , if the query results in a Correctauth2 event, perform the following steps:
If the user instance is not yet paired with a user instance , and the query results in a Testsk! (), then set to the relevant value of Testsk ().
Set , if the user instance has already paired with a user instance .
Otherwise, the user instance terminates.
If the query does not result in a Correctauth2 event, the user instance terminates.
For query, , if the query results in the occurrence of the events Testsk (), Testsk (), Testexecsk (), Correctauth0, or Correctauth2, then output the associated value of the event, otherwise output a random value. □
Lemma 3.
For any polynomial adversary, .
Proof.
The design of is a standard technique used in the security analysis of random oracle. and are indistinguishable unless the adversary makes the following two queries:
The Correctauth0 or Correctauth2 event caused by the query with the correct password as input, but the total probability of this happening is at most since the adversary cannot actually obtain the correct password.
The Send () 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 is the query, and the query that causes the termination of the server instance is the query. If the query does not cause a Correctauth0 event, the server instance terminates. The probability of termination is not more than .
Thus, for any polynomial adversary, the advantage of distinguishing and is .
: is the same as , except that in , the query executes a random response without checking the consistency of its output with the Execute query. That is, the Testexecsk () event does not occur in . □
Lemma 4.
For any polynomial adversary, the advantage of distinguishing and is .
Proof.
Clearly, if the Testexecsk () event does not occur, and are indistinct. If an adversary can cause Testexecsk () to occur with non-negligible probability, then a simulator can construct an algorithm to solve the MPWE problem by running the adversary on . Given , the algorithm simulates the game by changing it as follows.
- When adversary makes the Execute () query, the algorithm sets , , where , , , are taken from the distribution . 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 query, where is obtained in the Execute query, , , . Then, the algorithm can compute:
Calculate and add to the list of possible values of the MPWE problem, at which point the MPWE problem is solved.
When the algorithm simulates the game , algorithm sets , to replace the actual , , respectively. Because is randomly uniformly drawn from the distribution , set by the algorithm and the actual are indistinguishable. Because , unless the adversary can solve the DMLWE problem with a non-negligible advantage, the algorithm sets and the actual is indistinguishable. Considering the difficulty of the MPWE problem, assuming is the algorithm ’s running time, creates a list of size with the advantage of , and .
For probabilistic polynomial adversaries , the advantage of distinguishing between games and games is .
: is the same as , 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 , makes following changes:
Before the Corrupt query, in query to the user instance , if the Testsk! () event occurs, the protocol terminates and the adversary succeeds.
Before the Corrupt query, for the query, if the Testsk* () event occurs, the protocol terminates and the adversary succeeds. □
Lemma 5.
For any polynomial adversary, .
Proof.
Clearly, the definition only increases the advantage of the adversary; then, for any polynomial, the adversary .
: is the same as 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 : If a Testsk() event occurs for (this event should be checked in the query or query), check whether the Testsk() event also occurs. □
Lemma 6.
For any polynomial adversary, the advantage of distinguishing and is .
Proof.
Clearly, and are indistinguishable if the Pairedskguess event does not occur. If the adversary can make the Pairedskguess occur with non-negligible probability in , then the algorithm can be constructed to solve the MPWE problem by running the adversary in . Given , the algorithm simulates the game by changing the following.
In queries to user instances , the algorithm sets .
In the query with input as to the user instance , there is query for the user instance with output , and query with input is , and the output is , and set , where , are all taken from .
In the query to user instance , if has not been paired, the algorithm outputs 0 and aborts.
After the adversary attack is finished, for each query, when and are in a related query, the algorithm can be calculated as follows:
Calculate , and add to the list of possible values of the MPWE problem; then, the MPWE problem is solved.
When the algorithm simulates the game , algorithm sets to replace actual . Because , unless the adversary can solve the DMLWE problem with non-negligible advantage, the algorithm sets and the actual is indistinguishable. Considering the difficulty of the MPWE problem, assuming is the algorithm ′s running time, creates a list of size with the advantage of , and .
For probabilistic polynomial adversaries , the advantage of distinguishing between games and games is .
: is the same as , except that there is an internal password oracle that keeps all passwords and is used to check the correctness of a given password in . 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 () and returns TRUE if , FALSE otherwise. It also accepts a Corrupt () query and returns if is a server, else returns . When a protocol receives a Corrupt() query, it answers with a Corrupt () query to the password oracle. □
Lemma 7.
For any polynomial adversary, and are indistinguishable, .
Proof.
Clearly, and are completely indistinguishable.
Now this section analyzes the advantages of the adversarial attack game . According to the definition of the game , this section can easily bound the probability of the adversary’s success in the game as follows.
For , since passwords are randomly selected from a dictionary of size and will occur at most queries to the password oracle, then .
For , since the adversary cannot decrypt without correctly guessing the password, the probability of the event is negligible; that is, the probability is negligible.
For , 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 is negligible, the probability is close to 1, so .
In summary, , so for any polynomial adversary, the advantage of its attack game is .
Integrating to , the advantage of the adversary’s successful attack is 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 and explicit authentication with user for server , explicit authentication with user and server for user , and implicit authentication with user and server for . After the user obtains the shared key with users , the user can explicitly authenticate user ’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 , which is constructed by the identity of the polynomial matrix regenerated each time , , random numbers and the secret information 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 , generated in this session, the calculated 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 , , and . If the adversary conducts dictionary attack on or , the adversary needs to overcome the MPWE problem with inputs and to calculate . If the adversary conducts a dictionary attack on or , it needs to overcome the MPWE problem with inputs and to calculate . 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 and the server to launch an online dictionary attack on the user . Since the user will verify whether the server holds the password and whether the user is legal during the stage , once the verification fails many times, the user will realize that is the target of online dictionary attacks. Suppose the adversary pretends to be the user and the server to launch an online dictionary attack on the user . Then, user will authenticate user through the verification information or the message encrypted with the shared key after the key exchange is completed sent by the user . In that case, once the verification fails many times, user will realize that is the target of online dictionary attacks. Suppose the adversary pretends as user and user to launch an online dictionary attack on the server. Since the server can verify whether the user is legal in the stage , the verification fails many times. In that case, the server 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 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 to reduce the 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.
Table 1.
Operation time of polynomial multiplication operation and public and private key generation operations.
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.
Table 2.
Comparison of cost and security features.
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
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Ding, Y.; Horster, P. Undetectable on-line password guessing attacks. ACM SIGOPS Oper. Syst. Rev. 1995, 29, 77–86. [Google Scholar] [CrossRef]
- 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]
- 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]
- Lu, R.; Cao, Z. Simple three-party key exchange protocol. Comput. Secur. 2007, 26, 94–97. [Google Scholar] [CrossRef]
- Huang, H.F. A simple three-party password-based key exchange protocol. Int. J. Commun. Syst. 2009, 22, 857–862. [Google Scholar] [CrossRef]
- 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]
- Zhao, J.; Gu, D. Provably secure three-party password-based authenticated key exchange protocol. Inf. Sci. 2012, 184, 310–323. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- Katz, J.; Vaikuntanathan, V. Smooth Projective Hashing and Password-Based Authenticated Key Exchange from Lattices; Springer: Berlin/Heidelberg, Germany, 2009. [Google Scholar]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- Langlois, A.; Stehlé, D. Worst-case to average-case reductions for module lattices. Des. Codes Cryptogr. 2015, 75, 565–599. [Google Scholar] [CrossRef]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
- 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]
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. |
© 2023 by the authors. Licensee MDPI, Basel, Switzerland. This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license (https://creativecommons.org/licenses/by/4.0/).