Next Article in Journal
Improving the Lifetime of an Out-Patient Implanted Medical Device Using a Novel Flower Pollination-Based Optimization Algorithm in WBAN Systems
Next Article in Special Issue
Review of the Lineal Complexity Calculation through Binomial Decomposition-Based Algorithms
Previous Article in Journal
Radio Number Associated with Zero Divisor Graph
Previous Article in Special Issue
Compiled Constructions towards Post-Quantum Group Key Exchange: A Design from Kyber
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Partial Key Attack Given MSBs of CRT-RSA Private Keys

by
Amir Hamzah Abd Ghafar
1,2,
Muhammad Rezal Kamel Ariffin
1,2,*,
Sharifah Md Yasin
1,3 and
Siti Hasana Sapar
1,2
1
Institute for Mathematical Research, Universiti Putra Malaysia (UPM), Serdang 43400, Selangor Darul Ehsan, Malaysia
2
Department of Mathematics, Faculty of Science, Universiti Putra Malaysia (UPM), Serdang 43400, Selangor Darul Ehsan, Malaysia
3
Department of Computer Science, Faculty of Computer Science and Information Technology, Universiti Putra Malaysia (UPM), Serdang 43400, Selangor Darul Ehsan, Malaysia
*
Author to whom correspondence should be addressed.
Mathematics 2020, 8(12), 2188; https://doi.org/10.3390/math8122188
Submission received: 27 October 2020 / Revised: 20 November 2020 / Accepted: 22 November 2020 / Published: 9 December 2020
(This article belongs to the Special Issue Mathematics Cryptography and Information Security)

Abstract

:
The CRT-RSA cryptosystem is the most widely adopted RSA variant in digital applications. It exploits the properties of the Chinese remainder theorem (CRT) to elegantly reduce the size of the private keys. This significantly increases the efficiency of the RSA decryption algorithm. Nevertheless, an attack on RSA may also be applied to this RSA variant. One of the attacks is called partially known private key attack, that relies on the assumption that the adversary has knowledge of partial bits regarding RSA private keys. In this paper, we mount this type of attack on CRT-RSA. By using partial most significant bits (MSBs) of one of the RSA primes, p or q and its corresponding private exponent, d, we obtain an RSA intermediate. The intermediate is derived from p 1 and RSA public key, e. The analytical and novel reason on the success of our attack is that once the adversary has obtained the parameters: approximation of private exponent d ˜ p , approximation of p, p ˜ and the public exponent e where d ˜ p , p ˜ , e = N α / 2 where 0 < α 1 / 4 such that | d p d ˜ p | , | p p ˜ | < N 1 α 2 and has determined the largest prime of p 1 e , it will enable the adversary to factor the RSA modulus N = p q . Although the parameter space to find the prime factor is large, we show that one can adjust its “success appetite” by applying prime-counting function properties. By comparing our method with contemporary partial key attacks on CRT-RSA, upon determining a suitable predetermined “success appetite” value, we found out that our method required fewer bits of the private keys in order to factor N.

1. Introduction

RSA algorithm is known as one of the earliest public-key cryptosystems, introduced in 1977 [1]. However, its practical applications multiply in numbers with the coming of the digital age that requires swift key transportation mechanism to establish secure communication, either by encrypting a key or verifying a digital certificate. To ensure the encryption (or signing) and decryption (or verification) of RSA works, an RSA modulus N = p q is introduced where p q and p < q < 2 p . To encrypt or sign, an RSA public exponent, e is required such that it satisfies gcd ( e , ϕ ( N ) ) = 1 where ϕ ( N ) is Euler’s totient function. To decrypt or verify, an RSA private exponent, d is required such that it satisfies the RSA key equation,
e d 1 ( mod ϕ ( N ) ) .
One of the hard mathematical problems that become the sources of security for RSA is embedded in N and called an integer factorization problem. Since p and q are very large n-bit primes (typically  n = 1024 ), the best current algorithm to factor N is still running in sub-exponential times using a method called general number field sieve [2]. Therefore, no modern computers yet can threaten the security of RSA.
As RSA algorithms need to be flexible and meet the demands of their applications, a lot of RSA variants have been introduced over the years. In this paper, we focus on a variant of RSA called Chinese remainder theorem (CRT) RSA cryptosystem [3]. This variant applies the result from the Chinese remainder theorem by utilizing two private exponents, d p and d q , instead of a single private exponent in standard RSA. These private exponents are derived from the original d with respect to its corresponding RSA primes, p and q. The addition in numbers of private exponents in CRT-RSA may require additional modular exponentiations, but the computations in CRT-RSA are significantly faster compared to the computations in standard RSA, since d p and d q are significantly smaller in size compared to the original d [4]. Due to this speed up, CRT-RSA is ubiquitous in many cryptographic implementations today.
For the past attacks on RSA and its variants to be successful, an adversary needs to gain certain advantages. One of the advantages is that the adversary knows partial bits of RSA private parameters, d and p and/or q. The bits may be derived from their most significant bits (MSBs) or least significant bits (LSBs). This assumption is realistic since there is a method called side-channel attacks that is helpful to retrieve certain bits of parameters from cryptographic devices [5].
Using the partially known bits, an adversary can conduct an attack called partial key exposure attack. This kind of attack initially was executed on a standard RSA cryptosystem by [6], where they showed that 2 / 3 bits of p or q are required to factor N using an integer programming technique. Then, Ref. [7] reduced the required value of bits to 1 / 2 using the LLL algorithm. This method utilizes a lattice-based approach to find the small solution of polynomials modulo N that consequently results in the factorization of N. It then proliferated other partial key exposure attacks on standard RSA cryptosystem [8,9,10]. For the collection of this type of attack on standard RSA cryptosystem, refer to [11].
In 2003, Ref. [12] showed that partial key exposure attack can also be conducted on CRT-RSA. Given an approximation d p , called d ˜ p , that has half of the MSBs of d p , they showed that factorization of N can be solved easily. Particularly, d p satisfies e d p 1 ( mod p 1 ) within the CRT-RSA key equation, and given d p ˜ such that | d p d ˜ p | < N 1 / 4 α for some α that satisfy e = N α < N 1 / 4 where e is the public exponent of CRT-RSA, then N can be factored in polynomial time. It then can be generalized to | d p d ˜ p | < N 1 / 4 if e is very small, which occurs greatly in most implementations. This result utilized an approach using lattice-based approximation which has been extended in [13,14,15].
Another method of attacking CRT-RSA is using a key reconstruction algorithm by [16]. The method is motivated by the capability of a newly introduced side-channel attack called cold boot attacks [17]. It systematically constructs bits of RSA private keys namely RSA private exponent and RSA primes from any random bit positions as its initial point. The method only requires at least 0.27 bits from any bit position of p , q , d , d p , d q . If this condition is fulfilled, then the adversary can solve the factorization of N in polynomial time using the lattice-based method. In more recent work, Ref. [18] proposed an improvement of past attacks by showing an attack that requires less amount of leaked MSBs for all e < N 0.375 . The attack can be conducted by selecting better lattice constructions of the underlying polynomials created from the obtained partial information.
Our contribution. We take a novel approach in conducting partial key exposure attack on CRT-RSA by proving that by knowing the largest prime factor of p 1 e called a 1 , N can be factored in polynomial time if the conditions on the approximations of d p and p are satisfied. We also extend this result by showing the difficulties of finding a 1 can be reduced by having sufficient combinations of computing power and success appetites.
Organization of the article. In Section 2, we show the CRT-RSA key generation algorithm in its full form. We also introduce a certain theorem, definition and lemmas that will be utilized in our attack. In Section 3, we introduce our attack by parts. First, we show the conditions required to conduct our attack. Then, we proceed with the attack by proving that by knowing the largest prime factor of p 1 e called a 1 , our attack can factor N in polynomial time using conditions from the first part of the attack. In Section 4, we estimate the number of primes that can be the candidates for the largest prime factor of p 1 e using a theorem provided before. Then, in Section 5, we estimate the number of primes that can be the candidates for the largest prime factor of p 1 e if based on various success appetites which have been pre-defined. By using this estimation, we discuss our method compared to other methods that attacked CRT-RSA in Section 6 before we finally conclude our paper in Section 7.

