인터넷의 탄생, 대칭 암호를 위기에 빠트리다
1970년대 중반, 가정용 컴퓨터가 보급되기 시작할 때쯤 컴퓨터 전문가들은 컴퓨터 사용자끼리 통신할 수 있는 기술까지 개발하고 군사 및 연구 목적으로 사용하고 있었다. ‘아르파넷’이라고 불린 이 통신 시스템은 시간과 장소의 제한 없이 사용자들끼리 정보를 주고받을 수 있는 인터넷의 출발점이 되었다.
하지만 컴퓨터 전문가들은 이같은 컴퓨터 통신망이 새로운 문제를 불러일으킬 수 있다는 사실도 알게 됐다. 사용자들이 주고받는 정보를 누군가 훔쳐볼 수 있다는 것이다.
물론 정보를 암호화 하는 대칭 암호가 있었다. 그렇지만 대칭 암호는 암호화 하는 방법과 복호화 하는 방법이 같기 때문에 여러 사람이 비밀키를 공유할 경우, 유출될 가능성이 높다. 따라서 일반 대중들까지 컴퓨터 통신을 사용하기 전에 대칭 암호보다 안전한 암호를 개발해야 할 필요가 있었다.
소수 덕분에 탄생한 더 강력한 암호
1976년, 수학자 휫필드 디피와 전자공학자 마틴 헬먼은 공개키 암호라고 부르는 새로운 방식의 암호체계를 발표했다. 디피와 헬먼이 만든 암호화 기법은 대칭 암호와 달리, 암호를 만드는 방법과 복호화 하는 방법이 달라서 비밀키가 누출될 위험이 적었다. 암호를 만드는 방법은 누구나 알 수 있지만, 암호를 푸는 비밀키를 가진 사람은 극소수에 불과하기 때문이다.
공개키 암호는 여러 종류가 있는데, 그 중에서 가장 널리 쓰이는 것은 RSA라고 불리는 방식이다. RSA란 이 암호체계를 개발한 수학자 로널드 라이베스트, 아디 샤미르, 레오나르도 아들만의 이름 앞글자를 딴 것이다.
RSA 암호체계는 소수를 활용한 것으로, 수백 자리나 되는 큰 수의 소인수인 두 소수를 비밀키로 갖는다. 누구든 자기가 가진 정보를 이 수백자리 수를 이용한 연산 규칙에 의해서 암호화한 다음 전송하면, 오직 비밀키인 두 소수를 알고 있는 사람만 정보를 풀수 있다.
현재 슈퍼컴퓨터를 이용해도 130자리 수를 소인수분해해서 비밀키를 알아내는 데 약 한 달이 걸리고, 400자리 수는 약 10억 년이 걸린다. 이 때문에 RSA 암호체계는 가장 안전한 암호체계로 불리고 있다.