跳转到主要内容
Chinese, Simplified

category

Abstract

Passwords are ubiquitous and most commonly used to authenticate users when logging into online services. Using high entropy passwords is critical to prevent unauthorized access and password policies emerged to enforce this requirement on passwords. However, with current methods of password storage, poor practices and server breaches have leaked many passwords to the public. To protect one’s sensitive information in case of such events, passwords should be hidden from servers. Verifier-based password authenticated key exchange, proposed by Bellovin and Merrit (IEEE S&P, 1992), allows authenticated secure channels to be established with a hash of a password (verifier). Unfortunately, this restricts password policies as passwords cannot be checked from their verifier. To address this issue, Kiefer and Manulis (ESORICS 2014) proposed zero-knowledge password policy check (ZKPPC). A ZKPPC protocol allows users to prove in zero knowledge that a hash of the user’s password satisfies the password policy required by the server. Unfortunately, their proposal is not quantum resistant with the use of discrete logarithm-based cryptographic tools and there are currently no other viable alternatives. In this work, we construct the first post-quantum ZKPPC using lattice-based tools. To this end, we introduce a new randomised password hashing scheme for ASCII-based passwords and design an accompanying zero-knowledge protocol for policy compliance. Interestingly, our proposal does not follow the framework established by Kiefer and Manulis and offers an alternate construction without homomorphic commitments. Although our protocol is not ready to be used in practice, we think it is an important first step towards a quantum-resistant privacy-preserving password-based authentication and key exchange system.

1Introduction

One of the most common methods of user authentication is passwords when logging in to online services. So, it is very important that passwords in use have sufficient entropy and hard to guess for security. Password policies was introduced to guide users into choosing suitable passwords that are harder to guess. Ur et al. [51] discovered that users are more likely to choose easily guessable passwords in the absence of a password policy. Examining the password policies of over 70 web-sites, Florêncio and Herley [18] found that most require passwords with characters from at least one of four sets, digits, symbols, lowercase and uppercase letters and a minimum password length. Hence, it is reasonable to focus on password policies with a minimum password length, sets of valid characters and maybe constraints on the diversity of characters used.

Even with strong passwords and good policies, nothing can prevent leaks if servers do not properly store passwords. Improperly stored passwords can cause serious problems, as seen by hacks on LinkedIn [20] and Yahoo [47] and the web-site “Have I Been Pwned?” [26]. Sadly, such poor practices are not uncommon: many popular web-sites were discovered by Baumann et al. [4] to store password information in plaintext.

If servers cannot be trusted, then no password information should be stored there at all. Thus, protocols that do not require storing secret user information at external servers become necessary. However, even with secret passwords, password policies are important to enforce a base level of security against dictionary attacks, leaving a dilemma: how do users prove compliance of their password without revealing anything?

Kiefer and Manulis [31] showed how to address this problem with zero knowledge password policy check (ZKPPC). It enables blind registration: users register a password with a server and prove password policy conformance without revealing anything about their passwords, thereby solving the dilemma. With ZKPPC, some randomised password verification information is stored at the server and it does not leak information about the password, protecting against server compromises. Furthermore, ZKPPC allows a user to prove, without revealing any information, that the password conforms to the server’s policy. Blind registration can be coupled with a verifier-based password-based authenticated key exchange (VPAKE) protocol to achieve a complete system for privacy-preserving password-based registration, authentication and key exchange. Password-based authenticated key exchange (PAKE) [6, 5, 21, 28, 15, 8] is a protocol that allows users to simultaneously authenticate themselves using passwords and perform key exchange. However, these protocols store passwords on the server and thus, users have to trust the security of the server’s password storage and may be vulnerable to password leakages in the event of server compromise. Verifier-based PAKE [7, 5, 22, 11] extends PAKE to limit the damage caused by information leakage by storing a verifier instead. Verifiers are a means to check that users supplied the correct passwords and are usually hash values of passwords with a salt, which makes it hard to extract the passwords from verifiers.

A ZKPPC protocol allows users to prove that their password, committed in the verifier, satisfies some password policy. VPAKE can then be used to securely authenticate and establish keys whenever communication is required. Together, the password is never revealed, greatly increasing the user security over current standards. Passwords are harder to guess and no longer easily compromised by server breaches.

Kiefer and Manulis [31] proposed a generic construction of ZKPPC using homomorphic commitments and set membership proofs. In the same work, a concrete ZKPPC protocol was constructed using Pedersen commitments [45], whose security is based on the hardness of the discrete logarithm problem. As such, it is vulnerable to attacks from quantum adversaries due to Shor’s algorithm [49] which solves the discrete logarithm problem in quantum polynomial time. With NIST issuing a call for proposals to standardize quantum resistant cryptography [44], it is clear that we need to prepare cryptographic schemes and protocols that are quantum resistant, in case a sufficiently powerful quantum computer is realized. As there is currently no proposal of ZKPPC protocol that has the potential to be quantum resistant, it is an interesting open problem to construct one.

Our contributions and techniques. In this work, inspired by the attractiveness of ZKPPC protocols and the emergence of lattice-based cryptography as a strong quantum resistant candidate, we aim to construct a ZKPPC protocol from lattices. Our contribution is two-fold. We first design a randomised password hashing scheme based on the hardness of the Short Integer Solution (SIS) problem. We then construct a SIS-based statistical zero-knowledge argument of knowledge, which allows the client to convince the server that his secret password, committed in a given hash value, satisfies the server’s policy. This yields the first ZKPPC protocol that still resists against quantum computers.

Our first technical challenge is to derive a password encoding mechanism that operates securely and interacts smoothly with available lattice-based cryptographic tools. In the discrete log setting considered in [31], passwords are mapped to large integers and then encoded as elements in a group of large order. Unfortunately, this does not translate well to the lattice setting as working with large-norm objects usually makes the construction less secure and less efficient. Therefore, a different method, which encodes passwords as small-norm objects, is desirable. To this end, we define a password encoding mechanism, that maps a password consisting of 
t

characters to a binary vector of length
8​t

, where each of the 
t

blocks is the
8

-bit representation of the ASCII value of the corresponding password character. To increase its entropy, we further shuffle the arrangement of those blocks using a random permutation, and then commit to the permuted vector as well as a binary encoding of the permutation via the SIS-based commitment scheme proposed by Kawachi, Tanaka and Xagawa [29]. This commitment value is then viewed as the randomised hash value of the password.

The next technical challenge is to prove in zero-knowledge that the committed password satisfies a policy of the form
f=((kD,kU,kL,kS),n𝚖𝚒𝚗,n𝚖𝚊𝚡)

, which demands that the password have length at least 
n𝗆𝗂𝗇

and at most
n𝗆𝖺𝗑

, and contain at least 
kD

digits, 
kS

symbols, 
kL

lower-case and 
kU

upper-case letters. To this end, we will have to prove, for instance, that a committed length-
8

block-vector belongs to the set of vectors encoding all 
10

digits. We thus need a lattice-based sub-protocol for proving set membership. In the lattice-based world, a set membership argument system with logarithmic complexity in the cardinality of the set was proposed in [36], exploiting Stern-like protocols [50] and Merkle hash trees. However, the asymptotic efficiency does not come to the front when the underlying set has small, constant size. Here, we employ a different approach, which has linear complexity but is technically simpler and practically more efficient, based on the extend-then-permute technique for Stern’s protocol, suggested by Ling et al. [37]. Finally, we use a general framework for Stern-like protocols, put forward by Libert et al. [34], to combine all of our sub-protocols for set membership and obtain a ZKPPC protocol.

From a practical point of view, our lattice-based ZKPPC protocol is not yet ready to be used: for a typical setting of parameters, an execution with soundness error 
2−30

has communication cost around 
900

KB. We, however, believe that there are much room for improvement and view this work as the first step in designing post-quantum privacy-preserving password-based authentication and key exchange systems.

Related work. The only construction of ZKPPC was proposed by Kiefer and Manulis [31] using Pedersen commitments [45] and a randomised password hashing scheme introduced in the same work. It commits each character individually and uses set membership proofs to prove compliance of the entire password to a password policy. The password hash is the sum of the committed characters and thus is linked to the set membership proofs through the homomorphic property of the commitments used. As mentioned previously, their protocol is vulnerable to quantum adversaries and greater diversity is desirable.

To improve the efficiency of secure password registration for VPAKE [32] and two server PAKE [33], Kiefer and Manulis proposed blind password registration (BPR), a new class of cryptographic protocols that prevent password leakage from the server. Using techinques introduced in [31], Kiefer and Manulis used an efficient shuffling proof from [19] to achieve 
𝒪​(1)

number of set membership proofs instead of 
𝒪​(nm​a​x)

in ZKPPC. However, the security model considered for BPR is only suitable for honest but curious participants. The security of ZKPPC is defined to prevent malicious users from registering bad passwords that do not conform to the given password policy. Malicious servers also do not gain any information on the registered password from running the ZKPPC protocol. Overall, the security model of BPR is weaker than the capabilities of ZKPPC and available instantiations are not resistant to quantum adversaries.

An alternate approach using symmetric key primitives, secure set-based policy checking (SPC), to check password policy was proposed in [17]. Policies are represented set-theoretically as monotone access structures and are mapped to linear secret sharing schemes (LSSS). Then, checking policy compliance corresponds to verifying whether some set is in the access structure, i.e. if the set of shares can reconstruct the secret in the LSSS. To obtain a privacy-preserving protocol for SPC, the oblivious bloom intersection (OBI) from [16] is used. The server constructs an LSSS that only users who fulfil the policy can obtain the right shares from the OBI and recover the secret. Knowledge of the secret is proved with a hash of the secret with the transcript of the protocol execution and identities of the two parties, tying the protocol to the proof of knowledge. In the proposed SPC protocol, the one-more-RSA assumption is used to guarantee that the password registration protocol is sound when used by a malicious client. Thus, in the presence of a quantum adversary, the SPC protocol cannot be considered sound anymore. Since the focus is on quantum resistant blind registration of passwords with malicious participants, the SPC protocol is insufficient.

Zero-knowledge proofs in lattice-based cryptography. Early work on interactive and non-interactive proof systems [24, 43, 46] for lattices exploited the geometric structure of worst-case lattice problems, and are not generally applicable in lattice-based cryptography. More recent methods of proving relations appearing in lattice-based cryptosystems belong to the following two main families.

The first family, introduced by Lyubashevsky [40, 41], uses “rejection sampling” techniques, and lead to relatively efficient proofs of knowledge of small secret vectors [9, 2, 13, 14], and proofs of linear and multiplicative relations among committed values [10, 3] in the ideal lattice setting. However, due to the nature of “rejection sampling”, there is a tiny probability that even an honest prover may fail to convince the verifier: i.e., protocols in this family do not have perfect completeness. Furthermore, when proving knowledge of vectors with norm bound 
β