2. Preliminaries

One of the earliest variations of the RSA cryptosystem is to decrypt the plaintext using Chinese remainder theorem or CRT (more on CRT can be read here [19]). This variant, called CRT-RSA, is proposed by the creators of RSA in their patent application [3]. The rationale of using the concept is to utilize much smaller parameter size in the decryption algorithm specifically during computing the modular exponentiation computation. As we shall see, in Algorithm 1, the key generation algorithm of CRT-RSA employs almost similar computations compared to the standard process. However, the difference lies in additional computations of
d p e 1 ( mod p 1 )
and
d q e 1 ( mod q 1 )
which we called CRT exponents as in Algorithm 1 (line 5 and line 6). The CRT-RSA key generation algorithm is as follows:
Algorithm 1 Chinese remainder theorem (CRT)-RSA Key Generation Algorithm
Input: Security parameter, n
Output: RSA public keys ( N , e ) , and RSA private keys ( p , q , ϕ ( N ) , d p , d q )
  1:
Generate randomly two distinct of n-bit primes p and q, where p < q < 2 p .
  2:
Compute N = p q .
  3:
Compute ϕ ( N ) = ( p 1 ) ( q 1 ) .
  4:
Choose e such that e < ϕ ( N ) and gcd ( e , ϕ ( N ) ) = 1 .
  5:
Compute d p such that e d p 1 ( mod p 1 ) .
  6:
Compute d q such that e d q 1 ( mod q 1 ) .
  7:
Output ( N , e ) as RSA public keys and ( p , q , ϕ ( N ) , d p , d q ) as RSA private keys.
In this paper, supposing e = N α 2 , we assume that the adversary is given a fraction α of the MSBs of d p and p (or q). We shall see that by having this information, the adversary can derive an important intermediate that allows us to find d in polynomial time, thus factoring N in polynomial time. However, to find the greatest prime factor of the intermediate that can enable our attack, we need to count the number of primes that can be the suitable candidates for our greatest prime factor. To achieve that, we need to utilize the prime counting function as follows: (See [20], (Theorem 6.9)).
Theorem 1.
Let π ( X ) be a function estimating number of primes X . Then
π ( X ) X ln X 1 + 1 ln X + 2.334 ln 2 X
for X 2953652287 .
After the adversary can count the number of primes that can be the suitable candidates for our greatest prime factor, the adversary need to know the probability of finding the prime in a known parameter space. This probability will help the adversary to adjust the success appetite of the attack and consequently determine whether the attack is feasible, based on the computational ability of the adversary. To estimate the probability, we require an application of the prime number theorem called Dickman’s function. Given a real number value, this function computes the probability of the greatest prime factor of an integer to be less than the given value. We call this function a Dickman’s function [21,22] and it is defined as below:
Definition 1
(Dickman’s function). The probability function that a random integer between 1 and N will have its greatest prime factor less than N ζ is defined through the integral equation
F ( ζ ) = 0 ζ F ( t / ( 1 t ) ) d t t
for 0 ζ 1 .
Dickman’s function is defined in a form of cumulative distribution function. It is important to determine the distribution of the greatest prime factor of a given value. For example, let ζ = 1 / 2 then
F ( 1 / 2 ) = 0 1 / 2 F ( t / ( 1 t ) ) d t t = 1 1 / 2 1 F ( t / ( 1 t ) ) d t t = 1 1 / 2 1 d t t = 1 + ln ( 1 / 2 ) = 0.3068 .
This means that for any random integer N, there is a probability of 0.3068 that its greatest prime factor is less than N 1 / 2 . Next, we require these two lemmas to help us in the attack.
Lemma 1.
Let u , v , w Z where v < u < v + w . If u w = u w ϵ 1 and v w = v w ϵ 2 such that ϵ 2 ϵ 1 < 0 , then u w = v w .
Proof. 
Observe that
0 < u v < w 0 < u w v w < 1 .
Since
0 < u w 0 u w < u w
and
0 < v w 0 v w < v w .
If u w = u w ϵ 1 and v w = v w ϵ 2 for ϵ 2 ϵ 1 < 0 , computing (2) and (3) will get
0 u w v w = u w ϵ 1 v w ϵ 2 = u w v w + ϵ 2 ϵ 1 < 1 + ( ϵ 2 ϵ 1 ) < 1 + 0 = 1
Since u w and v w are integers, u w v w = 0 u w = v w . □
This result will help us to enable the attack later presented in Theorem 2.
Lemma 2.
If an integer H divides r s t then r s t · 1 H = r s t H .
Proof. 
Let r s t = z 1 + r t for some integer z 1 and r where r < t . Then
r s t · 1 H = z 1 + r t · 1 H = z 1 · 1 H = z 1 H
If H divides r s t then H will also divides z 1 . Hence z 1 H = z 2 for some integer z 2 Z . That is,
r s t · 1 H = z 2 .
Then
r s t H = z 1 H + r t H = z 1 H = z 2 = z 2 .
Comparing (5) and (6), This completes the proof. □
The above results will help us to enable the attack later presented in Theorem 2.

3. The Attack

