The Representation Problem Based on Factoring

Marc Fischlin and Roger Fischlin

Fachbereich Mathematik (AG 7.2) Johann Wolfgang Goethe-Universität Frankfurt am Main Postfach 111932 60054 Frankfurt/Main, Germany

             {marc,fischlin} @ mi.informatik.uni-frankfurt.de
                http://www.mi.informatik.uni-frankfurt.de/

February 14, 2002

Abstract. We review the representation problem based on factoring and show that this problem gives rise to alternative solutions to a lot of cryptographic protocols in the literature. And, while the solutions so far usually either rely on the RSA problem or the intractability of factoring integers of a special form (e.g., Blum integers), the solutions here work with the most general factoring assumption. Protocols we discuss include identification schemes secure against parallel attacks, secure signatures, blind signatures and (non-malleable) commitments.

Keywords. Blind Signature, Commitment, Factoring, Identification, Non-Malleability, Representation Problem, Signature.

1 Introduction

The RSA representation problem deals with the problem of finding a decomposition of a value into an RSA-like representation. Specifically, given a modulus N = pq of two secret primes p, q, an exponent e relatively prime to Euler’s totient function φ(N) and a value g ∈ ZZ_{N}^{∗}, find to X ∈ ZZ_{N}^{∗} a representation x ∈ ZZ_{e} and r ∈ ZZ_{N}^{∗} with X = g^{x}r^{e} mod N. It is well-known that given N, e, g coming up with some X and distinct representations (x_{1}, r_{1}), (x_{2}, r_{2}) is as hard as the RSA problem [Ok92].

The RSA representation problem has a vast number of applications: for instance, Okamoto [Ok92] constructs an identification protocol secure against (parallel) active attacks which Pointcheval and Stern [PS00] subsequently turn into a secure signature scheme and a blind signature scheme. Fischlin and Fischlin [FF00] as well as Di Crescenzo et al. [CKOS01] use the RSA representation problem to derive efficient non-malleable commitment schemes based on RSA. Brands [B97] shows how to prove linear relations on committed values with an extended version of the RSA representation problem.

Interestingly, there is a seemingly less popular analogue to the RSA representation problem relying on the assumed hardness of factoring integers. In this

A preliminary version appears in: RSA Security 2002 Cryptographer’s Track, Lecture Notes in Computer Science, Vol.2271, pp.96–113, \begin{matrix}c \\ ◯ \end{matrix} Springer-Verlag

case, a representation of X with respect to N, g and a number t is a pair x ∈ ZZ_{2^{t}} and r ∈ ZZ_{N}^{∗} with X = g^{x}r^{2^{t}} mod N. Brassard et al. [BCC88] introduce this representation type for the special case t = 1. Damgård [D95] generalizes this to arbitrary t ≥ 1 for Blum integers N where p, q = 3 mod 4. In order to advance to general moduli we introduce an “adjustment” parameter τ which depends on the prime factorization of N (and which equals 0 for Blum integers, for example), and we define a representation of X with respect to N, τ, g and t to be a pair x ∈ ZZ_{2^{t}} and r ∈ ZZ_{N}^{∗} such that X = g^{x}r^{2^{τ+t}} mod N. As we will elaborate, for appropriate choices of τ, g the task of finding a value X and different representations becomes equivalent to the factoring problem for arbitrary moduli.

One reason for the unpopularity of the factoring representation problem may stem from the fact that Okamoto’s previously proposed identification scheme based on this problem is flawed. It is sufficient to solve the RSA problem to pass the identification scheme with constant probability, without necessarily being able to factor the modulus. We review this shortcoming in Appendix A. Fortunately, the bug in Okamoto’s scheme is fixable, and we can indeed devise a secure identification scheme using the factoring representation problem. We show that for suitable parameters the protocol becomes provably secure under the factoring assumption.

Among other identification schemes provably secure as factoring, the presumably most popular are the Feige-Fiat-Shamir protocol [FFS88] and its variation due to Ong-Schnorr [OS90,S96] as well as Shoup’s system [Sh99]. For these schemes there is a trade-off between the key size and security against parallel attacks. While the Feige-Fiat-Shamir protocol provides security against such parallel attacks, and therefore forms a fundament for secure resettable identification [BFGM01] and blind signatures with parallel signature generation [PS97,PS00], it also requires large secret and public keys. The Shoup and the Ong-Schnorr system, on the other hand, admit short keys but are conceivably not secure against parallel attacks.^{1}

Our protocol supplements the known schemes and achieves security against parallel attacks and requires only short keys. With the techniques introduced in [PS00] we therefore obtain a secure signature scheme and a secure blind signature scheme withstanding up to poly-logarithmically many concurrent signature request, both in the random oracle model. Furthermore, we derive a secure resettable identification protocol by the general transformation presented in [BFGM01].

As for further applications, our result generalizes the result by Halevi [H99] that two-round commitment schemes does not only work with William integers

1 Schnorr [S96,S97] claims that the Ong-Schnorr protocol with short keys is secure against parallel attacks for very special system parameters where a large power 2^{m} divides p − 1 or q − 1 (e.g., m ≥ 25 for reasonable choices). Such primes form only a small subspace of all primes and may be much harder to find. Moreover, although we are not aware of any factoring method today taking advantage of this property, such moduli are in principle more vulnerable to improved factoring procedures.

but rather with any moduli. Also, plugging our result into the constructions of [FF00,CKOS01], we conclude that efficient non-malleable commitment schemes can be constructed under the assumption that factoring is hard. In fact, our variation of the protocols in [CKOS01] does not only base the security on a milder assumption, but also simplifies and improves the scheme concerning computational effort and communication complexity.

The paper is structured as follows. In Section 2 we formally state the representation problem based on factoring and prove equivalence to the intractability of factoring large numbers. Section 3 discusses applications of the representation problem to identification and (blind) signatures. In Section 4 we deal with commitments and show how to construct efficient non-malleable commitment schemes based on the factoring representation problem.

2 Representation Problem

We state the RSA and factoring representation problems formally in Sections 2.1 and 2.2, respectively. In Section 2.3 we prove the equivalence of the factoring representation problem to the factoring problem.

2.1 RSA Representation Problem

An RSA modulus N = pq is the product of two distinct primes p, q. A corresponding RSA exponent e ≠ ±1 mod φ(N) is relatively prime to Euler’s totient function φ(N) = (p − 1)(q − 1) [RSA78]. We say that N is an n-bit modulus if n bits are sufficient and necessary for the binary representation of N, that is, if 2^{n−1} ≤ N < 2^{n}.