, the knowledge extractor of these protocols is only guaranteed to produce witnesses of norm bound 
g⋅β

, for some factor
g>1

. This factor, called “soundness slack” in [2, 13], may be undesirable: if an extracted witness has to be used in the security proof to solve a challenge SIS instance, we need the 
𝖲𝖨𝖲g⋅β

assumption, which is stronger than the 
𝖲𝖨𝖲β

assumption required by the protocol itself. Moreover, in some sophisticated cryptographic constructions such as the zero-knowledge password policy check protocol considered in this work, the coordinates of extracted vectors are expected to be in 
{0,1}

and/or satisfy a specific pattern. Such issues seem hard to tackle using this family of protocols.

The second family, initiated by Ling et al. [37], use “decomposition-extension” techniques in lattice-based analogues [29] of Stern’s protocol [50]. These are less efficient than those of the first family because each protocol execution admits a constant soundness error, and require repeating protocols 
ω​(log⁡n)

times, for a security parameter
n

, to achieve negligible soundness error. On the upside, Stern-like protocols have perfect completeness and can handle a wide range of lattice-based relations [38, 36, 12, 34, 35, 39], especially when witnesses have to not only be small or binary, but also certain prescribed arrangement of coordinates. Furthermore, unlike protocols of the first family, the extractor of Stern-like protocols can output witness vectors with the same properties expected of valid witnesses. This feature is often crucial in the design of advanced protocols involving ZK proofs. In addition, the “soundness slack” issue is completely avoided, so the hardness assumptions are kept “in place”.

Organization. In the next section, we define notations used in the paper and briefly describe the building blocks for our ZKPPC protocol. Following that, in Section 3, we instantiate the building blocks and ZKPPC protocol with lattices-based primitives. Finally, we summarize and conclude in Section 4.

2Preliminaries

Notation. We assume all vectors are column vectors. A vector 
𝐱

with coordinates 
x1,…,xm

is written as
𝐱=(x1,…,xm)

. For simplicity, concatenation of 
𝐱∈ℝk

and 
𝐲∈ℝm

is denoted with
(𝐱∥𝐲)∈ℝk+m

. Column-wise concatenation of matrices 
𝐀∈ℝn×k

and 
𝐁∈ℝn×m

is denoted by
[𝐀|𝐁]∈ℝn×(k+m)

. If 
S

is a finite set, then 
x←$S

means that 
x

is chosen uniformly at random over
S

. For a positive integer
n

, 
[n]

denotes the set 
{1,…,n}

and 
𝗇𝖾𝗀𝗅​(n)

denotes a negligible function in 
n

. The set of all permutations of 
n

elements is denoted by
𝒮n

. All logarithms are of base
2

.

2.1Some Lattice-Based Cryptographic Ingredients

We first recall the average-case problem SIS and its link to worst-case lattice problems.

Definition 1 (
𝖲𝖨𝖲n,m,q,β∞

[1, 23])

Given a uniformly random matrix
𝐀∈ℤqn×m

, find a non-zero vector 
𝐱∈ℤm

such that 
‖𝐱‖∞≤β

and 
𝐀⋅𝐱=𝟎modq.

The hardness of the SIS is guaranteed by the worst-case to average-case reduction from lattice problems. If
m,β=𝗉𝗈𝗅𝗒​(n)

, and
q>β⋅𝒪~​(n)

, then the 
𝖲𝖨𝖲n,m,q,β∞

problem is at least as hard as the worst-case lattice problem 
𝖲𝖨𝖵𝖯γ

for some 
γ=β⋅𝒪~​(n​m)

(see, e.g., [23, 42]).

The KTX commitment scheme. In this work, we employ the SIS-based commitment scheme proposed by Kawachi, Tanaka and Xagawa [29] (KTX). The scheme, with two flavours, works with lattice parameter
n

, prime modulus
q=𝒪~​(n)

, and dimension
m=2​n​⌈log⁡q⌉

.

In the variant that commits 
t

bits, for some fixed
t=𝗉𝗈𝗅𝗒​(n)

, the commitment key is
(𝐀,𝐁)←$ℤqn×t×ℤqn×m

. To commit
𝐱∈{0,1}t

, one samples randomness
𝐫←${0,1}m

, and outputs the commitment
𝐜=𝐀⋅𝐱+𝐁⋅𝐫modq

. Then, to open
𝐜

, one reveals 
𝐱∈{0,1}t

and
𝐫∈{0,1}m

.

If there exists two valid openings 
(𝐱1,𝐫1)

and 
(𝐱2,𝐫2)

for the same commitment 
𝐜

and
𝐱1≠𝐱2

, then one can compute a solution to the 
𝖲𝖨𝖲n,m+t,q,1∞

problem associated with the uniformly random matrix
[𝐀∣𝐁]∈ℤqn×(m+t)

. On the other hand, by the left-over hash lemma [48], the distribution of a valid commitment 
𝐜

is statistically close to uniform over 
ℤqn

which implies that it is statistically hiding.

Kawachi et al. [29] extended the above
t

-bit commitment scheme to a string commitment scheme
𝖢𝖮𝖬:{0,1}∗×{0,1}m→ℤqn

. The extended scheme shares the same characteristics, statistically hiding from the parameters set and computationally binding under the SIS assumption.

In this work, we use the former variant to commit to passwords, and use COM as a building block for Stern-like zero-knowledge protocols.

2.2Zero-Knowledge Argument Systems and Stern-like Protocols

We work with statistical zero-knowledge argument systems, interactive protocols where the zero-knowledge property holds against any cheating verifier and the soundness property holds against computationally bounded cheating provers. More formally, let the set of statements-witnesses 
R={(y,w)}∈{0,1}∗×{0,1}∗

be an NP relation. A two-party game 
⟨𝒫,𝒱⟩

is called an interactive argument system for the relation 
R

with soundness error 
e

if two conditions hold:

  • •

    Completeness. If 
    (y,w)∈R

    then 
    Pr​[⟨𝒫​(y,w),𝒱​(y)⟩=1]=1.

  • •

    Soundness. If
    (y,w)∉R

    , then 
    ∀

    PPT
    𝒫^

    :  
    Pr​[⟨𝒫^​(y,w),𝒱​(y)⟩=1]≤e.

Here and henceforth, PPT denotes probabilistic polynomial time. An argument system is statistical zero-knowledge if for any 
𝒱^​(y)

, there exists a PPT simulator 
𝒮​(y)

which produces a simulated transcript that is statistically close to that of the real interaction between 
𝒫​(y,w)

and
𝒱^​(y)

. A related notion is argument of knowledge, which requires the witness-extended emulation property. For 
3

move protocols (i.e., commitment-challenge-response), witness-extended emulation is implied by special soundness [25], which assumes the existence of a PPT extractor, taking as input a set of valid transcripts with respect to all possible values of the “challenge” to the same “commitment”, and returning 
w′

such that
(y,w′)∈R

.

Stern-like protocols. The statistical zero-knowledge arguments of knowledge presented in this work are Stern-like [50] protocols. In particular, they are
Σ

-protocols as defined in [27, 9], where 
3

valid transcripts are needed for extraction instead of just 
2

. Stern’s protocol was originally proposed for code-based cryptography, and adapted to lattices by Kawachi et al. [29]. It was subsequently empowered by Ling et al. [37] to handle the matrix-vector relations associated with the SIS and inhomogeneous SIS problems and extended to design several lattice-based schemes: group signatures [38, 36, 34, 39], policy-based signatures [12] and group encryption [35].

The basic protocol has 
3

moves. With
𝖢𝖮𝖬

, the KTX string commitment scheme [29], we get a statistical zero-knowledge argument of knowledge (ZKAoK) with perfect completeness, constant soundness error
2/3

, and communication cost
𝒪​(|w|⋅log⁡q)

, where 
|w|

is the total bit-size of the secret vectors.

An abstraction of Stern’s protocol. We recall an abstraction of Stern’s protocol, proposed in [34]. Let 
n,ℓ,q

be positive integers, where
ℓ≥n

,
q≥2

, and 
𝖵𝖠𝖫𝖨𝖣

be a subset of
{0,1}ℓ

. Suppose 
𝒮

is a finite set and every 
ϕ∈𝒮

is associated with a permutation 
Γϕ

of 
ℓ

elements, satisfying the following conditions:

 

 