The initial strategy in our attack is to find the conditions on the approximations of d p and p to enable our attack. By using these conditions, we shall prove mathematically that there exists an unknown intermediate that will help us to find the factorization of N in polynomial time.
First, to find the conditions on the approximations of d p and p, we need the following lemma regarding an approximation of p.
Lemma 3.
Let N = p q with p < q < 2 p . If there exists p ˜ where | p p ˜ | < p 1 α then ( p 1 ) p ˜ > 1 8 N .
Proof. 
From p < q < 2 p we know
p 2 < p q < 2 p 2 p < N 1 / 2 < 2 p
and
p q < q 2 < 2 p q N 1 / 2 < q < 2 N 1 / 2
Combining (7) and (8), we get p < N 1 / 2 < q . Since p and q are of the same bit length, observe
p > p 1 > q 2 > N 1 / 2 2 .
Suppose | p p ˜ | < p 1 α . This implies p ˜ shares the same a fraction α of the MSBs with p and subsequently p ˜ > p 2 . Thus
( p 1 ) p ˜ > N 1 / 2 2 p ˜ > N 1 / 2 2 p 2 > N 1 / 2 2 N 1 / 2 4 = 1 8 N .
This completes the proof. □
The next lemma assumes that p < q < 2 p , then we show that, by having a fraction α of the MSBs of p and q of CRT-RSA modulus, we can get an approximation of p to a certain bound.
Lemma 4.
Let N = p q be an CRT-RSA modulus with p < q < 2 p . If a fraction α of the MSBs of p or q are known then we can find p ˜ such that | p p ˜ | < N 1 α 2 .
Proof. 
We know that if p < q < 2 p then p 2 < N < 2 p 2 . Observe p < N 1 / 2 < 2 p . If a fraction α of the MSBs of p are known then we can find p ˜ which consists of a fraction α of the MSBs of p such that
| p p ˜ | < p 1 α < N 1 α 2 .
On the side of q, since N 1 / 2 < q 2 < 2 p q N 1 / 2 < q < ( 2 N ) 1 / 2 , if a fraction α of the MSBs of q are known, then
| q q ˜ | < q 1 α < ( 2 N ) 1 α 2 .
Since q and q ˜ shares the same a fraction α of the MSBs, then q ˜ < ( 2 N ) 1 / 2 . Given q ˜ , we can compute p ˜ = N q ˜ which satisfies
| p p ˜ | = N q N q ˜ = N ( q ˜ q ) q q ˜ < N ( ( 2 N ) 1 α 2 ) 2 N < N 1 α 2 .
This completes the proof. □
From Lemma 4, we know that by having a fraction α of MSBs of p or q, we can obtain an approximation of p called p ˜ where | p p ˜ | < N 1 α 2 . This approximation of p will enable the next lemma to find k p given a fraction α of the MSBs of d p and p ˜ where e d p = 1 + k p ( p 1 ) and | p p ˜ | < N 1 2 α .
Lemma 5.
Let N = p q be an CRT-RSA modulus with p < q < 2 p . Suppose e = N α 2 be a valid public exponent with 0 < α 1 / 4 and d p be its corresponding private exponent which satisfies CRT-RSA key equation e d p = 1 + k p ( p 1 ) . If a fraction α of the MSBs of d p and p (or q) are known, then the constant k p in the key equation can be determined, up to a small constant additive error, in time polynomial in log ( N ) .
Proof. 
Recall that one of the private exponent of CRT-RSA satisfies e d p = 1 + k p ( p 1 ) . So, we can write
k p = e d p 1 p 1
If a fraction α of the MSBs of d p are known, then we have d p ˜ such that | d p d p ˜ | < d p 1 α < N 1 2 ( 1 α ) . From Lemma 4, if we have a fraction α of the MSBs of p (or q) are known then we have p ˜ such that | p p ˜ | < p 1 α < N 1 2 ( 1 α ) . k ˜ p is given by
k ˜ p = e d ˜ p 1 p ˜ = e d ˜ p 1 p ˜ + ϵ ,
for some | ϵ | 1 / 2 , reveals some of the most significant bits of k p . In particular, notice that
k p k ˜ p = e d p 1 p 1 e d p ˜ 1 p ˜ = e d p 1 p 1 e d p ˜ 1 p ˜ + ϵ = p ˜ ( e d p 1 ) ( p 1 ) p ˜ ( p 1 ) ( e d p ˜ 1 ) ( p 1 ) p ˜ + ϵ = p ˜ e d p p ˜ p e d p ˜ + p + e d p ˜ 1 ( p 1 ) p ˜ + ϵ = p ˜ e d p p ˜ p ˜ e d p ˜ + p ˜ e d p ˜ p e d p ˜ + p + e d p ˜ 1 ( p 1 ) p ˜ + ϵ < p ˜ e ( d p d p ˜ ) ( p 1 ) p ˜ + ( p ˜ p ) ( e d p ˜ 1 ) ( p 1 ) p ˜ + ϵ < e ( d p d p ˜ ) ( p 1 ) + ( p ˜ p ) ( e d p ˜ ) ( p 1 ) p ˜ + ϵ .
If ( p 1 ) p ˜ > 1 8 N as in Lemma 3, then (11) will be
k p k ˜ p < N α 2 + 1 2 ( 1 α ) 1 2 + 8 N 1 2 ( 1 α ) + α 2 + 1 2 1 + ϵ < 10
for large N. Hence, the constant k p will be in the range k ˜ p 10 , k ˜ p + 10 . Since k p can be computed in time polynomial in log ( N ) . This completes the proof. □
Lemma 5 shows the significance of knowing a fraction α of the MSBs of d and p, in order to find k p . It also shows that the conditions presented in Lemma 5 must be carried throughout the attack since it enables the attack. The value of k p obtained in Lemma 5 is utilized in the next proposition.
Proposition 1.
Let N = p q be an CRT-RSA modulus with p < q < 2 p and | p p ˜ | < N 1 2 α . Suppose e = N α 2 be a valid public exponent with 0 < α 1 / 4 and d p be its corresponding private exponent, which satisfies e d p = 1 + k p ( p 1 ) . Let e d p = 1 ( mod k p ) for some d p Z then d p = k p ( p 1 ) e + d p .
Proof. 
Observe that
e d p = 1 + k p ( p 1 )
e d p = 1 + k p k p .
for some k p Z . Substitute value of e in (12) into (13), we obtain
1 + k p ( p 1 ) d p d p = 1 + k p k p d p + d p k p ( p 1 ) = d p + d p k p k p
Rearranging (14), we have
d p = d p k p ( p 1 ) d p k p k p + d p = k p ( d p ( p 1 ) d p k p ) + d p .
The term d p ( p 1 ) d k p can become
d p ( p 1 ) d p k p = 1 + k p k e ( p 1 ) d p d p e 1 k p = ( p 1 ) k p ( 1 + k p k p ) e d p ( d p e 1 ) k p e = ( p 1 ) k p ( 1 + k p k p ) ( ( p 1 ) k p + 1 ) ( d p e 1 ) k p e = ( p 1 ) k p ( 1 + k p k p ) ( ( p 1 ) k p ) ( d p e 1 ) + 1 k p e d p k p = ( p 1 ) k p ( 1 + k p k p ) ( ( p 1 ) k p ) ( d p e 1 ) k p e + 1 e d p k p e = ( p 1 ) k p ( 1 + k p k p ) ( ( p 1 ) k p ) ( d p e 1 ) k p e k p k p k p e = ( p 1 ) k p ( 1 + k p k p ) ( ( p 1 ) k p ) ( d p e 1 ) k p e k p e > ( p 1 ) e k p k p d p e + 2 1
since k p e < 1 . If e d p = 1 + k p k p then k p k p d p e = 1 . Thus, (16) become
d p ( p 1 ) d p k p > ( p 1 ) e 1 + 2 1 = ( p 1 ) e 1 .
This implies that ( p 1 ) e ( d p ( p 1 ) d p k p ) < 1 . Since d p ( p 1 ) d p k p is always an integer, d p ( p 1 ) d p k p = ( p 1 ) e . Now, we can see that
d p = k p ( p 1 ) e + d p .
This completes the proof. □
Remark 1.
Equation (18) shows that under assumption of Proposition 1, which values d p and k p are known, it is crucial that ( p 1 ) e is kept secret.
The next theorem shows the implication of the results from Proposition 1 in our aim to factor CRT-RSA modulus in polynomial time.
Theorem 2.
Let N = p q be a CRT-RSA modulus with p < q < 2 p . Suppose e = N α 2 be a valid public exponent with 0 < α 1 / 4 and d p be its corresponding private exponent which satisfies e d p = 1 + k p ( p 1 ) . Let e d p = 1 + k p k p for some k p , k p , d p Z . Let a 1 be one of the prime factor of ( p 1 ) e = a 1 b 1 · a 2 b 2 · · a n b n = i = 1 n a i b i such that ( p 1 ) p ˜ < e a 1 . Suppose p ˜ e a 1 = p ˜ e a 1 ϵ 1 and p 1 e a 1 = p 1 e a 1 ϵ 2 such that ϵ 2 ϵ 1 < 0 . If a 1 and a fraction α of the MSBs of d p and p (or q) are known then N can be factored in polynomial time.
Proof. 
If a 1 satisfies ( p 1 ) p ˜ < e a 1 , and p ˜ e a 1 = p ˜ e a 1 ϵ 1 and p 1 e a 1 = p 1 e a 1 ϵ 2 such that ϵ 2 ϵ 1 < 0 , from Lemma 1, we obtain
p ˜ e a 1 = ( p 1 ) e a 1
Lemma 2 implies if a 1 divides ( p 1 ) e then ( p 1 ) e · 1 a 1 = ( p 1 ) e · a 1 . This also implies
( p 1 ) e · a 1 a 1 = ( p 1 ) e · a 1 a 1
From Proposition 1,
d p = k p ( p 1 ) e + d p = k p a 1 a 1 ( p 1 ) e + d p = k p a 1 ( p 1 ) e a 1 + d p = k p a 1 p ˜ e a 1 + d p .
If p ˜ and a fraction α of the MSBs of d p are known, based on Lemma 5, we can find k p in polynomial time. Then, we can compute d p as d p 1 / e ( mod k p ) . If a 1 is known, we can compute d p in (21). Using the value of d p , we can obtain p by computing p = e d p 1 k p + 1 and factorizes N. This completes the proof. □
Remark 2.
We have shown that given α most significant bits of d p and p, the complexity of factoring N depends on knowing the factor of ( p 1 ) e a 1 . This demonstrates that we have reduced one of the hard problems of RSA from factoring N to factoring ( p 1 ) e a 1 . However, the complexity of factorization is still sub-exponential according to the current factorization technique.
We construct an algorithm based on our attack. The parameters used in the algorithm are described in Table 1:
The algorithm takes the input of RSA public keys ( N , e ) and a prime factor of ( p 1 ) e , a 1 that satisfies ( p 1 ) p ˜ < e a 1 , given a fraction α of the MSBs of d p and p ˜ . The algorithm is as follows:
Remark 3.
Since we assume that the value of a 1 is already known in Algorithm 2, the algorithm runs in polynomial time.
The following is an example to illustrate Algorithm 2.
Algorithm 2 Factoring N of CRT-RSA via Theorem 2
Input: CRT-RSA public keys ( N , e ) , d ˜ p , p ˜ and prime factor of ( p 1 ) e , a 1
Output: p , q
  1:
