한상근 / 카이스트 수리과학부 교수

 아무도 풀 수 없는 암호를 만들기 위한 욕망과 풀어내기 위한 욕망의 변증과정에서 암호는 어떻게 변해왔는가. 현실부터 가상 세계, 나아가 미래를 향하는 암호의 원리를 풀어헤쳐본다. 정보를 가진 자가 곧 권력을 얻는 세상에서 암호는 권력을 지키기 위한 혹은 빼앗기 위한 열쇠다. 보이스피싱이 만연하고, 신상을 털어내는 해킹이 더 이상 새로운 충격이 아닌 지금, 당신의 암호는 안녕한가. 본 지면에서는 수식이 만들어낸 가장 치열한 암호의 세계에 집중한다. <편집자 주>

 

[글 싣는 순서] ① 허락되지 않은 언어, 암호의 등장 ② 전쟁과 근대암호의 등장 ③ 데이터 암호의 한계와 양자암호 ④ 열쇠가 된 몸, 생체암호

 

원숭이도 이해하는 암호 이야기

한상근 / 카이스트 수리과학부 교수

인터넷을 사용하는 대부분의 사람들은 막연하게나마 암호가 무엇인지 느낌이 있을 것입니다. 맞습니다. 그 생각 그대로입니다. 대신 비밀번호처럼 짧지 않고 문서가 암호로 바뀌지요.
가장 오래된 암호는 무엇일까요? 고대 이집트에 살았던 카눔호텝 2세(Khnumhotep II, 기원전 1919~1783)의 묘비명 후반부에 나온다고 합니다. 글자 몇 개를 아예 다른 글자로 표시한 것이죠. 이 글자변환(substitution) 암호를 사용한 목적에 대해 비밀 종교의식, 언어의 발달 과정에서 나타났다 사라진 문자, 묘비명에만 사용했던 장례의식용 특수문자, 영원히 이름을 남기기 원했던 어느 사제 등 여러 의견이 있습니다. 그러나 워낙 오래전 일이라 지금은 어느 것이 옳은지 알 수 없습니다.

기원전 5세기에 써진 것으로 알려진 구약성경 예레미야 25장 26절에는 유대인들의 아트배쉬(Atbash) 암호방식이 나옵니다. 그 방식은 간단한데, 영어로 치자면 글자 A를 마지막 글자 Z로 바꾸고, 글자 B를 마지막에서 두 번째 글자 Y로 바꾸는 방식입니다. 구약에는 ‘세삭 왕은 그 후에 마시리라’하고 되어 있는데 세삭을 아트배쉬 암호로 해독하면 바빌론이 됩니다. 당시에는 대놓고 강대국 바빌론을 비난하기 어려워서였을까요. 51장 41절에도 ‘어쩌다가 세삭이 함락되었는가’하는 구절이 있습니다.
기원전 3세기 그리스의 아폴로니우스는 도시국가 스파르타가 스키테일(Scytale)이라는 암호 도구를 사용했다고 말했습니다. 실제 사용방법은 기원후 1세기에 플루타르크가 <영웅전>에 스파르타의 라이샌더 장군을 기록하면서 알려졌습니다. 스파르타는 각이 진 나무막대를 사용해 암호문을 만들었는데, 그림을 보면 가로로 읽었을 때 ‘send more troops to southern flank and’라는 원문(flank는 측면을 의미)이 세로로 읽으면 ‘stsf erol noua dotn mphk osea rtrn eond’라는 암호문으로 바뀝니다. 물론 군사용 목적으로 사용했겠지요. 이것은 글자들의 위치를 바꾼 위치변환(transposition) 암호였습니다. 스파르타가 칠각형 막대를 사용했다면 적군은 육각형 막대로는 읽어내지 못하겠지요.
그 당시에는 다른 암호 기법도 있었습니다. 암호가 숨어 있는지 아닌지 그 여부를 처음부터 감추는 것인데 지금은 스테가노그래피(steganography, stegano는 감춘다는 뜻)라고 부릅니다. 헤로도토스가 기원전 4세기에 그의 책 <역사>에서 두 가지 스테가노그래피 사례를 적었습니다. 하나는 노예의 머리를 박박 깎고 두피에 문신을 새긴 후 머리가 다시 자라면 소식을 전하라며 보낸 것 입니다. 다른 하나는 나무판에 문서를 적은 후 왁스 칠을 해서 가구를 만드는 것입니다.

 ■시저의 암호를 해독하는 방법
 ■시저의 암호를 해독하는 방법