We presume that there is an efficient index generator RSAIndex for the representation problem which, on input 1^{n}, returns an n-bit RSA modulus N, a corresponding RSA exponent e and a random element g ∈_{R} ZZ_{N}^{∗}. Let (N, e, g) ← RSAIndex(1^{n}) denote the sampling process. An RSA representation for a value X ∈ ZZ_{N}^{∗} with respect to a tuple (N, e, g) is a pair (x, r) with x ∈ ZZ_{e} and r ∈ ZZ_{N}^{∗} such that

X = g^{x}r^{e} mod N.

Every X ∈ ZZ_{N}^{∗} has exactly e representations with respect to (N, e, g), because for each x ∈ ZZ_{e} there is a unique r ∈ ZZ_{N}^{∗} such that r^{e} = Xg^{−x} mod N. We usually omit mentioning the reference to (N, e, g) if it is clear from the context, and simply say that (x, r) is a representation of X.

Definition 1 (RSA Representation Problem). Given (N, e, g) ← RSAIndex(1^{n}) return some X ∈ ZZ_{N}^{∗} as well as two different representations (x_{1}, r_{1}), (x_{2}, r_{2}) ∈ ZZ_{e} × ZZ_{N}^{∗} of X.

In contrast, the ordinary RSA problem asks to compute the e-th root g^{1/e} mod N given (N, e, g) ← RSAIndex(1^{n}). This task is widely assumed to be intractable, i.e., no polynomial-time algorithm solves the RSA problem with more than negligible success probability. This implies that factoring N, too, is believed to be intractable. Yet, it is an open problem if RSA is indeed equally hard as factoring (see also [BV98] for a discussion).

Provided one can solve the RSA problem, then the RSA representation problem becomes tractable, e.g., for any r ∈ ZZ_{N}^{∗} both (0, r) and (1, rg^{−1/e} mod N) are representations of X = r^{e} mod N. The converse holds as well [Ok92], and the equivalence reveals that both problems can be solved with the same success/running time characteristics, neglecting minor extra computations (in the sequel we keep on disregarding the effort for such additional minor computations).

2.2 Factoring Representation Problem

We next address the factoring representation problem. We replace the RSA exponent e by some power of 2. Namely, we substitute e by 2^{τ+t} where t describes the bit length of x ∈ ZZ_{2^{t}} and the integer τ depends on the prime factorization of the modulus N; we will explain the choice and role of this adjustment parameter τ later. Then a representation for X ∈ ZZ_{N}^{∗} with respect to N = pq, g ∈ ZZ_{N}^{∗} and τ ≥ 0, t ≥ 1 is a pair (x, r) ∈ ZZ_{2^{t}} × ZZ_{N}^{∗} such that

X = g^{x}r^{2^{τ+t}} mod N.

Apparently, given the factorization of N one can easily come up with two different representations. The converse does not hold in general: for example (x, r) and (x, −r) represent the same X. Since we are mainly interested in finding distinct x-components we therefore call representations (x_{1}, r_{1}) and (x_{2}, r_{2}) different or distinct if and only if x_{1} ≠ x_{2}. Observe that this subsumes the RSA case where distinct x-components imply different r’s and vice versa.

Basically, the RSA and the factoring representation problem diverge concerning the equivalence to the underlying number-theoretic assumption because of the number of preimages of r^{e} and r^{2^{τ+t}}, respectively. For RSA parameters the mapping r ↦ r^{e} mod N constitutes a permutation on ZZ_{N}^{∗}. Squaring on ZZ_{N}^{∗}, however, is a 4:1 mapping for N = pq. Restricting the modulus to a Blum integer where p, q = 3 mod 4 squaring becomes a permutation on the subgroup of quadratic residues QR_{N}. More generally, for any odd modulus N with prime factorization N = ∏_{i=1}^{r} p_{i}^{e_{i}} where p_{1}, p_{2}, …, p_{r} are distinct odd primes and e_{1}, e_{2}, …, e_{r} ≥ 1, let η denote the smallest integer such that 2^{η+1} does not divide any φ(p_{i}^{e_{i}}). Then squaring is a permutation on the subgroup

HQR_{N} := {x^{2^{η}} | x ∈ ZZ_{N}^{∗} } = {x ∈ ZZ_{N}^{∗} | ord_{N}(x) is odd}

of the “highest quadratic” residues, namely the 2^{η}-th powers (see, for example, [S96,H99]):

Proposition 1. For any odd modulus N squaring is a permutation on HQR_{N}.

Squaring permutes the 2^{k}-th powers for any k ≥ η for any odd n-bit modulus N. In other words, as long as k ≥ η, the set of the 2^{k}-th powers of the elements in ZZ_{N}^{∗} is the subgroup of elements with odd order. Since η ≤ n, even without knowledge of η the set HQR_{N} is efficiently samplable by taking a random element from ZZ_{N}^{∗} and raising it to its 2^{n}-th power.

With the similarity of Blum integers and QR_{N} to general moduli and HQR_{N} we are ready to state the factoring representation problem turning out to be equivalent to the factoring problem. But before, some words of clarification about the parameter τ follow. Recall that a representation for X is a pair (x, r) with X = g^{x}r^{2^{τ+t}} mod N. In the following we demand that τ ≥ η − 1 and thus τ may reveal some information about the factors of N. But because 1 ≤ η ≤ n we can easily guess this information with probability \frac{1}{n}, or, in case of Blum moduli for instance, the fact η = 1 is publicly known anyway. In particular, for Blum integers we may set τ = 0 and the representation problem in this case equals the one stated by Damgård [D95].

Let FactIndex denote an efficient index generator that outputs an n-bit RSA modulus N, τ ≥ η − 1, t ≥ 1 and an independently chosen element g ∈_{R} HQR_{N} for input 1^{n}, and write (N, τ, t, g) ← FactIndex(1^{n}) for the sampling process.

Definition 2 (Factoring Representation Problem). Given (N, τ, t, g) ← FactIndex(1^{n}) return some X ∈ ZZ_{N}^{∗} as well as two different representations (x_{1}, r_{1}), (x_{2}, r_{2}) ∈ ZZ_{2^{t}} × ZZ_{N}^{∗} of X, i.e., with x_{1} ≠ x_{2}.

An important observation for our identification and commitment protocols is that each X ∈ HQR_{N} has exactly 2^{t} different representations. It follows that for a random representation (x, r) the value X := g^{x}r^{2^{τ+t}} mod N does not reveal anything about the specific x.

2.3 Factoring Representation Problem and Factoring

