Communication Signal Design Lab.

한국어

송홍엽 교수의 잡글

[교양상식] 정수와 암호

2004.04.13 05:56

송홍엽 조회 수:3241 추천:155

우리가 잘 알고있는 정수(integer)는 순수과학 연구의
정점에 서 있지만 응용부문에서도 굉장히 중요한 도구입니다.
이를 연구대상으로 삼는 사람들은(날 포함하여)
0, 1, -1, 2, ... 등등의 숫자 하나 하나가 각자 살아
움직이는 듯한 느낌을 받습니다. 서로 자기가 잘났다고
뽐내는 모양도 제각각이구요. 이들 중에서 소수(prime number)에
대한 이야기를 짧게 하겠습니다.


1보다 크며 오직 1과 자기자신으로만 나누어떨어지는 양의 정수를
소수라고 합니다.
예를 들어
2, 3, 5, 7, 11, 13, 17, 19, 23, .......
등등 입니다.


이 소수는 20세기 초반까지만해도 완벽한 순수학문의 대명사였습니다.
아무짝에도 쓸모없는 현학적 사고의 대상이었지요. 영국의 유명한
수학자는 (Sir T. G. Hardy)
1900년대 초에 작성한 회고록에서
자신이 행해온 수학적연구의 장점에
대하여 어느 누구에게도 해를 끼치지 않을뿐더러 그렇다고 이익을
주지도 않는, 즉, 세상살이와는 전혀관계없는 짓이었기에 다행이라고
회고하기도 했습니다. 앞으로도 영원히 그러할 것이라고
예견까지 하였습니다. 그러나
이제는 그와 정반대가 되었습니다.

이를 설명하기 위해서 소수와 관련된 두 가지의 문제를 설명하고자
합니다. 첫째는 주어진 어떤수가 소수인지 판정하는 문제입니다.
서너자리 수이라면 초등학생도 쉽게 해결할수 있지만, 자릿수가 100 정도만
되어도 그 쉬운 방법으로는 (현재 만들어져 있는 가장 빠른 컴퓨터를
이용해도) 영원한 시간이 걸릴겁니다. 많은 좋은 방법이 연구되었고,
굉장히 복잡한 방법이긴 하지만 이제는 적당한 시간 안에 이를
확인할 수 있습니다.

둘째 문제는 정수의 인수분해 문제입니다.15는 3과 5의 곱으로 이루어지고,
3과 5를 15의 소인수라고 합니다. 이것 역시 200-300자리의 수가 주어졌을때
이를 구성하는 두개의 소인수를 찾기란 현실적으로 불가능합니다.
(사실 이 문제는 아직 증명되진 않았지만, 모두들 그렇게 믿고 있습니다.)
이론적으로는 1부터 시작하여 차례로 나누어보면 언젠가는 하나의 소인수가
튀어나오겠지만, 200자리 수이면, 현재 알려진 가장 빠른 컴퓨터를 이용해도
여러분의 일생이 끝나기 전엔 나오지 않을 것입니다. 사실은 몇백년 정도는
쉽게 걸릴것이라는게 손쉬운 예상의 결과입니다.

오늘날 사용되는 암호에서는 100-150자리의 소수 두개를 이용합니다.
전자상거래, 전자현금, 전자문서결재등을 가능케하는 암호학은
오늘날 인터넷과 무선데이터 통신망의 획기적인 확산보급으로 점점 더
절실해지고 있으며, 컴퓨터 시스템의 보안문제와도 관련하여 필수적인
연구분야입니다. 암호문을 작성하고 보내고 받아서 그 소인수를 아는
사람만이 다시 복구할수있다는 것입니다.
2차대전 당시에 급속한 발전을 이룩한 암호학은
많은 사람을 살리기도 하였고 또다른 많은 사람을 죽이기도 하였으니
처음에 이야기한 수학자의 회고는 정 반대가 된 셈입니다.
구체적인 암호학적 방식을 소개하기에는
이 글이 너무 지루해지므로 (벌써 충분히 지루합니다.)
여기서 그만 하겠습니다.
궁금하다면 다음편에 시도해보긴 하겠지만........