d라이브러리









계륵(鷄肋)과 암호

고사성어(故事成語) 수학교실

북한강 중류에 자리 잡고 있는 강원도 춘천에는 소양댐, 춘천댐, 의암댐 건설로 생긴 인공호수가 주변 산과 어우러져 있다. 관광 명소인 춘천의 유명한 음식으로는 닭갈비가 있다. 닭갈비는 한자로 계륵(鷄肋)이라고 하는데, 이는 먹자니 먹을 것이 별로 없고 버리자
니 아까운 경우를 비유해서 이르는 말로도 쓰인다.

계륵의 유래는‘삼국지’의 조조(曹操)에 대한 일화에서 찾을 수 있다. 중국에서 본격적인 삼국시대가 형성되기 이전인 216년, 위(魏)나라의 조조는 스스로 왕위에 올라 위왕이라고 자칭했다. 그리고 3년 뒤인 219년에 유비(劉備)와 한중(漢中) 땅을 놓고 다퉜다. 이때 유비도 이미 익주(益州, 지금의 사천성 지방)를 차지하고 한중으로 진출해 한중왕에 올랐다. 조조는 유비를 몰아내기 위해 대군을 이끌고 한중으로 진군했다.

그러나 이미 조조를 맞아 싸울 준비를 끝내고 있던 유비의 군사는 제갈공명의 계책에 따라 정면 대결을 피한 채 시종 보급로 차단에만 주력했다.그러나 조조는 그만한 준비가 없었기 때문에 전투에서 고전했다. 설상가상으로 배가 고파 도망치는 군사가 속출했다. 그러던 어느 날 조조의 장수 하나가 그날 밤에 사용할 군대의 암호를 무엇으로 할지 물었다.

잠시 생각하던 조조는 이렇게 말했다.“오늘 밤 우리 군의 암호는 계륵이다.”그 말을 듣고 주부(主簿) 벼슬에 있는 양수(楊修)만이 서둘러 짐을 꾸리기 시작했다. 한 장수가 그 이유를 묻자 양수는 이렇게 대답했다.

“닭갈비는 먹자니 먹을 게 별로 없고 버리자니 아까운 것이지요. 그런데 지금 전하께서는 한중 역시 그런 닭갈비 같은 땅으로 생각하고 철군을 결심하신 것입니다.”과연 조조는 며칠 후 한중으로부터 전군을 철수시키고 말았다.

군대에서 군사를 움직이는 일이 적에게 발각되면 전멸을 당할 것이다. 따라서 군대에서는 비밀을 지키기 위해 신중을 기해야 하고, 그때 반드시 필요한 것이 암호다. 그런데 암호는 군대에서만 필요한 것은 아니다. 인터넷으로 물건을 살 때, 신용카드 번호와 비밀번호가 다른 사람에게 알려지면 큰일 난다. 은행에서도 마찬가지다.

계좌 잔고라든가 거래내역이 공개되면 안 된다. 전자 상거래나 은행거래에는 암호를 이용한 정보보호 장치가 필요하다. 기록에 따르면 로마시대에 카이사르는 암호를 사용해 정보를 주고 받았다. 그만큼 암호는 아주 오랜 옛날부터 사용해 왔고, 그 방법도 매우 다양하다. 오늘날 가장 많이 쓰고 있는 암호체계는 공개열쇠암호체계다.

1978년 미국 매사추체츠 공대(MIT)의 론 리베스트(Rivest), 아디 샤미르(Shamir), 레너드 애들먼(Adleman) 세 사람이 소인수분해의 원리를 이용해 만든 이 암호체계는 세 사람 이름의 머리글자를 따서 RSA라 이름 붙였다.

풀려면 100억 년 걸리는 암호

공개열쇠암호체계 RSA는 자연수의 소인수분해를 이용한 방법이다. 예를 들면 두 소수 47과 59의 곱이 2773임을 계산하는 것은 쉽지만 2773을 소인수분해해 두 소인수 47과 59를 찾는 것은 결코 쉬운 일이 아니다.

