정보화시대, 인터넷이라는 방대한 네트워크에 접속할 수 있는 수단이 늘어나면서 인간은 점점 쉽게 정보를 얻기 시작했다. 하지만 정보 접근의 용이성은 역설적으로 기밀이나 보안이 요구되는 정보들을 지키기 위한 기술의 필요성을 제기했다. 정보를 지키려면, 정보가 유출되지 않도록 막을 수도 있지만, 유출된 정보를 해석하지 못하게 할 수도 있다. 이렇게 정보를 약속된 사람 이외의 인물이 알아내지 못하도록 감추는 것이 암호다.

평문을 암호문으로 만들어 주는 암호화

 만약 적국에 있는 첩자가 기밀정보를 빼돌리려 하는데, 검열이 심하다면 어떻게 해야 할까. 자신과 정보를 받을 사람만이 알아볼 수 있게 정보를 일정한 약속에 따라 숨겨야 한다. 이때 원래 문장을 ‘평문’이라고 하며, 평문을 일정한 약속에 따라 숨기는 것을 ‘암호화’한다고 한다. 암호화하기 위한 일정한 규칙인 ‘암호 키’로 암호화된 문장을 ‘암호문’이라고 한다. 검열관의 눈을 피해 무사히 정보를 빼돌렸다면 이를 다시 원래 정보로 되돌려 놓아야 하는데, 이를 ‘복호화’한다고 하며, 복호화하는 규칙을 ‘복호 키’라고 한다.

단어를 대체해 의미를 숨기는 어구암호

 일반적으로 암호는 크게 어구암호(code)와 문자암호(cipher)로 나뉜다. 어구암호는 원래의 단어를 다른 단어나 기호, 숫자로 대체해서 의미를 감추는 방식의 암호다. 어구암호를 통해 정보를 주고받으려면 사전에 어떤 단어가 어떤 단어를 대체하는지 약속을 해둬야 한다. 다양하고 방대한 어휘를 기억하려고 코드북(code book)을 작성해 사전처럼 사용하기도 했다. “고래 다섯 마리와 쇠물고기 일곱 마리, 그리고 대머리수리 두 마리가 필요하다” 이 문장은 세계 제2차대전 당시 미국 측의 암호문으로, 고래는 군함, 쇠물고기는 잠수함, 대머리수리는 폭격기를 의미했다.

글자를 대치해 정보를 숨겨

 문자암호는 암호문의 글자를 바꾸어 문장을 해석해야 하는 방식의 암호다. 고전적인 암호 중에서도 유명한 ‘카이사르 암호’는 로마 공화정 말기의 장군이자 정치인이었던 율리우스 카이사르가 전쟁 중에 보안을 유지하기 위해 사용한 초보적인 암호다. 카이사르는 알파벳을 순서대로 나열했을 때, 평문의 알파벳을 세 글자 뒤에 오는 글자로 치환하는 방식으로 암호를 작성했다. 예를 들어, ‘A’는 ‘D’로, ‘M’은 ‘P’로 치환해 평문을 암호화했다. 이렇게 문자암호 중, 각 문자를 일정한 규칙에 따라 다른 기호로 치환하는 방식의 암호문을 ‘환자(換字)’ 방식의 암호문이라고 한다. 카이사르 암호와 같은 단순한 방식 이외에도, 다양한 형태의 표와 ‘구별말’를 이용해 다소 복잡한 방식의 환자 암호를 만들 수도 있다. 구별말은 기존의 카이사르 암호와 같이 순서대로 치환하는 것을 피하고자 순서를 뒤섞기 위해 사용하는 핵심적인 단어다.

▲ 환자 방식 암호 원판. 두개의 원판을 돌림으로서 환자 방식 암호를 생성할 수 있다. 현재 네 칸 뒤의 문자로 치환되도록 설정되어있다

글자의 자리를 뒤섞는 전자 방식 암호

 환자 방식 암호가 각 문자를 치환한다면, 전자(轉字) 방식 암호는 평문의 글자가 배열된 순서를 바꾼다. 대표적인 전자 방식 암호로는 어구전철(語句轉綴, anagram)이 있다. 어떤 단어나 어구에 있는 철자의 순서를 바꿔 새로운 문장이나 단어를 만드는 놀이로, 최근 각종 소설이나 매체에도 등장하고 있다.

 이 외에도, 정방형의 암호 틀에 암호문을 적고 구멍이 뚫린 종이를 덧대 90도씩 회전시키면서 구멍을 통해 드러나는 암호문의 글자를 재배열하면 평문을 얻을 수 있는데, 이를 ‘격자회전방식’이라 한다. 환자 방식 암호에서처럼 구별말을 이용해 행렬로 나타낸 평문의 글자 순서를 행과 열 단위로 뒤섞어 암호문을 만드는 방법을 전자법이라 한다. 세계제1차대전까지는 주로 이러한 방식으로 암호를 만들었다.