Given the factorization of N it is easy to compute a 2^{τ+t}-th root of g ∈ HQR_{N} and the corresponding representation problem becomes tractable. On the other hand, by solving the representation problem one efficiently determines the prime factors of N. Before we prove this we present a technical lemma:

Lemma 1. If a probabilistic algorithm solves the factoring representation problem (N, τ, t, g) ← FactIndex(1^{n}), then a 2^{τ+1}-th root b ∈ ZZ_{N}^{∗} of g can be computed within the same time bound and same success probability.

Proof. Given two different representations (x_{1}, r_{1}) and (x_{2}, r_{2}) of some X ∈ ZZ_{N}^{∗}, let Δx := x_{1} − x_{2} and r := r_{2}r_{1}^{−1} mod N where 0 < |Δx| < 2^{t}. Then

g^{Δx} = g^{x_{1}−x_{2}} = r_{2}^{2^{τ+t}}r_{1}^{−2^{τ+t}} = r^{2^{τ+t}} mod N.  (1)

Notice that the exponents Δx and 2^{τ+t} may not be relatively prime. So suppose 2^{k} = gcd(Δx, 2^{τ+t}) where 0 ≤ k < t. Computing u, v ∈ ZZ subject to uΔx + v2^{τ+t} = 2^{k} by applying the extended Euclidean algorithm we derive

g^{2^{k}} = g^{uΔx+v2^{τ+t}} = (g^{Δx})^{u} · (g^{v})^{2^{τ+t}} = (r^{u}g^{v})^{2^{τ+t}} mod N.

Let b := (r^{u}g^{v})^{2^{t−k−1}} mod N. Then

g^{2^{k}} = (b^{2^{τ+1}})^{2^{k}} (mod N).

We have g = b^{2^{τ+1}} (mod N) since g, b^{2^{τ+1}} ∈ HQR_{N} and squaring permutes HQR_{N}. ⊓ ⊔

We next prove that factoring is reducible to the factoring representation problem: Theorem 1. If a probabilistic algorithm solves the factoring representation problem (N, τ, t, g) ← FactIndex(1^{n}) with probability ϵ, then N can be factored within the same time bound and success probability at least \frac{1}{2}ϵ.

Proof. Pick a random a ∈_{R} ZZ_{N}^{∗} and set g := a^{2^{τ+1}} mod N which is uniformly distributed in HQR_{N}. Based on Lemma 1 compute some 2^{τ+1}-th root b of g. Let c := ab^{−1} mod N. Then:

c^{2^{τ+1}} = 1 = c^{2^{η}} mod N.

The second equation follows from τ + 1 ≥ η and since squaring is a permutation on HQR_{N}. We next consider the equation modulo the prime factors p, q of N. Suppose p − 1 = 2^{η_{p}}p′ and q − 1 = 2^{η_{q}}q′ for odd p′, q′, and therefore η = max{η_{p}, η_{q}}. Wlog. let η = η_{p}. Because of η_{q} ≤ η_{p} = η we have

c^{2^{η}} = 1 mod p  c^{2^{η−1}} = σ_{p} mod p
c^{2^{η}} = 1 mod q  c^{2^{η−1}} = σ_{q} mod q

for some σ_{p}, σ_{q} ∈ {±1}.^{2} To complete the proof we show that σ_{p}σ_{q} = −1 holds with probability \frac{1}{2}, because in that case one of the GCD computations gcd(c^{2^{η−1}} ± 1, N) yields the factorization of N.

Note that c is uniformly distributed among the 2^{η}-th roots of unity, because g does not reveal any information about the random root a we have actually chosen, thus the element b determined by the representation finder’s output is independent of a. Hence, c mod p and c mod q are independently and uniformly distributed among the 2^{η}-th roots of unity modulo p and modulo q. Consequently, σ_{p} and σ_{q} are independent.

For half of the 2^{η}-th roots w of 1 modulo p we have w^{2^{η−1}} = 1 mod p and otherwise w^{2^{η−1}} = −1 mod p. Since c mod p is a random 2^{η}-th root of unity modulo p, the value σ_{p} is uniformly distributed in {±1}. As σ_{p} does not depend on σ_{q} we have σ_{p}σ_{q} = −1 with probability \frac{1}{2}. ⊓ ⊔

Figure 1 illustrates the proof idea of Theorem 1. The root of each tree is labeled with +1. Descending from one node to the successors corresponds to taking a square root modulo the prime p or q, e.g., in the left tree the tree’s root +1 has the successors +1 and −1 as squaring is still a 2:1-mapping modulo p, whereas in the right tree η_{q} < η_{p} and squaring permutes HQR_{q}, implying that the tree’s root +1 only has the square root +1. Hence, the leaves in each tree represent all 2^{η_{p}} and 2^{η_{q}} many 2^{η}-th roots of 1 modulo p and q, respectively.

2 While both values for σ_{p} may occur, if η_{q} < η then we always have σ_{q} = +1 as squaring is one-to-one on HQR_{q} and +1 is the unique square root.

[figure: c; c; 2^{η}-th roots of 1 modulo q; 2^{η}-th roots of 1 modulo p; +1; η_{q}; η_{p}; +1; +1; +1; +1; −1; +1; +1; −1; +1; +1; +1]

Fig. 1. Factoring via 2^{η}-th root of 1

The path to the leftmost leaf in each tree represents the 2^{η}-th root 1 of 1 modulo p and modulo q (1-path). In the proof we use the representation finder to derive a random 2^{η}-th root c of 1 in ZZ_{N}^{∗}. Thus, the values c mod p and c mod q each describe a random path to some leaf in the corresponding tree (c-path), and each path is independent of the other one. We are able to find the prime factors of N if and only if at some level k one of the c-paths branches from the 1-path whilst the other one still follows the 1-path. For example, in Figure 1 this happens in the marked nodes for k = η_{p} − 1: there we have c^{2^{k−1}} = 1 mod p but c^{2^{k−1}} = −1 mod q and a GCD computation yields the prime factors of N. In fact, in the proof of Theorem 1 we only check the divergence of the paths for k = η_{p} = η. Therefore, except for Blum integers, the probability of retrieving the factors is actually higher than \frac{1}{2}ϵ.

Theorem 1 even holds for fixed g ∈ HQR_{N}, given that τ ≥ η and some 2^{τ} -th root a ∉ QR_{N} of g with −a ∉ QR_{N} is publicly known. Besides that variant the factoring representation problem gives rise to other modifications and generalizations:

1. One may substitute the RSA modulus by an arbitrary odd integer N. Then the algorithm of Theorem 1 retrieves a non-trivial factor of N.