Compute k ˜ p = e d ˜ p 1 p ˜ .
  2:
Set k p { k ˜ p 10 , k ˜ p + 10 } .             ▹ Step 1 until 2 are based on Lemma 5
  3:
for each k p do
  4:
    Compute d p e 1 ( mod k p )
  5:
    Compute d p = k p · a 1 · p ˜ e a 1 + d p .
  6:
    Compute p = e d p 1 k p + 1 .
  7:
    if p Z then
  8:
        Compute q = N / p .
  9:
        if q Z then
  10:
           Set q = q .
  11:
        end if
  12:
        Set p = p .
  13:
    end if
  14:
end for
  15:
Output p and q
Example 1.
We use RSA-2048 in this example. Specifically, we are given
N = 26854041985238375212475778164676011572680663430940658107484164678 81881009475246975164803757355184419648595055886375159003247478439 92143741255730632610827884401657509117670049123360590970470225653 67370191193688936329713163878893198502800751634549138639730928812 40142505876139322063065708976736945544675563231857474829753757364 89461162692635457445662945510534745278831004328830299446277566122 87687169004926239194650447064129592636966022464572301245637234770 50294647480922968543256342945263036346158795045888810801423391916 97736283477365028685949028278325146903748790144455033008532116417 89895820938922463256886051224441
and e = 2588040962967479019863275440499 which is about N 0.05 . Let
d ˜ p = 36055607231202775283080802009652619678848579202676835359522337232 45304648210382882262903480159927251198134217538338417610010663688 39077835797132043978282412016850688884540907420868648185609637754 11063506013449129456265445743931127981044130978483361430857693084 40916227786667499669328426663847808738852591212
where a fraction α of the MSBs of d p are given such that | d p d p ˜ | < d p 1 α . In this case, α = 0.1 or about 10% (103-bits) bits of its original, d p . Then, let
p ˜ = 14367613307214246903591926069142770099295123891127829274068843132 84507873128193703874025274483229621351740372731847216208987451381 22600446098472260720529957802520996016314325569094216775717168908 41782721517081770370921396206536643264683692385497895745823983436 0770156094067408884861977891020041626737366980204
where a fraction α of the MSBs of p (or q) are also given, such that | p p ˜ | < p 1 α . From Lemma 5, given d ˜ p and p ˜ , we obtain k ˜ p and proceed to recover k p = 64947035018102022468569402425 in polynomial time. Then, we compute
d p e 1 ( mod k p ) 14291832328785630096514471874 ( mod 64947035018102022468569402425 )
Given that we also know one of the prime factor of p e ,
a 1 = 43185843225970563415154944273587881760667418641821175935878843801 62779147404915309140284507695180396733831689901698607027115346112 71569728695701943263595028176276635021689474779238127599104918615 72151376677546400416324969826940325349800202462521919212154035625 31983030526947
such that | p ˜ p | < e a 1 . Then
d p = k p · a 1 · p ˜ e a 1 + d p = 36055607231202775283080802009649108834176664752875840471779128853 65479408662427699263008533084770049815277792852591783505517277427 76754417366858919379167907800491269897943246773311982875789843868 49579557361199476994871376824209224903108180826295016253816460096 02016637714750590649460512253997299687719907999 .
By knowing d p , we can get
p = e d p 1 k p + 1 = 14367613307214246903591926069142452203848898341656376495846139272 96888354084505142420920972987941360124023642545598929784435347521 29827893551421260667238347559758806433514905636985352008519026850 47195482010956044783038279094608638461799318081089013845804738749 4897239865723803413293355621434998234772291243981 .
and
q = N / p = 18690677018537559979968031085225887816085307412051352387412281562 63664879599722127409077204025890837680223683840960510872264130729 19499428723542093381211298664979433605748124826497957558030353615 18738757121243839997910925158423130594718234233298178099345593794 9142322870446532378712921531570515925370391213661 .
N has been successfully factored.
Figure 1 shows the flowchart based on Algorithm 2:

