A NEW ALGORITHM FOR THE VARIANTS OF ACD PROBLEM
Jung Hee Cheon, Wonhee Cho, Minki Hhan, Minsik Kang, Jiseung Kim, Changmin Lee
ENS de Lyon
June 27, 2019
Changmin Lee Analysis of CRT-ACD June 27, 2019 1 / 23
A NEW ALGORITHM FOR THE VARIANTS OF ACD PROBLEM Jung Hee Cheon, - - PowerPoint PPT Presentation
A NEW ALGORITHM FOR THE VARIANTS OF ACD PROBLEM Jung Hee Cheon, Wonhee Cho, Minki Hhan, Minsik Kang, Jiseung Kim, Changmin Lee ENS de Lyon June 27, 2019 Changmin Lee Analysis of CRT-ACD June 27, 2019 1 / 23 Approximate Common-Divisor
Jung Hee Cheon, Wonhee Cho, Minki Hhan, Minsik Kang, Jiseung Kim, Changmin Lee
ENS de Lyon
June 27, 2019
Changmin Lee Analysis of CRT-ACD June 27, 2019 1 / 23
Partial Approximate Common Divisor problem(PACD): a0 = pq0 a1 = pq1 + r1 ≡ r1 mod p . . . . . . aℓ = pqℓ + rℓ ≡ rℓ mod p where p is a big secret prime and ri ≪ p. Question : Given (a0, . . . , aℓ), Can we recover p ? Answer : SDA, OLA, Coppersmith Method
Changmin Lee Analysis of CRT-ACD June 27, 2019 2 / 23
Partial Approximate Common Divisor problem(PACD): a0 = pq0 a1 = pq1 + r1 ≡ r1 mod p . . . . . . aℓ = pqℓ + rℓ ≡ rℓ mod p where p is a big secret prime and ri ≪ p. Question : Given (a0, . . . , aℓ), Can we recover p ? Answer : SDA, OLA, Coppersmith Method
Changmin Lee Analysis of CRT-ACD June 27, 2019 2 / 23
Application: J.-S. Coron, A. Mandal, D. Naccache, M. Tibouchi. Fully homomorphic encryption over the integers with shorter public keys. CRYPTO 2011. J.-S. Coron, D. Naccache, M. Tibouchi. Public Key Compression and Modulus Switching for Fully Homomorphic Encryption over the
Integers Revisited. EUROCRYPT 2015.
Changmin Lee Analysis of CRT-ACD June 27, 2019 3 / 23
CRT-ACD (Simple version): N =
n
pi a1 ≡ ri1 mod pi . . . aℓ ≡ riℓ mod pi where pi are big secret primes (η-bit) and rij (ρ-bit) ≪ pi. Question : Given (N, a1, . . . , aℓ), Can we recover pi ? What if n = 2?
Changmin Lee Analysis of CRT-ACD June 27, 2019 4 / 23
CRT-ACD (Simple version): N =
n
pi a1 ≡ ri1 mod pi . . . aℓ ≡ riℓ mod pi where pi are big secret primes (η-bit) and rij (ρ-bit) ≪ pi. Question : Given (N, a1, . . . , aℓ), Can we recover pi ? What if n = 2?
Changmin Lee Analysis of CRT-ACD June 27, 2019 4 / 23
Application:
Tibouchi, A. Yun. Batch Fully Homomorphic Encryption over the
J.-S. Coron, T. Lepoint, M. Tibouchi, Practical Multilinear Maps over the Integers. CRYPTO13 J.-S. Coron, T. Lepoint, M. Tibouchi, New Multilinear Maps Over the
Changmin Lee Analysis of CRT-ACD June 27, 2019 5 / 23
CRT-ACD with a dual instance(CRT-ACDwDI): N =
n
pi a1 ≡ ri1 mod pi . . . aℓ ≡ riℓ mod pi D =
di · N/pi where pi are big secret primes (η-bit) and rij (ρ-bit), di ≪ pi. Question : Given (N, a1, . . . , aℓ, D), Can we recover pi ? Answer : Yes!
Changmin Lee Analysis of CRT-ACD June 27, 2019 6 / 23
CRT-ACD with a dual instance(CRT-ACDwDI): N =
n
pi a1 ≡ ri1 mod pi . . . aℓ ≡ riℓ mod pi D =
di · N/pi where pi are big secret primes (η-bit) and rij (ρ-bit), di ≪ pi. Question : Given (N, a1, . . . , aℓ, D), Can we recover pi ? Answer : Yes!
Changmin Lee Analysis of CRT-ACD June 27, 2019 6 / 23
Current Status There are 3 types of algorithms for solving PACD Algorithms for PACD cannot be applied to CRT-ACD. There is no algebraic algorithm to solve the CRT-ACD problem.
It is not known which parameter is safe.
CRT-ACDwDI is solved in polynomial time in n, η [CHLRS15]. Our results We present an algorithm to solve the CRT-ACD problem It is solved in polynomial time if n ≤ η − 4 · ρ. We provide the first guideline to set n.
Changmin Lee Analysis of CRT-ACD June 27, 2019 7 / 23
Current Status There are 3 types of algorithms for solving PACD Algorithms for PACD cannot be applied to CRT-ACD. There is no algebraic algorithm to solve the CRT-ACD problem.
It is not known which parameter is safe.
CRT-ACDwDI is solved in polynomial time in n, η [CHLRS15]. Our results We present an algorithm to solve the CRT-ACD problem It is solved in polynomial time if n ≤ η − 4 · ρ. We provide the first guideline to set n.
Changmin Lee Analysis of CRT-ACD June 27, 2019 7 / 23
Changmin Lee Analysis of CRT-ACD June 27, 2019 8 / 23
Notation: CRT(pi)(ri) defined as the unique integer in
2
n
pi, 1 2
n
pi
N =
n
pi ˆ pi = N/pi. Note that we assume n = 2 for the sake of simplicity. So we use the notation CRT(p1,p2)(ri,1, ri,2) as well.
Changmin Lee Analysis of CRT-ACD June 27, 2019 9 / 23
Definition (CRT-ACD Problem, Simple version)
Let p1 and p2 be η-bit integers and ri,1 and ri,2 be ρ-bit integers with ρ < η. The CRT-ACD problem is: Given many samples CRT(p1,p2)(ri,1, ri,2) and N, find p1, p2.
Definition (Dual instance, Simple version)
Let p1 and p2 be parameters of CRT-ACD problem. Dual instance of CRT-ACD is defined as an integer that is expressed in the following form. D =
n
di · ˆ pi = d1 · p2 + d2 · p1, where |di| ≤ 2η−3ρ−log n = 2η−3ρ−log 2.
Changmin Lee Analysis of CRT-ACD June 27, 2019 10 / 23
Our results We present an algorithm to solve the CRT-ACD problem Our algorithm consists of 2 steps The first step is to obtain a dual instance only from the CRT-ACD samples. Using the previous algorithm for CRT-ACDwDI, all the factors pi can be recovered.
Changmin Lee Analysis of CRT-ACD June 27, 2019 11 / 23
Put bj := CRT(p1,p2)(rj,1, rj,2) = p1 · qj,1 + rj,1 = p2 · qj,2 + rj,2. For any dual instance d = d1 · ˆ p1 + d2 · ˆ p2, the followings hold: [d · bj]N ≡ [d1 · ˆ p1 · (p1 · qj,1 + rj,1) + d2 · ˆ p2 · (p2 · qj,2 + rj,2)]N ≡ [d1 · ˆ p1 · rj,1 + d2 · ˆ p2 · rj,2]N = d1 · ˆ p1 · rj,1 + d2 · ˆ p2 · rj,2 Small! compared to N ∵ |di| ≤ 2η−3ρ−log 2, | 2
i=1 di · rj,i · ˆ
pi| ≤ 22η−2ρ ≪ N/2
Changmin Lee Analysis of CRT-ACD June 27, 2019 12 / 23
Consider a lattice L generated by the following matrix: B = 1 b1 N b2 N b3 N b4 N ([d]N, [d · b1]N, [d · b2]N, [d · b3]N, [d · b4]N)T is a short vector in a lattice L if d is a dual instance. We will show that the first entry of any short vectors in a lattice L is a dual instance.
Changmin Lee Analysis of CRT-ACD June 27, 2019 13 / 23
Let E = (E1, E2, E3, E4, E5)T be a lattice point of L. We hold: For any element E1 ∈ Z can be written as e1 · ˆ p1 + e2 · ˆ p2. Ei = [E1 · bi]N = e1 · ri,1 · ˆ p1 + e2 · ri,2 · ˆ p2 mod N. Hence, we have the following relation: E = (E1, E2, E3, E4, E5) = (e1, e2) · ˆ p1 ˆ p2
1 r1,1 r2,1 r3,1 r4,1 1 r1,2 r2,2 r3,2 r4,2
E · ˆ P · R mod N We want to show that E · ˆ P mod N∞ is small. It implies that E∞ is small.
Changmin Lee Analysis of CRT-ACD June 27, 2019 14 / 23
Let E = (E1, E2, E3, E4, E5)T be a lattice point of L. We hold: For any element E1 ∈ Z can be written as e1 · ˆ p1 + e2 · ˆ p2. Ei = [E1 · bi]N = e1 · ri,1 · ˆ p1 + e2 · ri,2 · ˆ p2 mod N. Hence, we have the following relation: E = (E1, E2, E3, E4, E5) = (e1, e2) · ˆ p1 ˆ p2
1 r1,1 r2,1 r3,1 r4,1 1 r1,2 r2,2 r3,2 r4,2
E · ˆ P · R mod N We want to show that E · ˆ P mod N∞ is small. It implies that E∞ is small.
Changmin Lee Analysis of CRT-ACD June 27, 2019 14 / 23
We obtain the inequality as follows: E · ˆ P mod N∞ = E · R−1 mod N∞ ≤ E · R−1∞ ≤ E∞ · R−1∞ · n, where R−1 is a right inverse of R. We show that the smallness of E∞ with a lattice reduction algorithm. (It is possible when n ≤ η − 4 · ρ.) R−1∞ with Gaussian Heuristics. From the equation, the size of ei · ˆ pi is bounded for all i.
Changmin Lee Analysis of CRT-ACD June 27, 2019 15 / 23
Let n, η, ρ be parameters of the CRT-ACD Problem. When 2n instances are given, we can find a dual instance under the condition n ≤ η − 4ρ in polynomial time with LLL algorithm n ≤
β−1 2 log β · (η − 4ρ) in 2O(β) time with BKZ algorithm
Changmin Lee Analysis of CRT-ACD June 27, 2019 16 / 23
CRT-ACD η ρmax1 time 150 70 5m 300 110 1h 450 190 2h Our result 600 300 3.1h 750 370 4.1h 900 450 6.2h 1500 700 10h Here the number of prime factors, n, is set to be 50.
1The ρmax value corresponding to η is the maximum ρ value on which the experiment
succeeded.
Changmin Lee Analysis of CRT-ACD June 27, 2019 17 / 23
Product of b = CRT(pi) (ri) and d = e1 · p2 + e2 · p1: [b · d]N = e1 · r1 · p2 + e2 · r2 · p1. (an integer equation!) We can compute it with b1 · b2 · b3 · d: [b1 · b2 · b3 · d]N = r11r12r13e1p2 + r21r22r23e2p1 =
r21
r13 r23
e1p2 e2p1
r12 r22
for bi = CRT(rij).
Changmin Lee Analysis of CRT-ACD June 27, 2019 18 / 23
Product of b = CRT(pi) (ri) and d = e1 · p2 + e2 · p1: [b · d]N = e1 · r1 · p2 + e2 · r2 · p1. (an integer equation!) We can compute it with b1 · b2 · b3 · d: [b1 · b2 · b3 · d]N = r11r12r13e1p2 + r21r22r23e2p1 =
r21
r13 r23
e1p2 e2p1
r12 r22
for bi = CRT(rij).
Changmin Lee Analysis of CRT-ACD June 27, 2019 18 / 23
Changing the indices j and k, compute [bj · bk · b3 · d]N, and compose a matrix W1 W1 =
r21 r12 r22
r23
e2p1
r11 r22 r21
= ˆ R · diag((r13)e1p2, (r23)e2p1) · R It is a matrix composed of secret parameter!
Changmin Lee Analysis of CRT-ACD June 27, 2019 19 / 23
By removing b3 [b1 · b2 · b3 · d]N → [b1 · b2 · d]N, we obtain W2 = ˆ R · diag(e1p2, e2p1) · R W1 and W2 are of the same form except for the middle matrix. W1 · W −1
2
= ˆ R · diag(r13, r23) · ˆ R−1. Its eigenvalues are r13, r23.
Changmin Lee Analysis of CRT-ACD June 27, 2019 20 / 23
Recover pi: By definition,
p1 divides b3 − r13 and N = p1 · p2.
Hence, one can recover p1 by computing GCD. By repeating this, we can find all the secret pi’s.
Changmin Lee Analysis of CRT-ACD June 27, 2019 21 / 23
We present a reduction from CRT-ACD problem to CRT-ACDwDI problem Combining the previous result, we solve the CRT-ACD problem under some constraints. We also provide an algorithm for distinguishing between CRT-ACD instnaces and random instances. Please refer to our paper. It would be an interesting problem to extend solvable parameter conditions.
Changmin Lee Analysis of CRT-ACD June 27, 2019 22 / 23
Changmin Lee Analysis of CRT-ACD June 27, 2019 23 / 23