4.11 Lattice-Based Exact Argument of Knowledge

From [LS18] to [BLS19].

The role of splitting is different in [LS18] and [BLS19]. In [LS18], the NTT coordinates are used to argue that short nonzero elements cannot vanish in any coordinate, and hence are invertible. In [BLS19], we instead use the fully splitting case to expose the witness coordinates themselves: after the NTT, the ternary condition on 𝐬^ is equivalent to the single ring identity 𝐬⁢(𝐬−𝟏)⁢(𝐬−𝟐)=𝟎. The remaining issue is no longer ring splitting, but how to enforce this identity together with 𝐀⁢𝐬^=u‾ inside an exact proof of knowledge. In our case, Rq=ℤq⁢[X]/(Φℓ) is a power-of-2 fully splitting cyclotomic ring by q≡1modℓ, Φℓ=Xn+1, and n=φ⁢(ℓ), so ℓ=2⁢n.

The NTT Trick for Shortness.

The starting exact relation is to prove knowledge of a short vector 𝐬^∈ℤqn such that

𝐀⁢𝐬^=u‾modq.

We focus on 𝐬^∈{0,1,2}n. For 𝐬∈Rq whose NTT representation is 𝐬^, the ternary constraint is equivalent to

𝐬^∈{0,1,2}n⇔𝐬^∘(𝐬^−𝟏^)∘(𝐬^−𝟐^)=𝟎^⇔𝐬⁢(𝐬−𝟏)⁢(𝐬−𝟐)=𝟎∈Rq, (4.4)

and the “shortness” check is turned into an algebraic identity over a fully splitting ring. This is how exact shortness is proved without falling back to a coordinate-wise combinatorial argument.

First Attempt From Prior Approximate Arguments of Knowledge.

We start from the Commit-and-Open Sigma-Protocol, which originated from [Lyu12], and was explicitly constructed in [BDL+18b] for the approximate argument of knowledge for the commitment opening.

Since we cannot challenge 𝐀⁢𝐬^ with short invertible ring elements, as 𝐬^∈ℤqn is incompatible with the challenge applied through the polynomial product. Going down the path, for the knowledge soundness of the Sigma-Protocol, the challenge has to be from ℤq for a sufficiently large challenge set. Yet, given that the new challenge set is ℤq, the norm of c⋅𝐬^ can be arbitrary, and the masking message r‾∈ℤqn has to be uniformly random. Again, this violates the commitment binding in the Commit-and-Open Sigma-Protocol, where 𝐀 as the Ajtai commitment has to bind r‾ to pin down the masking against the random oracle.

Looking closely, in previous approximate arguments of knowledge [BBC+18a, BDL+18b], 𝐀 simultaneously takes over the role of the statement, and the binding commitment that binds the masking message and the last opening. The dual roles enforce that the masking and opening have to be short, or otherwise Ajtai will not bind.

In [BLS19], the role of binding commitment is lifted from 𝐀, and moved to a lattice-based commitment scheme that binds arbitrary messages, such that the canonical representations 𝐬 and 𝐫=𝖭𝖳𝖳−1⁢(r‾) are committed and pinned to the random oracle. In this way, 𝐀 is treated as more of a linear system of the relation to be proved, rather than a commitment scheme that instantiates a Commit-and-Open Sigma-Protocol. The lifting of the binding role allows the challenge c to be uniformly random over ℤq, and the masking r‾ for c⋅𝐬^ to be uniformly random over ℤqn.

Why [BDL+18b] Commitment.

Ajtai commitment [Ajt96] has been great as a compressing commitment, when the message is short. The binding and extractability hold by the SIS hardness assumption. However in our scenario, the NTT representation is short for the message to be committed, but not the canonical form of the message itself. Hence, we need a commitment that lets us manipulate arbitrary ring messages algebraically and homomorphically, while preserving hiding, binding, and extractability.

Now consider a commitment satisfying the requirements above, though it is not compressing like Ajtai commitment. The vanilla BDLOP commitment [BDL+18b] is constructed as follows. For β>0, write

Sβ={𝐚∈R:‖𝐚‖∞≤β}. (4.5)

The public parameter is a pair of matrices:

𝐀1 =[𝐈n𝐀1′]∈Rqn×k, 𝐀1′ ←rRqn×(k−n),
𝐀2 =[𝟎ℓ𝖢𝗈𝗆×n𝐈ℓ𝖢𝗈𝗆𝐀2′]∈Rqℓ𝖢𝗈𝗆×k, 𝐀2′ ←rRqℓ𝖢𝗈𝗆×(k−n−ℓ𝖢𝗈𝗆).

Equivalently, the commitment map is defined by the vertical stack

𝐀=[𝐀1𝐀2]∈Rq(n+ℓ𝖢𝗈𝗆)×k.

On message 𝐦‾∈Rqℓ𝖢𝗈𝗆, sample short randomness 𝐫‾←rSβk and output

𝐜‾=[𝐜‾1𝐜‾2]=[𝐀1𝐀2]⁢𝐫‾+[𝟎n𝐦‾].

Thus the message is added only to the lower coordinates, while both coordinates are still linear functions of the same short randomness 𝐫‾. The relaxed opening form used in the proof system allows an extracted scalar 𝐟 from the challenge set:

𝐟⋅𝐜‾=[𝐀1𝐀2]⁢𝐫‾+𝐟⋅[𝟎n𝐦‾], (4.6)

where the honest opening has 𝐟=𝟏 and 𝐫‾ remains short. This identity-block form is what makes opening proofs compact: the prover can prove knowledge of a short 𝐫‾ for the top part and recover the message from the lower part.

Definition 4.11.1 (𝖲𝖪𝖲n,k,γ2).

