RSA-240, 250이 깨졌다는 소식

다들 아시는 RSA암호의 안전성 기반의 가장 기초인 소인수분해를 빨리 하는 챌린지인 RSA Factoring Challenge가 있다. 이 챌린지는 1991년에 시작되어 2007년에 이제 우리가 소인수분해를 잘 이해하는것 같다는 이유로 -_- 중단되었는데, 당연히 그 이후에도 계속 연구되었다. 기존 최고 기록은 2009년 Kleinjung et al.의 768bit의 자연수를 소인수분해하는 RSA-768. 이 문제는 2000 core-년 (즉 single core로 2000년정도) 정도의 연산시간에 해결했었음.

이번에 발표된 결과는 Boudot et al.의 결과로 RSA-240, 250, 즉 10진법으로 240, 250자리를 갖는 수들을 소인수분해한 것이다. 즉 각각 795, 829비트를 갖는 자연수를 1000, 2500 core-년씩 써서 소인수분해했다고 한다. 쓴 라이브러리는 Cado-NFS라고 하는데, 이들의 메일링리스트에서는 이 결과가 이미 작년 12월, 올해 2월에 각각 발표되었었나보다. 또 DLP-240도 3000 core-년에 해결한 모양. 이 결과는 2016년 발표된 DLP-768의 5300 core-년 해결보다 훨씬 빠르다. 이런것들은 완전 새로운 알고리즘인건 아니고, 오래전부터 써오던 NFS 알고리즘을 이리저리 변형하고 파라미터를 훨씬 잘 잡은것에서 나온것인가봄.

이 분야도 계속 어찌저찌 발전은 계속 하고있나보다. 여튼 현재 한국의 많은 암호시스템은 RSA-2048에 해당하는 파라미터를 쓰니 아주 안전하다 ㅎㅎ. 개인적인 생각으로는 고전컴퓨터가 이걸 깨는거보다 양자컴퓨터가 나와서 깨는게 더 빠를것같음.