티스토리 뷰

P rogramming/E ncryption

1.3 고대 암호 예문

Only I Can 2012. 8. 3. 12:12

1.3 고대 암호

 

아주 먼 옛날에도 암호화의 필요성은 존재했었습니다. 가령 전쟁 중에 중요한 비밀 문서를

 

전달 해야 할 상황이 발생 했을 때, 비밀 문서가 적에게 넘어 가더라도, 적이 그 문서의 내용을 알아 볼 수 없게 하기 위해서

 

비밀 문서의 내용을 암호화 했던 것이죠. 여기서 암호화란 암호화 규칙을 아는 사람만이 그 내용을 해독 할 수 있게 메시지

 

내용을 변조 시켰다는 것을 의미 합니다. 역사 적으로, 가장 중요한 고대 암호 방법은 치환 암호화 전치 암호 입니다. 이 두

 

암호화 방법은 몇 천 년부터 사용되어 왔던 오래된 암호화 방법입니다.

 

비록 이 두 암호 법이 오래 되었지만, 이 두 암호화 방법은 지금도 일부분 사용 되고 있을 정도로 암호 학에서는 중요한

 

암호화 방법 입니다. 그럼 이 두 가지 암호화 방법을 알아 보겠습니다.

 

 

1.3.1 치환 암호 ( Substitution Cipher )

 

치환 암호는 평문의 각 문자를 1:1로 대응되는 다른 문자나 기호로 변환 시키는 것입니다.

 

예로 ABCDEFGHIGKLMNOPQRSTUVWXYZ 문자를

 

  BCDEFGHIGKLMNOPQRSTUVWXYZA 1:1 로 바꾸기로 합시다.

 

그럼 I LOVE YOU 라는 평문은

 

       J MPWF ZPV 로 변환 될 것입니다.

 

암호화 규칙을 모르는 사람은 암호문을 보고는 이 것이 무엇을 의미 하는지 알 수 없을 것입니다.

 

그러나 이 치환 암호는 각 문자가 1:1로 대응 되는 기호로 변환 되기 때문에 문자의 빈도수 같은

 

통계적 방법으로 쉽게 풀 수 있습니다. 예를 들면, 어 문장에서 가장 많이 나타나는 문자는 E (12.7%) ,

 

T (9.1 %) , A (8.2 %) 의 순입니다. 이 사실을 가지고 암호문의 각 문자의 분포를 측정하면 암호문을

 

풀 수 있게 되는 것 입니다. 물론 현대는 이렇게 간단한 치환 방법을 통한 암호화는 사용 하지 않습니다.

 

현대의 암호학에서 치환 암호는 매우 복잡한 알고리즘을 통해 이루어 집니다.

 

 

1.3.2 전치 암호 (Transposition Cipher )

 

전치 암호는 평문의 문자를 재 배열 하는 방법입니다. 어떤 규칙에 의하여 평문 전체의 문자의 순서를

 

재 배열 함으로서 평문을 암호화 합니다.

 

예로 1 2 3 4 의 순서로 된 평문을 4 3 2 1 의 순서로 바꾸기로 합시다.

 

그럼 LOVE 라는 평문은 EVOL 로 변환 될것입니다.

 

이 암호화 방법 역시 암호화 규칙을 모르는 사람은 암호문을 보고는 이 것이 무엇을 의미 하는지

 

알 수 없을 것입니다. 그러나 전치 암호는 문장의 패턴을 분석 함으로서 암호를 해독 할 수 있습니다.

 

예를 들어서 영어 문장에서의 in , to , of 같은 전치사나 the 같은 단어는 매우 많이 나오기 때문에

 

이의 빈도나 패턴을 분석하여 암호를 해독합니다. 위에서 설명한 치환 암호화 전치 암호는 비록 간단 하지만

 

암호화에 있어 중요한 개념을 발견 할 수 있습니다. 그것은 확산(Diffusion) 과 혼돈(Confusion)입니다.

 

확산 이라는 것은 원래의 문장을 무작위로 흩뿌려 놓은 것처럼 보이게 암호문을 만드는 것입니다.

 

암호문을 보는 누군가는 문자들의 연관성을 찾을 수 없으므로 원래의 문장을 알 수 없게 될 것입니다.

 

혼돈 이라는 것은 암호문을 누군가가 보았을 때 그 암호문만을 가지고 원래의 문장에서 암호문을

 

만들어 내는 규칙을 찾기 어렵다는 것을 말합니다. 위에서 설명한 두 가지 예는 암호문을 보고

 

매우 쉽게 암호문을 작성 하는 규칙을 찾을 수 있었습니다. 따라서 혼돈 이 적은 암호화 방법이라고

 

할 수 있습니다. 현대 암호는 이 확산 과 혼돈의 원리를 상대방이 해독하기 어렵게 매우 복잡한 알고리즘을

 

사용 하여 구현 합니다.

'P rogramming > E ncryption' 카테고리의 다른 글

메시지 다이제스트 ( MD )  (0) 2012.08.06
MD5  (0) 2012.08.03
1.3 고대 암호 예문  (0) 2012.08.03
1.2 해커와 대응 방법  (0) 2012.08.03
1.1 암호화  (0) 2012.08.03
댓글
댓글쓰기 폼