2. The problem can be relaxed such t is not given as part of the output of FactIndex, but the representation finder rather gets the freedom to select an arbitrary t ≥ 1 on its own after seeing (N, τ, g). Given two representations (x_{1}, r_{1}, t_{1}) and (x_{2}, r_{2}, t_{2}) where wlog. t_{1} ≥ t_{2} use r := r_{2}r_{1}^{−2^{t_{1}−t_{2}}} for the proof of Lemma 1.

3. If e = O(log n) divides φ(N), then one may replace 2^{τ+t} by e^{τ+t}. In this case, η denotes the smallest integer such that e^{η+1} neither divides p − 1 nor q − 1 and use {x^{e^{η}} | x ∈ ZZ_{N}^{∗} } instead of HQR_{N}. The hardness is also based on factoring as Ohto and Okamoto [OO88] have shown that taking e-th roots in this case is equivalent to factoring N.

3 Identification and Signature Schemes

In this section we show how to repair Okamoto’s identification protocol [Ok92] obtaining a provably secure identification scheme withstanding parallel active attacks. Exploiting the relationship to signature schemes via the Fiat-Shamir heuristic [FS86], we then show that this identification protocol can be used for ordinary as well as blind signatures.

3.1 Identification Scheme

Our identification protocol in Figure 2 follows the framework of Okamoto [Ok92] for the RSA setting, which in turn is an extension of the Guillou-Quisquater setup [GQ88]. The values (N, τ, t, g) ← FactIndex(1^{n}) are public parameters. The public key of a user is X ∈_{R} HQR_{N} and the corresponding secret key is a random representation (x, r) ∈ ZZ_{2^{t}} × ZZ_{N}^{∗} of X. The user is not required to be aware of the factorization of N and several users may share the same public parameters N, τ, g (even with different t’s). The prover P tries to convince the verifier V that

Fig. 2. Identification Scheme using Factoring Representation Problem

Prover P  (N, τ, t, g)  Verifier V
representation x, r of X  X = g^{x}r^{2^{τ+t}} mod N

pick y ∈_{R} ZZ_{2^{τ+t}}, s ∈_{R} ZZ_{N}^{∗}

Y := g^{y}s^{2^{τ+t}} mod N  \underrightarrow{Y}
\underleftarrow{c} pick c ∈_{R} [0, 2^{t})

z := y + cx mod 2^{τ+t}

W := sr^{c}g^{⌊(y+cx)/2^{τ+t}⌋} mod N \underrightarrow{W, z} Y X^{c} =^{!} W^{2^{τ+t}}g^{z}

P knows a representation of X with respect to (N, τ, t, g). In the first step P sends an initial commitment Y to V who answers with a challenge c ∈_{R} [0, 2^{t}), and P finally hands the response W, z to V which determines acceptance or rejection.

Obviously, this protocol is complete in the sense that the honest prover P always passes the examination of honest verifiers V. We show that this identification scheme is secure against active attacks, i.e., where the adversary A may run executions with the honest prover before trying to impersonate. But first we start with passive attacks in which the adversary tries to intrude given the public key only:

Lemma 2. If a passive adversary A passes the identification scheme in Figure 2 with time bound T and success probability ϵ, then the modulus N can be factored in expected time O(T) with probability at least \frac{1}{4}(ϵ − 2^{−t}).

Proof. The proofs follows the one in [Ok92] for RSA. Let N = pq, τ, t and a random g ∈_{R} HQR_{N} be given, i.e., (N, τ, t, g) ← FactIndex(1^{n}). We show how to compute with probability \frac{1}{2}(ϵ − 2^{−t}) some 2^{τ+1}-th root of g with the help of A. As a result, the claim is a consequence of Theorem 1.

Pick x ∈_{R} ZZ_{2^{t}} and r ∈_{R} ZZ_{N}^{∗}. Next, simulate an attack of A for N, t, g, X := g^{x}r^{2^{τ+t}} mod N. After A has sent W, z rewind to the situation where A faces the challenge. By this, we obtain in expected time O(T) with probability ϵ−2^{−t} two successful intrusion attempts in which A has sent the same Y but has answered with W, z and W′, z′ to different challenges c, c′. Then

X^{−c}W^{2^{τ+t}}g^{z} = Y = X^{−c′}(W′)^{2^{τ+t}}g^{z′} mod N

or, rewritten,

g^{z−z′+x(c′−c)} = (r^{c−c′}W^{−1}W′)^{2^{τ+t}} mod N  (2)

Let Δz := z − z′ and Δc := c′ − c. Now we have an equation similar to Equation (1) in the proof of Lemma 1. If gcd(Δz + xΔc, 2^{τ+t}) = 2^{k} for some k < t, then we are able to retrieve some 2^{τ+1}-th root of g. To complete the proof it thus suffices to give an upper bound of \frac{1}{2} for the probability that the GCD exceeds 2^{t−1}. Obviously,

gcd(Δz + xΔc, 2^{τ+t}) ≥ 2^{t} ⟺ x · Δc = −Δz mod 2^{t}.

Whenever this modular equation is solvable, then for fixed Δc, Δz the number of solutions for x equals 2^{j} := gcd(Δc, 2^{t}) where 0 ≤ j < t because 0 < |Δc| < 2^{t}. Observe that in the actual protocol execution the selection of the parameters Δc, Δz for the equation is done after the variable x has been chosen. But Δc is distributed independently of x because the challenges are simply picked at random, and the distribution of the adversary’s choice z, z′ for Δz does not depend on x either since the public key X does not reveal anything about the specific choice of x. Therefore, we can view the process as first fixing Δc, Δz and then picking x ∈ ZZ_{2^{t}} at random. But then the probability that the random x matches the equation is bounded above by 2^{j−t}. From j < t it follows that this probability is at most \frac{1}{2}. ⊓ ⊔

Note that this approach factors N but unlike the corresponding RSA based scheme it does not extract a representation of the prover. Hence, once more we have a secure identification protocol which does not constitute a proof of knowledge in the sense of Bellare and Goldreich [BG92]. See [OS90,S96,Sh99] for other examples.

In order to prove security against active adversaries, we follow the approach in [Ok92] and show that even executions with the prover before the intrusion attempt do not disclose any information about x (called witness-indistinguishability [FS90]):

Lemma 3. The protocol in Figure 2 is perfectly witness-indistinguishable.

Proof. We have to justify that even in the case of a dishonest verifier V the view (i.e., the distribution of the communication Y, c, W, z) is independent of the representation actually known by the prover P. We show that for any communication (Y, c, W, z) of an execution of V with P, another prover P′ knowing another representation (x′, r′) of X generates this communication with the same probability in an execution with V.