Given 𝐀′←rRqn×(k−n), find a nonzero vector 𝐲‾=(𝐲1,…,𝐲k)𝖳∈Rk such that

[𝐈n𝐀′]⁢𝐲‾=𝟎∈Rqn,‖𝐲i‖2≤γ.

This is exactly the Module-SIS hardness assumption where 𝐀 is in Hermite Normal Form.

Definition 4.11.2 (𝖣𝖪𝖲n,k,β∞).

Given 𝐀′←rRqn×(k−n), distinguish

(𝐀′,[𝐈n𝐀′]⁢𝐲‾),𝐲‾←rSβk,

from (𝐀′,𝐮‾) for uniform 𝐮‾←rRqn. This is equivalent to the Module-LWE hardness assumption, when the number of samples is limited, namely for a limited number of MLWE samples sharing the same secret.

The hiding reduction is to 𝖣𝖪𝖲n+ℓ𝖢𝗈𝗆,k,β∞: if 𝐀⁢𝐫‾ is computationally (or statistically) indistinguishable from uniform, then adding (𝟎,𝐦‾) does not reveal 𝐦‾. The binding reduction is to 𝖲𝖪𝖲n,k,γ2 for the top block 𝐀1: two different short relaxed openings give a nonzero vector of the form 𝐟′⁢𝐫‾−𝐟⁢𝐫‾′ with 𝐀1⁢(𝐟′⁢𝐫‾−𝐟⁢𝐫‾′)=𝟎.

BDLOP Specialized in [BLS19].

Now back to the [BLS19]. The challenge set 𝒞 is defined by

𝒞={𝟎}∪{Xi}i∈[0,ℓ−1]={𝟎}∪{±Xi}i∈[0,n−1], (4.7)

such that |𝒞|=ℓ+1=2⁢n+1. The challenge-difference set is 𝒞‾:=(𝒞−𝒞)∖{𝟎}, and every element in 𝒞‾ is invertible: Since Rq is fully splitting, then

Rq≅∏j∈ℤℓ∗ℤq⁢[X]/(X−ξj),

where ξ is the ℓth primitive root of unity. Each Xα−Xβ∈𝒞‾ has Xα−Xβ≡ξα⁢j−ξβ⁢jmod(X−ξj) for all j∈ℤℓ∗, and ξα⁢j−ξβ⁢j is zeroed out iff α≡βmodℓ. Hence, all of the CRT slots are nonzero, and they are invertible. Differences involving 𝟎 are of form ±Xα, which are units in Rq and are invertible.

Moreover, for every 𝐟‾=𝐟1−𝐟2∈𝒞‾ and 𝐚∈R, multiplication by 𝐟‾ increases the coefficient ℓ2-norm by at most a factor of 2:

‖𝐟‾⁢𝐚‖2≤‖𝐟1⁢𝐚‖2+‖𝐟2⁢𝐚‖2≤2⁢‖𝐚‖2. (4.8)

One thing to note: the ℓ2-norm in [BLS19] is the canonical embedding ℓ2-norm, while the ℓ2-norm is the coefficient ℓ2-norm. The canonical embedding ℓ2-norm is the ℓ2-norm for the eq. 4.1, which was shown in [LS18]. In our R power-of-two cyclotomic ring, we have

‖𝐚‖e2 =∑j∈ℤℓ∗|𝐚⁢(ωj)|2=∑j∈ℤℓ∗𝐚⁢(ωj)⁢𝐚⁢(ωj)‾=∑j∈ℤℓ∗𝐚⁢(ωj)⁢𝐚⁢(ω−j)
=n⁢‖𝐚‖22+∑i≠k∈[0,n−1]ai⁢ak⁢∑j∈ℤℓ∗ωj⁢(i−k)=n⁢‖𝐚‖22,

where ω here is the primitive ℓth complex root of unity, namely ω=exp⁡(2⁢π⁢i/ℓ), as was written in eq. 4.2.

In the [BLS19] specialization for [BDL+18b], 𝖱𝖫𝖶𝖤 and 𝖱𝖲𝖨𝖲 are needed for hiding and binding.

Definition 4.11.3 (𝖱𝖲𝖨𝖲k,B).

An efficient algorithm 𝒜 has advantage ε in solving 𝖱𝖲𝖨𝖲k,B if

Pr⁡[‖𝐬‾‖2≤B∧[𝟏,𝐚‾𝖳]⁢𝐬‾=𝟎∧𝐬‾≠𝟎‾|𝐚‾←rRqk,𝐬‾←𝒜⁢(𝐚‾)]≥ε,

where 𝐬‾∈Rk+1 and the zero-equation is evaluated in Rq, and ‖𝐬‾‖2 is the coefficient ℓ2-norm.

Fix a distribution χ over ℤ. We write χn for the distribution over R, where a sample is obtained by sampling n coefficients independently from χ, and χk⁢n denotes the corresponding distribution over Rk. In the instantiation of [BLS19], the distribution χ is over {−1,0,1}, outputting ±1 with probability 5/16 each, and 0 with probability 3/8.

Definition 4.11.4 (𝖱𝖫𝖶𝖤m).

Let m≥1. An efficient algorithm 𝒜 has advantage ε in solving 𝖱𝖫𝖶𝖤m if

|Pr⁡[b=1|𝐚‾←rRqm,𝐬←χn,𝐞‾←χm⁢n,b←𝒜⁢(𝐚‾,𝐚‾⁢𝐬+𝐞‾)]−Pr⁡[b=1|𝐚‾←rRqm,𝐮‾←rRqm,b←𝒜⁢(𝐚‾,𝐮‾)]|≥ε.

