Analysis of the Fault Attack ECDLP over Prime Field
Abstract
In 2000, Biehl et al. proposed a fault-based attack on elliptic curve cryptography. In this paper, we refined the fault attack method. An elliptic curve E is defined over prime field 𝔽p with base point P ∈ E(𝔽p). Applying the fault attack on these curves, the discrete logarithm on the curve can be computed in subexponential time of Lp(1/2, 1 + o(1)). The runtime bound relies on heuristics conjecture about smooth numbers similar to the ones used by Lenstra, 1987.
1. Introduction
In 1996, a fault analysis attack was introduced by Boneh et al. [1]. Biehl et al. [2] proposed the first fault-based attack on elliptic curve cryptography [3, 4]. Their basic idea is to change the input points, elliptic curve parameters, or the base field in order to perform the operations in a weaker group where solving the elliptic curve discrete logarithm problem (ECDLP) is feasible. A basic assumption for this attack is that one of the two parameters of the governing elliptic curve equation is not involved for point operations formulas. In this way, the computation could be performed in a cryptographically less secure elliptic curve.
In [2], it is claimed that the attacker can get the secret multiplier k with subexponential time, but the authors did not give the proof or even an outline of the proof. I find that this is not a trivial result. Since the distribution of the cardinality of elliptic curves over finite field 𝔽q is not uniform in the interval .
In Section 2, the fault attack method is described in detail and some improvements of the fault attack are introduced. Firstly, we can control the order of the fault point in by a suitable choice of the random key d. On the other hand, some points in EA,B can be chosen as fault point to increase the probability of success of the fault attack.
Our analysis depends on the number of with . In Section 3, we research the isomorphism classes of the elliptic curves expressed by form (1.1). By Deuring [5], we find that the density of with in is large enough to ensure our method success.
The analysis of our method in this paper shows that the performance of the algorithm is largely determined by the density of numbers built up from small primes in the neighborhood of p + 1 and the number of isomorphism classes of the elliptic curves which can be expressed by form (1.1). If a reasonable conjecture concerning the density of smooth integers is assumed, then the following can be proved.
The paper is organized as follows. In Section 2, we describe the scalar multiplication algorithm and elliptic curve discrete logarithm problem and refine the fault attack method. In Section 3, we discuss the isomorphism class of elliptic curves expressed by form (1.1). In Section 4, the efficiency of the attack algorithm is considered.
2. Preliminaries
2.1. Scalar Multiplication Algorithm
The fault attack is based on the fact that the curve coefficient B is not used in any of the addition formulas given above.
2.2. Elliptic Curve Discrete Logarithm Problem
Let E be an elliptic curve and P = (xP, yP) ∈ E. Given Q = (xQ, yQ)∈〈P〉, the discrete logarithm problem asks for the integer k such that Q = kP.
If the order of the base point P does not contain at least a large prime factor, then it is possible to use an extension for ECC of the Silver-Pohlig-Hellman algorithm [6] to solve the ECDLP as presented in Algorithm 1. Let n be the order of the base point P with a prime factor , where pi < pi+1, i = 0, …, j − 2.
-
Algorithm 1: Silver-Pohlig-Hellman algorithm for solving the ECDLP.
-
Input: P ∈ E(𝔽p), Q ∈ 〈P〉, , where pi < pi+1, i = 0, …, j − 2.
-
Output: k mod n.
-
(1) For i = 0 to j − 1 do
-
(1.1) Q′ ← 𝒪, ki ← 0.
-
(1.2) Pi ← (n/pi)P.
-
(1.3) For t = 0 to (ei − 1) do
-
(1.3.1) .
-
(1.3.2) .{ECDLP in a subgroup of order ord(Pi).}
-
(1.3.3) .
-
(1.3.4) .
-
(2) Use the CRT to solve the system of congruences .
-
This gives us k mod n
-
(3) Return (k)
-
Algorithm 2: Basic fault attack on ECSM algorithm.
-
Input: EA and P = (xP, yP) ∈ EA(𝔽p), Q = (xQ, yQ) = kP,
-
w is a parameter to be chosen later and q is the order of point P.
-
Output: Scalar k partially with a probability.
-
(1) Randomly choose .
-
(1.1) .
-
(2) .
-
(2.1) Obtain in elliptic curve .
-
(2.2) Choose an integer , compute .
-
(3) Apply decryption oracle to compute .
-
(3.1) .
-
(4) If all the prime factors of n are smaller than w, then
-
(4.1) Utilize Algorithm 2 with to obtain k mod n.
-
(5) Return (k mod n)
Without losing generality, we assume that the order of the base point P is a prime number which is large enough for practical cryptosystems.
2.3. Fault Attack
-
Encryption: Input message m, choose 1 < d < ord(P) randomly, and return (dP, xdQ⨁m).
-
Decryption: Input (H, m′), compute kH, and return (m′⨁xkH).
Having the points pair , one can obtain kmod n, where . This would be possible if all the prime factors of are smaller than order of P. The complete attack procedure is presented as Algorithm 2.
By repeating Algorithm 2, then applying CRT, we can get k from the congruences k mod n. The following lemma is useful for us to increase the efficiency of Algorithm 2.
Lemma 2.1. Let E be an elliptic curve defined over finite filed 𝔽q. Then,
For giving an elliptic curve defined over finite field 𝔽p, we assume that . Then there exists a point such that . The number of such points is n1ϕ(n2), where ϕ(·) is the Euler function. Let , where n2w is the product of all the prime factors of n2 which are smaller than w. If, in Step (2.2), we choose d satisfying and (d, n2w) = 1, then the order of is a w smooth integer.
Certainly, of course, we can choose a point in EA,B(𝔽p). The procedure of choosing such a point is similar as above.
3. The Isomorphism Classes
In this section, we count the number of isomorphism classes over 𝔽p of elliptic curves (1.1) defined over a prime field 𝔽p.
- (i)
u6 = 1 and A = Au4 + 3u4r;
- (ii)
3u2r2 + 2u2rA = 0 and .
For the Kronecker class number, the following result is useful.
Lemma 3.1 (see [10].)There exist effectively computable positive constants c1, c2 such that for each z ∈ ℤ>1 there is Δ* = Δ*(z)<−4 such that
Theorem 3.2. There exist an effectively computable positive constant c3 such that, for each prime number p > 3, the following assertion is valid. If S is a set of integers with
Proof. The proof of Theorem 3.3 is similar to the proof of (1.9) in [10]; for self-containdeness, we give it here. The left-hand side of the inequality equals
Theorem 3.3. There is a positive effectively computable constant c4 such that, for each prime number p > 3, the following assertion is valid. Let S be a set of integers with
Proof. The number to be estimated equals the number of pairs for which is an elliptic curve over 𝔽p with and . Each elliptic curve over 𝔽p is isomorphic to for exactly T′/♯AutE, value of . Each exactly gives rise to two points . Thus, the number to be estimated equals
Theorem 3.4. There exists a positive effectively computable constant c5 such that, for each prime number p > 3, the following assertion is valid. Let
Proof. This can be deduced from Theorem 3.3 immediately.
Theorem 3.5. There exists a positive effectively computable constant c6 such that the cardinality of is at least .
Proof. The map
Let . Our attack method depends on the following reasonable heuristic assumption.
-
Heuristic Assumption: The set is uniformly distributed in the interval .
By the assumption, one can deduce that .
Theorem 3.6. There exists an effectively computable constant c7 > 1 with the following property. Let w ∈ ℤ>1 and
Proof. By Theorem 3.5, the failure probability of repeating Algorithm 2 h times equals (1 − N/p2) h, where
4. Efficiency
In the case of factoring, the best rigorously analyzed result is Corollary 1.2 of [11], which states that all prime factors of n that are less than w can be found in time Lw(2/3, c)log 2n. Schoof [12] presents a deterministic algorithm to compute the number of 𝔽p-points of an elliptic curve that is defined over a finite field 𝔽p and takes O(log 9p) elementary operations.
Theorem 3.6 shows that, in order to have a reasonable chance of success, one should choose the number h of the same order of magnitude as O((log p) 2(log log p)/f(w)). In Algorithm 2, for any , we can obtain . From the discussion in Theorem 3.6, the probability of is approximately 1/log p. Hence, the cases of are neglected, which does not affect the analysis result. Therefore, the time spent on Algorithm 2 is O(hLw(2/3, c)M(p)), where M(p) = O(log 11p). The time required by Algorithm 2 is . Hence, to minimize the estimated running time, the number w should be chosen such that is minimal.
These arguments lead to the following conjectural running time estimation for solving the discrete logarithm problem on elliptic curve of form (1.1) over prime field.
Theorem 4.1. There is a function K : ℝ>0 → ℝ>0 with
Acknowledgments
One of the authors gratefully acknowledges the helpful comments and suggestions of the anonymous reviewers, which have improved the presentation. This work was supported by NSFC project under (Grant no. 60873041), Nature Science of Shandong Province (Grant no. Y2008G23), Doctoral Fund of Ministry of Education of China (Grant no. 20090131120012), and IIFSDU (Grant no. 2010ST075).