5.2 행렬을 이용한 암호시스템

chapter 5. 행렬모델 (전자책)


 동영상 강의 주소: http://youtu.be/umTIADxsEq8


암호문을 만들고 해독하는 기술은 현대 정보사회의 근간을 이룬다. 이 절에서는 행렬을 이용하는 암호시스템을 한 가지 소개한다. 여기서는 행렬 가 행렬 의 역행렬일 때, 행렬 를 이용하여 암호문을 만들고 를 이용하여 그것을 해독하는 방법에 대하여 설명한다.

[참고] http://matrix.skku.ac.kr/sglee/sglee-crypto/index.htm


5.2 연습문제


1. 두 행렬 와 표 5.2.1을 이용하여

“엽기적인 그녀”를 암호화하고 복호화하여 계산 과정을 확인하여라.

*

*

*

8

18

6

1

24

9

17

1

8

24

2

29

1

23

2

18

29

29


2. 문제 1과 같은 조건에서 문장 “난 최고다!”를 암호화하고 복호화하여 계산 과정을 확인하여라.


3. 두 행렬 , 와 표 5.2.3을 이용하여 문장 “STAR WARS”를 암호화하고 복호화하여 계산 과정을 확인하여라.


4. 다음 행렬과 표 5.2.3를 이용하여 “GOD BLESS YOU”를 암호화하여라.


5. 문제 4와 같은 조건에서 문장 “I KNOW WHO HE IS”를 암호화하고 복호화하여 계산 과정을 확인하여라.


6. 다음 코드는 아래 주어진 행렬에 의하여 암호화된 코드이다. 원래의 문장으로 암호를 풀어라.

암호화된 코드 :

 


[7-9] 다음 주어진 행렬과 본문의 표 5.2.3을 이용하여 주어진 암호화된 코드의 원래의 문장을 찾아라.

7.

암호화된 코드 : 90 75 89 111 100 81 38 85 135 326 390 460 403 451 453 128 453 441 185 220 259 229 255 255 73 255 251


8.

암호화된 코드 : 143 169 163 96 41 224 248 184 225 206 129 58 282 304 196 234 220 134 59 300 331


9.

암호화된 코드 : 14 92 81 176 121 147 153 51 17 82 77 141 110 113 120 50 76 268 284 432 388 330 360 193


토론과 발표


※아래에서 교재에서는 소개하지 않았으나 대중적인 도구인 Excel을 이용하여 행렬을 이용한 암호화를 실습해 본다.


P1. 엑셀을 이용하여 암호화 및 복호화하는 방법을 알아보자. 표 5.2.1에 의해 전송하고자 하는 “인생은 자전거를 타는 것과 같다.”라는 문장은 다음과 같이 변환된다.


표 5.2.1

*

8

24

2

7

25

8

8

23

2

29

9

15

9

17

2

1

17

4

23

4

*

*

29

12

15

2

23

2

29

1

17

7

*

.

1

19

15

29

1

15

12

3

15

30


숫자로 변환된 문장을 행렬로 표현한 것을 행렬 이라고 정의한다.


암호화를 위해 곱해주는 가역행렬 와 해독을 위한 를 다음과 같이 정의하면


 행렬 앞에 행렬을 곱하여 행렬 를 만든다.


 행렬 앞에 행렬을 곱하여 암호를 해독한다.

   

     


암호해독 결과인 를 표 5.2.1의 변환표와 대조해보면 “인생은 자전거를 타는 것과 같다.”라는 문장을 얻을 수 있다.


그림 5.2.1 : Excel을 이용한 위의 계산과정 소개


P2. P1에서 소개한 방법과 Excel을 이용하여 아래의 문장을 암호화해보자.

문장 : CARPE DIEM!

(단, 행렬은 로 주어졌다.)

What is more: Interactive 참고 자료 (GeoGebra+Sage+강의록+동영상)

행렬을 이용한 암호시스템 Cryptography