The 𝖱𝖫𝖶𝖤m problem is hard if every efficient algorithm has only negligible advantage.

The BDLOP commitment is specialized to commit to 𝐦‾=(𝐦2,𝐦3,𝐦4,𝐦5)𝖳∈Rq4, and the public parameter is a matrix 𝐁∈Rq5×6 of the form

𝐁=[𝟏𝐛1,2𝐛1,3𝐛1,4𝐛1,5𝐛1,6𝟎𝟏𝟎𝟎𝟎𝐛2,6𝟎𝟎𝟏𝟎𝟎𝐛3,6𝟎𝟎𝟎𝟏𝟎𝐛4,6𝟎𝟎𝟎𝟎𝟏𝐛5,6],𝐛i,j←rRq.

This is the same identity-block idea as vanilla BDLOP, but with one top coordinate and four message coordinates. To commit to 𝐦‾, sample short randomness 𝐫‾←χ6⁢n from the error distribution and output

𝐭‾=𝐁⁢𝐫‾+[𝟎𝐦‾]∈Rq5.

For σ>0, let ρσ⁢(𝐮‾):=exp⁡(−‖𝐮‾‖22/(2⁢σ2)), and ρσ⁢(S):=∑𝐱‾∈Sρσ⁢(𝐱‾). The discrete Gaussian centered at 𝐯‾∈Rk is

D𝐯‾,σk⁢n⁢(𝐳‾)=ρσ⁢(𝐳‾−𝐯‾)⁢ρσ−1⁢(Rk). (4.9)

When 𝐯‾=𝟎‾, we write Dσk⁢n.

The relaxed opening relation from extractor is

𝐟⋅𝐭‾=𝐁⁢𝐫‾+𝐟⋅[𝟎𝐦‾],

where 𝐟 is either from the challenge-difference set 𝒞‾, or 𝐟=𝟏 for an honest opening. 𝐫‾ needs to be short, written as ‖𝐫‾‖2≤2⁢B, with B=σ⁢12⁢n.

In [BLS19] the hiding is reduced to the 𝖱𝖫𝖶𝖤5 hardness, and the binding is reduced to the 𝖱𝖲𝖨𝖲5,8⁢B hardness, where 8⁢B derives from the ℓ2-norm of 𝐟1⁢𝐫‾0−𝐟0⁢𝐫‾1 in eq. 4.10, recall eq. 4.8 for factor 2 and ‖𝐫‾‖2≤2⁢B.

Short Invertible Elements Alone Won’t Cut It.

A short invertible element itself cannot give knowledge with relaxed norm bounds, not even the exact knowledge. Its role is more of, so long as the elements in the challenge-difference 𝒞‾ are invertible, we can reduce binding to the hardness assumptions like SIS.

After the first definition of binding by definition 4.8.1, we define the property again as follows.

Definition 4.11.5 (Binding).

A commitment scheme is ε-binding if for all efficient 𝒜,

Pr⁡[𝐦0≠𝐦1∧𝖮𝗉𝖾𝗇𝗉𝗉⁢(𝐦0,𝐜,𝐫0)=1∧𝖮𝗉𝖾𝗇𝗉𝗉⁢(𝐦1,𝐜,𝐫1)=1|𝗉𝗉←𝖲𝖾𝗍𝗎𝗉⁢(1λ),(𝐦0,𝐫0,𝐦1,𝐫1,𝐜)←𝒜⁢(1λ,𝗉𝗉)]<ε.

For [BDL+18b], the (𝐟,𝐦‾,𝐫‾) is a relaxed opening proof. Supposing we have a pair of relaxed openings satisfying

𝐟0⋅𝐭‾ =𝐁⁢𝐫‾0+𝐟0⋅[𝟎𝐦‾0],
𝐟1⋅𝐭‾ =𝐁⁢𝐫‾1+𝐟1⋅[𝟎𝐦‾1]

with 𝐦0≠𝐦1, then cancelling out 𝐭‾ term, we have

𝐁⁢(𝐟1⋅𝐫‾0−𝐟0⋅𝐫‾1)+𝐟0⋅𝐟1⋅[𝟎𝐦‾0−𝐦‾1]=𝟎‾, (4.10)

separating by the vertical stack

𝐀1⁢(𝐟1⋅𝐫‾0−𝐟0⋅𝐫‾1) =𝟎,
𝐀2⁢(𝐟1⋅𝐫‾0−𝐟0⋅𝐫‾1) =𝐟0⋅𝐟1⋅(𝐦‾1−𝐦‾0).

It is that 𝐟0⋅𝐟1 being invertible, ensuring 𝐟0⋅𝐟1⋅(𝐦‾0−𝐦‾1)≠𝟎‾, or otherwise the product with a non-invertible ring element a may be 0. Given that 𝐟1⋅𝐫‾0−𝐟0⋅𝐫‾1≠𝟎‾, reducing to the SIS hardness of 𝐀1⁢(𝐟1⋅𝐫‾0−𝐟0⋅𝐫‾1).

For [Ajt96], recall definition 4.8.4, write 𝐀=[𝐀1∣𝐀2] as the commitment key, 𝐬=[𝐫𝖳∣𝐦𝖳]𝖳 as the message and randomness, and 𝐜←𝐀𝐬=𝐀1⁢𝐫+𝐀2⁢𝐦 as the Ajtai commitment. Deriving from the same Sigma-Protocol in [Lyu12], a relaxed opening proof (𝐟,𝐦‾,𝐫‾) from extraction must satisfy

𝐟⋅𝐜‾=𝐀1⁢𝐫‾+𝐀2⁢𝐦‾,

where the honest opening has 𝐟=𝟏.

