열쇠 게임

MEET AT NOON이라고 쓴 쪽지를 상상해 보세요. 친구 말고는 아무도 읽지 못하게 하고 싶어요. 그래서 그것을 아무 뜻 없는 말처럼 QHHW DW QRRQ로 뒤섞어 놓고, 오직 친구만 다시 원래대로 푸는 방법을 알고 있지요. 수천 년 동안 되풀이되고 다듬어진 이 작은 재주가 바로 비밀 코드의 모든 기술이에요.

가장 간단한 암호는 알파벳을 옮기기만 해요. 모든 글자를 세 칸 앞으로 밀어 보세요. A는 D가 되고, B는 E가 되는 식이지요. 그러면 "CAT"은 "FDW"가 돼요. Julius Caesar가 이런 방법을 썼기 때문에 사람들은 아직도 이것을 Caesar shift라고 불러요. 몇 칸 옮길지가 바로 당신의 비밀이에요. 이것을 키라고 하지요.

멋진 점은 바로 이거예요. 키를 아는 사람은 누구나 이 재주를 거꾸로 할 수 있어요. 친구가 모든 글자를 세 칸 뒤로 밀면, 알 수 없던 글자들이 다시 말로 녹아나요. 메시지와 방법이 비밀인 게 아니에요. 비밀은 키예요. 키를 지키면, 전체 코드가 잠긴 채로 남아 있지요.

하지만 단순히 글자를 옮기는 방식에는 약점이 있어요. 게다가 아주 교묘하지요. 영어에서는 E라는 글자가 가장 많이 나와요. 그래서 뒤섞인 메시지에 어떤 글자가 유난히 많다면, 똑똑한 암호 해독가는 "저건 아마 E일 거야"라고 짐작하고 전체를 풀기 시작해요. 각 글자가 얼마나 자주 나오는지 세는 것은 암호를 푸는 가장 오래된 방법 중 하나예요.

그래서 코드를 만드는 사람들은 더 영리해졌어요. 모든 글자를 같은 만큼 옮기는 대신, 비밀 키워드를 따라 각 글자를 서로 다른 만큼 옮겼지요. 이제 같은 글자도 한 메시지 안에서 세 가지 다른 방식으로 뒤섞일 수 있어요. 그러자 갑자기 글자 수를 세어도 거의 아무것도 알 수 없게 되었어요. 코드를 들키게 하던 패턴이 흐릿하게 지워진 거예요.

메시지를 숨기는 또 다른 방법도 있어요. 뒤섞지 말고, 숨기는 거예요. 이것을 스테가노그래피라고 하는데, _"눈에 띄지 않게 감춰 두기"_라는 뜻의 어려운 말이에요. 보이지 않는 잉크로 쓰거나, 각 줄의 첫 글자에 메시지를 숨기거나, 그림 속 아주 작은 점들 안에 묻어 둘 수도 있어요. 메시지는 평범한 것처럼 보여요. 아무도 거기에 비밀이 있다는 것조차 모르지요.

오늘날에는 컴퓨터가 이 모든 일을 해요. 하지만 훨씬, 훨씬 더 빠르고 더 복잡하게 하지요. 모서리에 작은 자물쇠가 있는 웹사이트에 들어가면, 당신의 컴퓨터와 그 웹사이트는 뒤섞인 메시지를 주고받고 있어요. 키는 엄청나게 큰 숫자라서, 기계가 1초에 수십억 번씩 시도해도 누구도 맞힐 수 없을 만큼 커요.

그리고 현대의 코드가 사용하는 영리한 반전이 있어요. 한쪽으로 하기는 쉽지만 되돌리기는 무시무시하게 어려운 수학이 있거든요. 두 가지 물감 색을 섞는 것처럼요. 저어 섞는 건 순식간이에요. 하지만 다시 원래 색으로 나누는 건요? 거의 불가능하지요. 비밀 키는 바로 그런 퍼즐로 만들어져요.

그러니 비밀에 관한 모든 비밀은 바로 이거예요. 모든 코드는 두 친구 사이의 영리한 약속일 뿐이에요. 뒤섞는 방법과, 그에 딱 맞는 다시 푸는 방법이지요. 그리고 둘만 나누어 가진 키가 그것을 지켜요. Caesar의 미끄러지는 알파벳부터 화면 위의 자물쇠까지, 모두 같은 오래된 게임이에요. 더 새롭고 더 어려운 옷을 입었을 뿐이지요.

그럼 맨 처음 쪽지는요? 여전히 MEET AT NOON이라고 쓰여 있어요. 숨겨진 것은 단어가 아니었어요. 언제나 그 단어들을 읽는 방법뿐이었지요. 이제 해 보세요. 키를 하나 고르고, 아무도 읽을 수 없는 글을 써 보세요.