Let Δx := x′ − x and Δr = r/r′ mod N. Since r^{2^{τ+t}} = Xg^{−x} we have Δr^{2^{τ+t}} = g^{Δx}. Assume that (Y, c, W, z) is a transcript of a communication with P having chosen y, s at the outset. The probability that P′ picks

y′ := y − c · Δx mod 2^{τ+t}
s′ := s · Δr^{c} mod N

in the first step is exactly the same as for P choosing y, s; both times the values are uniformly distributed. For this choice of y′, z′ we have Y′ = Y, and therefore V returns the challenge c′ = c with equal probability in both executions. Now, W′, z′ and W, z are deterministically determined by the secret key, the challenge and the random values from the first step, and it is easily shown that (W′, z′) = (W, z) here. Hence, the probability that a run with P′ generates (Y, c, W, z) equals the one for P. This completes the proof. ⊓ ⊔

It follows that the identification scheme is also secure against active attacks:

Theorem 2. If an active adversary A passes the identification scheme in Figure 2 with time bound T and success probability ϵ, then the modulus N can be factored in expected time O(T) with probability at least \frac{1}{4}(ϵ − 2^{−t}).

Proof. Given N, t, g pick a random secret key (x, r) and simulate an attack A on N, t, g and the public key X := g^{x}r^{2^{τ+t}} mod N. This includes several interactions of A with the prover before trying to fool the verifier. But we can easily run these prover-adversary executions as we know the secret key. Due to the witness-indistinguishability, these executions still hide x perfectly, and the argument of Lemma 2 applies. ⊓ ⊔

The proposition even holds if the adversary is allowed to run concurrent executions with the prover. Hence, the scheme can be turned into one secure against reset attacks under the factoring assumption; for details see [BFGM01].

3.2 Signature Schemes

The identification scheme in Figure 2 gives rise to a signature scheme secure against chosen-message attacks [GMR88] using the Fiat-Shamir heuristic. The challenge is generated by applying a hash function H to the message and the initial commitment of the prover. More specifically, publish (N, τ, t, g) as public parameter, X as public key and use the representation (x, r) as the secret key of the signer S. In order to sign a message m pick y ∈_{R} ZZ_{2^{τ+t}} and s ∈_{R} ZZ_{N}^{∗} at random, calculate Y := g^{y}s^{2^{τ+t}} mod N, c := H(Y, m) and compute z, W as in the case of the identification scheme. The signature to m becomes σ(m) := (Y, W, z). Verification is straightforward.

Provided the hash function H behaves like a random function, then even with the help of an signature oracle any adversary fails to come up with a valid signature for a new message of his own choice [PS00, Sec. 3.2]:

Proposition 2. In the Random Oracle Model the signature scheme based on the factoring representation problem is secure against existential forgery under adaptive chosen-message attacks relative to the hardness of factoring.

Fig. 3. Blind Signature Scheme using Factoring Representation Problem

Signer S  (N, τ, t, g)  User U
representation x, r of X  X = g^{x}r^{2^{τ+t}} mod N

pick y ∈_{R} ZZ_{2^{τ+t}}, s ∈_{R} ZZ_{N}^{∗}

Y := g^{y}s^{2^{τ+t}} mod N  \underrightarrow{Y} pick α, γ ∈_{R} ZZ_{2^{τ+t}}

pick β ∈_{R} ZZ_{N}^{∗} Y′ := Y g^{α}β^{2^{τ+t}}X^{γ} c := H(Y′, m) ∈ ZZ_{2^{t}} c′ := c + γ mod 2^{τ+t} set c′′ such that

\underleftarrow{c′}  c + γ = c′ + 2^{τ+t}c′′

z′ := y + c′x mod 2^{τ+t}

W′ := sr^{c′}g^{⌊(y+c′x)/2^{τ+t}⌋} (N) \underrightarrow{W′, z′} Y X^{c′} =^{!} (W′)^{2^{τ+t}}g^{z′}

z := z′ − α mod 2^{τ+t} set z′′ such that

z′ + α = z − 2^{τ+t}z′′ W := W′βg^{−z′′}X^{c′′} (N)

Then Y′X^{c} = W^{2^{τ+t}}g^{z}

An important variant of signatures schemes are blind signatures. In this case, the user U blinds the actual message m and requests a signature from the signer S, which U later turns into a valid signature for the message m while the signer S cannot infer something about m. In a “one-more” forgery the adversary A tries to generate one more signed message than A originally requested from the signer S [PS00]. For example, in the ecash setting where messages signed by the bank represent anonymous digital coins, U cannot spent more money than U has actually withdrawn from the bank.

The blind signature scheme based on the factoring problem is given in Figure 3; it is heavily influenced by the discrete-log and RSA protocols of Pointcheval and Stern [PS00]. In the first step, the signer S commits to Y. Then the user U blinds Y by multiplying with g^{α}β^{2^{τ+t}}X^{γ} for random values α, β, γ. The actual challenge c ∈ ZZ_{2^{t}} is hidden by c′ := c + γ ∈ ZZ_{2^{τ+t}}. S replies the challenge by sending W′, z′ subject to

Y X^{c′} = (W′)^{2^{τ+t}}g^{z′}.

Now, U undoes the blinding and finally retrieves the signature σ(m) := (Y′, W, z):

W^{2^{τ+t}}g^{z} = (W′βg^{−z′′}X^{c′′})^{2^{τ+t}}g^{z′}g^{z−z′}
= Y X^{c′}(βg^{−z′′}X^{c′′})^{2^{τ+t}}g^{z−z′}
= Y X^{c′+2^{τ+t}c′′}β^{2^{τ+t}}g^{z−z′−2^{τ+t}z′′}
= Y X^{c+γ}β^{2^{τ+t}}g^{α}
= Y′X^{c}.

The scheme is perfectly blind as (Y, c′, W′, z′) and (Y′, c, W, z) are independently distributed. Security follows as in [PS00]:

Theorem 3. In the Random Oracle Model the blind signature scheme based on the factoring representation problem is secure against a “one-more” forgery under a parallel attack (where up to poly-logarithmic signature generations are executed concurrently) relative to the hardness of factoring.

Note that this scheme is provable secure against interleaving attacks meanwhile the one based on the Ong-Schnorr identification is only known to be secure against sequential attacks [PS97].

4 Commitment Schemes