If the same commitment is opened with 𝐬′=[𝐫′⁣𝖳∣𝐦′⁣𝖳]𝖳, then for 𝐬=[𝐫‾𝖳∣𝐦‾𝖳]𝖳 with 𝐬⋅𝐟−1≠𝐬′, we immediately reduce binding to SIS hardness assumption; or otherwise without invertibility the existence of an SIS solution when 𝐟⋅𝐬′−𝐬=𝟎‾ is hard to reason (say an entry of 𝐬 is 0 while the same entry in 𝐬′ is non-zero but annihilated). Again, the preservation of non-zeroness by invertible elements helps with the hardness reduction.

To sum up, the short invertible elements in the relaxed opening ensure the binding reduction, but do not directly give knowledge soundness.

What if 𝐀 is Weak.

For [BLS19], the relation to prove is 𝐀⁢𝐬^≡u‾modq, where each entry in 𝐬^ is within {0,1,2}. In the prior Commit-and-Open Sigma-Protocol attempt based on previous approximate arguments of knowledge, we lifted the role of the binding commitment from 𝐀. My ill-contrived question is now: if 𝐀 is not a strong Ajtai instance, can we still have zero knowledge for arbitrary 𝐀, unlike in previous works such as [BBC+18a, BLN+20, BDL+18b]?

I started by considering an extreme case where 𝐀 is an identity matrix. Then u‾=𝐬^, and the random masking r‾ is sent in the clear. An honest-but-curious verifier can remove r‾ from z‾, which is the third move of the Sigma-Protocol proposed by modifying the original opening protocol in [BDL+18b] (ignoring the BDLOP commitment for now), and derive the witness 𝐬^.

On the other hand, such an accepting transcript is totally simulatable! Still ignoring the BDLOP part,

  • •

    an accepting transcript contains the first message 𝐀⁢r‾ of the masking through the 𝐀 linear system, the second challenge c, which is uniformly random over ℤq, and the third response c⋅𝐬^+r‾;

  • •

    a simulated transcript first samples the third response z‾ uniformly at random and then samples the challenge c′←rℤq; the first masking through 𝐀 can be simulated by 𝐀⁢z‾−c′⋅u‾.

Both the second and third messages are uniformly distributed. The first masking 𝐀⁢r‾ in a real accepting transcript is uniform over im⁢(𝐀) (uniformly random over the whole codomain if 𝐀 has full row rank), which is determined by the distribution of r‾, while in the simulated transcript, the distribution of 𝐀⁢z‾−c′⋅u‾ is determined by c′ and z‾, which are both uniformly random, and u‾∈im⁢(𝐀) as HVZK is defined for a valid statement. Then 𝐀⁢z‾−c′⋅u‾=𝐀⁢(z‾−c′⋅s‾′), where 𝐀⁢s‾′≡u‾modq, so the first masking is also simulatable as part of the joint transcript distribution. Generalizing from 𝐀=𝐈n, simulatability holds regardless of 𝐀.

So what exactly does HVZK really say? Literally, HVZK says that an honestly generated accepting transcript, where the prover holds the witness and the statement is public, is computationally or statistically close to a simulated transcript generated using only the statement. Now let T𝗋𝖾𝖺𝗅 be the honestly generated accepting transcript, T𝗌𝗂𝗆 be the simulated transcript, 𝒜 be an efficient algorithm attempting to recover the witness from the transcript, and

P𝗋𝖾𝖺𝗅=Pr⁡[R⁢(x,𝒜⁢(x,T𝗋𝖾𝖺𝗅))=1],P𝗌𝗂𝗆=Pr⁡[R⁢(x,𝒜⁢(x,T𝗌𝗂𝗆))=1].

R⁢(x,𝒜⁢(x,T)) can be computed efficiently because membership in the NP relation R can be checked efficiently and 𝒜 is efficient. If HVZK is computational, then let R⁢(x,𝒜⁢(x,⋅)) be an efficient distinguisher, hence

|P𝗋𝖾𝖺𝗅−P𝗌𝗂𝗆|≤𝗇𝖾𝗀𝗅⁢(λ). (4.11)

If HVZK is statistical, then eq. 4.11 follows from the statistical distance being negligible. Let ℬ be an algorithm that samples T𝗌𝗂𝗆 from the simulator and runs 𝒜⁢(x,T𝗌𝗂𝗆). Since the simulator is efficient, ℬ is efficient. Then by eq. 4.11,

Pr⁡[R⁢(x,ℬ⁢(x))=1]−𝗇𝖾𝗀𝗅⁢(λ)≤P𝗋𝖾𝖺𝗅≤Pr⁡[R⁢(x,ℬ⁢(x))=1]+𝗇𝖾𝗀𝗅⁢(λ),

or equivalently

P𝗋𝖾𝖺𝗅−𝗇𝖾𝗀𝗅⁢(λ)≤Pr⁡[R⁢(x,ℬ⁢(x))=1]≤P𝗋𝖾𝖺𝗅+𝗇𝖾𝗀𝗅⁢(λ).

In this way, HVZK can be interpreted as, it does not give one more advantage in finding the witness for the statement, with or without an honestly generated accepting transcript. But ZK is irrelevant to 𝐀 being a hard instance or not. If the problem is easy, then the problem is in P, and there is no witness to hide.

Thus, any efficient witness-recovery advantage obtained from the honest verifier’s view could already be obtained from the public statement alone. If the relation is hard, no such non-negligible advantage can exist, and the witness hiding against an honest verifier follows from HVZK and the hardness of the relation 212121This is an honest-verifier analogue of the witness-hiding interpretation introduced by [FS90]. Their formal definition is distributional and applies to potentially malicious verifiers, whereas the present conclusion follows only for the honest verifier from HVZK.. See also [Dam10].