공개열쇠암호체계는 이 원리를 이용해 아주 큰 두 소수 p, q를 적당히 택해 비밀로 하고, 두 수의 곱 pq는 공개해 암호문을 받는 수신자가 일정한 방식으로 암호문을 해독할 수 있도록 하는 방식이다. 이때 p와 q가 100자리정도라면 곱한 수 pq를 현재의 계산 방법과 컴퓨터로 소인수분해하는데 약 한 달이 걸리고, 400자리 정도라면 100억 년이 걸린다고 한다.

공개열쇠암호체계를 이해하려면 어렵고도 다양한 수학지식을 알아야 하므로 여기서 소개하지 않는다. 대신 제1차 세계대전 중에 사용된 플레이페어(Playfair) 암호에 대해 알아보자. 플레이페어 암호는 영국의 찰스 위트스톤이 1854년경에 개발했다. 그는 영국 정부가 이 암호체계를 채택하도록 노력한 자기 친구의 이름을 따서 플레이페어 암호라고 이름 붙였다. 이 암호체계는 다음과 같은 5×5행렬을 이용한다.

이 행렬의 성분인 25개의 영문자는 모두 서로 다르며 playfair 중에서 서로 다른 문자 playfir가 처음에 들어 있다. 또 i와 j는 같은 문자로 생각한다. 예를 들어 ‘We are the world’를 이 문자 행렬을 사용하는 플레이페어 암호방식으로 암호화해 보자.

먼저 암호화하기 전의 문장에서 문자를 둘씩 묶어 배열하되 동일한 두 문자가 한 묶음에있을 때에는 이 두 문자 사이에 x를 끼워 넣는다. 만일 마지막에 문자 하나만 남는다면 x를 첨가한다. 이런 규칙에 따라 문장을 배열하면 다음과 같다.



이 문자열을 다음 절차에 따라 암호문으로 변환시킨다.

(1) 한 묶음인 두 문자가 같은 행에 있으면 각 문자를 각각의 오른쪽열에 있는 문자로 바꾼다. 문자가 마지막 열에 있는 경우에는 첫째열에 있는 문자로 바꾼다. 이를테면 he는 kg로 바꾼다.

(2) 한 묶음인 두 문자가 같은 열에 있으면 각 문자를 각각의 아래 행에 있는 문자로 바꾼다. 문자가 마지막 행에 놓여 있는 경우에는 첫째 행에 있는 문자로 바꾼다. 이를테면 rl은 gr로 바꾼다.

(3) 한 묶음인 두 문자가 같은 행이나 열에 있지 않은 경우에는 하나의 문자를 같은 행에 있으면서 또 다른 문자의 열에 놓인 문자로 바꾼다. 이를테면 w와 e는 각각 행렬의 (5, 3) 성분과 (3, 1) 성분이므로 w는 (5, 1) 성분인 u로 바꾸고 e는 (3, 3) 성분인 h로 바꾼다.

위와 같은 절차에 따라 ‘We are the world’를 암호화하면 다음과 같다.



암호화된 문장을 원래대로 돌려놓는 일을 복호라고 하는데, 이 경우에는 제시된 절차의 반대로 해 복호할 수 있다. 어떤 정보를 암호화한 뒤에 수신자에게 전송할 때 수신자가 아닌 다른 사람이 중간에서 암호문을 가로챈다고 하더라도 그 내용이 무엇인지 알아내기
가 매우 어렵다. 물론 암호화 규칙이 노출되면 소용없지만.

이광연 교수는 성균관대 수학과를 졸업하고 동대학원에서 석사와 박사학위를 받았다. 그뒤 미국 와이오밍주립대에서 박사후 연구원을, 아이오와대에서 방문교수를 지냈다. 현재 한서대 수학과 교수로 재직 중이며, ‘웃기는 수학이지 뭐야’ ‘신화 속 수학이야기’ ‘수학 블로그’ 같은 책을 펴냈다.

이 기사의 내용이 궁금하신가요?

기사 전문을 보시려면500(500원)이 필요합니다.

2009년 09월 과학동아 정보

  • 이광연 한서대 수학과 교수 기자

🎓️ 진로 추천

  • 수학
  • 역사·고고학
  • 컴퓨터공학
이 기사를 읽은 분이 본
다른 인기기사는?