Our Attack in RSA Implementation

In most RSA implementations, RSA public exponent e is a small integer. The reason for this choice is to optimize the computing time of the RSA encryption algorithm. In this part, we investigate the implication of the size of e in our attack. Typically, e = 2 16 + 1 . Since we set e = N α 2 in our attack, observe that
α = 2 log N e 2 log 2 2048 2 16 + 1 0.01562
in the implementation of RSA-2048.
This implicates that our attack requires 0.01562 · 2048 = 31.98976 or about 32 bits of d p and p to be exposed since | d p d ˜ p | < N 1 α and | p p ˜ | < p 1 α . The exposed bits may come from the side-channel attack or a brute-force method, since the number of bits that are required are quite small. The number of exposed bits that are required can be reduced, if the size of N or e is smaller.

4. Estimating Number of Candidates for a 1

To find an a 1 that satisfy ( p 1 ) p ˜ < e a 1 posed in Theorem 2, we can anticipate that a 1 to be the largest prime factor of ( p 1 ) e . We need to estimate the number of primes that are eligible to be a 1 . However, first, the next lemma modifies the result by [20] and applies it to show an estimation of the number of primes between two bounds.
Lemma 6.
Let N ζ and N θ respectively be the upper and lower bounds of a 1 where 0 < θ < ζ < 1 . Then, the number of primes between N ζ and N θ will be less than N ζ 1 ln N ζ 1 + 1 ln N θ + 2.334 ln 2 N θ .
Proof. 
Let F be the number of primes less than the upper bound of a 1 and G be the number of primes less than the lower bound of a 1 . Then, according to Theorem 1,
F = N ζ ln N ζ 1 + 1 ln N ζ + 2.334 ln 2 N ζ
and
G = N θ ln N θ 1 + 1 ln N θ + 2.334 ln 2 N θ .
To estimate the number of candidates of a 1 , we need to calculate
F G = N ζ ln N ζ 1 + 1 ln N ζ + 2.334 ln 2 N ζ N θ ln N θ 1 + 1 ln N θ + 2.334 ln 2 N θ < N ζ ln N ζ 1 + 1 ln N θ + 2.334 ln 2 N θ N θ ln N θ 1 + 1 ln N θ + 2.334 ln 2 N θ = N ζ ln N ζ N θ ln N θ 1 + 1 ln N θ + 2.334 ln 2 N θ < N ζ ln N ζ 1 + 1 ln N θ + 2.334 ln 2 N θ = N ζ 1 ln N ζ 1 + 1 ln N θ + 2.334 ln 2 N θ
as N θ < N ζ . This completes the proof. □
Then, we need to find the upper and lower bounds of a 1 that satisfy the condition posed in Theorem 2.
Proposition 2.
Let N = p q be a CRT-RSA modulus with p < q < 2 p . Suppose e = N α 2 is a valid public exponent with 0 < α 1 / 4 and d p be its corresponding private exponent which satisfies e d p = 1 + k p ( p 1 ) . Let e d p = 1 + k p k p for some k p , k p , d p Z . Let a fraction α of the MSBs of d p and p (or q) are known. If a 1 be one of the prime factor of ( p 1 ) e = a 1 b 1 · a 2 b 2 · · a n b n = i = 1 n a i b i such that ( p 1 ) p ˜ < e a 1 then a 1 will be bounded as N 1 3 α 2 < a 1 < N 1 α 2 .
Proof. 
We know that ( p 1 ) p ˜ < e a 1 where | p p ˜ | < N 1 2 α . Then
a 1 > ( p 1 ) p ˜ e N 1 2 α N α 2 = N 1 2 α α 2 = N 1 3 α 2 .
Thus, N 1 3 α 2 is the lower bound for a 1 . For the upper bound, we know that a 1 < ( p 1 ) e as a 1 is a factor of ( p 1 ) e . Then
a 1 < ( p 1 ) e < N 1 2 N α 2 = N 1 α 2
Thus, a 1 < N 1 α 2 . This follows the result. □
After we know the upper and lower bounds of a 1 , we can estimate the number of primes between the bounds. To achieve that, we use the estimation in Lemma 6. The estimation is as follows in the next proposition.
Proposition 3.
Let N = p q be an CRT-RSA modulus with p < q < 2 p . Suppose e = N α 2 be a valid public exponent with 0 < α 1 / 4 and d p be its corresponding private exponent which satisfies e d p = 1 + k p ( p 1 ) . Let e d p = 1 + k p k p for some k p , k p , d p Z . Let a fraction α of the MSBs of d p and p (or q) are known. If a 1 be one of the prime factor of ( p 1 ) e = a 1 b 1 · a 2 b 2 · · a n b n = i = 1 n a i b i such that ( p 1 ) p ˜ < e a 1 then the number of candidates of a 1 that satisfies Theorem 2. will be less than
N 1 α 2 ln 2 ( N 1 3 α 2 ) + ln ( N 1 3 α 2 ) + 2.334 ln ( N 1 α 2 ) ln 2 ( N 1 3 α 2 ) .
Proof. 
We use results from Lemma 6 to count the sum of primes that satisfy Theorem 2. Thus, we changes H 1 and H 2 in Lemma 6 to N 1 α 2 and N 1 3 α 2 respectively based on the bounds in Proposition 2. Equation (22) will become
N 1 α 2 ln N 1 α 2 1 + 1 ( 1 3 α 2 ) ln N + 2.334 ( 1 3 α 2 ) 2 ln 2 N = N 1 α 2 ln ( N 1 α 2 ) + N 1 α 2 ln ( N 1 α 2 ) ln ( N 1 3 α 2 ) + N 1 α 2 ( 2.334 ) ln ( N 1 α 2 ) ln 2 ( N 1 3 α 2 ) = N 1 α 2 ln 2 ( N 1 3 α 2 ) + ln ( N 1 3 α 2 ) + 2.334 ln ( N 1 α 2 ) ln 2 ( N 1 3 α 2 ) .
This completes the proof. □
The following is an example to illustrate the result from Proposition 3.
Example 2.
In this example, we try to illustrate the number of primes that are eligible to be the candidates of a 1 .To do that, we set α = 1 4 to imitate the lowest possible estimation of the number of primes. We also substitute the value of N from Example 1 into (23) which approximates to
2.736665 × 10 228 N 0.3705816 .
This is the approximation of the amount of primes that are eligible to be the candidates of a 1 .