In our particular setting, if (𝐀,u‾) is sampled from a hard ISIS instance distribution, then finding r‾ from 𝐀⁢r‾ in the transcript for short 𝐬^′ is at least as hard as solving the ISIS instance; namely, efficient recovery of the masking value r‾ would give an efficient solver for the ISIS relation.

Henceforth, we let the statement (𝐀,u‾) be sampled from a hard ISIS instance distribution for witness privacy.

After the First Sigma-Protocol.

Recall the construction of the first Sigma-Protocol attempt without BDLOP:

  • •

    The prover sends out w‾←𝐀⁢r‾, where r‾ is uniformly random.

  • •

    The verifier challenges the prover by sending c←rℤq.

  • •

    The prover replies with c⋅𝐬^+r‾.

It is definitely flawed, a malicious prover who does not know 𝐬 can send out the first masking w‾′ at random, and on verifier replies with c←rℤq, find an arbitrary image z‾′ such that 𝐀⁢z‾′=w‾′+c⋅u‾, where 𝐀⁢𝐬^≡u‾modq in statement.

Starting from the approximate argument similar to [BDL+18b, Lyu12]. For HVZK, namely the accepting transcript is simulatable, the first message for the masking randomness should be simulatable in the joint distribution of the transcript, or otherwise supposing the accepting transcript whose first message being raw masking randomness is efficiently simulatable, then such efficient simulator can be used to solve the statement, which is a hard ISIS instance, and it does not make sense. By contradiction, the first message to be sent out should be “hiding”.

On the other hand, one could have just sent over the raw masking randomness to the RO, and let the RO decide which challenge to send back. But due to the goal of reaching ZK, one has to use a (cryptographic) object in between the masking randomness and the RO. Intuitively, one should pin the masking randomness against the RO, such that the challenge is decided and fixed after the RO absorbs the first message, and the represented masking randomness.

Since the RO itself cannot guarantee what value the first message represents, we need the “binding” property, which says it is computationally/statistically hard to find different preimages that lead to the same message. With such property, an efficient knowledge extractor can extract (relaxed) knowledge of the witness from a pair of forked transcripts from the first message, or otherwise a malicious prover can provide “branch-dependent” decompositions, say z0=y0+c0⋅s0 and z1=y1+c1⋅s1, so rewinding does not give valid witness. Binding removes the possibility to equivocate, and makes it possible for extraction from rewinding.

With the property of binding and hiding, we introduce the notion of commitment.

In the vanilla approximate arguments such as [BDL+18b, Lyu12], stopping at the third move is sufficient. It has to be either breaking the SIS hardness assumption, with probability at most 𝗇𝖾𝗀𝗅⁢(λ), or the malicious prover prepares a forged commitment t‾ to the masking randomness, and a forged response short z‾, such that the challenge c happens to satisfy 𝐀⁢z‾=t‾+c⋅u‾, with probability at most |𝒞|−1. That sums up to be the knowledge soundness, and it suffices to stop at the third move as the binding property allows for rewinding for knowledge extraction.

For the current protocol [BLS19], the same argument no longer applies. The masking randomness is not pinned to the RO, even if 𝐀 stands for an Ajtai commitment, it will not bind for a message with unbounded length. Moreover, on the third response, in the previous protocols [BDL+18b, Lyu12], it suffices to use binding of short messages to stop there, while in [BLS19], the norm is arbitrary, so we will resort to proving the linear relation r‾+c⋅𝐬^=𝐳^, let alone proving the shortness of 𝐬^.

Quickly recap what we have here, so after the first Sigma-Protocol, we transformed the problem into proving the linear relation 𝐳^=c⋅𝐬^+r‾, where 𝐳^ is in the third move prover response, while r‾ is the masking randomness, and 𝐬^ is the witness. Finally, we also need to prove the shortness of 𝐬^ in the statement.

Proving Linear Relation over Elements in [BDL+18b].

Deriving from the protocol for linear relation in [BDL+18b], we consider an adaptation here in the 𝖱𝖲𝖨𝖲 and 𝖱𝖫𝖶𝖤 settings to prove the linear relation of the committed elements.

Let 𝐁∈Rqk×(k+1) be a BDLOP commitment public parameter, and 𝐦‾∈Rqk−1 be the message, then

𝐜‾=𝐁⁢𝐫‾+[𝟎𝐦‾]∈Rqk

is the commitment to 𝐦‾, where 𝐫‾←χ(k+1)⁢n.

Let f⁢(𝐱1,…,𝐱k−1) be a linear function of {𝐱i}i∈[1,k−1] whose total degree is at most 1, 𝐛‾i be the ith row of 𝐁, and 𝐛‾f=f⁢(𝐛‾2,…,𝐛‾k). Then Π𝗅𝗂𝗇 is defined for statement

f⁢(𝐦1,…,𝐦k−1)=𝐰.
  • •

    The prover samples 𝐫‾′←Dσ(k+1)⁢n, and sends over

    𝐰‾=[𝐛‾1𝖳𝐛‾f𝖳]⁢𝐫‾′.
  • •

    The verifier samples 𝐟←r𝒞, where 𝒞 is the short challenge set, and sends over 𝐟.

  • •

    The prover runs reject sampling, and outputs 𝐳‾←𝐫‾′+𝐟⋅𝐫‾.

  • •

    The verifier checks 𝐳‾ being short, and the following equality holds

    𝐰‾+𝐟⋅[𝐜1f⁢(𝐜2,…,𝐜k)]=[𝐛‾1𝖳𝐛‾f𝖳]⁢𝐳‾+𝐟⋅[𝟎𝐰].

