본문 바로가기
정신체조수학

행렬을 이용한 암호화와 해독

by mathpark 2014. 12. 13.
728x90

 

암호는 주로 군사적인 목적으로 이용되어 왔으나, 인터넷과 정보 기술이 고도로 발달한 현대사회에서는 정보 보호의 중요한 수단이 되고 있다. 그러나 아무리 보안을 철저히 한다해도 암호를 푸는 기술 역시 함께 발전하여 왔으므로, 해독이 어려운 암호의 개발이 매우 중요한 과제가 되었다.

이때 이용되는 수학적 방법 중의 하나가 행렬이다. 암호화된 평문(平文, 일반 문장)의 뜻을 파악하려면 해독하는 작업이 필요한데, 그 방법의 하나로 행렬을 이용하는 것이다.

 

 

 

가령 행렬

를 이용하여 평문 MATH를 암호화하여 보자.
우선 다음과 같이 알파벳 A, B, C, …, Z에 각각 숫자 0, 1, 2, 3, …, 25를 대응시킨다.

 


0~25 이외의 숫자는 26의 배수를 더하거나 빼서 얻은 0~25 사이의 수와 같은 숫자로 간주한다. 예를 들어, 36은 (36-26=)10과 같은 것으로 보고, -7은 (-7+26=)19와 같은 것으로 본다.

 

❶ MATH에 해당하는 숫자는 각각 12, 0, 19, 7이므로 MA와 TH를 각각

  

나타낸다.


❷ 이것을 주어진 행렬과 각각 곱하여 다음과 같이 계산한다.

   

 

❸ 행렬

에 해당하는 문자를 찾아 암호를 만든다. 24는 Y, 10은 K, 19는 T에 대응되므로 MA는 YK, TH는 TT가 된다. 따라서 만들어진 암호는 YKTT이다.

 

 


이 암호를 푸는 열쇠는 바로

의 역행렬인

이다. 즉 이 역행렬에

를 각각 곱하면 다음을 얻는다.

 


행렬

에 해당하는 문자가 MA와 TH이므로 원래의 평문 MATH를 얻게 된다.

 

 

 

 

 

 

 

 

728x90

'정신체조수학' 카테고리의 다른 글

사차원 정육면체(hypercube)  (2) 2014.12.15
피보나치수열과 황금비  (2) 2014.12.15
천재 수학자들의 오류  (2) 2014.12.13
코흐의 눈송이 곡선  (0) 2014.12.13

댓글