일반적으로 암호 라 함은 -원문을 타인이 읽을 수 없게 감추어 놓은 메시지- 쯤으로 해석 할 수 있겠다.
암호는 인간의 문자문명만큼이나 오래 된 역사를 자랑한다. 암호의 목적은 헤아릴 수 없이 많아서 군용뿐만 아니라 일반인들에게 널리 쓰이기도 한다.
가령 직장 상사 몰래 동료들끼리 술을 마시고 싶다. 그러나 직장상사는 부하직원들이 술먹는 것을 못마땅해 한다. 그렇다면 동료들끼리는 사인을 주고 받을 것이다.
예를 들어 동료중 한 사람이 "우리 공원이나 갈까?" 라는 말을 했다고 가정하자.
그 말을 알아들은 다른 동료들은 알아서 퇴근 후 한 장소로 모여 술을 마시러 간다.
이것도 일상생활의 암호가 될 수 있는것이다. -공원에 가자- 라는 말이 -퇴근 후 어디에 모여 술 마시러 가자- 라는 코드(code)로 쓰인 것 처럼 말이다.
여기서 짚고 넘어가야 할 것은, -공원에 가다- 라는 문장 자체가 다른 문장으로 대체되었다는 점이다. 이런 것을 코드(code)라고 지칭하는데, 엄밀히 말하면 코드 란, -단어나 문장을 다른 단어나, 숫자 혹은 기호로 대체하는 것- 이다.
간단한 동료들간의 약속에서는 코드가 요긴하게 쓰일 수 있고 해독(breaking)도 여간 어렵지 않다. 단어의 의미가 다른 의미로 바뀌어 사용되기 때문이다.
하지만 군사목적으로 이 코드가 쓰인다고 가정하자.
그렇다면 필요한 단어의 의미는 하나하나가 모두 바뀌어야 할 것이며, 코드북이 따로 마련되고 전 군에게 그 북을 배포해야만 한다는 단점이 있다. 그리고 만에하나 코드북 하나라도 적군의 수중에 들어간다면 아군은 모든 코드를 다시 바꾸어야 하는 치명적인 단점이 있다.
그래서 코드보다는 사이퍼(cipher)가 쓰이게 되었다. 사이퍼는 -문자 하나하나를 암호로 대체하는 것- 이다. 예를 들어 YOUPIOSTAR를 알파벳 오른쪽으로 한칸씩 이동해서 쓴다면, ZPVQJPTUBS 가 될 것이다.
이 사이퍼의 비밀-오른쪽으로 한칸씩 밀려난 단어-을 모르는 사람이 이 글을 읽는다면 전혀 알 수 없는 미궁의 단어가 되어버리는 것이다.
피드 구독하기:
댓글 (Atom)
블로그 보관함
-
▼
2012
(59)
-
▼
9월
(32)
- 쓰레드(Thread)
- 비제네르 암호 공략에 대한 결론.
- 비제네르암호 공략법 - 2 - <프리드만의 암호공격>
- 비제네르암호 공략법 - 1 - <카지스키 분석>
- 비제네르(Blaise de Vigenere) 암호
- 카이사르 사이퍼(caesar cipher)
- blogger(구글 블로그)에서 소스코드 예쁘게 삽입하기(SyntaxHighlighter ...
- 암호(code)와 사이퍼(cipher)
- Optimizer
- Service Locator Pattern
- SVN Ignore - 특정 서버에 독립적으로 속해있는 파일들을 svn update나 co...
- Javascript의 Function의 속성 및 메서드
- CSS 속성
- JQuery를 이용한 XML 파싱
- 자바스크립트 이벤트 핸들러(Javascript Event Handler)
- @Autowired, @Resource, @Inject 차이
- Maven 설치
- Eclipse에서 Maven사용을 위한 m2eclipse 설치
- 스프링 프레임워크(Spring Framework) 설치 및 설정
- WebServer와 WAS의 차이
- Spring 스케쥴링에서 쓰는 Cron Expression
- Oracle 계정 생성
- 리눅스 프로세스 관리와 관련 명령어
- wxPython 기본 템플릿
- Python(파이썬)의 기본 문법3 - 문자열와배열 -
- Python(파이썬)의 기본 문법2 - 함수 및 전역변수 -
- Python(파이썬)의 기본 문법 - 조건&반복문 -
- Python(파이썬)을 Eclipse(이클립스)에서 사용하기
- Oracle의 rownum 과 Mysql의 limit 비교
- GWT(구글 웹 툴킷) 이클립스(Eclipse)에서 사용하기
- SDK, JDK, J2SDK, J2SE, J2EE, J2ME, JRE 용어정리
- 4차원 공간
-
▼
9월
(32)
댓글 없음:
댓글 쓰기