2012년 9월 20일 목요일

암호(code)와 사이퍼(cipher)

일반적으로 암호 라 함은 -원문을 타인이 읽을 수 없게 감추어 놓은 메시지- 쯤으로 해석 할 수 있겠다. 

암호는 인간의 문자문명만큼이나 오래 된 역사를 자랑한다. 암호의 목적은 헤아릴 수 없이 많아서 군용뿐만 아니라 일반인들에게 널리 쓰이기도 한다. 



가령 직장 상사 몰래 동료들끼리 술을 마시고 싶다. 그러나 직장상사는 부하직원들이 술먹는 것을 못마땅해 한다. 그렇다면 동료들끼리는 사인을 주고 받을 것이다. 

예를 들어 동료중 한 사람이 "우리 공원이나 갈까?" 라는 말을 했다고 가정하자. 

그 말을 알아들은 다른 동료들은 알아서 퇴근 후 한 장소로 모여 술을 마시러 간다. 

이것도 일상생활의 암호가 될 수 있는것이다. -공원에 가자- 라는 말이 -퇴근 후 어디에 모여 술 마시러 가자- 라는 코드(code)로 쓰인 것 처럼 말이다. 



여기서 짚고 넘어가야 할 것은, -공원에 가다- 라는 문장 자체가 다른 문장으로 대체되었다는 점이다. 이런 것을 코드(code)라고 지칭하는데, 엄밀히 말하면 코드 란, -단어나 문장을 다른 단어나, 숫자 혹은 기호로 대체하는 것- 이다. 



간단한 동료들간의 약속에서는 코드가 요긴하게 쓰일 수 있고 해독(breaking)도 여간 어렵지 않다. 단어의 의미가 다른 의미로 바뀌어 사용되기 때문이다. 



하지만 군사목적으로 이 코드가 쓰인다고 가정하자. 



그렇다면 필요한 단어의 의미는 하나하나가 모두 바뀌어야 할 것이며, 코드북이 따로 마련되고 전 군에게 그 북을 배포해야만 한다는 단점이 있다. 그리고 만에하나 코드북 하나라도 적군의 수중에 들어간다면 아군은 모든 코드를 다시 바꾸어야 하는 치명적인 단점이 있다. 



그래서 코드보다는 사이퍼(cipher)가 쓰이게 되었다. 사이퍼는 -문자 하나하나를 암호로 대체하는 것- 이다. 예를 들어 YOUPIOSTAR를 알파벳 오른쪽으로 한칸씩 이동해서 쓴다면, ZPVQJPTUBS 가 될 것이다. 

이 사이퍼의 비밀-오른쪽으로 한칸씩 밀려난 단어-을 모르는 사람이 이 글을 읽는다면 전혀 알 수 없는 미궁의 단어가 되어버리는 것이다.

댓글 없음:

댓글 쓰기

블로그 보관함