A commitment scheme is a protocol of three stages (initialization, commitment and decommitment) between to parties called the sender S and the receiver R. In the commitment stage S binds himself to a message m by sending a commitment meanwhile the receiver R cannot deduce any information about m. Later, the sender S reveals m and R checks whether this message indeed matches the commitment.

4.1 Non-Interactive Commitment Scheme

In this section we set up a commitment scheme based on the factoring representation problem following the well-known scheme derived from the RSA representation problem and generalizing Halevi’s scheme [H99].

Assume for the moment that a trusted third party selects a valid instance (N, τ, t, g) ← FactIndex(1^{n}) for the factoring representation problem and publishes it; we afterwards discuss how to delegate this task to the receiver. In any case, S must not know the factorization of N. To commit to a message m ∈ ZZ_{2^{t}}, the sender S picks a random r ∈_{R} ZZ_{N}^{∗} and sends

com(m, r) := g^{m}r^{2^{τ+t}} mod N  (3)

to the receiver R. For the decommitment, S reveals the commited message m and the random value r. The receiver R verifies that (m, r) is indeed a representation of com(m, r).

If we let the receiver instead choose (N, τ, t, g) ← FactIndex(1^{n}) and send it to S in the first step, then there is no guarantee that a malicious receiver does not select inproper values like g ∉ HQR_{N} or τ < η − 1. To prevent this we take τ := n and use a method suggested in [H99] to make sure that g really is an element from HQR_{N}, even if N is not the product of two primes. Namely, let the sender verify that N is odd and raise g to the 2^{n}-th power first. S then transmits

com(m, r) := (g^{2^{n}})^{m}(r^{2^{n}})^{2^{t+n}} = g^{m2^{n}}r^{2^{2n+t}} mod N  (4)

Given factoring N is intractable, then Theorem 1 implies that S cannot come up the a different representation of com(m, r), in either case (3) or (4). Hence, a commitment is computationally binding and S cannot ambiguously open the commitment. On the other hand, the distribution of com(m, r) ∈ HQR_{N} is independent of the message m, that is, even a computationally unbounded malicious receiver R is unable to deduce any information about m given only the commitment. To summarize:

Proposition 3. The factoring representation commitment scheme (3) respectively (4) has the following properties:

1. Computational unambiguity relative to the hardness of factoring.

2. Perfect privacy.

We compare this commitment scheme with the one introduced by Halevi [H99]. To commit to a message m ∈ ZZ_{2^{t}} with a trusted setup mechanism providing a correct N pick at random r ∈_{R} ZZ_{N}^{∗} and publish

com(m, r) := 4^{m}r^{2^{t+1}} mod N  (5)

for a William integer N, i.e., an RSA modulus N = pq with p = 3 mod 4 and q = 7 mod 8. The binding property relative to the hardness of factoring N can be proven in a direct way [H99]. Alternatively one may apply Theorem 1. We have η = 1, τ := η and 4 ∈ HQR_{N} because its square root (+2, −2) ∈ QR_{p} × QR_{q} is a square, too. As ±2 ∉ QR_{N}, the adversary has to compute some other square root of 4 yielding the factorization of N.

4.2 Non-Malleable Commitment Scheme

Roughly speaking a commitment scheme is non-malleable if for any adversary A seeing the commitment of an honest sender S to an unknown message m it is infeasible to commit to a related (but different) message m^{∗}. Depending on the level of security, the adversary may also be obliged to provide a valid decommitment after having learned the decommitment of S (called non-malleability with respect to opening). See [DDN00,FF00] for details.

Fischlin and Fischlin [FF00] and Di Crescenzo et al. [CKOS01] present efficient non-malleable commitment schemes based either on the discrete-log or the RSA assumption. All protocols work in the public parameter model, where public data like an RSA modulus N and a value g ∈ ZZ_{N}^{∗} are published by a trusted party. Also, both solutions apply so-called trapdoor or equivocable commitments: knowledge of a secret information, the trapdoor, enables to open a given commitment with any message later on. For instance, for RSA an e-th root of g allows to fake commitments. Here, in case of the factoring representation commitment scheme (3), a 2^{τ+t}-th root h of g ∈ HQR_{N} provides a trapdoor, because a commitment g^{m}r^{2^{τ+t}} can be opened for m′ by transmitting m′ and r′ := h^{m−m′}r mod N.

Fig. 4. Non-Interactive Non-Malleable Commitment Scheme

Sender S  N, τ, t, H(·)  Receiver R
g, h_{0}, h_{1} ∈ HQR_{N}

message m ∈ ZZ_{2^{t}}

\underline{commitment:}

pick r, s ∈_{R} ZZ_{N}^{∗}

X := g^{m}r^{2^{τ+t}} mod N

x := H(X)

M := (h_{0}^{x}h_{1})^{m}s^{2^{τ+2t}} mod N \underrightarrow{x, M}

decommitment:

\underrightarrow{m, r, s} X := g^{m}r^{2^{τ+t}} mod N,

check x =^{!} H(X),

M =^{!} (h_{0}^{x}h_{1})^{m}s^{2^{τ+2t}} mod N

We discuss how to modify the non-malleable commitments schemes based on the RSA representation problem [FF00,CKOS01] to derive non-malleable commitments schemes as secure as factoring. Fischlin and Fischlin [FF00] present interactive schemes that work with the RSA representation problem, one time using standard proofs of knowledge, the other time with a more sophisticated variant based on the Chinese Remainder Theorem. We cannot plug in the factoring representation problem into the proof-of-knowledge-based approach as the protocol given in Figure 2 does not constitute a proof of knowledge. However, we can use the Chinese Remainder Theorem protocol with the factoring representation problem instead of the RSA problem. By this, we obtain a non-malleable commitment scheme with statistical privacy. Details are omitted.

The non-interactive scheme in [CKOS01] achieves a weaker notion of nonmalleability than the one in [FF00], where the adversary does not have any side information about the message m of S. In Figure 4 we present a modification of their RSA protocol which is based on the factoring representation problem. Surprisingly, although this modification works under a potentially weaker assumption than RSA, it is even more efficient than the RSA protocol in [CKOS01]. In fact, transferring our protocol to the RSA or discrete-log representation problem setting also improves these protocols in [CKOS01] with respect to computational and communication complexity.

Basically, we let the sender commit twofold to the message m: one time by X with the standard factoring representation problem, the other time by M with a base where the hash value of the former commitment enters (and for which we use τ + 2t rather than τ + t, see below). For this, let H : HQR_{N} → ZZ_{2^{t}} be some universal one-way hash function [NY90] with which we hash down X ∈ ZZ_{N}^{∗} to x ∈ ZZ_{2^{t}}. In case of t ≥ n one may eliminate the hash function by using X as exponent x.