글자변환과 위치변환이 현대 암호의 큰 틀을 이루게 됩니다만 그것은 먼 훗날의 이야기입니다. 고대의 가장 유명한 암호는 기원전 1세기 로마 시대 시저의 이름이 붙은 글자변환 암호인데, 글자를 세 칸 뒤의 글자로 바꾸는 것입니다. 그래서 A는 D가 되고 B는 E로 바뀝니다. 그러면 Y는? Z를 지나고 A로 되돌아가서 B로 바뀝니다. 암호를 해독해보니 시저는 게르만 민족의 인구가 많다며 군대를 더 보내 달라고 거짓말을 했습니다. 늘어난 군대의 지휘권은 공화정에 대해 반란을 저지르는 데 사용했지요. 다섯 글자 뒤로, 아니면 열일곱 글자 뒤로 보낼 수도 있습니다. 세 글자 뒤라는 3이 시저 암호의 비밀입니다.
시저의 암호는 치명적인 약점을 가지고 있는데, 적이 그 제작방법을 알면 한 칸부터 26칸까지 글자를 이동해 보고 쉽게 해독할 수 있습니다. 중요한 것은 1부터 26까지 비밀의 가지 수입니다.
이후 7세기 아랍의 암호 해독가와 14세기 교황의 비서를 거쳐 르네상스 시대에 획기적인 발전이 일어납니다. 시저의 암호를 어렵게 만드는 방법을 생각해 보면 다음의 방식을 고안할 수 있습니다. 암호문의 첫 번째, 세 번째, 다섯 번째 등 홀수 자리 글자는 세 칸 뒤로 옮기고, 두 번째, 네 번째, 여섯 번째 등 짝수 자리 글자는 다섯 칸 뒤로 옮기는 것입니다. 그러면 원문 AAA는 암호문 DFD로 바뀌겠지요. 꼭 두 글자씩 나눌 필요는 없습니다.

벨라소(Bellaso, 1505~?)가 1553년 이것을 확장했습니다. 예를 들어 스파이에게 준 비밀키를 ‘FORGET’이라고 합시다. 비밀키의 글자 수는 여섯 개입니다. 그러면 시저의 암호방식을 6번 적용하는 형태가 됩니다. 키의 각 글자가 알파벳에서 나타나는 순서는 F가 6째, O가 15째, R이 18째, G가 7째, E가 5째, T가 20째 입니다. 원문 ‘LOVE ME TENDER’를 암호문으로 바꾸려면 L은 6칸 후의 R로, 이어서 O는 15칸 후의 D로 바뀌고, 결국 암호문은 ‘RDNL RY ZTFKJL’로 바뀝니다. 원문의 일곱 번째 글자 T는 또 다시 F를 사용해 6칸 뒤의 Z로 보냅니다. 제작방법의 주기가 6이 되지요. 더 어렵게 만들려면 비밀번호를 더 길게, 예를 들어 ‘FORGET ME NOT’으로 만들면 되지요. 글자의 수 11이 주기가 되었습니다. 이런 암호는 해독하기 얼마나 어려울까요? 1863년에야 해독이 가능해졌습니다.

■두 번째 줄에 글자 하나로 되어있는 X는 원문에서는 A겠지요.    그러면 첫 번째 줄에 있는 XIH는 아마도 ARE가 될 것입니다.    그렇게 정보를 조금 모아보면
■두 번째 줄에 글자 하나로 되어있는 X는 원문에서는 A겠지요. 그러면 첫 번째 줄에 있는 XIH는 아마도 ARE가 될 것입니다. 그렇게 정보를 조금 모아보면
이렇게 나와서 해독해 나갈 수 있습니다. “There are three good reasons to be a teacher~”
이렇게 나와서 해독해 나갈 수 있습니다. “There are three good reasons to be a teacher~”

그런 암호는 어떻게 해독되었을까요? 위에서 L과 T는 모두 6칸 뒤의 글자로 바뀌었습니다. 주기를 추측해서 글자들을 나누어 보면 한 묶음의 글자들은 모두 시저 방식으로 바뀌었고 그 묶음에서 비밀의 가지 수는 1부터 26까지 중 하나입니다. 그러면 가장 자주 나오는 글자는 영어에서 가장 흔한 글자 E로 해독하겠지요. 주기를 정확하게 추측했다면 그 묶음에서 글자들이 나타나는 빈도수가 일상 영어에서 글자들의 빈도수와 거의 일치해야 합니다. 그런 이유로 통계학이 나타나게 되었습니다.

마지막으로, 중국이나 한국의 암호는요? 한자는 이집트 상형문자나 영어처럼 알파벳이 아니어서 서로 다른 글자가 너무 많기 때문에 통계학이 적용되지 않습니다. 한자로 적는 자체가 많은 하층민들에게는 암호의 역할을 했습니다. 외국에 비해 중화권에서는 암호를 거의 사용하지 않았습니다.

저작권자 © 대학원신문 무단전재 및 재배포 금지