Moreover, the linear relation scheme Π𝗅𝗂𝗇 can be extended to multiple linear functions.

Piece Things Together Without Shortness Check.

We now piece Π𝗅𝗂𝗇 and the first Sigma-Protocol attempt together for the construction of the argument system just to prove the reduced statement 𝐳^=r‾+c⋅𝐬^ without the norm check.

Here we let 𝐲^=𝖭𝖳𝖳⁢(𝐲) be the masking randomness, which used to be represented by r‾. We use 𝐁∈Rq3×4 for the BDLOP commitment public parameter, such that we commit to 𝐬 and 𝐲.

  • •

    The prover sends out w‾←𝐀⁢𝐲^, where 𝐲^ is uniformly random. Moreover, the prover samples 𝐫‾←χ4⁢n, commits

    𝐜‾←𝐁⁢𝐫‾+[𝟎𝐲𝐬],

    and sends 𝐜‾ over to the verifier.

  • •

    The verifier challenges the prover by sending c←rℤq.

  • •

    The prover replies with 𝐳←c⋅𝐬+𝐲, and starts Π𝗅𝗂𝗇 by:

    • –

      The prover samples 𝐲‾′←Dσ4⁢n, let f⁢(𝐲,𝐬)=c⋅𝐬+𝐲, and sends over

      𝐰‾′=[𝐛‾1𝖳𝐛‾f𝖳]⁢𝐲‾′.
    • –

      The verifier samples 𝐟←r𝒞, where 𝒞 is the short challenge set, and sends over 𝐟.

    • –

      The prover runs reject sampling, and outputs 𝐳‾′←𝐲‾′+𝐟⋅𝐫‾.

  • •

    The verifier checks that ‖𝐳‾′‖2≤B and that the following equality holds:

    𝐰‾′+𝐟⋅[𝐜1f⁢(𝐜2,𝐜3)]=[𝐛‾1𝖳𝐛‾f𝖳]⁢𝐳‾′+𝐟⋅[𝟎𝐳],

    and w‾+c⋅u‾=𝐀⁢𝐳^ holds.

Shortness Check Over the Sigma-Protocol Response.

To adapt the previous NTT shortness check in eq. 4.4 for 𝐳^, we have

(𝐳−2⁢c)⁢(𝐳−c)⁢𝐳=𝐲3+3⁢(𝐬−1)⁢𝐲2⋅c+(3⁢𝐬2−6⁢𝐬+2)⁢𝐲⋅c2+(𝐬−1)⁢(𝐬−2)⁢𝐬⋅c3.

To prove the degree-3 evaluation over c, the trivial way is to use Π𝗅𝗂𝗇 to prove the commitments to 𝐲3, 3⁢(𝐬−1)⁢𝐲2, and (3⁢𝐬2−6⁢𝐬+2)⁢𝐲 satisfy the linear relation over coefficients 1,c,c2, then the public parameter should be Rq6×7.

One optimization in [BLS19] is to reuse the commitment to 𝐬, such that the linear relation to be done is over 1,c, while c2 should be multiplying 0, and

(𝐳−2⁢c)⁢(𝐳−c)⁢𝐬 =𝐬𝐲2+𝐲𝐬⁢(2⁢𝐬−3)⋅c+(𝐬−2)⁢(𝐬−1)⁢𝐬⋅c2
=𝐲⁢(2⁢𝐬−3)⋅𝐳−𝐲2⁢(𝐬−3)+(𝐬−2)⁢(𝐬−1)⁢𝐬⋅c2.

Either way is fine, but this allows for committing to only 4 elements, and the public parameter is decreased to Rq5×6.

Final Construction.

We now present the final construction, and we use 𝐁∈Rq5×6 for the BDLOP public parameter, such that we commit to 𝐲, 𝐬, 𝐲⁢(2⁢𝐬−3), and 𝐲2⁢(𝐬−3).

  • •

    The prover sends out w‾←𝐀⁢𝐲^, where 𝐲^ is uniformly at random. Moreover, the prover samples 𝐫‾←χ6⁢n, commits

    𝐜‾←𝐁⁢𝐫‾+[𝟎𝐲𝐬𝐲⁢(2⁢𝐬−3)𝐲2⁢(𝐬−3)],

    and sends 𝐜‾ over to the verifier.

  • •

    The verifier challenges the prover by sending c←rℤq.

  • •

    The prover replies with 𝐳←c⋅𝐬+𝐲, and starts Π𝗅𝗂𝗇 by:

    • –

      The prover samples 𝐲‾′←Dσ6⁢n, let

      f0⁢(𝐲,𝐬,𝐦4,𝐦5) =c⋅𝐬+𝐲,
      f1⁢(𝐲,𝐬,𝐦4,𝐦5) =(𝐳−2⁢c)⁢(𝐳−c)⋅𝐬−𝐦4⋅𝐳+𝐦5,

      and sends over

      𝐰‾′=[𝐛‾1𝖳𝐛‾f0𝖳𝐛‾f1𝖳]⁢𝐲‾′.
    • –

      The verifier samples 𝐟←r𝒞, where 𝒞 is the short challenge set, and sends over 𝐟.

    • –

      The prover runs reject sampling, and outputs 𝐳‾′←𝐲‾′+𝐟⋅𝐫‾.

  • •

    The verifier checks 𝐳‾′ being short, the following equality holds

    𝐰‾′+𝐟⋅[𝐜1f0⁢(𝐜2,…,𝐜5)f1⁢(𝐜2,…,𝐜5)]=[𝐛‾1𝖳𝐛‾f0𝖳𝐛‾f1𝖳]⁢𝐳‾′+𝐟⋅[𝟎𝐳𝟎],

    and w‾+c⋅u‾=𝐀⁢𝐳^ holds.