Theorem 4. There exists (efficient) commitments schemes with the following properties relative to the hardness of factoring:

1. Non-malleable with respect to opening.

2. Computationally binding.

3. Statistical privacy (and perfect privacy for the scheme in Figure 4).

We outline the non-malleability proof for the non-interactive commitment scheme given in Figure 4. The definition of non-malleability essentially requires that for any adversary that is given a commitment of the sender and generates another commitment for which it is also able to adapt the sender’s opening to one of a related message, there is a simulator that is almost as successful but without interacting with the sender at all.

We briefly recall the proof method in [CKOS01]. There, the simulator prepares a commitment on behalf the original sender which includes a trapdoor. The simulator submits it to the adversary who answers with its commitment. Then the simulator samples a sufficient number of random messages and sequentially opens the trapdoor commitment (by adapting the decommitment with the trapdoor accordingly). By this, the adversary reveals with sufficiently high probability a valid opening for its commitment to some message. The probability that the adversary finds different valid openings is negligible under the discrete-log or RSA assumption, hence, the simulator extracts the message of the adversary that is related to the original message of the sender.

In our case, given a commitment (x, M) for some unknown message m, the adversary A tries to commit to a related but different message m^{∗} by sending (x^{∗}, M^{∗}). We first condition on the event that the adversary selects x^{∗} ≠ x. Assume towards contradiction that the adversary succeeds in an actual attack by sending x^{∗} = x with noticeable probability. For simplicity, we presume that the sender’s value X := g^{m}r^{2^{τ+t}} mod N equals the adversary’s choice X^{∗} := g^{m^{∗}}(r^{∗})^{2^{τ+t}} mod N; otherwise we find a collision for the universal one-way hash function H. But then the decommitment step yields distinct representations of X and this allows to efficiently solve the factoring representation problem with noticeable success. We may thus consider only the adversary’s success on values x^{∗} ≠ x without sacrificing more than a negligible probability.

It remains to describe the trapdoor in our scheme to apply the technique of [CKOS01]. Given (N, τ, t, h_{0}) ← FactIndex(1^{n}) select a universal one-way hash function H and define M := s^{2^{τ+t}}, X := r^{2^{τ+t}}, g := u^{2^{τ+t}}, h_{1} := h_{0}^{−x}v^{2^{τ+2t}} for random r, s, u, v ∈_{R} ZZ_{N}^{∗} and x := H(X). Take (N, τ, t, H, g, h_{0}, h_{1}) as public parameters and send (x, M) on behalf of the honest sender.

For the data in the simulation we know a 2^{τ+2t}-root v of h_{0}^{x}h_{1} = v^{2^{τ+2t}}. This, together with the 2^{τ+t}-th root of X, enables us to correctly open the commitment (x, M) with any message later. In contrast, even if we know the trapdoor, the adversary will not be able to find distinct openings for its commitment since, by assumption, x^{∗} ≠ x. The reason for this is that any valid decommitments of the adversary including (m_{1}^{∗}, r_{1}^{∗}), (m_{2}^{∗}, r_{2}^{∗}) for M^{∗} imply that

(h_{0}^{x^{∗}}h_{1})^{m_{1}^{∗}}(r_{1}^{∗})^{2^{τ+2t}} = M^{∗} = (h_{0}^{x^{∗}}h_{1})^{m_{2}^{∗}}(r_{2}^{∗})^{2^{τ+2t}}

and, substituting h_{1} = h_{0}^{−x}v^{2^{τ+2t}},

h_{0}^{(x^{∗}−x)m_{1}^{∗}}(v^{m_{1}^{∗}}r_{j})^{2^{τ+2t}} = M^{∗} = h_{0}^{(x^{∗}−x)m_{2}^{∗}}(v^{m_{2}^{∗}}r_{2}^{∗})^{2^{τ+2t}}.

Since x^{∗}−x ≠ 0 and both products with m_{1}^{∗} ≠ m_{2}^{∗} are less than 2^{2t} this results in different representations with x-components (x^{∗} − x)m_{1}^{∗}, (x^{∗} − x)m_{2}^{∗} ∈ ZZ_{2^{2t}} for M^{∗}. The probability that this happens is therefore negligible under the factoring assumption. With these preliminaries the rest of the proof is the same as in [CKOS01].

5 Acknowledgments

This work has been stimulated by discussions with Stefan Brands at Crypto 2000 about the factoring based representation problem mentioned in his Eurocrypt ’97 paper. We also thank the anonymous reviewers for their comments.

References

[BFGM01] M. Bellare, M. Fischlin, S. Goldwasser and S. Micali: Identification Protocols Secure Against Reset Attacks, Advances in Cryptology — Proceedings Eurocrypt 2001, Lecture Notes in Computer Science, vol. 2045, pp. 495–511, Springer Verlag, 2001.

[BG92] M. Bellare and O. Goldreich: On Defining Proofs of Knowledge, Advances in Cryptology — Proceedings Crypto ’92, Lecture Notes in Computer Science, vol. 740, pp. 390–420, Springer Verlag, 1993.

[BR93] M. Bellare and P. Rogaway: Random Oracles are Practical: a Paradigm for Designing Efficient Protocols, First ACM Conference on Computer and Communication Security, ACM Press, pp. 62–73, 1993.

[B97] S. Brands: Rapid Demonstration of Linear Relations Connected by Boolean Operators, Advances in Cryptology — Proceedings Eurocrypt ’97, Lecture Notes in Computer Science, vol. 1233, pp. 318–333, Springer-Verlag, 1997.

[BCC88] G. Brassard, D. Chaum and C. Crépeau: Minimum Disclosure Proofs of Knowledge, Journal Computing System Science, vol. 37(2), pp. 156–189, 1988.

[BV98] D. Boneh and R. Venkatesan: Breaking RSA may Not be Equivalent to Factoring, Advances in Cryptology — Proceedings Eurocrypt ’98, Lecture Notes in Computer Science, vol. 1403, pp. 59–71, Springer Verlag, 1998.

[CKOS01] G. Di Crescenzo, J. Katz, R. Ostrovsky and A. Smith: Efficient And Non-Interactive Non-Malleable Commitment, Advances in Cryptology — Proceedings Eurocrypt 2001, Lecture Notes in Computer Science, vol. 2045, pp. 40–59, Springer Verlag, 2001.

[D95] I. Damgård: Practical and Provable Secure Release of a Secret and Exchange of Signature, Journal of Cryptology, vol. 8, pp. 201–222, 1995.