5. Estimating the Number of Candidates for a 1 with Various Success Appetite

To reduce the number of the candidates of a 1 to be manipulated by an adversary, we define the “success appetite” terminology to best describe our findings.
Definition 2.
CRT-RSA Success Appetite, G ( δ h ) is the conditional probability of successfully finding the largest prime factor of p e , a 1 ; where a 1 is less than N y 1 , given that a 1 is greater than N y 2 where N = p q and y 1 > y 2 for suitable y 1 , y 2 ( 0 , 1 ) .
Remark 4.
Success appetite as described in this paper relates to the success probability of the adversary to find the actual value of a 1 from a certain set of primes. The adversary can choose his success appetite, depending on computing resources available to the adversary. The probability of success for the adversary depends on the size of the set of prime candidates where a 1 resides. As such, success appetite and probability of success are two different concepts.
Since further experiment and analysis must be completed to be corroborated with the independent nature of Dickman’s function and randomized values of p i e i , we put forward the next conjecture that defines CRT-RSA success appetite quantitatively.
Conjecture 1.
Given i different RSA moduli, N i = p i q i that are randomly generated in RSA key generation algorithm, then the largest number of RSA moduli of which the greatest prime factor of p i e i is between its intended success-dependent upper and lower bound is G ( δ h ) · i .
By having the CRT-RSA success appetite, an adversary can evaluate it using the next corollary.
Proposition 4.
Let N = p q be an RSA modulus. Let e = N α 2 be an RSA public exponent and d be an RSA private exponent where 0 < α 1 / 4 . Let a 1 be one of the prime factors of p e = a 1 b 1 · a 2 b 2 · · a n b n = i = 1 n a i b i . Suppose B is a known integer larger than ρ ϕ ( N ) and B ρ ϕ ( N ) < e a 1 . Let F X ( y ) be the Dickman’s function. If δ h is the CRT-RSA success appetite, then the number of candidates of a 1 that satisfies Theorem 2 will be less than
N 1 α 2 ln 2 ( N 1 3 α 2 ) + ln ( N 1 3 α 2 ) + 2.334 ln ( N 1 α 2 ) ln 2 ( N 1 3 α 2 ) .
where y 1 = F 1 δ h · F X ( 1 3 α 2 ¯ ) + F X ( 1 3 α 2 ) .
Proof. 
Let F X ( y ) or F ( y ) be the probability function for a random integer between 1 and X to have the greatest prime factor less than X y as defined in Definition 1 (Dickman’s function). Let X y 1 be the upper bound of a 1 and X y 2 to be the lower bound of a 1 , then (23) can also be written as
N y 1 ln 2 ( N y 2 ) + ln ( N y 2 ) + 2.334 ln ( N y 1 ) ln 2 ( N y 2 )
Next, we define
  • F ( y 1 ) to be the probability of X having its greatest prime factor less than X y 1 ;
  • F ( y 2 ) to be the probability of X having its greatest prime factor less than X y 2 ; and
  • F ( y 2 ¯ ) to be the probability of X not having its greatest prime factor less than X y 2 .
Let δ h be the success appetite as defined in Definition 2, we can rewrite δ h as the probability of p 1 e having its largest prime factor less than N y 1 , given that it has no largest prime factor less than N y 2 . Using the definition of conditional probability, observe that
δ h = F ( y 1 | y 2 ¯ ) = F ( y 1 y 2 ¯ ) F ( y 2 ¯ ) = F ( y 1 ) F ( y 2 ) F ( y 2 ¯ ) .
From (25),
F ( y 1 ) F ( y 2 ) = δ h · F ( y 2 ¯ ) F ( y 1 ) = δ h · F ( y 2 ¯ ) + F ( y 2 ) y 1 = F 1 δ h · F ( y 2 ¯ ) + F ( y 2 ) .
According to Proposition 2, y 2 = 1 3 α 2 . Substitute values of y 1 and y 2 into (24), we obtain
N y 1 ln 2 ( N 1 3 α 2 ) + ln ( N 1 3 α 2 ) + 2.334 ln ( N y 1 ) ln 2 ( N 1 3 α 2 ) .
where y 1 = F 1 δ h · F ( 1 3 α 2 ¯ ) + F ( 1 3 α 2 )
Proposition 4 shows that an adversary can adjust the upper bound of a 1 according to the success appetite preferred by the adversary. In the next section, we can see how this adjustment can reduce the number of primes eligible to be the significant candidates of a 1 .

6. Comparative Analysis