Knowledge Extraction.

We let ε be the convincing probability of the prover, so the prover generates an accepting transcript in expected 1/ε steps. The knowledge extraction process is similar to that in [BLN+20], where one needs distinct challenges c1,c2,c3∈ℤq because there is a degree-2 polynomial over c in the shortness check, and the last step is an adaptation of the BDLOP proof of a linear relation, for each ci, by [BDL+18b], we need 2 distinct 𝐟i,1,𝐟i,2∈𝒞 for a relaxed opening, and therefore in total we need 6 accepting transcripts forked in 3 by 2.

We begin by bounding the expected runtime of the extractor, where the “heavy-row” argument [Dam10] is used in a similar way as [BBC+18a, BLN+20]. If the probability of convincing is ε, consider all transcripts indexed by the first challenge c∈ℤq and the second challenge 𝐟∈𝒞, in a 0-1 matrix.

Start with the first pair of accepting transcripts decided by c1. A “heavy row” indexed by challenge c is a row with entries being 1 of fraction at least ε/2, then by the “heavy-row” argument in [Dam10], the first accepting transcript is on a heavy row with probability at least 1/2. Conditioned that the first accepting transcript is on a heavy row, the second accepting transcript is obtained with probability at least ε/2−|𝒞|−1, as 𝐟1,1≠𝐟1,2. Hence, the expected runtime for the first pair is

1ε+2ε−2⁢|𝒞|−1.

The second pair of accepting transcripts is similar: The first of them is obtained with probability at least ε−1/q as c2≠c1, then let the heavy row with entries being 1 of fraction at least ε/2−1/(2⁢q), then the first of them lands on a heavy row with probability at least 1/2, and conditioned that, the second of them is obtained with probability at least ε/2−1/(2⁢q)−|𝒞|−1. Hence, the expected runtime for the second pair is

1ε−q−1+2ε−q−1−2⁢|𝒞|−1.

Hence, conditioned on all three pairs being on heavy rows, occurring with probability at least 1/8, the expected runtime is at most

T=9ε−2⁢q−1−2⁢|𝒞|−1,

and we cap the runtime of the extractor at 2⁢T. By Markov’s inequality, finding 3 pairs of accepting transcripts in 2⁢T steps succeeds with probability at least 1/16 (conditioned that all are on heavy rows, the probability is at least 1/2 by Markov’s inequality, then 1/16 is immediate). Restarting after failure thus gives expected runtime at most 32⁢T 222222[BLS19] states 16⁢T, apparently omitting the factor 2 from the timeout..

For i∈[1,3], let 𝐟i′=𝐟i,1−𝐟i,2, and 𝐳‾i′′=𝐳‾i,1′−𝐳‾i,2′ be the relaxed-opening randomness obtained by taking the difference of the two masked responses. The difference 𝐟i′ is invertible over Rq by 𝒞‾, as 𝐟i,1,𝐟i,2∈𝒞 are distinct. The two transcripts have the same ci, 𝐳i, and three masking terms. Subtracting their three verification equations cancels the common masking terms and gives a branch-specific pair of linear functions. Namely, let

gi :=(𝐳i−ci)⁢(𝐳i−2⁢ci),
f0,i⁢(𝐱2,𝐱3,𝐱4,𝐱5) :=𝐱2+ci⁢𝐱3,
f1,i⁢(𝐱2,𝐱3,𝐱4,𝐱5) :=gi⁢𝐱3−𝐳i⁢𝐱4+𝐱5,

with the corresponding rows

𝐛‾f0,i𝖳 :=𝐛‾2𝖳+ci⁢𝐛‾3𝖳,
𝐛‾f1,i𝖳 :=gi⁢𝐛‾3𝖳−𝐳i⁢𝐛‾4𝖳+𝐛‾5𝖳.

The subtraction is then written in the same matrix form as the masked BDLOP opening:

𝐟i′⁢[𝐜1f0,i⁢(𝐜2,…,𝐜5)f1,i⁢(𝐜2,…,𝐜5)]=[𝐛‾1𝖳𝐛‾f0,i𝖳𝐛‾f1,i𝖳]⁢𝐳‾i′′+𝐟i′⁢[𝟎𝐳i𝟎].

Define the extracted messages by

𝐲i∗ =𝐜2−(𝐟i′)−1⁢𝐛‾2𝖳⁢𝐳‾i′′, 𝐬i∗ =𝐜3−(𝐟i′)−1⁢𝐛‾3𝖳⁢𝐳‾i′′,
𝐦4,i∗ =𝐜4−(𝐟i′)−1⁢𝐛‾4𝖳⁢𝐳‾i′′, 𝐦5,i∗ =𝐜5−(𝐟i′)−1⁢𝐛‾5𝖳⁢𝐳‾i′′.

The first row of this equation and these definitions give the relaxed opening

𝐟i′⁢𝐜‾=𝐁⁢𝐳‾i′′+𝐟i′⁢[𝟎𝐲i∗𝐬i∗𝐦4,i∗𝐦5,i∗],‖𝐳‾i′′‖2≤2⁢B.

If two outer branches yield different messages, the two relaxed openings break binding and give an 𝖱𝖲𝖨𝖲5,8⁢B solution. Otherwise, all three branches open to fixed messages 𝐲∗,𝐬∗,𝐦4∗,𝐦5∗ that are independent of ci.

The second row of the matrix equation then gives

𝐳i=f0,i⁢(𝐲∗,𝐬∗,𝐦4∗,𝐦5∗)=𝐲∗+ci⁢𝐬∗for ⁢i∈[1,3], (4.12)