[DDN00] D. Dolev, C. Dwork and M. Naor: Nonmalleable Cryptography, SIAM Journal on Computing, vol. 30(2), pp. 391-437, 2000.

[FFS88] U. Feige,A. Fiat and A. Shamir: Zero-Knowledge Proofs of Identity, Journal of Cryptology, vol. 1(2), pp. 77–94, 1988.

[FS86] A. Fiat and A. Shamir: How to Prove Yourself: Practical Solutions to Identification and Signature Schemes, Advances in Cryptology — Proceedings Crypto ’86, Lecture Notes in Computer Science, vol. 263, Springer-Verlag, pp. 186–194, 1986.

[FS90] A. Fiat and A. Shamir: Witness Indistinguishable and Witness Hiding Protocols, Proceedings of the 22^{nd} Annual ACM Symposium on the Theory of Computing (STOC), pp. 416–426, ACM Press, 1990.

[FF00] M. Fischlin and R. Fischlin: Efficient Non-Malleable Commitment Schemes, Advances in Cryptology — Proceedings Crypto 2000, Lecture Notes in Computer Science, vol. 1880, pp. 414–432, Springer Verlag, 2000.

[GQ88] L.C. Guillou and J.-J. Quisquater: A Practical Zero-Knowledge Protocol Fitted to Security Microprocessors Minimizing Both Transmission and Memory, Advances in Cryptology — Proceedings Eurocrypt ’88, Lecture Notes in Computer Science, vol. 330, pp. 123–129, Springer Verlag, 1988.

[GMR88] S. Goldwasser, S. Micali and R.L. Rivest: A Digital Signature Scheme Secure Against Adaptive Chosen-Message Attacks, SIAM Journal of Computing, vol. 17(2), pp. 281–308, 1988.

[H99] S. Halevi: Efficient Commitment Schemes with Bounded Sender and Unbounded Receiver, Journal of Cryptology, vol. 12(2), pp. 77–90, 1999.

[NY90] M. Naor and M. Yung: Universal Oneway Hash Functions and Their Cryptographic Applications, Proceedings of the 21^{st} Annual ACM Symposium on the Theory of Computing (STOC), pp. 33–43, ACM Press, 1989.

[OS90] H. Ong and C.P. Schnorr: Fast Signature Generation with as Fiat-Shamir-Like Scheme, Advances in Cryptology — Proceedings Eurocrypt ’90, Lecture Notes in Computer Science, vol. 473, pp. 432–440, Springer Verlag, 1991.

[OO88] K. Ohta and T. Okamoto: A Modification of the Fiat-Shamir Scheme, Advances in Cryptology — Proceedings Crypto ’88, Lecture Notes in Computer Science, vol. 403, pp. 232–243, Springer Verlag, 1989.

[Ok92] T. Okamoto: Provable Secure and Practical Identification Schemes and Corresponding Signature Schemes, Advances in Cryptology — Proceedings Crypto ’92, Lecture Notes in Computer Science, vol. 740, pp. 31–53, Springer Verlag, 1993.

[PS97] D. Pointcheval and J. Stern: New Blind Signatures Equivalent to Factorization, Proceedings of the 4^{th} ACM Conference on Computer and Communications Security (CCS) ’97, pp. 92-99, ACM Press, 1997.

[PS00] D. Pointcheval and J. Stern: Security Arguments for Digital Signatures and Blind Signatures, Journal of Cryptology, vol. 13(3), pp. 361–396, 2000.

[RSA78] R.L. Rivest, A. Shamir and L. Adleman: A Method for Obtaining Digital Signatures and Public-Key Cryptosystems, Communications of the ACM, vol. 21, pp. 120–126, 1978.

[S96] C.P. Schnorr: Security of 2^{t}-Root Identification and Signatures, Advances in Cryptology — Proceedings Crypto ’96, Lecture Notes in Computer Science, vol. 1109, pp. 143–156, Springer Verlag, 1996.

[S97] C.P. Schnorr: Erratum: Security of 2^{t}-Root Identification and Signatures, in Advances in Cryptology — Proceedings Crypto ’97, Lecture Notes in Computer Science, vol 1294, page 540, Springer Verlag, 1997.

[Sh99] V. Shoup: On the Security of a Practical Identification Scheme, Journal of Cryptology, vol. 12, pp. 247–260, 1999.

A On Okamoto’s Identification Scheme

Okamoto [Ok92] presents witness-indistinguishable identification schemes based on the hardness of discrete log and RSA. In the same paper he also suggests the modified RSA scheme given in Figure 5. Compared to the RSA based scheme the prime RSA exponent is replaced by 2e for some prime e.

Okamoto claims that the security is based on the hardness of factoring the modulus N. However, we show that the security de facto relies on the RSA problem rather than on the factoring problem. Namely, we show that computing e-th roots enables an adversary to pass the protocol with probability \frac{1}{2}.

Suppose we are given g ∈ QR_{N} and the public key X. Hence, X ∈ QR_{N}. Now, pick x ∈_{R} ZZ_{2e} and compute

r^{2} = (Xg^{−x})^{\frac{1}{e}}

by solving the RSA problem. Apparently, (x, r) is a representation for X = g^{x}r^{2e} but we are just aware of x and the square r^{2}. Nevertheless, we are able to compute z := y + cx mod 2e and whenever the challenge c is even then knowledge of r^{2} suffices to determine W:

W = sr^{c}g^{⌊(y+cx)/2e⌋} = s(r^{2})^{\frac{c}{2}} g^{⌊(y+cx)/2e⌋}.

Fig. 5. Okamoto’s Identification Scheme

Prover P  N, e, g  Verifier V
representation x, r of X  X = g^{x}r^{2e} mod N
pick y ∈ ZZ_{2e}, s ∈ ZZ_{N}^{∗}
Y := g^{y}s^{2e} mod N  \underrightarrow{Y}
\underleftarrow{c} pick c ∈_{R} [0, 2e)
z := y + cx mod (2e)
W := sr^{c}g^{⌊(y+cx)/2e⌋} mod N \underrightarrow{W, z} Y X^{c} =^{!} W^{2e}g^{z}

Thus, solving the RSA problem allows to pass the protocol with probability \frac{1}{2} since the challenge is even with this probability. Whenever g ∉ QR_{N}, one computes r^{4} = (Xg^{−x})^{\frac{2}{e}} and succeeds if the challenge satisfies c = 0 mod 4.

It is tempting to restrict the challenge c to odd values. Still, we are not aware of any proof in this case (e.g., we were unable to modify the proof of Lemma 2 about security against passive adversaries to work in this case).