{𝐰∈𝖵𝖠𝖫𝖨𝖣⇔Γϕ​(𝐰)∈𝖵𝖠𝖫𝖨𝖣,If ​𝐰∈𝖵𝖠𝖫𝖨𝖣​ and ​ϕ​ is uniform in ​𝒮, then ​Γϕ​(𝐰)​ is uniform in ​𝖵𝖠𝖫𝖨𝖣.
  (1)

We aim to construct a statistical ZKAoK for the following abstract relation:

 

 

Rabstract={(𝐌,𝐯),𝐰∈ℤqn×ℓ×ℤqn×𝖵𝖠𝖫𝖨𝖣:𝐌⋅𝐰=𝐯modq.}
 

Stern’s original protocol has
𝖵𝖠𝖫𝖨𝖣={𝐰∈{0,1}ℓ:𝗐𝗍​(𝐰)=k}

, where 
𝗐𝗍​(⋅)

denotes the Hamming weight and 
k<ℓ

for some given
k

, 
𝒮=𝒮ℓ

– the symmetric group on 
ℓ

elements, and
Γϕ​(𝐰)=ϕ​(𝐰)

.

The conditions in (1) are key to prove that 
𝐰∈𝖵𝖠𝖫𝖨𝖣

in ZK: The prover 
𝒫

samples 
ϕ←$𝒮

and the verifier 
𝒱

checks that
Γϕ​(𝐰)∈𝖵𝖠𝖫𝖨𝖣

; no additional information about 
𝐰

is revealed to 
𝒱

due to the randomness of
ϕ

. Furthermore, to prove in ZK that 
𝐌⋅𝐰=𝐯modq

holds, 
𝒫

samples 
𝐫w←$ℤqℓ

to mask
𝐰

, and convinces 
𝒱

instead that 
𝐌⋅(𝐰+𝐫w)=𝐌⋅𝐫w+𝐯modq.

We describe the interaction between 
𝒫

and 
𝒱

in Figure 1. A statistically hiding and computationally binding string commitment scheme COM, e.g. the scheme in Section 2.1, is used.

  1. 1.

    Commitment: Prover 
    𝒫

    samples
    𝐫w←$ℤqℓ

    , 
    ϕ←$𝒮

    and randomness 
    ρ1,ρ2,ρ3

    for
    𝖢𝖮𝖬

    .
    Then, a commitment 
    CMT=(C1,C2,C3)

    is sent to the verifier
    𝒱

    , where

     

     

    C1=𝖢𝖮𝖬​(ϕ,𝐌⋅𝐫wmodq;ρ1),C2=𝖢𝖮𝖬​(Γϕ​(𝐫w);ρ2),C3=𝖢𝖮𝖬​(Γϕ​(𝐰+𝐫wmodq);ρ3).
     
  2. 2.

    Challenge: 
    𝒱

    sends a challenge 
    C​h←${1,2,3}

    to
    𝒫

    .

  3. 3.

    Response: Based on
    C​h

    , 
    𝒫

    sends 
    RSP

    computed as follows:

    • •

      C​h=1

      : Let
      𝐭w=Γϕ​(𝐰)

      ,
      𝐭r=Γϕ​(𝐫w)

      , and
      RSP=(𝐭w,𝐭r,ρ2,ρ3)

      .

    • •

      C​h=2

      : Let
      ϕ2=ϕ

      ,
      𝐰2=𝐰+𝐫wmodq

      , and
      RSP=(ϕ2,𝐰2,ρ1,ρ3)

      .

    • •

      C​h=3

      : Let
      ϕ3=ϕ

      ,
      𝐰3=𝐫w

      , and
      RSP=(ϕ3,𝐰3,ρ1,ρ2)

      .

 

Verification: Receiving
RSP

, 
𝒱

proceeds as follows:

 
  • •

    C​h=1

    : Check that
    𝐭w∈𝖵𝖠𝖫𝖨𝖣

    ,
    C2=𝖢𝖮𝖬​(𝐭r;ρ2)

    ,
    C3=𝖢𝖮𝖬​(𝐭w+𝐭rmodq;ρ3)

    .

  • •

    C​h=2

    : Check that
    C1=𝖢𝖮𝖬​(ϕ2,𝐌⋅𝐰2−𝐯modq;ρ1)

    ,
    C3=𝖢𝖮𝖬​(Γϕ2​(𝐰2);ρ3)

    .

  • •

    C​h=3

    : Check that 
    C1=𝖢𝖮𝖬​(ϕ3,𝐌⋅𝐰3;ρ1),C2=𝖢𝖮𝖬​(Γϕ3​(𝐰3);ρ2).

 

In each case, 
𝒱

outputs 
1

if and only if all the conditions hold.

Figure 1:Stern-like ZKAoK for the relation
Rabstract

.

The properties of the protocol are summarized in Theorem 2.1.

Theorem 2.1 ([34])

Assuming that 
𝖢𝖮𝖬

is a statistically hiding and computationally binding string commitment scheme, the protocol in Figure 1 is a statistical ZKAoK with perfect completeness, soundness error 
2/3

, and communication cost 
𝒪​(ℓ​log⁡q)

. In particular:

  • •

    There exists a polynomial-time simulator that, on input
    (𝐌,𝐯)

    , outputs an accepted transcript statistically close to that produced by the real prover.

  • •

    There exists a polynomial-time knowledge extractor that, on input a commitment 
    CMT

    and 
    3

    valid responses 
    (RSP1,RSP2,RSP3)

    to all 
    3

    possible values of the challenge
    C​h

    , outputs 
    𝐰′∈𝖵𝖠𝖫𝖨𝖣

    such that 
    𝐌⋅𝐰′=𝐯modq.

The proof of the Theorem 2.1, which appeared in [34], employs standard simulation and extraction techniques for Stern-like protocols [29, 37]. The proof is provided in Appendix 0.A for the sake of completeness.

2.3Password Strings and Password Policies

Next, we present the models of password strings and policies, adapted from [31].

Password Strings. We consider password strings 
p​w

over the set of 
94

printable characters 
Σ𝖺𝗅𝗅

in the ASCII alphabet 
Σ𝖠𝖲𝖢𝖨𝖨

, where 
Σ𝖺𝗅𝗅=ΣD∪ΣS∪ΣL∪ΣU⊂Σ𝖠𝖲𝖢𝖨𝖨

is split into four disjoint subsets:

  • •

    The set of 
    10

    digits
    ΣD={0,1,…,9}

    ;

  • •

    The set of 
    32

    symbols 
    ΣS={

    !”#$%&’()*+,-./ :;
    <=>

    ?@ [\]_̂ ‘
    {|}

    ~ 
    }

    ;

  • •

    The set of 
    26

    lower case letters,
    ΣL={a,b,…,z}

    ;

  • •

    The set of 
    26

    upper case letters,
    ΣU={A,B,…,Z}

    .

We denote by 
𝙳𝚒𝚌𝚝

a general dictionary containing all strings that can be formed from the characters in
Σ𝖺𝗅𝗅

. A password string 
p​w=(c1,c2,…,ck)∈Σ𝖺𝗅𝗅k⊂𝙳𝚒𝚌𝚝

of length 
k

is an ordered multi-set of characters
c1,…,ck∈Σ𝖺𝗅𝗅

.

Password Policies. A password policy 
f=((kD,kS,kL,kU),n𝗆𝗂𝗇,n𝗆𝖺𝗑)

has six components, a minimum length
n𝗆𝗂𝗇

, maximum length
n𝗆𝖺𝗑

, and integers
kD

,
kS

, 
kL

and 
kU

that indicate the minimum number of digits, symbols, upper-case and lower-case letters, respectively, a password string must contain. We say that 
f​(p​w)=𝚝𝚛𝚞𝚎

if and only if policy 
f

is satisfied by the password string 
p​w

. For instance,

  1. 1.

    Policy 
    f=((1,1,1,1),8,16)

    indicates that password strings must be between 
    8

    and 
    16

    characters and contain at least one digit, one symbol, one lower-case and one upper-case letters.

  2. 2.

    Policy 
    f=((0,2,0,1),10,14)

    demands that password strings must be between 
    10

    and 
    14

    characters, including at least two symbols and one upper-case letter.

Remark 1

In practice, password policies typically do not specify 
n𝗆𝖺𝗑

but we can simply fix a number that upper-bounds all reasonable password lengths.

2.4Randomised Password Hashing and Zero-Knowledge Password Policy Check

We now recall the notions of randomised password hashing and zero-knowledge password policy check. Our presentation follows [31, 30].

Randomised Password Hashing. This mechanism aims to compute some password verification information that can be used later in more advanced protocols (e.g., ZKPPC and VPAKE). In order to prevent off-line dictionary attacks, the computation process is randomised via a pre-hash salt and hash salt. More formally, a randomised password hashing scheme 
ℋ

is a tuple of 
5

algorithms
ℋ=(𝖲𝖾𝗍𝗎𝗉,𝖯𝗋𝖾𝖲𝖺𝗅𝗍,𝖯𝗋𝖾𝖧𝖺𝗌𝗁,𝖲𝖺𝗅𝗍,𝖧𝖺𝗌𝗁)

, defined as follows.

  • •

    𝖲𝖾𝗍𝗎𝗉​(λ)

    : On input security parameter
    λ

    , generate public parameters 
    p​p

    , including the descriptions of the salt spaces 
    𝕊P

    and
    𝕊H

    .

  • •

    𝖯𝗋𝖾𝖲𝖺𝗅𝗍​(p​p)

    : On input
    p​p

    , output a random pre-hash salt
    sP∈𝕊P

    .

  • •

    𝖯𝗋𝖾𝖧𝖺𝗌𝗁​(p​p,p​w,sP)

    : On input
    p​p

    , password 
    p​w

    and pre-hash salt
    sP

    , output a pre-hash value
    P

    .

  • •

    𝖲𝖺𝗅𝗍​(p​p)

    : On input
    p​p

    , output a random hash salt
    sH∈𝕊H

    .

  • •

    𝖧𝖺𝗌𝗁​(p​p,P,sP,sH)

    : On input
    p​p

    , pre-hash value
    P

    , pre-hash salt 
    sP

    and hash salt
    sH

    , output a hash value
    𝐡

    .

A secure randomised password hashing scheme 
ℋ

must satisfy 
5

requirements: pre-image resistance, second pre-image resistance, pre-hash entropy preservation, entropy preservation and password hiding.

  • •

    Pre-image resistance (or tight one-wayness in [11]): Let 
    pp←𝖲𝖾𝗍𝗎𝗉​(λ)

    and 
    𝙳𝚒𝚌𝚝

    be a dictionary of min-entropy
    β

    . 
    H​a​s​h​(⋅)

    is a function such that
    (Hi,sHi)←H​a​s​h​(⋅)

    , where 
    sHi←𝖲𝖺𝗅𝗍​(p​p)

    and
    Hi←𝖧𝖺𝗌𝗁​(p​p,Pi,sPi,sHi)

    . 
    Pi←𝖯𝗋𝖾𝖧𝖺𝗌𝗁​(p​p,p​wi,sPi)

    with 
    sPi←

     
    𝖯𝗋𝖾𝖲𝖺𝗅𝗍​(p​p)

    and pwi
    ←$𝙳𝚒𝚌𝚝

    . 
    Pi

    is stored by 
    H​a​s​h​(⋅)

    and there is a function 
    𝚅𝚎𝚛𝚒𝚏𝚢​(i,P)

    such that 
    𝚅𝚎𝚛𝚒𝚏𝚢​(i,P)=1

    if
    P=Pi

    .

    For all PPT adversaries 
    𝒜

    running in time at most
    t

    , there exists a negligible function 
    ε​(⋅)

    such that

     

     

    Pr[(i,P)←𝒜H​a​s​h​(⋅)); 𝚅𝚎𝚛𝚒𝚏𝚢(i,P)=1]≤α​t2β​t𝖯𝗋𝖾𝖧𝖺𝗌𝗁+ε(λ)
     

    for small 
    α

    and
    t𝖯𝗋𝖾𝖧𝖺𝗌𝗁

    , the running time of
    𝖯𝗋𝖾𝖧𝖺𝗌𝗁

    .

  • •

    Second pre-image resistance: For all PPT adversaries
    𝒜

    , there exists a negligible function 
    ε​(⋅)

    such that for
    P′←𝒜​(p​p,P,sH)

    ,

     

     

    P​r​[(P′≠P)∧(𝖧𝖺𝗌𝗁​(p​p,P,sH)=𝖧𝖺𝗌𝗁​(p​p,P′,sH))]≤ε​(λ),
     

    where
    p​p←𝖲𝖾𝗍𝗎𝗉​(λ)

    ,
    sP←𝖯𝗋𝖾𝖲𝖺𝗅𝗍​(p​p)

    , 
    sH←𝖲𝖺𝗅𝗍​(p​p)

    and 
    P←𝖧𝖺𝗌𝗁​(p​p,pw,sP)

    for any pw
    ∈𝙳𝚒𝚌𝚝

    .

  • •

    Pre-hash entropy preservation: For all dictionaries 
    𝙳𝚒𝚌𝚝

    that are samplable in polynomial time with min-entropy 
    β

    and any PPT adversary
    𝒜

    , there exists a negligible function 
    ε​(⋅)

    such that for 
    (P,sP)←𝒜​(p​p)

    with 
    p​p←𝖲𝖾𝗍𝗎𝗉​(λ)

    and random password pw
    ←$𝙳𝚒𝚌𝚝

    ,

     

     

    P​r​[(sP∈𝕊P)∧(P=𝖯𝗋𝖾𝖧𝖺𝗌𝗁​(p​p,pw,sP))]≤2−β+ε​(λ).
     
  • •

    Entropy preservation: For all min-entropy 
    β

    polynomial-time samplable dictionaries 
    𝙳𝚒𝚌𝚝

    and any PPT adversary
    𝒜

    , there exists a negligible function 
    ε​(⋅)

    such that for 
    (H,sP,sH)←𝒜​(p​p)

     

     

    P​r​[(sP∈𝕊P)∧(sH∈𝕊H∧H=𝖧𝖺𝗌𝗁​(p​p,pw,sP,sH))]≤2−β+ε​(λ),
     

    where 
    p​p←𝖲𝖾𝗍𝗎𝗉​(λ)

    and pw
    ←$𝙳𝚒𝚌𝚝

    .

  • •

    Password hiding: For all PPT adversaries
    𝒜=(𝒜1,𝒜2)

    , where 
    𝒜1​(p​p)

    outputs two equal length passwords
    pw0

    , 
    pw1

    for 
    p​p←𝖲𝖾𝗍𝗎𝗉​(λ)

    and 
    𝒜2​(H)

    outputs a bit 
    b′

    for
    H←𝖧𝖺𝗌𝗁​(p​p,P,sP,sH)

    , where
    sH←𝖲𝖺𝗅𝗍​(λ)

    , 
    sP←𝖯𝗋𝖾𝖲𝖺𝗅𝗍​(λ)

    and 
    P←𝖯𝗋𝖾𝖧𝖺𝗌𝗁​(p​p,pwb,sP)

    for a random bit
    b←${0,1}

    , there exists a negligible function 
    ε​(⋅)

    such that

     

     

    |P​r​[b=b′]−12|≤ε​(λ).
     

