Ⅰ.서론
파라메터들의 크기 관계는 RSA 공개키 시스템의 안전성에 큰 영향을 준다.
1990년 Wiener(1)는 두 소수 의 크기가 같을 때 비밀키 d가 N025보다 작으면 비밀키를 찾아낼 수 있음을 continued fraction을 이용하여 보였다. 그 후 1998년 Boneh와 Durfee(2)는 두 소수의 크기가 서로 같을 때 비밀키가 2°〃92보다 작으면 Ⅲ을 소인 수분해 할 수 있고 따라서 비밀키를 찾아낼 수 있음을 보였다. Boneh 등의 공격을 피하기 위하여 1999년 Sun, Yang Laih(3)이 두 소수의 크기가 다른 경우의 3가지 형태의 알고리즘을 제안하였는데 그들에 따르면 비밀키를 작게 선택하여 도두 소수의 크기가 다르면 안전하다고 하였다. 그러나, 2000년 Nguyen", 는 이들이 제안한 알고리즘도 공격에 취약함을 보였는데 두 소수의 크기가 서로 다르면 비밀키가 작을 때 위험할 뿐만이 아니라 오히려 두 소수의 크기가 다를수록 비밀키의 크기는 커야만 안전하다는 것을 보였다. 서로 다른 크기의 두 소수에 대한비밀키의 크기는 공개키e의 크기와도 밀접한 관계가 있는데 Nguyene 이를 모두도 분석해놓았다.
Wiener는 비밀키의 크기를 작게 하면서도 안전하게 하기 위해서 두 가지 방법을 제안했는데 하나는 큰 공개키e를 사용하는 것이고 다른 하나는 중국인의 나머지 정리 (The Chinese Remainder The orem)# 활용하는 것이다. 그러나 2002년 May⑸ 가 Crypto에서 두 소수의 크기가 다르면 중국인의 나머지 정리를 이용하여 비밀키를 생성한다고 하여도 공격이 가능함을 보였다. 이때 효율성을 높이기 위해서 작은 소수에 대한 비밀키는 임의로 선택하더라도 큰 소수의 비밀키는 작게 선택하는데 이를 '작은 CRT 지수'라고 한다. 이와 같이 각각의 소수에 대해서 선택한 비밀키들을 중국인의 나머지 정리를 이용하여 비밀키를 생성한다고 하더라도 작은 소수가 N 0.382보다 작으면 위험 하다는 것을 보였는데 구체적으로 작은 소수 鴻 크기를 라하고, 작은 CRT 지수, 七의 크기를 라 할 때 이들의 관계는 3 = 1/2-3/26+1/282 (또는 s = l—5/36- 2/W 38-5矿)가됨을 보였다. 즉, 작은 소수 问 크기가 작으면 작을수록 '큰' 작은 CRT 지수를 찾아낼 수 있다는 것이다. 다시 말해서 두 소수의 크기가 차이가 많이 나지 않을수록 작은 CRT 지수를 선택하여도 안전하다는 것이다.
위와 같이 안전한 비밀키를 선택한다고 하더라도 side channel attack을 통하여 비밀키의 일부 노출을 막을 수는 없다. 따라서 위와 같은 상황에서 일부 비밀키의 노출로 인하여 비밀키 전체를 복원할 수 있는지에 대해서 알아봐야 한다. Boneh와 Dur fee ⑹은 비밀키의 일부가 노출되면 전체를 복원될 수 있음을 보였다. 이때 조건은 두 소수의 크기가 같다는 것과 공개키가 작거나 최대 廁보다 작다는 것이다. 그리고 비밀키d에 대해서 N의 비트수를 "이라 할 때 儿/4정도의 least significant bits를 알아야 한다는 것이다. Boneh 등은 勿/4 정도의 昭 least significant bits나 most significant bits 를 알면 N을 소인 수분해 할 수 있다는 Copper smith 의 정리⑺을 이용하였다. 2003년 May⑻은 공개키가 N°-5<e<N°-Ta 범위에서 비밀키가 정도 노출되면 N을 소인 수분해 할 수 있다는 것을 보였다. 그리고 중국인의 나머지 정리를 이용하여 비밀키를 선택할 때도 a?, 의 least significant bits나 most significant bits들을 약就/4정도 알게 되면 비밀키를 복원할 수 있음을 보였다. May는 N을 소인수 분해하기 위해서는 勉+e만을 알면 가능하다는 Howgrave-Graham의 정리⑼를 사용하였다.(毙 알려지지 않고 e는 에러항으로 크기가 汉μ4보다작다.)
정리1 (Coppersmith)
N=bq라 하자. 2V의 비트수를 渺]라 할 때 약 »/4 정도의 least significant 비트나약 »/4 정도의 most significant 비트를 알면 N을 효율적으로 인수분해할 수 있다.
정리2 (Howgrave-Graham)
2=仞이라 하고 k는 알려지지는 않았지만 Q의 배수는 아니라 홍F자.
약 NU4정도의 오차범위 안에서 杨의 값을 갖게 되면 다항식 시간 안에 N을 소인 수분해 할 수 있다.
본 논문에서는 두 소수의 크기가 다르면서 중국인의 나머지 정리를 사용하여 비밀키를 생성할 때 과연 어느 정도의 비밀키가 노출되면 비밀키 전체가 복원될 수 있는지 알아보려고 한다. 이때 작은 소수를 R0.382보다 크게 선택하면 작은 CRT지수의 크기와 상관없이 May의 공격에 안전하다. 따라서 작은 소수는 n°・382보다 크고 CRT지수는 임의의 크기로 선택한다고 하자. 물론 효율성을 높이기 위해서는 '작은' CRT 지수가 선택된다고 가정할 수 있다. e의 크기가 작을 때 두 소수의 크기와 관계없이 노출된 비밀키의 비트 수가 Ns정도이면 전체가 복원됨을 알 수 있다. 이를 Coppersmith 정리의 변형을 이용하여 증명한다.
2장에서는 작은 CRT 지수를 이용한 크기가 다른 두 소수를 이용한 RSA를 소개하고 3장에서 크기가 다른 두 소수의 RSA에서 소수의 일부를 알면 소인수분해 되는 Coppersmith 정리의 변형을 증명하고 이를 이용하여 일부 키 노출에 따른 N의 소인수분해( 전체 키의 복원)을 살펴본다.
Ⅱ.작은 CRT 지수를 사용한 변형된 RSA
RSA의 효율성과 안전성을 높이기 위해서 중국인의 나머지 정리를 이용한 비밀키 생성 기법이 많이 사용되고 있다. 이때 같은 크기의 두 소수를 이용할 때가 크기가 다른 두 소수를 이용할 때보다 공격에 안전하나 효율성을 높이기 위해서 서로 다른 크기의 두 소수를 선택할 때가 있다. 이러한 경우의 안전성은 작은 CRT 지수의 크기와 밀접한 관계가 있다. May⑸가 소개한 키 생성 과정을 살펴보고 소수의 크기와 작은 CRT 지수의 크기 관계가 안전성에 끼치는 영향을 살펴본다.
1.작은 GRT 지수를 사용한 키 생성
공개키 N의 비트수를 n, 작은 소수 0의 크기는 N% 작은 CRT 지수, 江°의 크기를 하자. 이때 ^<1/2이고 SM1 이다.
.임의의 소수力를 각각 크기가 (1-6)佑/切 이 되도록 선택한다. 》-1과 4丄는 서로소이다. N=bq를 계산한다. 만약니면 두 소수를 다시 선택한다.
.비밀키 d戶 *를 크기가 V5보다 작게 선택한다. 비밀키d d戶Z* 项는 임의의 크기로 선택한다.
. d=dmod p-\, d=d„ mod 侦 [ 를 만족 하는 d mod 迅p를 중국인의 나머지 정리를 이용하여 구한다.
®법 卫写a에 대한 d의 역원遷 구한다.
。7V과 &를 공개한다.
2.작은 CRT 지수와 큰 소수의 크기 관계
큰 소수z와 dt, 그리고 e는 다음과 같은 관계를 갖는다.
#
#
#
ed, —1 +为=初에서 e를 알고 있으므로와 k~ 1 을 찾는 법0에 관한 합동방정식을 얻을 수 있다. 이를 丿%(%, V)라 히자. 다시 말해서 f t(x, y) = ex-y 를 얻게 되고 해(xojQTdsA+l) 이며 d 느 Na 보다 작고, 易Te보다 작다. Howgrave- Graham의 정리를 이용하여 정수상의 다항식으로 전환하면 2차원 Lattice에서는 36+2此1-log & (4)의 관계를, 임의의 차수로 확장하면 36—62 + 2此1의 관계를 얻게 된다. 이는 跖 0.382까지 해를 구할 수 있고 따라서 소인 수분해가 가능하다는 것이다. 그러나 이 경우 작은 CRT 지수는 거의 0에 가깝다. 법e에 대해서 함수를 선택하면 법 A의 경우와 비교해서 缶=0.23까지는 더 큰 CRT 지수를 선택할 수 있으나 6= 1/3까지만 해를 구할 수 있다. 위의 결과에서 우리는 작은 소수의 크기를 .繼 보다 크게 정하면 작은 CRT 지수를 선택하더라도 위의 공격에 안전하다. 동시에 작은 소수를 선택하더라도 CRT 지수를 크게 선택하면 공격을 피할 수 있다.
[참고]
1.법 e에 관해서는 함수 fe(y, z) = y(N-z). — N(%, zo)= 0+l, g) mod e, Y=N»+S, Z= NB를 얻는다.
2.법 》에서 해를 구할 때에는 정수상의 다항식을 이용하여 N을 소인 수분해 할 수 있는데〔5〕 이와 같은 방법은 실험적(heuristic)인 것이 아니고 결정적(deterministic)이다. 이에 반해서 법e에 관해서는 실험적으로밖에는 해를 구할 수 없다.
Ⅲ.작은 소수의 크기가 N0.382보다 크고 임의의 CRT 지수를 사용한 RSA의 일부 키 노출
작은 소수의 크기가 TV"8® 보다 크고 임의의 CRT 지수를 사용한 RSA에서 일부 키가 노출되었을 때 전체를 복원할 수 있는지에 대해서 알아보기 위해서 크기가 다른 두 소수 중에서 일부분을 알았을 때 소인 수분해가 가능한지를 알아본다. 이는 위의 Coppersmith 정리의 변형이라고 할 수 있다. 증명은 Coppersmith의 bivariate polynomial의 해를 구하는 방법을 이용한다 ⑺.
정리3 (Coppersmith-unbalanced)
두 소수의 크기와 관계없이 소수의 Nlli 정도의 비트를 알면 소인 수분해가 가능하다.
증명:
1) MSB 경우
p-2 n\£>의 mMSB를 안다고 하자.
Z>=2 "l"% 1+ x°, q=2"L"gi + yo라 하자. 이때 |x°|<2”l, ”=x . 区|<2 ”5= 丫 이다.
/3y) = (Z” + x)(qi+y)-N의 해를 구하면 N 을 소인 수분해 할 수 있다.
Coppersmith의 정리⑺을 이용하여~AxX, yY) 계수들의 최고값을 匝라고 하면
#
XY<. 即2/跄을 만족할 때 두 변수방정식의 해를 구할 수 있다.(以은각 변수의 최고차수). 3=1, 怜 2 n-, ”이므로 XYa2 "* -2<(2, , -, ”) 2/3을 만족하는 ”1을 구하면 된다.
따라서, 이면해 (%0, y0)< 구할 수 있고 소인수분해가 가능하다.
2) LSB 경우
#
이때 |x0K2B1"M b시이다.
."名3, ) = (2%+0 0*3 )(2 , +幻)) -再은 계수들이 2 *를 공통으로 가지므로 irreducible poly nomial0]^ 조건을 만족시키지 못한다. 따라서,
f(x, y) =----------------也---=2 mxy+gBx + 次 /+으응 '느-으 을 사용하여 해를 구한다. (fi090 =N mod 2 *.)
MSB의 경우와 마찬가지로 W=2 이고 Xy=2 ”-2”이므로 也>1/4이면 된다. 다시 말해서 LSB의 경우도 소수의 크기와 관계없이 AT1/4 정도의 비트를 알면 소인 수분해가 가능하다. ■
소수들의 크기가 다른 경우, 특히 작은 소수 g의 크기가 N(>・382보다 크고/ 卬康보다 작은 경우의 일부 비밀키노출에 대해서 알아보려고 한다. 이때 정리 3을 이용한다.
1. d 일부 least significant bits를 알 때
정리 4
RSA에서 서로 다른 크기의 두 소수와 중국인의 나머지 정리를 이용하여 비밀키를 생성하였을 때 작은 소수에 대한 비밀키의 노출된 부분이 *' ©/4이면 비밀키가 복원된다. 이때 e-l = 2s'f.
증명 :
d0는 dp의 알고 있는 least significant bits라 하자.
配厂1 = /盼- 1), d„=d0 mod 2 M/4, "은 N 의 비트 수. 이때, 以0 — 1 三瓦》-1) mod 2*
e, d0를 알고 있고 k는 e보다 작으므로。만큼의 檐 대입해보면 kx=edn — \ mod 2 ”의일차 합동 방정식을 얻게 된다. *=力- 1을 법 2”에 대해서 구할 수 있다. 2가 흘 수이면 유일해를 갖지만 为가짝수이면 즉, 砰2 旳고(2 m, 2s) = 2;, 2 %以0 T일 때 ;r는 법 2*-'에 대해서 해가 존재하므로 2개만큼의 0-1 후보를 얻게 된다. 그러므로 2"-' a N以이면 d眞 회복할 수 있다. 加3이므로 。-1 = 2'7'이라고 할 때 IM sMs'. 따라서 m> l/々 + s'이면 所>1/4 + / . 그러므로 최대 JV1/4 + s' LSB를 알면 N을 소인수 분해할 수 있다. ■
2. d’의 일부 most significant bits를 알 때
정리 5 e의 크기를 Na, 娈(0, 1/4)라 하자. 비밀키 七의 Nll4-a 의 MSB를 알면 N을 소인수분해 할 수 있다.
증명 :
配厂1 = 知>-1)이다. \dp-de\<NS라 흐]자.
程=地드±皂 為는 °보다 작으므로。만큼의 k를 대입해보면.
#
脚이면, a+3<l/4, 즉, 3<l/4-a이면 Coppersmith 정리에 의하여 N을 소인 수분해 할 수 있다. ■
Ⅳ. 결론
본 논문에서는 의 크기가 2V°・382보다 크고 CRT 지수의 크기와 관계없이 비밀키가 생성되었을경우 어느 정도의 비밀키가 노출되면 위험한지를 알아보았다. May는 Howgrave-Graham의 정리를 이용하여 두 소수의 크기가 같을 때 중국인의 나머지정리를 이용한 경우에도 비밀키가 如 m 정도만 노출되면 전체가 복원됨을 보였는데 본 논문에서는 두 소수의 크기가 다르고 중국인의 나머지 정리를 이용할 경우에도 비밀키의 也 以 정도만 알면( LSB의경우) 전체를 복원할 수 있음을 보였다. May는 Howgrave-Graham의 정리를 이용하여 증명하였고 본 논문에서는 Coppersmith의 변형을 증명하여 이를 이용하여 소수의 크기가 다른 경우를 살펴보았다. 두 소수의 크기가 같거나 다르거나 Cop persmith 정리를 사용 하나 Howgrave-Graham 의 정리를 이용하나 전체를 복원하기 위해서는 같은 양의 비밀키노출이 필요하다는 것을 발견하였다. 또한 작은 CRT 지수를 사용한 RSA가 그렇지 않은 RSA보다 효율성은 높고 partial key exposure attack에는 같은 양의 노출이 필요하므로 더 유용하다고 할 수 있다.
앞으로 연구되어져야 할 과제로는 두 소수의 크기가 다르고 중국인의 나머지 정리를 사용하지 않을 경우는 어느 정도의 비밀키노출에 위험한가를 알아보아야 할 것이다. 이것은 Boneh가 두 소수의 크기가 같은 경우 e가 们匝다작고 May의 경우는 N">< 0.725으로 나누어 살펴보았듯이 두 소수의 크기가 다를 때에도 각각의 경우로 나누어 분석해 볼 수 있을 것이다. 또 다른 과제로는 두 소수의 크기가 다를 때 Howgrave-Graham 정리는 어떻게 변형될 수 있는지 살펴본다면 여러 경우에 응용될 수 있으리라 생각된다.
참고문헌
- M. Wiener, 'Cryptanalysis of short RSA secret exponents', IEEE Transactions on Infor. Th, vol.36,No.3, pp. 553-558, 1990 https://doi.org/10.1109/18.54902
-
D.Boneh, G.Durfee, 'Cryptanalysis of RSA with private key d less than
$N^{0}^{.292}$ ', IEEE Transactions on Information Theory vol.46(4), 2000 - Sun, Yang Laih, 'ON the design of RSA with short secret exponent', In proc. of Asiacrypt'99, LNCS vol. 1716. pp.150-164, IACR, Springer-Verlag, 1999
- G.Durfee, P.Nguyen, 'Cryptanalysis of the RSA schemes with short Secret Exponent from Asiacrypt'99', Proc. of Asiacrypt 2000, LNCS vol.1976, Springer, pp.14-29, 2000
- Alexander May, 'Cryptanalysis of Unbalanced RSA with small CRT-exponent', Crypto 2002, LNCS 2442, pp. 242-256, 2002
- D.Boneh, G.Durfee, Y.Frankel. 'Exposing an RSA Private Key Given a Small Fraction of its Bits', Full version of the work from Asiacrypt'98, available at http://crypto.stanford.edu /-dabo/abstracts/bits_of_d.html1998
- D. Coppersmith, 'Small Solutions to Polynomial Equations, and Low Exponent RSA vulnerabilities', J. of Cryptology 10(4), 1997
- Johannes Blamer, Alexander May, 'New Partial Key Exposure Attacks on RSA', Crypto 2003, LNCS 2729, pp.27-43, 2003
- N. Howgrave-Graham, 'Approximate Integer Common Divisors', CaLC 2001, Lecture Notes in Computer Science vol.2146, PP.51-66, 2001
- D. Boneh., 'Twenty years of Attacks on the RSA Cryptosystem', Notices of the AMS, 1999
- N.Howgrave-Graham, 'Finding small roots of univariate modular equations revisited', Proc. of Cryptography and Coding, LNCS 1355, Springer-Verlag, 1997
- 조동욱, 김영수, 정권성, 원동호, RSA 암호방식의 안전성에 관한 연구, 정보보호학회지 제8권4호, pp.15-46. 1998