영화 「콘택트」를 보면 외계인이 보낸 메시지를 판독하는 데 소수가 이용된다. 소수란 1과 그 자신만으로 나누어지는 자연수로 2, 3, 5, 7, 11, 13, 17 등을 말한다. 소수가 자연발생적으로 생길 수는 없다. 그래서 우주 저편에서 온 신호가 소수를 포함하고 있다면 그것은 지성이 있는 어떤 외계 생명체가 보냈다고 해석할 수밖에 없는 것이다.
그러면 가장 큰 소수는 얼마일까. 바로 이 문제를 두고 지금 전 세계의 슈퍼컴퓨터들이 치열한 각축을 벌이고 있다. 정확히 말하자면 소수는 무한히 존재하지만 그 중에서 누가 더 큰 소수를 발견하느냐로 경쟁하고 있는 것이다.
어떤 수가 소수인지 아닌지 판정하려면 소인수 분해를 해봐야 하는데 보통사람은 네댓 자릿수만 돼도 연필과 종이만으로는 곤란하게 된다. 그래서 전자계산기를 쓰지만 그 역시 곧 한계에 부딪치고 결국에는 컴퓨터를 써야 한다. 그런데 컴퓨터도 백만 자릿수 정도가 넘어서면 벽에 부딪치고 만다. 그래서 그 이상의 소수를 발견하기 위해서는 특수한 수학적 기법을 이용해 컴퓨터로 확인절차를 거치게 된다.
78년에 18세의 학생 두 사람이 미국 캘리포니아 주립대 전산실에서 그 당시로서는 가장 큰 소수를 발견했다. 그 수는 「2의 2만1701제곱-1」이었다. 2를 2만1701번 곱한 다음에 1을 뺀 것이다.
이처럼 「2의 n제곱-1」이라는 형태의 수를 「메르센 수」라고 하는데, 메르센 수는 소수인지 아닌지 판정하는 수학적 기법이 있기 때문에 그 뒤로 컴퓨터로 발견해낸 소수들은 대부분 메르센 수가 된다.
당시 그 학생들은 소수를 발견하기 위해 「사이버 174」 모델의 컴퓨터를 350시간 가량이나 돌렸다고 한다. 그러나 79년에 슬로빈스키라는 사람이 「크레이1」 슈퍼컴퓨터를 이용해 「2의 4만4497제곱-1」이 소수임을 발견했다. 당시 컴퓨터로 이 수가 소수임을 판정하는 데 걸린 시간은 단 7분이었다.
그는 계속해서 「2의 8만6243제곱-1」이 소수임을 발견했고, 이 수가 소수임을 확인하는 데에는 크레이1 슈퍼컴퓨터로 1시간 3분 22초가 걸렸다.
85년에는 미국 텍사스주의 셰브론 지구과학연구소에서 「크레이XMP」 컴퓨터를 써서 「2의 21만6901제곱-1」이 소수라는 사실을 알아냈다. 이때는 컴퓨터 작동에 3시간이 걸렸다.
다시 89년에는 「암달(Amdahl) 1200E 메인프레임」 컴퓨터를 이용한 팀이 더 큰 소수를 발견했다. 그 수는 「2의 21만6193제곱에다 39만1581을 곱한 뒤 거기서 1을 뺀 수」다. 이 수의 소수 확인을 위해 컴퓨터가 돌아간 시간은 33분. 당시 발견 팀의 멤버에는 바로 79년에 10대 후반의 나이로 거대 소수를 발견했던 학생 한 명도 끼어 있었다.
사실 1초에 얼마나 많은 연산을 동시에 처리할 수 있는가가 컴퓨터 성능의 척도가 되기는 하지만 꼭 그것만 놓고 따질 수는 없다. 요즘은 처음부터 오로지 특정한 목표에만 적합하도록 만들어지는 컴퓨터들도 많다.
그런데 왜 슈퍼컴퓨터들이 무의미한 것 같은 거대 소수 찾기에 동원되는 것일까.
물론 컴퓨터의 뛰어난 성능이 알려지면 제조업체에는 좋은 광고가 된다는 효과도 있다. 그러나 더 큰 이유는, 오늘날 암호학의 근간이 되는 수학이론이 바로 거대 소수를 이용하기 때문이다.
그래서 미국의 국가안전국(NSA)을 비롯한 여러 기관들이 소수 연구에 막대한 비용을 투자한다.
만약 소수를 생성하거나 발견하는 어떤 수학적 법칙이 발견된다면, 그것은 수학계뿐만 아니라 정보과학에도 일대 혁명이 일어날 것이기 때문이다.
<박상준·과학해설가>