Zero-Knowledge Password Policy Check. Let 
ℋ=(𝖲𝖾𝗍𝗎𝗉,𝖯𝗋𝖾𝖲𝖺𝗅𝗍,𝖯𝗋𝖾𝖧𝖺𝗌𝗁,𝖲𝖺𝗅𝗍,𝖧𝖺𝗌𝗁)

be a randomised password hashing scheme. A password policy check (PPC) is an interactive protocol between a client and server where the password policy 
f=((kD,kS,kL,kU),n𝗆𝗂𝗇,n𝗆𝖺𝗑)

of the server and public parameters 
p​p←𝖲𝖾𝗍𝗎𝗉​(λ)

are used as common inputs. At the end of the execution, the server accepts a hash value 
𝐡

of any password 
p​w

of the client’s choice if and only if
f​(p​w)=𝚝𝚛𝚞𝚎

. A PPC protocol is an argument of knowledge of the password 
p​w

and ssrandomness
sP←𝖯𝗋𝖾𝖲𝖺𝗅𝗍​(p​p)

, 
sH←𝖲𝖺𝗅𝗍​(p​p)

used for hashing. To prevent leaking the password to the server, one additionally requires that the protocol be zero-knowledge.

More formally, a zero-knowledge PPC protocol is an interactive protocol between a prover (client) and verifier (server), in which, given 
(p​p,f,𝐡)

the former convinces the later in zero-knowledge that the former knows 
p​w

and randomness 
(sP,sH)

such that:

 

 

f​(p​w)=𝚝𝚛𝚞𝚎 and 𝖧𝖺𝗌𝗁​(p​p,P,sP,sH)=𝐡,
 

where
P←𝖯𝗋𝖾𝖧𝖺𝗌𝗁​(p​p,p​w,sP)

.

3Our Constructions

To construct randomised password hashing schemes and ZKPPC protocols from concrete computational assumptions, the first challenge is to derive a password encoding mechanism that operates securely and interacts smoothly with the hashing and zero-knowledge layers. In the discrete log setting considered in [31], passwords are mapped to large integers and then encoded as elements in a group of large order. Unfortunately, this does not translate well to the lattice setting as working with large-norm objects usually reduces the security and efficiency of the construction. Therefore, a different method, which encodes passwords as small-norm objects, is desirable. In this work, we will therefore use binary vectors.

Let 
𝖻𝗂𝗇​(⋅)

be the function that maps non-negative integers to their binary decomposition. For any character 
c

encoded in ASCII, let 
𝙰𝚂𝙲𝙸𝙸​(c)∈[0,255]

be its code. Then, we define 
𝖾𝗇𝖼​(c)

for an ASCII encoded character 
c

and 
𝖾𝗇𝖼​(p​w)

for some length-
t

password 
p​w=(c1,…,ct)∈Σt

as

 

 

𝖾𝗇𝖼​(c)

 

=𝖻𝗂𝗇​(𝙰𝚂𝙲𝙸𝙸​(c))∈{0,1}8,
 
 

 

𝖾𝗇𝖼𝗈𝖽𝖾​(p​w)

 

=(𝖾𝗇𝖼​(c1)​‖…‖​𝖾𝗇𝖼​(ct))∈{0,1}8​t.
 

3.1Notations, Sets and Permutations

Let 
𝔪,𝔫

be arbitrary positive integers. We define the following sets and permutations:


  • ⋄

    𝖡𝔪2

    : the set of all vectors in 
    {0,1}2​𝔪

    whose Hamming weight is exactly
    𝔪

    . Note that for 
    𝐱∈ℤ2​𝔪

    and 
    ψ∈𝒮2​𝔪

    the following holds:

     

     

    {𝐱∈𝖡𝔪2⇔ψ​(𝐱)∈𝖡𝔪2;𝐱∈𝖡𝔪2​ and ​ψ←$𝒮2​𝔪, then ​ψ​(𝐱)​ is uniform over ​𝖡𝔪2.
      (2)

  • ⋄

    Tψ,𝔫

    , for
    ψ∈𝒮𝔪

    : the permutation that, when applied to a vector
    𝐯=(𝐯1​‖𝐯2‖​…∥𝐯𝔪)∈ℤ𝔫​𝔪

    , consisting of 
    𝔪

    blocks of size
    𝔫

    , re-arranges the blocks of 
    𝐯

    according to
    ψ

    , as follows,

     

     

    Tψ,𝔫​(𝐯)=(𝐯ψ​(1)​‖𝐯ψ​(2)‖​…∥𝐯ψ​(𝔫)).
     

For convenience, when working with password alphabet 
Σ𝖺𝗅𝗅=ΣD∪ΣS∪ΣL∪ΣU

and password policy
f=((kD,kU,kL,kS),n𝚖𝚒𝚗,n𝚖𝚊𝚡)

, we introduce the following notations and sets:


  • ⋄

    ηD=|ΣD|=10

    ,
    ηS=|ΣS|=32

    ,
    ηL=|ΣL|=26

    , 
    ηU=|ΣU|=26

    and
    η𝖺𝗅𝗅=|Σ𝖺𝗅𝗅|=94

    .


  • ⋄

    For
    α∈{D,S,L,U,𝖺𝗅𝗅}

    :
    𝖤𝗇𝖼α={𝖾𝗇𝖼(w))|w∈Σα}

    .


  • ⋄

    𝖲𝖤𝖳α

     for
    α∈{D,S,L,U,𝖺𝗅𝗅}

    : the set of all vectors
    𝐯=(𝐯1​‖…‖​𝐯ηα)∈{0,1}8​ηα

    , such that the blocks 
    𝐯1,…,𝐯ηα∈{0,1}8

    are exactly the binary encodings of all characters in
    Σα

    , i.e.,

     

     

    {𝐯1,…,𝐯ηα}={𝖾𝗇𝖼(w)):w∈Σα}.
     

  • ⋄

    𝖲𝖤𝖳n𝗆𝖺𝗑

    : the set of all vectors
    𝐯=(𝐯1​‖…‖​𝐯n𝗆𝖺𝗑)∈{0,1}n𝗆𝖺𝗑​⌈log⁡n𝗆𝖺𝗑⌉

    , such that the blocks 
    𝐯1,…,𝐯n𝗆𝖺𝗑∈{0,1}⌈log⁡n𝗆𝖺𝗑⌉

    are exactly the binary decompositions of all integers in
    [n𝗆𝖺𝗑]

    , i.e.,

     

     

    {𝐯1,…,𝐯n𝗆𝖺𝗑}={𝖻𝗂𝗇​(1),…,𝖻𝗂𝗇​(n𝗆𝖺𝗑)}.
     