암호화를 다중 적용해 보안성 높여

 그러나 한두 가지 방식만을 이용한 암호문은 쉽게 해독되어 암호로서의 가치가 떨어진다. 환자 방식만을 이용한 암호문은 통계적인 접근방법으로 간단히 해독할 수 있는데, 예를 들어 영어는 ‘e’가 매우 자주 사용되고, ‘th’처럼 자주 붙어 다니는 문자열이 있다. 이렇게 철자의 출현 빈도와 철자법상의 특징을 이용하면 각 문자가 어떻게 치환되었는지 쉽게 찾아낼 수 있다. 전자 방식 암호도 숙련된 암호학자라면 암호문의 길이를 통해 쉽게 암호화 방식을 역추론 할 수 있어, 어렵지 않게 해독할 수 있다. 이처럼, 단일과정을 통해 암호화한 암호문의 한계를 깨달은 사람들은 다양한 방법을 복합적으로 적용해 보안성을 높였다. 예를 들어, 평문을 어구암호로 암호화한 후, 환자 방식으로 다시 글자를 치환해 전자 방식으로 순서까지 바꾸면 암호 해독의 난도는 급격하게 상승한다.

전쟁과 함께 고도로 발달한 암호

 1990년대에 들어서, 전신의 등장과 세계대전에 맞물려 암호학은 빠르게 발전한다. 암호기계의 등장으로, 암호문의 작성법과 해독기술이 기존과 비교하면 훨씬 복잡하고 정교하게 진화했다. 세계제2차대전의 승패는 상대편의 암호를 해독해 낼 수 있느냐 없느냐에 의해 결정되었다고 해도 과언이 아니다. 특히 독일군의 에니그마(Enigma)는 회전하는 바퀴를 이용해 암호문을 작성하고 해독할 수 있는 기계로, 해독이 어려워 연합군을 곤경에 빠뜨렸다. 각 바퀴의 종류, 맞물린 위치 등에 따라 수많은 조합 가능성이 도출되기 때문이다. 게다가 독일군은 매일 조합을 바꾸어 사용했기 때문에 높은 수준의 보안을 자랑했다. 하지만, 결과적으로 규칙 일부가 연합군에 유출되고, 연합군도 초기 형태의 컴퓨터 기술을 암호 해독에 응용하면서 암호문들을 빠르게 해석할 수 있게 되어, 작전과 형세가 들통 나게 된 독일은 다시 패전국으로 몰락하고 만다.

네트워크의 발전이 암호의 새 전기 열여

 컴퓨터와 네트워크의 발달은 암호 발달에 새로운 전기를 마련하게 된다. 바로 공개열쇠암호법이 적용된 것이다. 기존에는 정보를 주고받는 양쪽 모두 암호화와 복호화를 하는데 같은 열쇠를 갖고 있었다. 이를 ‘대칭 열쇠 관리’라고 한다. 하지만 일반적인 상식과 달리, 정보를 암호화해 전달하기 위해 반드시 열쇠가 대칭적일 필요는 없다.

 공개열쇠암호법은 비대칭적인 열쇠 관리를 이용해 정보를 전달하는데, 모두에게 공개된 열쇠와 수신자만 가진 비공개 열쇠를 이용한다. 정보를 보낼 때 송신자는 공개된 열쇠로 정보를 암호화해 송신한다. 그러나 공개 열쇠만으로는 암호문을 복호화할 수 없고, 오직 수신자만 가진 비공개 열쇠가 있어야만 복호화할 수 있다.

▲ 비대칭암호체계의 도식. N과 E열쇠는 공개 열쇠, D열쇠는 비공개 열쇠다. N과 E열쇠로 암호화한 정보(잠근 상자)는 N과 D열쇠로밖에 복호화할(풀) 수 없으므로, 정보를 안전하게 전달할 수 있다

 암호는 인류가 정보의 중요성을 깨달으면서 발전해왔다. 정보가 곧 힘이기 때문이다. 고대부터 지배층은 효율적 지배를 위해 암호와 복잡한 문자를 이용해 왔다. 전쟁에서 지피지기 백전백승이라는 말도 암호와 해독의 중요성을 말해준다.

 이렇게 초기의 단순한 암호부터, 현대에 이르기까지 수많은 수단과 방법이 암호화를 위해 동원되었지만, 목적은 언제나 정보에 접근할 수 있는 권한을 설정하는 것이다. 이는 정보화시대를 맞이한 요즈음 더더욱 중요성이 드러나고 있다. 해킹으로 기밀문서나 정보를 빼낸다 한들, 암호화된 정보를 해독하지 못한다면 의미가 없다. 때문에, 복잡한 암호를 생성하는 방패와 이를 해독하려는 창의 오랜 싸움은 아직도 현재 진행형이다.

 

저작권자 © 카이스트신문 무단전재 및 재배포 금지