while the third row gives

f1,i⁢(𝐲∗,𝐬∗,𝐦4∗,𝐦5∗)=gi⁢𝐬∗−𝐳i⁢𝐦4∗+𝐦5∗=0.

Substituting eq. 4.12 into the definition of gi gives

gi=(𝐲∗+ci⁢(𝐬∗−1))⁢(𝐲∗+ci⁢(𝐬∗−2)),

substituting this expression for gi, together with the expression for 𝐳i in eq. 4.12, into the third-row equation yields a degree-2 polynomial in ci whose leading coefficient is

𝐬∗⁢(𝐬∗−1)⁢(𝐬∗−2).

The polynomial vanishes at the three distinct points c1,c2,c3. The corresponding Vandermonde matrix is invertible over ℤq, hence also over Rq, and therefore

𝐬∗⁢(𝐬∗−1)⁢(𝐬∗−2)=0.

Applying the NTT shows that 𝐬^∗∈{0,1,2}n.

Finally, subtracting the outer verification equations for two distinct challenges gives

𝐀⁢(𝐳^1−𝐳^2)=(c1−c2)⁢u‾.

By eq. 4.12, 𝐳^1−𝐳^2=(c1−c2)⁢𝐬^∗. Since c1−c2 is invertible in ℤq, we conclude that

𝐀⁢𝐬^∗=u‾.

Therefore, the extractor outputs an exact witness 𝐬^∗∈{0,1,2}n, or it produces an 𝖱𝖲𝖨𝖲5,8⁢B solution.

Knowledge Soundness.

Following [BG93, Dam10], the knowledge error κ can be viewed as an upper bound on the acceptance probability that does not yet force extractable knowledge. Informally, it is the best convincing probability that the analysis permits for a prover that does not know a correct witness. If the prover goes beyond this threshold, the extractor can take a witness out of its behavior. This interpretation does not assert that a prover without a witness can actually attain κ: the bound need not be tight, and a particular prover may do strictly worse.

For comparison, in a flat protocol with a uniform challenge set of size N, if any r distinct accepting branches from the same prefix suffice for extraction, then at most r−1 branches may remain non-extractable, giving κ=(r−1)/N. Thus two-branch extraction gives 1/N, while three-branch extraction gives 2/N. This is only the flat intuition: the extractor above requires a nested 3-by-2 challenge tree.

For the current protocol, let

κ:=2q+2|𝒞|.

When obtaining the third pair of transcripts, excluding the two previously used outer challenges loses at most 2/q of the acceptance probability. On a heavy row, the acceptance probability for the second challenge is therefore at least one half of ε−2/q. Excluding the previously used second challenge then leaves probability at least

ε2−1q−1|𝒞|=12⁢(ε−κ)

for obtaining the required inner fork. Hence ε>κ makes every denominator in the extraction above positive, and the heavy-row argument of [Dam10] finds the nested challenge tree in expected time 𝗉𝗈𝗅𝗒⁢(λ)/(ε−κ).

The extractor then outputs either an exact witness 𝐬^∗∈{0,1,2}n satisfying 𝐀⁢𝐬^∗=u‾, or an 𝖱𝖲𝖨𝖲5,8⁢B solution. Under the 𝖱𝖲𝖨𝖲5,8⁢B hardness assumption, the latter event is negligible. This realizes the Bellare-Goldreich interpretation: acceptance beyond κ by a non-negligible gap yields extractable knowledge, with the inverse gap governing the expected extraction time.

Rejection Sampling and Honest-Prover Bounds.

All norms in this paragraph are coefficient ℓ2-norms. Let 𝐯‾:=𝐟⁢𝐫‾, where 𝐫‾←χ6⁢n and 𝐟←r𝒞. Since 𝐟∈𝒞 defined in eq. 4.7, it does not increase the coefficient norm. Moreover, ‖𝐫‾‖22 is a sum of 6⁢n independent Bernoulli trials with success probability 5/8. Hence, for 0<δ≤1,

Pr⁡[‖𝐯‾‖2≤Tnorm]≥1−exp⁡(−5⁢δ2⁢n4),Tnorm:=(1+δ)⁢15⁢n4

by Chernoff’s bound. Choose δ so that the failure probability is at most 2−101, and choose σ≥5⁢Tnorm.

For 𝐲‾′←Dσ6⁢n, the uncorrected response 𝐳‾′=𝐲‾′+𝐯‾ is distributed according to D𝐯‾,σ6⁢n, centered at 𝐯‾ rather than 𝟎‾. The prover accepts this response with probability

min⁡{112⋅ρσ⁢(𝐳‾′)ρσ⁢(𝐳‾′−𝐯‾),1}.

By the rejection-sampling lemma of [Lyu12, BLS19], acceptance occurs with probability at least 1/12−2−104. Conditioned on acceptance, the joint distribution of (𝐯‾,𝐳‾′) is within statistical distance 2−100 of independently sampling 𝐯‾ as above and 𝐳‾′←Dσ6⁢n. Thus the accepted response is statistically close to a zero-centered Gaussian independent of the shift 𝐯‾=𝐟⁢𝐫‾.

Finally, by [Ban93], over 𝐳‾′←Dσ6⁢n, the Gaussian tail bound gives

Pr⁡[‖𝐳‾′‖2≤σ⁢12⁢n]≥1−(2/e)3⁢n/2.

We therefore set B:=σ⁢12⁢n. An accepted response fails the verifier’s norm check with probability at most

2−100+(2/e)3⁢n/2.

Upon rejection, the prover aborts and restarts with fresh randomness, so an honest execution succeeds with probability approximately 1/12 per attempt.