In this section, we show two comparisons. In the first comparison, we compare the changes of the number of candidates of a 1 , π ( a 1 ) in terms of β (where π ( a 1 ) = N β ) when the success appetite, δ h changes. We also set α = 0.05 , 0.1 , 0.15 , 0.2 and 0.25 to see the changes in π ( a 1 ) . The full details of the values are shown in Table 2.
Based on Table 2, when δ h progressively reduces from 1 to 0.01, for α = 0.05 , the number of candidates also slowly reduces from N 0.4706 to N 0.4208 , N 0.4457 to N 0.3464 for α = 0.1 , N 0.4205 to N 0.2719 for α = 0.15 , N 0.3952 to N 0.1973 for α = 0.2 and N 0.3704 to N 0.125 for α = 0.25 . In general, the number of candidates decreases as the values of the success appetites decrease. A similar pattern occurs when the values of α increases. This means that the best situation for an adversary to conduct an attack against CRT-RSA using our method is when 0.25 MSBs of d and p (or q) are known with a consideration of a success appetite that is as small as possible.
In the second comparison, we intend to compare our attack with results from [12,13,14,15,16]. All of these results require some bits of d p to be known beforehand. In [15], Takayatsu et al. provided a result which includes bits of d q . A comparison with our results is shown in Table 3.
Based on Table 3, Ref. [16] requires at least 0.27 random bits of all p , q , d , d p , d q . The attack also used random reconstruction algorithm. On another hand, attack by [12] requires an approximation of d p called d ˜ p to be given, such that | d p d ˜ p | < N 1 4 α where e = N α . The suitable size of e used in the attack is 1 < e < N 1 / 4 . The methodology used in [12] can also be applied in many conditions, since we can see that the extension of the results in [13,14,15] are also using the similar lattice-based approach.
Meanwhile, our attack requires an approximation of d p and p called d ˜ p and p ˜ to be given, such that | d p d ˜ p | , | p p ˜ | < N 1 α 2 . As 0 < α 1 / 4 , this means that the suitable range for e in our case is 0 < e < N 1 / 8 . based on Table 3, Ref. [12] needs the approximation of d p to be between 0 and < N 1 / 4 from the actual d p . Meanwhile, in our case, we need the approximation of d p and p to be between N 3 / 8 and N 1 / 2 from the actual values of d p and p. This means that our attack is less stringent and requires less MSBs of private keys to be known than [12] (although our attack needs two approximations of private keys). In addition, our method takes a different approach compared to other results, since we detach our method from the common approach of partial key attack on CRT-RSA by using the lattice-based method to finding the largest prime factor of p 1 e with versatile success appetites.

7. Conclusions

We have successfully factored the modulus of CRT-RSA in polynomial time using our new method under specific conditions. Given e = N α 2 , where 0 < α 1 / 4 , the method requires an approximation of private exponent called d ˜ p and approximation of p called p ˜ to be known, such that | d p d ˜ p | , | p p ˜ | < N 1 α 2 . Our attack also requires the largest prime factor of p 1 e . By utilizing Dickman’s theorem, we showed a practical approach to identify the prime from a set of primes that the factor most likely resides in. The approach manipulates a versatile self-defined value known as the success appetite value that can be referred to by the adversary based on the computational power at hand. This makes our attack less stringent and requires fewer MSBs of private keys to be known than existing attacks. For a future extension of this work, one may develop a new method to find a 1 from a smaller set of primes. The method should include a marked up algorithm that identifies a 1 , where its respective success appetite is compared with the number of candidates of a 1 in terms of the logarithm to base N, as shown in Table 2. Another interesting future approach to tackle the problem of finding a 1 is by using synchronized machine learning with the aid of cloud systems for its storage space, as shown in [23].

Author Contributions

Conceptualization, A.H.A.G. and M.R.K.A.; methodology, formal analysis, investigation, writing—original draft preparation, A.H.A.G.; writing—review and editing, A.H.A.G., M.R.K.A., S.M.Y. and S.H.S.; supervision and funding acquisition, M.R.K.A. All authors have read and agreed to the published version of the manuscript.

Funding

The research was supported by Ministry of Higher Education of Malaysia with Fundamental Research Grant Scheme (FRGS/1/2019/STG06/UPM/02/8).

Acknowledgments

The research was supported by Ministry of Higher Education of Malaysia with Fundamental Research Grant Scheme (FRGS/1/2019/STG06/UPM/02/8).

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
LSBLeast significant bits
MSBMost significant bits
RSARivest–Shamir–Adleman