Observe that the following properties hold.


  • ⋄

    For all
    α∈{D,S,L,U,𝖺𝗅𝗅}

    , all 
    𝐱∈ℤ8​ηα

    and all
    ψ∈𝒮ηα

    :

     

     

    {𝐱∈𝖲𝖤𝖳α⇔Tψ,8​(𝐱)∈𝖲𝖤𝖳α;𝐱∈𝖲𝖤𝖳α​ and ​ψ←$𝒮ηα, then ​Tψ,8​(𝐱)​ is uniform over ​𝖲𝖤𝖳α.
      (3)

  • ⋄

    For all 
    𝐱∈ℤn𝗆𝖺𝗑​⌈log⁡n𝗆𝖺𝗑⌉

    and all
    ψ∈𝒮n𝗆𝖺𝗑

    :

     

     

    {𝐱∈𝖲𝖤𝖳n𝗆𝖺𝗑⇔Tψ,⌈log⁡n𝗆𝖺𝗑⌉​(𝐱)∈𝐱∈𝖲𝖤𝖳n𝗆𝖺𝗑;𝐱∈𝖲𝖤𝖳n𝗆𝖺𝗑​ and ​ψ←$𝒮n𝗆𝖺𝗑, then ​Tψ,⌈log⁡n𝗆𝖺𝗑⌉​(𝐱)​ is uniform over ​𝖲𝖤𝖳n𝗆𝖺𝗑.
      (4)

3.2Randomised Password Hashing from Lattices

We describe our randomised password hashing scheme 
ℒ

for passwords of length between two given integers 
n𝗆𝗂𝗇

and
n𝗆𝖺𝗑

. At a high level, our scheme maps characters of the password 
p​w

to binary block vectors, re-arranges them with a random permutation
χ

, and finally computes the password hash as a KTX commitment ([29], see also Section 2.1) to a vector storing all the information on 
p​w

and
χ

. The scheme works as follows,


ℒ.𝖲𝖾𝗍𝗎𝗉​(λ)

.

On input security parameter
λ

, the algorithm performs the following steps:

  1. 1.

    Choose parameters
    n=𝒪​(λ)

    , prime modulus
    q=𝒪~​(n)

    , and dimension
    m=2​n​⌈log⁡q⌉

    .

  2. 2.

    Sample matrices 
    𝐀←$ℤqn×(n𝗆𝖺𝗑​⌈log⁡n𝗆𝖺𝗑⌉+8​n𝗆𝖺𝗑)

    and
    𝐁←$ℤqn×m

    .

  3. 3.

    Let the pre-hash salt space be 
    𝕊P=𝒮n𝗆𝖺𝗑

    - the set of all permutations of 
    n𝗆𝖺𝗑

    elements, and hash salt space be
    𝕊H={0,1}m

    .

  4. 4.

    Output the public parameters
    p​p=(n,q,m,𝕊P,𝕊H,𝐀,𝐁)

    .


ℒ.𝖯𝗋𝖾𝖲𝖺𝗅𝗍​(p​p)

.

Sample 
χ←$𝒮n𝗆𝖺𝗑

and output
sP=χ

.


ℒ.𝖯𝗋𝖾𝖧𝖺𝗌𝗁​(p​p,p​w,sP)

.

Let 
sP=χ∈𝒮n𝗆𝖺𝗑

and 
t∈[n𝗆𝗂𝗇,n𝗆𝖺𝗑]

be the length of password
p​w

. The pre-hash value 
P

is computed as follows.

  1. 1.

    Compute
    𝖾𝗇𝖼𝗈𝖽𝖾​(p​w)∈{0,1}8​t

    , consisting of 
    t

    blocks of length
    8

    .

  2. 2.

    Insert 
    n𝗆𝖺𝗑−t

    blocks of length
    8

    , each one being 
    𝖾𝗇𝖼​(g)

    for some non-printable ASCII character
    g∈Σ𝖠𝖲𝖢𝖨𝖨∖Σ𝖺𝗅𝗅

    , into the block-vector 
    𝖾𝗇𝖼𝗈𝖽𝖾​(p​w)

    to get
    𝐞∈{0,1}8​n𝗆𝖺𝗑

    .11This hides the actual length 
    t

    of the password in the ZKPPC protocol in Section 3.4.

  3. 3.

    Apply 
    Tχ,8

    to get
    𝐞′=Tχ,8​(𝐞)∈{0,1}8​n𝗆𝖺𝗑

    .

  4. 4.

    Output the pre-hash value
    P=𝐞′

    .


ℒ.𝖲𝖺𝗅𝗍​(p​p)

.

Sample 
𝐫←${0,1}m

and output
sH=𝐫

.


ℒ.𝖧𝖺𝗌𝗁​(p​p,P,sP,sH)

.

Let
P=𝐞′∈{0,1}8​n𝗆𝖺𝗑

, 
sP=χ∈𝒮n𝗆𝖺𝗑

and
sH=𝐫∈{0,1}m

. The hash value 
𝐡

is computed as follows,

  1. 1.

    Express the permutation 
    χ

    as
    χ=[χ​(1),…,χ​(n𝗆𝖺𝗑)]

    , where for each
    i∈[n𝗆𝖺𝗑]

    ,
    χ​(i)∈[n𝗆𝖺𝗑]

    . Then, form

     

     

    𝐞0=(𝖻𝗂𝗇​(χ​(1)−1)​‖…‖​𝖻𝗂𝗇​(χ​(n𝗆𝖺𝗑)−1))∈{0,1}n𝗆𝖺𝗑​⌈log⁡n𝗆𝖺𝗑⌉.
     
  2. 2.

    Form 
    𝐱=(𝐞0∥𝐞′)∈{0,1}n𝗆𝖺𝗑​⌈log⁡n𝗆𝖺𝗑⌉+8​n𝗆𝖺𝗑

    and output
    𝐡=𝐀⋅𝐱+𝐁⋅𝐫∈ℤqn

    .

In the following theorem, we demonstrate that the proposed scheme satisfies the security requirements defined in Section 2.4.

Theorem 3.1

Under the 
𝖲𝖨𝖲

assumption, the randomised password hashing scheme,
ℒ

, described above satisfies 
5

requirements: pre-image resistance, second pre-image resistance, pre-hash entropy preservation, entropy preservation and password hiding.

Proof

First, we remark that, by construction, if the pre-hash salt 
sP=χ

is given, then we can reverse the procedure used to extend the length 
t

password by simply discarding any non-printable characters after applying the inverse of the permutation specified by
sP

. Hence, if 
sP

is hidden, then due to its randomness, the min-entropy of 
P

is larger than the min-entropy of
p​w

. Thus, the proposed hashing scheme has the pre-hash entropy preservation and entropy preservation properties.

Next, note that 
𝐡=𝐀⋅𝐱+𝐁⋅𝐫modq

is a proper KTX commitment of message 
𝐱

with randomness
𝐫

. Thus, from the statistical hiding property of the commitment scheme, the password hiding property holds.

Furthermore, if one can produce distinct pre-hash values
P

, 
P′

that yield the same hash value
𝐡

, then one can use these values to break the computational binding property of the KTX commitment scheme. This implies that second pre-image resistance property holds under the SIS assumption.

Finally, over the randomness of matrix
𝐀

, password 
p​w

and pre-hash salt
sP

, except for a negligible probability (i.e., in the event one accidentally finds a solution to the SIS problem associated with matrix
𝐀

), vector 
𝐀⋅𝐱

accepts at least 
2β

values in
ℤqn

, where 
β

is the min-entropy of the dictionary 
𝙳𝚒𝚌𝚝

from which 
p​w

is chosen. Therefore, even if 
𝐀⋅𝐱=𝐡−𝐁⋅sHmodq

is given, to find
P=𝐞′

, one has to perform 
2β

invocations of 
𝖯𝗋𝖾𝖧𝖺𝗌𝗁

which implies that the scheme satisfies the pre-image resistance property. ∎

3.3Techniques for Proving Set Membership

In our construction of ZKPPC in Section 3.4, we will have to prove that a linear relation of the form

 

 

∑i(public matrix ​𝐌i)⋅(binary secret vector ​𝐬i)=𝐡modq
 

holds, where each secret vector 
𝐬i

must be an element of a given set of relatively small cardinality, e.g.,
𝖤𝗇𝖼D,𝖤𝗇𝖼S,𝖤𝗇𝖼L,𝖤𝗇𝖼U,𝖤𝗇𝖼𝖺𝗅𝗅

. Thus, we need to design suitable sub-protocols to prove set membership.

In the lattice-based world, a set membership argument system with logarithmic complexity in the cardinality of the set was proposed in [36], exploiting Stern-like protocols and Merkle hash trees. Despite its asymptotic efficiency, the actual efficiency is worse when the underlying set has small, constant size. To tackle the problems encountered here, we employ a different approach, which has linear complexity but is technically simpler and practically more efficient.

Suppose we have to prove that an
𝔫

-dimensional vector 
𝐬i

belongs to a set of 
𝔪

vectors
{𝐯𝟏,…,𝐯𝔪}

. To this end, we append 
𝔪−1

blocks to vector 
𝐬i

to get an
𝔫​𝔪

-dimensional vector 
𝐬i⋆

whose 
𝔪

blocks are exactly elements of the set
{𝐯𝟏,…,𝐯𝔪}

. At the same time, we append 
𝔫​(𝔪−1)

zero-columns to public matrix 
𝐌i

to get matrix 
𝐌i⋆

satisfying
𝐌i⋆⋅𝐬i⋆=𝐌i⋅𝐬i

, so that we preserve the linear equation under consideration. In this way, we reduce the set-membership problem to the problem of proving the well-formedness of
𝐬i⋆

. The latter can be done via random permutations of blocks in the framework of Stern’s protocol. For instance, to prove that
𝐬i∈𝖤𝗇𝖼D

, i.e., 
𝐬i

is a correct binary encoding of a digit, we extend it to
𝗌i⋆∈𝖲𝖤𝖳D

, apply a random permutation to the extended vector, and make use of the properties observed in (3).

3.4Zero-Knowledge Password Policy Check Protocol

We now present our construction of ZKPPC from lattices. Throughout, we use notations, sets and permutation techniques specified in Section 3.1 to reduce the statement to be proved to an instance of the relation 
Rabstract

considered in Section 2.2, which in turn can be handled by the Stern-like protocol of Figure 1.

Our protocol allows a prover 
𝒫

to convince a verifier 
𝒱

in ZK that 
𝒫

knows a password 
p​w

that hashes to a given value with randomness
χ,𝐫

, and satisfies some policy
f=((kD,kU,kL,kS),n𝚖𝚒𝚗,n𝚖𝚊𝚡)

.22The construction we present considers the scenario where 
kD,kS,kL,kU

are all positive. Our scheme can be easily adjusted to handle the case where one or more of them are 
0

. Recall that 
𝒱

demands 
p​w

must have length between 
n𝗆𝗂𝗇

and 
n𝗆𝖺𝗑

inclusive, contain at least 
kD

digits, 
kS

symbols, 
kL

lower-case and 
kU

upper-case letters. For simplicity, we let 
k𝖺𝗅𝗅=n𝗆𝗂𝗇−(kD+kU+kL+kS).

The common input consists of matrices
𝐀∈ℤqn×(n𝗆𝖺𝗑​⌈log⁡n𝗆𝖺𝗑⌉+8​n𝗆𝖺𝗑),𝐁∈ℤqn×m

, hash value 
𝐡∈ℤqn

and extra information

 

 

Δ=(δD,1,…,δD,kD,δS,1,…,δS,kS,δL,1,…,δL,kL,δU,1,…,δU,kU,δ𝖺𝗅𝗅,1,…,δ𝖺𝗅𝗅,k𝖺𝗅𝗅)∈[n𝗆𝖺𝗑]n𝗆𝗂𝗇,
 

which indicates the positions of the blocks, inside vector
P=𝐞′

, encoding 
kD

digits, 
kS

symbols, 
kL

lower-case letters, 
kU

upper-case letters and 
k𝖺𝗅𝗅

other printable characters within
p​w

. Revealing 
Δ

to 
𝒱

does not harm
𝒫

, since the original positions of those blocks (in vector
𝐞

) are protected by the secret permutation
χ

.

The prover’s witness consists of vectors 
𝐱=(𝐞0∥𝐞′)∈{0,1}n𝗆𝖺𝗑​⌈log⁡n𝗆𝖺𝗑⌉+8​n𝗆𝖺𝗑

and 
𝐫∈{0,1}m

satisfying the following conditions:

  1. 1.

    𝐀⋅𝐱+𝐁⋅𝐫=𝐡modq

    ;

  2. 2.

    𝐞0=(𝖻𝗂𝗇​(χ​(1)−1)​‖…‖​𝖻𝗂𝗇​(χ​(n𝗆𝖺𝗑−1)))

    ;

  3. 3.

    𝐞′

     has the form
    (𝐱1,…,𝐱n𝗆𝖺𝗑)

    , where, for all 
    α∈{D,S,L,U,𝖺𝗅𝗅}

    and all
    i∈[kα]

    , it holds that
    𝐱δα,i∈𝖤𝗇𝖼α

    .

We first observe that, if we express matrix 
𝐀

as
𝐀=[𝐀0​∣𝐀1∣​…∣𝐀n𝗆𝖺𝗑]

, where 
𝐀0∈ℤqn𝗆𝖺𝗑​⌈log⁡n𝗆𝖺𝗑⌉

and
𝐀1,…,𝐀n𝗆𝖺𝗑∈ℤqn×8

, then equation 
𝐀⋅𝐱+𝐁⋅𝐫=𝐡modq

can be equivalently written as

 

 

𝐀0⋅𝐞0+∑α∈{D,S,L,U,𝖺𝗅𝗅},i∈[kα]𝐀δα,i⋅𝐱δα,i+∑j∈[n𝗆𝖺𝗑]∖Δ𝐀j⋅𝐱j+𝐁⋅𝐫=𝐡modq.
  (5)

Note that, we have
𝐞0∈𝖲𝖤𝖳n𝗆𝖺𝗑

. We next transform the witness vectors 
𝐱1,…,𝐱n𝗆𝖺𝗑,𝐫

as follows,


  • ⋄

    For all 
    α∈{D,S,L,U,𝖺𝗅𝗅}

    and all
    i∈[kα]

    , to prove that
    𝐱δα,i∈𝖤𝗇𝖼α

    , we append 
    ηα−1

    suitable blocks to 
    𝐱δα,i

    to get vector
    𝐱δα,i⋆∈𝖲𝖤𝖳α

    .


  • ⋄

    For vectors
    {𝐱j}j∈[n𝗆𝖺𝗑]∖Δ

    , note that it is necessary and sufficient to prove that they are binary vectors (namely, they are encoding of characters that may or may not be printable). Similarly, we have to prove that 
    𝐫

    is a binary vector. To this end, we let 
    𝐲∈{0,1}8​(n𝗆𝖺𝗑−n𝗆𝗂𝗇)

    be a concatenation of all 
    {𝐱j}j∈[n𝗆𝖺𝗑]∖Δ

    and
    𝐳=(𝐲∥𝐫)∈{0,1}8​(n𝗆𝖺𝗑−n𝗆𝗂𝗇)+m

    . Then, we append suitable binary entries to 
    𝐳

    to get 
    𝐳⋆∈{0,1}2​(8​(n𝗆𝖺𝗑−n𝗆𝗂𝗇)+m)

    with Hamming weight exactly
    8​(n𝗆𝖺𝗑−n𝗆𝗂𝗇)+m

    , i.e.,
    𝐳⋆∈𝖡8​(n𝗆𝖺𝗑−n𝗆𝗂𝗇)+m2

    .

Having performed the above transformations, we construct the vector
𝐰∈{0,1}ℓ

, where

 

 

ℓ=n𝗆𝖺𝗑​⌈log⁡n𝗆𝖺𝗑⌉+8​(kD​ηD+kS​ηS+kL​ηL+kU​ηU)+8​k𝖺𝗅𝗅​η𝖺𝗅𝗅+2​(8​(n𝗆𝖺𝗑−n𝗆𝗂𝗇)+m),
 

and 
𝐰

has the form:

 

 

𝐰=(𝐞0∥𝐱δD,1⋆∥…∥𝐱δD,kD⋆
 

 

‖𝐱δS,1⋆‖​…​‖𝐱δS,kS⋆‖​𝐱δL,1⋆​‖…‖​𝐱δL,kL⋆
  (6)
     

 

∥𝐱δU,1⋆∥…∥𝐱δU,kU⋆∥𝐱δ𝖺𝗅𝗅,1⋆∥…∥𝐱δ𝖺𝗅𝗅,k𝖺𝗅𝗅⋆∥𝐳⋆).
 

When performing extensions over the secret vectors, we also append zero-columns to the public matrices in equation (5) so that it is preserved. Then, we concatenate the extended matrices to get 
𝐌∈ℤqn×ℓ

such that (5) becomes, with
𝐯=𝐡∈ℤqn

,

 

 

𝐌⋅𝐰=𝐯modq.
  (7)

We have now established the first step towards reducing the given statement to an instance of the relation 
Rabstract

from Section 2.2. Next, we will specify the set 
𝖵𝖠𝖫𝖨𝖣

containing the vector
𝐰

, set 
𝒮

and permutations 
{Γϕ:ϕ∈𝒮}

such that the conditions in (1) hold.

Define 
𝖵𝖠𝖫𝖨𝖣

as the set of all vectors 
𝐰∈{0,1}ℓ

having the form (6), where


  • ⋄

    𝐞0∈𝖲𝖤𝖳n𝗆𝖺𝗑

    ;


  • ⋄

    𝐱δα,i⋆∈𝖲𝖤𝖳α

     for all 
    α∈{D,S,L,U,𝖺𝗅𝗅}

    and all
    i∈[kα]

    ;


  • ⋄

    𝐳⋆∈𝖡8​(n𝗆𝖺𝗑−n𝗆𝗂𝗇)+m2

    .

It can be seen that the vector 
𝐰

obtained above belongs to this tailored set
𝖵𝖠𝖫𝖨𝖣

. Next, let us define the set of permutations 
𝒮

as follows,

 

 

𝒮=𝒮n𝗆𝖺𝗑×(𝒮ηD)kD×(𝒮ηS)kS×(𝒮ηL)kL×(𝒮ηU)kU×(𝒮η𝖺𝗅𝗅)k𝖺𝗅𝗅×𝒮2​(8​(n𝗆𝖺𝗑−n𝗆𝗂𝗇)+m).
 

Then, for each element

 

 

ϕ=(π,τD,1,…,τD,kD,τS,1,…,τS,kS,τL,1,…,τL,kL,τU,1,…,τU,kU,τ𝖺𝗅𝗅,1,…,τ𝖺𝗅𝗅,k𝖺𝗅𝗅,θ)∈𝒮,
 

we define the permutation 
Γϕ

that, when applied to 
𝐰∈ℤℓ

of the form

 

 

𝐰=(𝐞0∥𝐱δD,1⋆∥…∥𝐱δD,kD⋆
 

 

‖𝐱δS,1⋆‖​…​‖𝐱δS,kS⋆‖​𝐱δL,1⋆​‖…‖​𝐱δL,kL⋆
 
     

 

∥𝐱δU,1⋆∥…∥𝐱δU,kU⋆∥𝐱δ𝖺𝗅𝗅,1⋆∥…∥𝐱δ𝖺𝗅𝗅,k𝖺𝗅𝗅⋆∥𝐳⋆).
 

where
𝐞0∈ℤn𝗆𝖺𝗑​⌈log⁡n𝗆𝖺𝗑⌉

, 
𝐱δα,i⋆∈ℤ8​ηα

for all 
α∈{D,S,L,U,𝖺𝗅𝗅}

and
i∈kα

, and
𝐳⋆∈ℤ2​(8​(n𝗆𝖺𝗑−n𝗆𝗂𝗇)+m)

, it transforms the blocks of vector 
𝐰

as follows,


  • ⋄

    𝐞0↦Tπ,⌈log⁡n𝗆𝖺𝗑⌉​(𝐞0)

    .


  • ⋄

    For all 
    α∈{D,S,L,U,𝖺𝗅𝗅}

    and all
    i∈kα

    :  
    𝐱δα,i⋆↦Tτα,i,8​(𝐱δα,i⋆)

    .


  • ⋄

    𝐳⋆↦θ​(𝐳⋆)

    .

Based on the properties observed in (2), (3), and (4), it can be seen that we have satisfied the conditions specified in (1), namely,

 

 

{𝐰∈𝖵𝖠𝖫𝖨𝖣⇔Γϕ​(𝐰)∈𝖵𝖠𝖫𝖨𝖣,If ​𝐰∈𝖵𝖠𝖫𝖨𝖣​ and ​ϕ​ is uniform in ​𝒮, then ​Γϕ​(𝐰)​ is uniform in ​𝖵𝖠𝖫𝖨𝖣.
 

Having reduced the considered statement to an instance of the relation
Rabstract

, let us now describe how our protocol is executed. The protocol uses the KTX string commitment scheme
𝖢𝖮𝖬

, which is statistically hiding and computationally binding under the SIS assumption. Prior to the interaction, the prover 
𝒫

and verifier 
𝒱

construct the matrix 
𝐌

and vector 
𝐯

based on the common inputs
(𝐀,𝐁,𝐡,Δ)

, while 
𝒫

builds the vector 
𝐰∈𝖵𝖠𝖫𝖨𝖣

from vectors 
𝐱

and
𝐫

, as discussed above. Then, 
𝒫

and 
𝒱

interact per Figure 1. We thus obtain the following result, as a corollary of Theorem 2.1.

Theorem 3.2

Under the 
𝖲𝖨𝖲

assumption, the protocol above is a ZKPPC protocol with respect to the randomised password hashing scheme 
ℒ

from Section 3.2 and policy
f=((kD,kU,kL,kS),n𝚖𝚒𝚗,n𝚖𝚊𝚡)

. The protocol is a statistical ZKAoK with perfect completeness, soundness error 
2/3

and communication cost
𝒪​(ℓ​log⁡q)

.

Proof

Perfect completeness, soundness error 
2/3

and communication cost 
𝒪​(ℓ​log⁡q)

of the protocol follow from the use of the abstract protocol in Figure 1. For simulation, we simply run the simulator of Theorem 2.1.

As for knowledge extraction, we first run the knowledge extractor of Theorem 2.1 to get the vector 
𝐰′∈𝖵𝖠𝖫𝖨𝖣

such that 
𝐌⋅𝐰′=𝐯modq.

Then, we “backtrack” the transformations to extract from
𝐰′

, vectors 
𝐱′=(𝐞0′​‖𝐱1′‖​…∥𝐱n𝗆𝖺𝗑′)∈{0,1}n𝗆𝖺𝗑​⌈log⁡n𝗆𝖺𝗑⌉+8​n𝗆𝖺𝗑

and 
𝐫′∈{0,1}m

such that


  • ⋄

    𝐀⋅𝐱′+𝐁⋅𝐫′=𝐡modq

    ;


  • ⋄

    𝐞0′∈𝖲𝖤𝖳n𝗆𝖺𝗑

    ;


  • ⋄

    For all 
    α∈{D,S,L,U,𝖺𝗅𝗅}

    and all
    i∈kα

    :
    𝐱δα,i′∈𝖤𝗇𝖼α

    .

Notice that one can recover a permutation of 
n𝗆𝖺𝗑

elements from an element of
𝖲𝖤𝖳n𝗆𝖺𝗑

. Let 
χ′

be the permutation encoded by
𝐞0′

. Then, by applying the inverse permutation 
Tχ′,8−1

to
(𝐱1′​‖…‖​𝐱n𝗆𝖺𝗑′)

, we recover
𝐞′∈{0,1}8​n𝗆𝖺𝗑

. Finally, by removing potential blocks of length 
8

that correspond to encodings of non-printable ASCII characters from
𝐞′

, we obtain a vector that encodes some password string 
p​w′

satisfying policy
f

. ∎

Efficiency analysis. By inspection, we can see that, without using the big-O notation, each round of the proposed protocol has communication cost slightly larger than

 

 

ℓ​log⁡q=(n𝗆𝖺𝗑​⌈log⁡n𝗆𝖺𝗑⌉+8​(kD​ηD+kS​ηS+kL​ηL+kU​ηU)+8​k𝖺𝗅𝗅​η𝖺𝗅𝗅+2​(8​(n𝗆𝖺𝗑−n𝗆𝗂𝗇)+m))​log⁡q.
 

Let us estimate the cost in practice. Note that the KTX commitment scheme can work with relatively small lattice parameters, e.g.,
n=256

,
log⁡q=10

,
m=5120

. For a common password policy
f=((1,1,1,1),8,16)

, the communication cost would be about 
17

KB. As each round has a soundness error of
2/3

, one may have to repeat the protocol many times in parallel to achieve a high level of confidence. For instance, if a soundness error of 
2−30

is required, then one can repeat 
52

times for a final cost of around 
900

KB. In practical implementations, one can exploit various optimizations (e.g., instead of sending a random vector, one can send the PRNG seed used to generate it) to reduce the communication complexity.

4Conclusion and Open Questions

Through the use of the KTX commitment scheme [29] and a Stern-like zero-knowledge argument of set membership, we designed a lattice-based zero-knowledge protocol for proving that a committed/hashed password sent to the server satisfies the required password policy. All together, we obtain the first ZKPPC that is based on the hardness of the SIS problem which to date remains quantum resistant. Unfortunately, there are no viable VPAKE protocols from lattices that can be coupled with our ZKPPC protocol to construct a complete privacy-preserving password-based authentication and key exchange system.

Our proposed ZKPPC protocol can be employed to securely register chosen passwords at remote servers with the following security guarantees: (1) Registered passwords are not disclosed to the server until used; (2) Each registered password provably conforms to the specified password policy. Although not being ready to be deployed in practice, we view this work as the first step in designing post-quantum privacy-preserving password-based authentication and key exchange systems.

We leave several open questions as potential future work: (1) to construct a more practical lattice-based ZKPPC; (2) to develop a lattice-based VPAKE; and (3) to extend lattice-based ZKPPC to other PAKE protocols, such as two-server PAKE, where the passwords are secretly shared between two servers, of which we assume at most one to be compromisable. The third question is similar to the one asked by Kiefer and Manulis [31] and as they noted, it is a challenge even in the classical discrete logarithm setting.

Acknowledgements. We would like to thank the anonymous reviewers of ISC 2017 for helpful comments. The research is supported by Singapore Ministry of Education under Research Grant MOE2016-T2-2-014(S) and by NTU under Tier 1 grant RG143/14.

References

  • [1]M. Ajtai.Generating hard instances of lattice problems (extended abstract).In STOC 1996. ACM, 1996.
  • [2]C. Baum, I. Damgård, K. G. Larsen, and M. Nielsen.How to prove knowledge of small secrets.In CRYPTO 2016, volume 9816 of Lecture Notes in Computer Science. Springer, 2016.
  • [3]C. Baum, I. Damgård, S. Oechsner, and C. Peikert.Efficient commitments and zero-knowledge protocols from ring-sis with applications to lattice-based threshold cryptosystems.Cryptology ePrint Archive, Report 2016/997, 2016.
  • [4]E. Bauman, Y. Lu, and Z. Lin.Half a century of practice: Who is still storing plaintext passwords?In ISPEC 2015, volume 9065 of Lecture Notes in Computer Science. Springer, 2015.
  • [5]M. Bellare, D. Pointcheval, and P. Rogaway.Authenticated key exchange secure against dictionary attacks.In EUROCRYPT 2000, volume 1807 of Lecture Notes in Computer Science. Springer, 2000.
  • [6]S. M. Bellovin and M. Merritt.Encrypted key exchange: password-based protocols secure against dictionary attacks.In IEEE Symposium on Security and Privacy. IEEE, 1992.
  • [7]S. M. Bellovin and M. Merritt.Augmented encrypted key exchange: A password-based protocol secure against dictionary attacks and password file compromise.In ACM CCS 1993. ACM, 1993.
  • [8]F. Benhamouda, O. Blazy, C. Chevalier, D. Pointcheval, and D. Vergnaud.New techniques for sphfs and efficient one-round pake protocols.In CRYPTO 2013, volume 8402 of Lecture Notes in Computer Science. Springer, 2013.
  • [9]F. Benhamouda, J. Camenisch, S. Krenn, V. Lyubashevsky, and G. Neven.Better zero-knowledge proofs for lattice encryption and their application to group signatures.In ASIACRYPT 2014, volume 8873 of Lecture Notes in Computer Science. Springer, 2014.
  • [10]F. Benhamouda, S. Krenn, V. Lyubashevsky, and K. Pietrzak.Efficient zero-knowledge proofs for commitments from learning with errors over rings.In Computer Security - ESORICS 2015, Part I, volume 9326 of Lecture Notes in Computer Science. Springer, 2015.
  • [11]F. Benhamouda and D. Pointcheval.Verifier-based password-authenticated key exchange: New models and constructions.Cryptology ePrint Archive, Report 2013/833, 2013.
  • [12]S. Cheng, K. Nguyen, and H. Wang.Policy-based signature scheme from lattices.Des. Codes Cryptography, 81(1):43–74, 2016.
  • [13]R. Cramer, I. Damgård, C. Xing, and C. Yuan.Amortized complexity of zero-knowledge proofs revisited: Achieving linear soundness slack.In EUROCRYPT 2017, volume 10210 of Lecture Notes in Computer Science. Springer, 2017.
  • [14]R. del Pino and V. Lyubashevsky.Amortization with fewer equations for proving knowledge of small secrets.Cryptology ePrint Archive, Report 2017/280, 2017.
  • [15]Y. Ding and L. Fan.Efficient password-based authenticated key exchange from lattices.In CIS 2011. IEEE, 2011.
  • [16]C. Dong, L. Chen, and Z. Wen.When private set intersection meets big data: an efficient and scalable protocol.In ACM CCS 2013. ACM, 2013.
  • [17]C. Dong and F. Kiefer.Secure set-based policy checking and its application to password registration.In CANS 2015, volume 9476 of Lecture Notes in Computer Science. Springer, 2015.
  • [18]D. Florêncio and C. Herley.Where do security policies come from?In SOUPS 2010. ACM, 2010.
  • [19]J. Furukawa.Efficient and verifiable shuffling and shuffle-decryption.IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, 88-A(1):172–188, 2005.
  • [20]S. Gates.Linkedin password hack: Check to see if yours was one of the 6.5 million leaked, 2012.http://www.huffingtonpost.com/2012/06/07/linkedin-password-hack-check_n_1577184.html.
  • [21]R. Gennaro and Y. Lindell.A framework for password-based authenticated key exchange.In EUROCRYPT 2003, volume 2656 of Lecture Notes in Computer Science. Springer, 2003.
  • [22]C. Gentry, P. MacKenzie, and Z. Ramzan.A method for making password-based key exchange resilient to server compromise.In CRYPTO 2006, volume 4117 of Lecture Notes in Computer Science. Springer, 2006.
  • [23]C. Gentry, C. Peikert, and V. Vaikuntanathan.Trapdoors for hard lattices and new cryptographic constructions.In STOC 2008. ACM, 2008.
  • [24]O. Goldreich and S. Goldwasser.On the limits of non-approximability of lattice problems.In STOC 1998. ACM, 1998.
  • [25]J. Groth.Evaluating security of voting schemes in the universal composability framework.In ACNS 2004, volume 3089 of Lecture Notes in Computer Science. Springer, 2004.
  • [26]T. Hunt.Have i been pwned, 2017.https://haveibeenpwned.com/, accessed on 7 July 2017.
  • [27]A. Jain, S. Krenn, K. Pietrzak, and A. Tentes.Commitments and efficient zero-knowledge proofs from learning parity with noise.In ASIACRYPT 2012, volume 7658 of Lecture Notes in Computer Science. Springer, 2012.
  • [28]J. Katz and V. Vaikuntanathan.Smooth projective hashing and password-based authenticated key exchange from lattices.In ASIACRYPT 2009, volume 5912 of Lecture Notes in Computer Science. Springer, 2009.
  • [29]A. Kawachi, K. Tanaka, and K. Xagawa.Concurrently secure identification schemes based on the worst-case hardness of lattice problems.In ASIACRYPT 2008, volume 5350 of Lecture Notes in Computer Science. Springer, 2008.
  • [30]F. Kiefer.Advancements in password-based cryptography.PhD thesis, University of Surrey, 2016.
  • [31]F. Kiefer and M. Manulis.Zero-knowledge password policy checks and verifier-based PAKE.In ESORICS 2014, volume 8713 of Lecture Notes in Computer Science. Springer, 2014.
  • [32]F. Kiefer and M. Manulis.Blind password registration for two-server password authenticated key exchange and secret sharing protocols.In ISC 2016, volume 9866 of Lecture Notes in Computer Science. Springer, 2016.
  • [33]F. Kiefer and M. Manulis.Blind password registration for verifier-based PAKE.In AsiaPKC@AsiaCCS 2016. ACM, 2016.
  • [34]B. Libert, S. Ling, F. Mouhartem, K. Nguyen, and H. Wang.Signature schemes with efficient protocols and dynamic group signatures from lattice assumptions.In ASIACRYPT 2016, volume 10032 of Lecture Notes in Computer Science. Springer, 2016.
  • [35]B. Libert, S. Ling, F. Mouhartem, K. Nguyen, and H. Wang.Zero-knowledge arguments for matrix-vector relations and lattice-based group encryption.In ASIACRYPT 2016, volume 10032 of Lecture Notes in Computer Science. Springer, 2016.
  • [36]B. Libert, S. Ling, K. Nguyen, and H. Wang.Zero-knowledge arguments for lattice-based accumulators: Logarithmic-size ring signatures and group signatures without trapdoors.In EUROCRYPT 2016, volume 9666 of Lecture Notes in Computer Science. Springer, 2016.
  • [37]S. Ling, K. Nguyen, D. Stehlé, and H. Wang.Improved zero-knowledge proofs of knowledge for the ISIS problem, and applications.In PKC 2013, volume 7778 of Lecture Notes in Computer Science. Springer, 2013.
  • [38]S. Ling, K. Nguyen, and H. Wang.Group signatures from lattices: Simpler, tighter, shorter, ring-based.In PKC 2015, volume 9020 of Lecture Notes in Computer Science. Springer, 2015.
  • [39]S. Ling, K. Nguyen, H. Wang, and Y. Xu.Lattice-based group signatures: Achieving full dynamicity with ease.In ACNS 2017, volume 10355 of Lecture Notes in Computer Science, 2017.
  • [40]V. Lyubashevsky.Lattice-based identification schemes secure under active attacks.In PKC 2008, volume 4939 of Lecture Notes in Computer Science. Springer, 2008.
  • [41]V. Lyubashevsky.Lattice signatures without trapdoors.In EUROCRYPT 2012, volume 7237 of Lecture Notes in Computer Science. Springer, 2012.
  • [42]D. Micciancio and C. Peikert.Hardness of SIS and LWE with small parameters.In CRYPTO 2013, volume 8402 of Lecture Notes in Computer Science. Springer, 2013.
  • [43]D. Micciancio and S. P. Vadhan.Statistical zero-knowledge proofs with efficient provers: Lattice problems and more.In CRYPTO 2003, volume 2729 of Lecture Notes in Computer Science. Springer, 2003.
  • [44]NIST.Post-quantum crypto standardization - call for proposals announcement, 2016.http://csrc.nist.gov/groups/ST/post-quantum-crypto/cfp-announce-dec2016.html.
  • [45]T. P. Pedersen.Non-interactive and information-theoretic secure verifiable secret sharing.In CRYPTO 1991, volume 576 of Lecture Notes in Computer Science. Springer, 1991.
  • [46]C. Peikert and V. Vaikuntanathan.Noninteractive statistical zero-knowledge proofs for lattice problems.In CRYPTO 2008, volume 5157 of Lecture Notes in Computer Science. Springer, 2008.
  • [47]N. Perlroth.More than half a billion yahoo accounts have been hacked, yahoo confirms, 2016.https://www.nytimes.com/2016/09/23/technology/yahoo-hackers.html.
  • [48]O. Regev.On lattices, learning with errors, random linear codes, and cryptography.In STOC 2005. ACM, 2005.
  • [49]P. W. Shor.Polynomial-time algorithms for prime factorization and discrete logarithms on a quantum computer.SIAM Review, 41(2):303–332, 1999.
  • [50]J. Stern.A new paradigm for public key identification.IEEE Trans. Information Theory, 42(6):1757–1768, 1996.
  • [51]B. Ur, P. G. Kelley, S. Komanduri, J. Lee, M. Maass, M. L. Mazurek, T. Passaro, R. Shay, T. Vidas, L. Bauer, N. Christin, and L. F. Cranor.How does your password measure up? the effect of strength meters on password creation.In USENIX Security Symposium 2012. USENIX Association, 2012.

Appendix 0.AProof of Theorem 2.1

We provide the proof of Theorem 2.1 as it appears in [34] but first restate the theorem.

Theorem 2.1. The protocol in Figure 1 is a statistical ZKAoK with perfect completeness, soundness error 
2/3

, and communication cost 
𝒪​(ℓ​log⁡q)

. Namely:

  • •

    There exists a polynomial-time simulator that, on input
    (𝐌,𝐯)

    , outputs an accepted transcript statistically close to that produced by the real prover.

  • •

    There exists a polynomial-time knowledge extractor that, on input a commitment 
    CMT

    and 
    3

    valid responses 
    (RSP1,RSP2,RSP3)

    to all 
    3

    possible values of the challenge
    C​h

    , outputs 
    𝐰′∈𝖵𝖠𝖫𝖨𝖣

    such that 
    𝐌⋅𝐰′=𝐯modq.

Proof

Perfect completeness of the protocol can be checked: If a prover follows the protocol honestly, the verifier will always accept. It is also easy to see that the communication cost is bounded by
𝒪​(ℓ​log⁡q)

.

We now prove that the protocol is a statistical zero-knowledge argument of knowledge.

Zero-Knowledge Property. We construct a PPT simulator 
𝖲𝖨𝖬

interacting with a (possibly dishonest) verifier
𝒱^

, such that, given only the public inputs, with probability negligibly close to
2/3

, 
𝖲𝖨𝖬

outputs a simulated transcript that is statistically close to the one produced by the honest prover in the real interaction.

𝖲𝖨𝖬

 first chooses uniformly at random,
C​h¯∈{1,2,3}

, its prediction of 
C​h

that 
𝒱^

will not choose.

Case
C​h¯=1

: Using basic linear algebra over
ℤq

, 
𝖲𝖨𝖬

computes a vector 
𝐰′∈ℤqℓ

such that 
𝐌⋅𝐰′=𝐯modq.

Next, it samples
𝐫w←$ℤqℓ

,
ϕ←$𝒮

, and randomness 
ρ1,ρ2,ρ3

for
𝖢𝖮𝖬

. Finally, it sends the commitment 
CMT=(C1′,C2′,C3′)

to
𝒱^

, where

 

 

C1′=𝖢𝖮𝖬​(ϕ,𝐌⋅𝐫w;ρ1),C2′=𝖢𝖮𝖬​(Γϕ​(𝐫w);ρ2),C3′=𝖢𝖮𝖬​(Γϕ​(𝐰′+𝐫w);ρ3).
 

Receiving a challenge 
C​h

from
𝒱^

, the simulator responds as follows:

  • •

    If
    C​h=1

    : Output 
    ⊥

    and abort.

  • •

    If
    C​h=2

    : Send
    RSP=(ϕ,𝐰′+𝐫w,ρ1,ρ3)

    .

  • •

    If
    C​h=3

    : Send
    RSP=(ϕ,𝐫w,ρ1,ρ2)

    .

Case
C​h¯=2

: 
𝖲𝖨𝖬

samples
𝐰′←$𝖵𝖠𝖫𝖨𝖣

,
𝐫w←$ℤqℓ

,
ϕ←$𝒮

, and randomness 
ρ1,ρ2,ρ3

for
𝖢𝖮𝖬

. Then, it sends the commitment 
CMT=(C1′,C2′,C3′)

to
𝒱^

, where

 

 

C1′=𝖢𝖮𝖬​(ϕ,𝐌⋅𝐫w;ρ1),C2′=𝖢𝖮𝖬​(Γϕ​(𝐫w);ρ2),C3′=𝖢𝖮𝖬​(Γϕ​(𝐰′+𝐫w);ρ3).
 

Receiving a challenge 
C​h

from
𝒱^

, the simulator responds as follows:

  • •

    If
    C​h=1

    : Send
    RSP=(Γϕ​(𝐰′),Γϕ​(𝐫w),ρ2,ρ3)

    .

  • •

    If
    C​h=2

    : Output 
    ⊥

    and abort.

  • •

    If
    C​h=3

    : Send
    RSP=(ϕ,𝐫w,ρ1,ρ2)

    .

Case
C​h¯=3

: 
𝖲𝖨𝖬

samples
𝐰′←$𝖵𝖠𝖫𝖨𝖣

,
𝐫w←$ℤqℓ

,
ϕ←$𝒮

, and randomness 
ρ1,ρ2,ρ3

for
𝖢𝖮𝖬

. Then, it sends the commitment 
CMT=(C1′,C2′,C3′)

to
𝒱^

, where
C2′=𝖢𝖮𝖬​(Γϕ​(𝐫w);ρ2)

, 
C3′=𝖢𝖮𝖬​(Γϕ​(𝐰′+𝐫w);ρ3)

as in the previous two cases, while

 

 

C1′=𝖢𝖮𝖬​(ϕ,𝐌⋅(𝐰′+𝐫w)−𝐯;ρ1).
 

Receiving a challenge 
C​h

from
𝒱^

, it responds as follows:

  • •

    If
    C​h=1

    : Send 
    RSP

    computed as in the case
    (C​h¯=2,C​h=1)

    .

  • •

    If
    C​h=2

    : Send 
    RSP

    computed as in the case
    (C​h¯=1,C​h=2)

    .

  • •

    If
    C​h=3

    : Output 
    ⊥

    and abort.

Observe that, in each of the cases considered above, since 
𝖢𝖮𝖬

is statistically hiding, the distribution of the commitment 
CMT

and challenge 
C​h

from 
𝒱^

are statistically close to those in the real interaction. Hence, the probability that the simulator outputs 
⊥

is negligibly close to 
1/3

. Moreover, one can check that whenever the simulator does not halt, it will provide an accepted transcript, the distribution of which is statistically close to the prover’s in the real interaction. In other words, the constructed simulator can successfully impersonate the honest prover with probability negligibly close to 
2/3

.

Argument of Knowledge. Suppose
RSP1=(𝐭w,𝐭r,ρ2,ρ3)

, 
RSP2=(ϕ2,𝐰2,ρ1,ρ3)

and 
RSP3=(ϕ3,𝐰3,ρ1,ρ2)

are 
3

valid responses to the same commitment
CMT=(C1,C2,C3)

, with respect to all 
3

possible values of the challenge. The validity of these responses implies that:

 

 

{𝐭w∈𝖵𝖠𝖫𝖨𝖣;C1=𝖢𝖮𝖬​(ϕ2,𝐌⋅𝐰2−𝐯modq;ρ1)=𝖢𝖮𝖬​(ϕ3,𝐌⋅𝐰3;ρ1);C2=𝖢𝖮𝖬​(𝐭r;ρ2)=𝖢𝖮𝖬​(Γϕ3​(𝐰3);ρ2);C3=𝖢𝖮𝖬​(𝐭w+𝐭rmodq;ρ3)=𝖢𝖮𝖬​(Γϕ2​(𝐰2);ρ3).
 

Since COM is computationally binding, it implies that

 

 

{𝐭w∈𝖵𝖠𝖫𝖨𝖣;ϕ2=ϕ3;𝐭r=Γϕ3​(𝐰3);𝐭w+𝐭r=Γϕ2​(𝐰2)modq;𝐌⋅𝐰2−𝐯=𝐌⋅𝐰3modq.
  (8)

Since
𝐭w∈𝖵𝖠𝖫𝖨𝖣

, if we let
𝐰′=[Γϕ2]−1​(𝐭w)

, then
𝐰′∈𝖵𝖠𝖫𝖨𝖣

. Furthermore, we have

 

 

Γϕ2​(𝐰′)+Γϕ2​(𝐰3)=Γϕ2​(𝐰2)modq,
 

which means that
𝐰′+𝐰3=𝐰2modq

, and
𝐌⋅𝐰′+𝐌⋅𝐰3=𝐌⋅𝐰2modq

. As a result, we have
𝐌⋅𝐰′=𝐯modq

, concluding the proof. ∎

本文地址
最后修改
星期二, 一月 28, 2025 - 16:01
Tags
 
Article
↑