Trapdoor Permutation Polynomials in Cryptography
Trapdoor Permutation Polynomials in Cryptography
1 Introduction
This paper describes new algorithmic problems using trapdoor permutation
polynomials of Z/nZ and new constructions of semantically secure public key
cryptosystem based on these problems, relative to different scenarios of attacks.
2
sible to construct the most efficient known IND-CCA1 secure cryptosystem with
security analysis in the standard model.
∀k > 1, Vk+1 (a, b) = aVk (a, b) − bVk−1 (a, b), V1 (a, b) = a, V0 (a, b) = 2.
Let e be an integer relatively prime to (p2 − 1)(q 2 − 1). The LUC function, x 7→
Ve (x, 1) (mod n), is a permutation of the set {x ∈ N, 0 < x < n, gcd(x, n) =
1, gcd(x2 − 4, n) = 1}, whose inverse is x 7→ Vd (x, 1) (mod n), where d is the
multiplicative inverse of e modulo (p2 − 1)(q 2 − 1) (see [6] for more details on the
LUC function). One can see that Ve (X, 1) is in fact a polynomial of degree e,
be/2c
X e e−i
Ve (X, 1) = X e−2i ,
i=0
e−i i
3
i. e., ∀c ≥ 0, ∃Kc ∈ N, ∀k ∈ [[Kc , +∞[[, negl(k) ≤ k−c
3
which is a special type of Dickson polynomial (cf. [19]) and, for that reason, a
permutation polynomial.
These two polynomials of degree e derived from the RSA and LUC cryp-
tosystems can be evaluated at low cost. If we denote |e| the size of e in bits, the
evaluation of the RSA polynomial needs (3/2)|e| multiplications modulo n on
the average, with the square and multiply algorithm, and 2|e| multiplications are
needed for the evaluation of the LUC polynomial, using the algorithm of [17].
In the following, we combine these two polynomials to define new algorith-
mic problems and build new systems. We will define our new problems in a
general setting, by considering arbitrary permutation polynomials of (Z/nZ)× .
The study will be identical as if we were working directly with the RSA and LUC
polynomials except for one thing: as the RSA polynomial induces a morphism of
(Z/nZ)× some extra reductions will be possible. Consequently, this specific case
of polynomial Q such that Q(xy) = Q(x)Q(y) for all elements x, y of (Z/nZ)×
will be considered in the study of our problems.
Remark 1. In order to design cryptosystems, one can also follow the ideas of
Schwenk and Huber (cf. [25]), and use more general permutation polynomials
for which the inverse function is not explicit.
4
The success of A in solving the pointwise inversion problem is
−1 −1
SuccPGen,A (k) = Pr[ExpPGen,A (k) = 1].
Let τ be an integer and ε a real in [0, 1]. Gen is said to be (k, τ, ε)-P −1 -secure if
−1
no adversary A running in time τ has success SuccPGen,A (k) ≥ ε.
Experiment ExpC-POL-DH
Gen,A (k)
R
(n, p, q, P, Q, R) ←
− Gen(k)
R R
− (Z/nZ)× , y 0 ←
y← − P (y)
R R
z←− (Z/nZ)× , z 0 ←− Q(z)
x ← A(n, P, Q, R, y 0 , z 0 )
Return 1 if x = R(y, z), 0 otherwise
5
The success of A in solving the computational polynomial DH problem is
SuccC-POL-DH
Gen,A (k) = Pr[ExpC-POL-DH
Gen,A (k) = 1].
In this section, we discuss the problems defined in the previous section with
a careful study of both their difficulty and their relations. For clarity reasons,
when the reductions are simple, the theorems are stated with less formalism than
the definitions of the previous section. Throughout this section, for a security
parameter k, n, P and Q will correspond to the output of a PDH generator on
input k. For short, we will denote ep and eq the degrees of P and Q.
6
Proof. All the reductions follow from the definition of the C-POL1(n, P, Q) prob-
P
lem except C-POL1(n, P, Q) =⇒ P −1 (n) ∧ Q−1 (n). Suppose that we know P (a)
and we want to compute a. We choose a random b in (Z/nZ)× and we give the
value P (a) and Q(b) to an oracle for C-POL1(n, P, Q) which gives the value ab
in reply, so we can recover b. We can invert Q with a symmetric process. t
u
For the C-POL2 problem, we use the extraction problem to state a similar
theorem.
P P C-POL2 P
C-POL2 ∧ E-POL2 ⇐⇒ P −1 ∧ Q−1 =⇒ =⇒ D-POL2 .
E-POL2
t
u
Difficulty of D-POL1 and D-POL2 The best known way to solve these
problems is to solve the corresponding extraction problem (cf. [8]). We know
the values of P (a), Q(b) and R(a, b) and we want to find the values of a and b.
Suppose that eQ 6 eP (else the attack is done with the symmetric method). We
compute the resultant with respect to the variable Y :
Remark 3. In the previous description, “the” resultant and “the” gcd of two
polynomials with coefficients in Z/nZ are understood as the results of the clas-
sical algorithms (described in [14] for instance) which compute the resultant
and the gcd of polynomials over a field. In the unlikely event, that a non-trivial
factor of n appears during this computation, the adversary simply aborts the
computation and uses this knowledge to solve the instance of its problem.
4
Some experimentations confirm that, but, we have not been able to prove this fact.
Note that in [8, 23] a similar fact is stated, without proof. Anyway, as our goal
is to estimate the size of the degrees to make our cryptosystems secure, only the
possibility of an attack matters.
7
The resultant can be computed with O(e2R eQ log2 (eR eQ ) log log(eR eQ )) opera-
tions in Z/nZ, according to [14, Corollary 11.18, p. 310]. Note that eR = 1 for
E-POL1 and eR = `eP for E-POL2, so, if ` is large enough, this method will be
infeasible even if eP is small.
According to [14, Corollary 11.6, p. 304], the computation of the first gcd can
be done in O(e log2 e log log e) operations in Z/nZ, where e = max(eR eQ , eP ) and
the computation of the second gcd in O(e log2 e log log e) operations in Z/nZ,
where e = max(eR , eQ ). This complexity of attacks on the extraction problems
will be used in the next section to set key sizes for the cryptosystems that we
will built.
P Let I be the subset of {1, . . . , eP (k)} of cardinality m > 1 such that P (X) =
i∈I p i X i
, where all the (pi )i∈I are non-zero elements of (Z/nZ)× . Since P is
not a polynomial in X i for any i > 1, the gcd of I is equal to 1.
Given an element Q(b) ∈ (Z/nZ)× , the algorithm B will recover b. It starts by
choosing randomly m couples (sj , tj ) ∈ (Z/nZ)× ×(Z/nZ)× , with j ∈ {1, . . . , m}
so that all the sj and the tj with j ∈ {1, . . . , m} are distinct.
For each j ∈ {1, . . . , m}, B gives the values P (sj ) and Q(btj ) = Q(b)Q(tj )
to the algorithm A which returns the value of P (sj tj b) with probability at least
ε(k)m (since the m queries are independent). After these queries, B gets the m
equations: X
pi (sj tj )i bi = P (sj tj b), for j ∈ {1, . . . , m}
i∈I
with the m unknowns (bi )i∈I . If we denote I := {i1 , i2 , . . . , im }, with 0 < i1 <
i2 < · · · < im = eP , the system of equations is associated with the following
matrix:
pi1 (s1 t1 )i1 pi2 (s1 t1 )i2 · · · pim (s1 t1 )im
M :=
.. .. ..
. . .
pi1 (sm tm )i1 pi2 (sm tm )i2 · · · pim (sm tm )im
8
The method successes if det(M ) ∈ (Z/nZ)× . We focus on the study of
det(M ) 6= 0 (another value of (Z/nZ) \ (Z/nZ)× will reveal the factorisation
of n).
We have
1 ci12 −i1 · · · c1im −i1
m
pij cij1 ... ... ..
Y
det(M ) = .
j=1
1 cim2 −i1 · · · cm
im −i1
Remark 4. If ` > 1, with the method used in the proof, we can only recover the
value of b` . Then, we can recover b by computing gcd(Q(Y ) − Q(b), Y ` − b` ).
P P C-DPOL P
C-DPOL ∧ E-DPOL ⇐⇒ P −1 =⇒ =⇒ D-DPOL .
E-DPOL
Now let’s try to solve the E-DPOL problem. We know the values of P (a)
and Q(a) and we want to compute the value of a. We have (X − a) divides
gcd(P (X) − P (a), Q(X) − Q(a)) and again, in many cases, we will have an
equality. The complexity of the computation of the gcd is O(e log2 e log log e)
operations in Z/nZ, where e = max(eQ , eP ). If eQ and eP are greater than, say
260 , this method will fail. This method for solving E-DPOL problem allows to
break the D-DPOL problem. In conjunction with Theorem 4, this method also
leads to a reduction from the P −1 (n) problem to the C-DPOL(n, P, Q) problem
in O(e log2 e log log e) operations in Z/nZ.
9
Again, suppose that the polynomial P induces a morphism of (Z/nZ)× : we
can also make another reduction from C-DPOL(n, P, Q) to P −1 .
Theorem 5. Let eP : N −→ N, eQ : N −→ N and eR : N −→ N and let Gen
be a PDH generator of degree (eP , eQ , eR ). Suppose that, for any k ∈ N and
any (n, p, q, P, Q, R) ∈ Gen(k), P is a morphism of (Z/nZ)× and Q is not a
polynomial in X i for any i > 1. Let τ ∈ NN , ε ∈ [0, 1]N and A be an adversary
that (k, τ (k), ε(k))-solves the C-DPOL(n, P, Q) problem for any integer k ∈ N.
There exists an algorithm B that (k, τ 0 (k), ε0 (k))-solves the P −1 (n) problem such
that
ε0 ≥ εeQ − negl and τ 0 ≤ eQ · τ + e3Q · poly.
t
u
The proof is analogous to that of Theorem 3.
t
u
10
4 IND-CPA-secure public key cryptosystems
Let f be a trapdoor permutation and g be another function with the following
pseudo-randomness property: the distribution of (f (k), g(k)) induced by a ran-
dom k cannot be distinguished (by a polynomially bounded adversary) from a
randomly distributed (f (k), r). Then the encryption E(m) = (f (k), g(k) ⊕ m) is
semantically secure (cf. [23, 7]). In this section, we revisit this approach by using
for the function g a trapdoor permutation.
Following this paradigm, we define three new encryption schemes where the
public key is (n, P, Q) or (n, P, Q, R) and the corresponding secret key is P −1
or (P −1 , Q−1 ), with the notations of the previous section (i. e., n, P , Q, R
correspond to the output of a PDH generator for a given security parameter).
To encrypt a message m ∈ (Z/nZ)× , a user picks at random r ∈ (Z/nZ)× (or
2
(r0 , r1 ) ∈ (Z/nZ)× ) and uses one of the three following encryption functions:
Function 1: (m, r0 , r1 ) 7→ P (r0 ), Q(r1 ), mR(r0 , r1 )
Function 2: (m, r) 7→ P (r), mQ(r)
Theorem 8. The previous schemes are One-Way and semantically secure under
Chosen Plaintext Attack relative to the following problems:
Proof (Sketch). For the first three schemes, the proof relies on the analysis done
in [7]. The fourth encryption scheme mixes the one-time-pad masking approach
used above with the trapdoor property of the function induced by P . The se-
mantic security of this scheme can be rewritten: there is no polynomial algo-
rithm that can choose a value m ∈ (Z/nZ)× and then recognize the couples
(P (a), Q(b)) ∈ (Z/nZ)× × (Z/nZ)× , satisfying ab = m. It’s easy to see that if
P or Q is a morphism, this assertion is equivalent to the intractability of the
D-POL1(n, P, Q) decision problem. t
u
11
Efficiency considerations. From the encryption functions above, we design
five practical cryptosystems, three with Function 1, by setting R(X, Y ) = XY ,
R(X, Y ) = P (XY ) and R(X, Y ) = P (XY )` with ` > 1; one with Function 2;
and one with Function 3.
For the polynomial P we use the LUC polynomial Ve (X, 1) and for the poly-
nomial Q, the RSA polynomial of the same degree, i. e., Q(X) = X e . In order
to compare the efficiency of these schemes, we use an RSA modulus of 1024 bits
and we adjust the parameter e (and `) in order to achieve a 280 security. For this,
we use Theorem 8 and the analysis done in Section 3. These new cryptosystems
and the corresponding values of the parameters are given in the following table.
Now, we compare the concrete efficiency of our new schemes with the one
from [7, 23]. For the D-RSA scheme of [23] we use e = 267 + 3 and for the scheme
of Catalano et al. ([7]), we use e = 216 + 1. The unity of complexity is the cost
of a multiplication modulo n. We use the following estimations: a multiplication
modulo n2 costs as much as three multiplications modulo n, an inversion costs
10 multiplications, a multiplication modulo p costs 1/3 multiplication modulo
n and a multiplication modulo p2 costs one multiplication modulo n. We use
the Chinese Remainder Theorem for the decryption process of all schemes. The
comparison is done in the following table.
One can remark that the new cryptosystems appear to be quite practical. If
the decryption phase of these schemes (except Scheme 4) suffers from the cost
of the simultaneous inversions of the LUC and RSA function, the encryption
process is very fast and Scheme 3 (which is an improvement of Scheme 2) can
12
encrypt faster than the D-RSA and Catalano et al. cryptosystems. Schemes 1
and 5 have a similar complexity and are the most efficient semantically secure
cryptosystems with One-Wayness proved equivalent to the problem of inverting
simultaneously RSA and LUC.
(∗)
If P or Q is a morphism.
Proof (Sketch). The proof is standard. The random oracle model is simulated in
the standard way and the instance of the decision problem is embedded in the
challenge ciphertext without updating the hash table. The hash table is used to
13
simulate the decryption oracle: when the adversary makes a decryption query,
the reduction looks in this table to get the pair (m, r) or the triple (m, r0 , r1 )
corresponding to the last element of the ciphertext. It returns the message m
only if the encryption of m with the value r or the pair (r0 , r1 ) produces the
same ciphertext; otherwise, it returns the reject symbol.
The simulation of the random oracle is perfect and the probability that a
decryption query is incorrect is exponentially small in the size of the hash values.
Details can be found in [23], for instance. t
u
Let G be an additive group of prime order q, let k be the bit size of the elements
of G and let P be a generator of G. In 1991, Damgård [10] presented a simple
variant of the Elgamal encryption scheme in G. In his proposal, Alice publishes
two public keys A1 = [a1 ] · P and A2 = [a2 ] · P and keeps secret their discrete
logarithms a1 and a2 . When Bob wants to send privately a message m ∈ {0, 1}k
to Alice, he picks uniformly at random an integer r ∈ [[1, q −1]] and transmits the
triple (Q1 , Q2 , C) where Q1 = [r] · P , Q2 = [r] · A1 and C = m ⊕ ([r] · A2 ). When
she receives the ciphertext (Q1 , Q2 , C), Alice checks whether the equality Q2 =
[a1 ]·Q1 holds: if it is the case, she retrieves the message m, as m = C ⊕([a2 ]·Q1 ),
otherwise she rejects the ciphertext.
Damgård proved that if the DDH problem is hard in G, then this scheme is
IND-CCA1-secure, if we assume the so-called knowledge-of-exponent assumption
[22]. Intuitively this assumption states that, without the knowledge of a1 , the
only way to generate couples (Q1 , Q2 ) ∈ G2 , satisfying Q2 = [a1 ] · Q1 , is to
choose an integer r ∈ [[1, q − 1]] and to compute Q1 = [r] · P and Q2 = [r] · A1 .
The knowledge-of-exponent assumption is a strong and non-standard one,
but to date it has not been proven false. It has been criticized for assuming
one can perform ”reverse engineering” of an adversary. It should therefore be
considered with caution, all the more since Bellare and Palacio [3] showed that
a somehow similar assumption used in [16] is false.
The function that maps r to ([r] · P, [r] · A1 ) is what Damgård called a One-
Way function with sparse image (i. e., only a very small fraction of G2 is in its
image and it seems computationally infeasible to sample an element of this set
without the knowledge of its preimage). Damgård predicts that such One-Way
14
functions would be extremely useful in other contexts. His proposal has indeed
found applications in identification and zero-knowledge protocols ([3, 4, 1, 16]),
but it has proved to be extremely difficult to find other examples that can be
reduced to reasonable assumptions. The purpose of the next paragraph is to
explain how our approach can be extended in order to propose such a function.
Experiment Expkpa
Gen,A,A
(k)
R
(n, p, q, P1 , P2 , R) ←
− Gen(k)
r
(x, y) ←− A(n, P1 , P2 )
r
α← − A(n, P1 , P2 )
Return 1 if (x, y) ∈ ((Z/nZ)× )2 , ∃a ∈ (Z/nZ)× s.t.
(x, y) = (P1 (a), P2 (a)) and a 6= α,
Return 0 otherwise
Advkpa
Gen,A,A
(k) ≤ ε(k) .
2. We say that the knowledge-of-preimage assumption holds for Gen if for every
PPTM A, there exists a PPTM A and a negligible function ε such that A
is a ε-KPA-extractor for A.
15
3. We say that the strong knowledge-of-preimage assumption (SKPA) holds for
Gen if there exists a PPTM E such that for every PPTM A, there exists a
negligible function ε such that E is a ε-KPA-extractor for A.
Theorem 10. The previous schemes is One-Way and semantically secure under
non-adaptive Chosen Ciphertext Attack relative to the following problems:
Proof (Sketch). Theorem 8 insures that this scheme is one-way assuming the
intractability of the C-DPOL(n, P1 , Q) problem and semantically secure under
chosen-plaintext attacks if the D-DPOL(n, P1 , Q) problem is intractable. Fol-
lowing [4], it is straightforward to see that the scheme is plaintext-aware (PA1)
assuming the strong knowledge of preimage assumption and Theorem 1 from this
paper implies that our new scheme is IND-CCA1-secure if the D-DPOL(n, P1 , Q)
problem is intractable and the strong knowledge of preimage assumption holds
for the underlying PDH generator. t
u
7 Conclusion
We have defined new algorithmic problems, derived from the RSA assumption,
and discuss their computational difficulty. We have applied them to design pub-
lic key encryption protocols with IND-CPA-security and IND-CCA2-security in
the random oracle model under the assumption of the intractability of their
decisional variants.
16
The ideas developed in this extended abstract can be used to design encryp-
tion schemes with higher security. For instance, by using the approach proposed
by Cramer and Shoup in [9], we have been able to design a concrete encryption
scheme that is proven IND-CCA2-secure in the standard model based on the
difficulty of the new algorithmic problems. Details will appear elsewhere.
References
17
15. S. Goldwasser and S. Micali, Probabilistic Encryption., J. Comput. Syst. Sci. 28
(1984), 270–299.
16. S. Hada and T. Tanaka, On the Existence of 3-Round Zero-Knowledge Protocols.,
in Krawczyk [18], pp. 408–423.
17. M. Joye and J. Quisquater, Efficient computation of full Lucas sequences., Elec-
tronics Letters 32, 6 (Mar. 1996), 1996, pp. 537–538.
18. H. Krawczyk (ed.), Advances in Cryptology - Crypto ’98, 18th Annual Inter-
national Cryptology Conference, Santa Barbara, California, USA, August 23-27,
1998, Proceedings, Lect. Notes Comput. Sci., vol. 1462, Springer, 1998.
19. R. Lidl, G. L. Mullen, and G. Turnwald, Dickson Polynomials., Pitman Mono-
graphs and Surveys in Pure and Applied Mathematics, vol. 65, Longman Scientific
& Technical, 1993.
20. W. B. Müller and R. Nöbauer, Some remarks on public-key cryptosystems., Sci.
Math. Hungar. 16 (1981), 71–76.
21. W. B. Müller and R. Nöbauer, Cryptanalysis of the Dickson-scheme., Proc. of
Eurocrypt’ 85, Springer-Verlag, 1986, pp. 50–61.
22. M. Naor, On Cryptographic Assumptions and Challenges., Advances in Cryptology
- Crypto 2003 (D. Boneh, ed.), Lect. Notes Comput. Sci., vol. 2729, Springer, 2003,
pp. 96–109.
23. D. Pointcheval, New Public Key Cryptosystems Based on the Dependent-RSA Prob-
lems., Advances in Cryptology - Eurocrypt’99 (J. Stern, ed.), Lect. Notes Com-
put. Sci., vol. 1592, Springer, 1999, pp. 239–254.
24. R. L. Rivest, A. Shamir, and L. M. Adleman, A Method for Obtaining Digital
Signatures and Public-Key Cryptosystems., Comm. ACM 21 (1978), 120–126.
25. J. Schwenk and K. Huber, Public key encryption and digital signatures based on
permutation polynomials., Electronics Letters 34, 8 (Apr. 1998), 1998, pp. 759–760.
26. P. Smith and M. J .J Lennon, LUC: A new public key system, Proc. of the Ninth
IFIP Int. Symp. on Computer Security (1993), 1993, pp. 103–117.
18