References

  1. Rivest, R.L.; Shamir, A.; Adleman, L. A method for obtaining digital signatures and public-key cryptosystems. Commun. ACM 1978, 21, 120–126. [Google Scholar] [CrossRef]
  2. Buhler, J.P.; Lenstra, H.W.; Pomerance, C. Factoring integers with the number field sieve. In The Development of the Number Field Sieve; Springer: Berlin/Heidelberg, Germany, 1993; pp. 50–94. [Google Scholar]
  3. Rivest, R.L.; Shamir, A.; Adleman, L.M. Cryptographic Communications System and Method. U.S. Patent 4,405,829, 20 September 1983. [Google Scholar]
  4. Hinek, M.J. Cryptanalysis of RSA and Its Variants; CRC Press: Boca Raton, FL, USA, 2009. [Google Scholar]
  5. Kocher, P.; Jaffe, J.; Jun, B.; Rohatgi, P. Introduction to differential power analysis. J. Cryptogr. Eng. 2011, 1, 5–27. [Google Scholar] [CrossRef] [Green Version]
  6. Rivest, R.L.; Shamir, A. Efficient factoring based on partial information. In Workshop on the Theory and Application of of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 1985; pp. 31–34. [Google Scholar]
  7. Coppersmith, D. Finding a small root of a bivariate integer equation; factoring with high bits known. In International Conference on the Theory and Applications of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 1996; pp. 178–189. [Google Scholar]
  8. Boneh, D.; Durfee, G.; Frankel, Y. Exposing an RSA private key given a small fraction of its bits. Full Version Work. Asiacrypt 1998, 98, 25–34. [Google Scholar]
  9. Ernst, M.; Jochemsz, E.; May, A.; De Weger, B. Partial key exposure attacks on RSA up to full size exponents. In Annual International Conference on the Theory and Applications of Cryptographic Techniques; Springer: Berlin/Heidelberg, Germany, 2005; pp. 371–386. [Google Scholar]
  10. Sarkar, S.; Maitra, S.; Sarkar, S. RSA Cryptanalysis with Increased Bounds on the Secret Exponent using Less Lattice Dimension. IACR Cryptol. ePrint Arch. 2008, 2008, 315. [Google Scholar]
  11. Abd Ghafar, A.H.; Ariffin, M.R.K.; Johari, M.A.M.; Asbullah, M.A. A Survey of Partial Key Exposure Attacks on RSA Cryptosystem. Embrac. Math. Divers. 2019, 1, 24. [Google Scholar]
  12. Blömer, J.; May, A. New partial key exposure attacks on RSA. In Annual International Cryptology Conference; Springer: Berlin/Heidelberg, Germany, 2003; pp. 27–43. [Google Scholar]
  13. Lu, Y.; Zhang, R.; Lin, D. New partial key exposure attacks on CRT-RSA with large public exponents. In International Conference on Applied Cryptography and Network Security; Springer: Cham, Switzerland, 2014; pp. 151–162. [Google Scholar]
  14. Sarkar, S.; Venkateswarlu, A. Partial key exposure attack on CRT-RSA. In International Conference on Cryptology in India; Springer: Berlin/Heidelberg, Germany, 2014; pp. 255–264. [Google Scholar]
  15. Takayasu, A.; Kunihiro, N. Partial key exposure attacks on CRT-RSA: Better cryptanalysis to full size encryption exponents. In International Conference on Applied Cryptography and Network Security; Springer: Cham, Switzerland, 2015; pp. 518–537. [Google Scholar]
  16. Heninger, N.; Shacham, H. Reconstructing RSA private keys from random key bits. In Advances in Cryptology-CRYPTO 2009; Springer: Berlin/Heidelberg, Germany, 2009; pp. 1–17. [Google Scholar]
  17. Halderman, J.A.; Schoen, S.D.; Heninger, N.; Clarkson, W.; Paul, W.; Calandrino, J.A.; Feldman, A.J.; Appelbaum, J.; Felten, E.W. Lest we remember: Cold-boot attacks on encryption keys. Commun. ACM 2009, 52, 91–98. [Google Scholar] [CrossRef]
  18. Takayasu, A.; Kunihiro, N. Partial key exposure attacks on CRT-RSA: General improvement for the exposed least significant bits. In International Conference on Information Security; Springer: Berlin/Heidelberg, Germany, 2016; pp. 35–47. [Google Scholar]
  19. Ireland, K.; Rosen, M. A Classical Introduction to Modern Number Theory; Springer Science & Business Media: Berlin/Heidelberg, Germany, 2013; Volume 84. [Google Scholar]
  20. Dusart, P. Estimates of some functions over primes without RH. arXiv 2010, arXiv:1002.0442. [Google Scholar]
  21. Dickman, K. On the frequency of numbers containing prime factors of a certain relative magnitude. ARkiv Mat. Astron. Och Fys. 1930, 22, 1–14. [Google Scholar]
  22. Donald, E.K. The Art of Computer Programming, Vol. 2: Seminumerical Algorithms; Addison-Wesley: Boston, MA, USA, 1981. [Google Scholar]
  23. Çatak, F.Ö.; Mustacoglu, A.F. CPP-ELM: Cryptographically privacy-preserving extreme learning machine for cloud systems. Int. J. Comput. Intell. Syst. 2018, 11, 33–44. [Google Scholar] [CrossRef] [Green Version]
Figure 1. Flowchart of Algorithm 2.
Figure 1. Flowchart of Algorithm 2.
Mathematics 08 02188 g001
Table 1. List of Parameters Used in the Attack.
Table 1. List of Parameters Used in the Attack.
Parameters known before the attack:•  RSA public keys, ( N , e )
•  approximation of d, d ˜ p
•  approximation of p, p ˜
•  a prime factor of ( p 1 ) e , a 1
Parameters known during the attack:•  Constant from CRT-RSA
   key Equation (10), k p
•  Intermediate of (13), k ˜ p
•  Intermediate of (13), d p
Parameters known after the attack:•  CRT-RSA private exponent, d p
•  CRT-RSA private key, p
•  CRT-RSA private key, q
Table 2. Comparison in Number of Candidates of a 1 In Terms of Logarithm to Base N with Respect to δ h and α .
Table 2. Comparison in Number of Candidates of a 1 In Terms of Logarithm to Base N with Respect to δ h and α .
Intended Success
Probability, δ h
β , π ( a 1 ) = N β
α = 0 . 05 α = 0 . 1 α = 0 . 15 α = 0 . 2 α = 0 . 25
0.010.42080.34640.27190.19730.1250
0.250.43240.36820.30230.23370.1796
0.500.44480.39250.33750.27850.2289
0.750.45750.41820.37680.33180.2913
1.000.47060.44570.42050.39520.3704
Table 3. Comparison of Our Method Against Existing Methods to Conduct Partial-Key Exposure Attack Against CRT-RSA.
Table 3. Comparison of Our Method Against Existing Methods to Conduct Partial-Key Exposure Attack Against CRT-RSA.
AttacksExposed Information about
Private Keys for
the Attack to be
Successful
Methodology
Heninger and
Shacham (2009)
Given 0.27 of the bits of
p , q , d , d p , d q
Using random
reconstruction
algorithm
Blömer and
May (2003)
Given d p ˜ , e = N α such that
| d p d ˜ p | < N 1 4 α
where 0 < α 1 / 4
Using lattice-based method
Lu et al.
(2014)
Given d p ˜ N γ , e N α
where | d p d ˜ p | < N γ 1
such that γ , γ 1 , α satisfy
conditions in Theorem 6 of [13]
Sarkar and
Venkateswarlu
(2014)
Given e N α and bits of d p
except for n many blocks with
sizes γ i log N bits for 1 i n ,
such that γ , γ 1 , α satisfy
inequality in Theorem 1 of [14]
Takayatsu and
Kunihiro (2015)
Given d p ˜ N γ , e N α
where d p N γ 1
such that α , γ , γ 1 satisfy
conditions in Theorem 6 of [15]
Our methodGiven d ˜ p , p ˜ , e = N α / 2
where 0 < α 1 / 4 such that
| d p d ˜ p | , | p p ˜ | < N 1 α 2
Need to determine
the largest prime
factor of p 1 e
Publisher’s Note: MDPI stays neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Share and Cite

MDPI and ACS Style

Abd Ghafar, A.H.; Kamel Ariffin, M.R.; Md Yasin, S.; Sapar, S.H. Partial Key Attack Given MSBs of CRT-RSA Private Keys. Mathematics 2020, 8, 2188. https://doi.org/10.3390/math8122188

AMA Style

Abd Ghafar AH, Kamel Ariffin MR, Md Yasin S, Sapar SH. Partial Key Attack Given MSBs of CRT-RSA Private Keys. Mathematics. 2020; 8(12):2188. https://doi.org/10.3390/math8122188

Chicago/Turabian Style

Abd Ghafar, Amir Hamzah, Muhammad Rezal Kamel Ariffin, Sharifah Md Yasin, and Siti Hasana Sapar. 2020. "Partial Key Attack Given MSBs of CRT-RSA Private Keys" Mathematics 8, no. 12: 2188. https://doi.org/10.3390/math8122188

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop