수리논술, 이게 다다.

자연계열 1번

오류 제보

문제

■ 다음 제시문을 읽고 물음에 답하시오.

정보 보안성이 중요시되는 현대 정보화 시대에는 안전하게 정보를 전달하는 방법에 대한 연구가 다양하게 진행되고 있다. 그 중 행렬에 관한 성질 또는 함수에 관한 성질들을 이용하여 주어진 문장을 암호화하고 전달된 암호문을 해독하여 원래의 문장으로 복원하는 방법도 연구되고 있다. 실제로 <표 1>을 이용하여 주어진 문장을 수열화하고 행렬이나 함수의 성질을 이용하여 다양한 방법으로 암호화하고 해독할 수 있다. (<표 1>에서 space는 한 칸 띄우는 것을 의미한다)

<표 1> 문자와 수와의 대응관계 표

a\mathrm{a}b\mathrm{b}c\mathrm{c}d\mathrm{d}e\mathrm{e}f\mathrm{f}g\mathrm{g}h\mathrm{h}i\mathrm{i}j\mathrm{j}
1122334455667788991010
k\mathrm{k}l\mathrm{l}m\mathrm{m}n\mathrm{n}o\mathrm{o}p\mathrm{p}q\mathrm{q}r\mathrm{r}s\mathrm{s}t\mathrm{t}
1111121213131414151516161717181819192020
u\mathrm{u}v\mathrm{v}w\mathrm{w}x\mathrm{x}y\mathrm{y}z\mathrm{z}space\mathrm{space}♥\mathrm{♥}★\mathrm{★}♠\mathrm{♠}
2121222223232424252526262727282829293030

만일, 암호문의 송신자가 “I can pass”라는 문장을 암호화하여 송신하려고 한다면 우선 이 문장에 대응하는 수들을 차례로 나열한 수열 “9,27,3,1,14,27,16,1,19,19” 을 얻고 이들 수들의 배열을 5개씩 끊어서2×5\displaystyle 2 \times 5 행렬 A =(9273114271611919)\displaystyle \begin{pmatrix}9&27&3&1&14\\27&16&1&19&19\end{pmatrix}로 나타낸다. 그 다음에 행렬 B =(5−1−13)\displaystyle \begin{pmatrix}5&-1\\-1 &3\end{pmatrix}을 곱하여 다음과 같이 암호화하고 암호문 “18,119,14,-14,51,72,21,0,56,43” 을 보낸다고 가정한다.

BA = (5−1−13)(9273114271611919)\displaystyle \begin{pmatrix} 5&-1 \\-1 &3 \end{pmatrix}\begin{pmatrix}9&27&3&1&14\\27&16&1&19&19\end{pmatrix} =(1811914−1451722105643)\displaystyle \begin{pmatrix}18&119&14&-14&51\\72&21&0&56&43\end{pmatrix}

[문제 1] (40 점)

(1) 송신자가 위와 같이 행렬을 이용하여 암호문을 만들고 송신할 때 암호문의 수신자가 암호문을 해독하려면 어떤 정보를 갖고 있어야 하는지 설명하시오. 또한, 이 정보가 암호문 해독 과정에서 어떻게 사용되는지 설명하시오.

(2) 위와 같은 방법으로 암호화하고 해독하는 데 사용했던 행렬 B 대신에 다른 행렬 C =(abcd)\displaystyle \begin{pmatrix}a&b\\c&d\end{pmatrix}를 이용하려고 한다. 이 때, 행렬 C는 어떤 성질을 갖고 있어야 하는지 수a,b,c,d\displaystyle a,b,c,d 사이의 관계를 이용하여 설명하시오.

(3) 주어진 문장을 암호화하고 해독하는 데 제시문처럼 2×2\displaystyle 2 \times 2 행렬을 이용하는 대신에 3×3\displaystyle 3 \times 3 행렬을 이용할 수 있는지 판단하고 그 이유를 설명하시오.

(4) 자연수의 집합N\displaystyle \mathbb{N} 에서 정의된 함수 f:N→N\displaystyle f: \mathbb{N} \to \mathbb{N} ,f(x)=x+3\displaystyle f(x)=x+3 을 이용하여 주어진 문장 “I can pass”를 암호화하고, 함수 g:N→N\displaystyle g: \mathbb{N} \to \mathbb{N} , g(x)=x−3\displaystyle g(x)=x-3을 이용하여 해독할 수 있다. 이 때, 함수 f\displaystyle f의 어떤 성질을 이용한 것인지 설명하시오. 또한, 이와 같은 방법으로 암호화하고 해독하는 데 함수 h:N→N\displaystyle h: \mathbb{N} \to \mathbb{N} , h(x)=2x3+1\displaystyle h(x)=2x ^{3} +1 을 이용할 수 있는지 판단하고 그 이유를 설명하시오.Caution. 역함수를 정의할 때는 원래 함수의 치역이 역함수의 정의역이 됨에 주의해야 한다: f(x)=x+3\displaystyle f(x)=x+3의 치역은 {4,5,6,…}\displaystyle \{4,5,6,\ldots\}이다. 해독 함수 g(x)=x−3\displaystyle g(x)=x-3은 이 집합을 정의역으로 두어야 f\displaystyle f의 역함수가 된다. 원문처럼 g:N→N\displaystyle g:\mathbb N\to\mathbb N으로 두면 g(1)=−2\displaystyle g(1)=-2가 자연수가 아니므로 함수의 정의에 맞지 않는다. 그러나 원칙에 따라 원문 표기를 그대로 실었다.

해설강의 준비중

(1) 수신자는 문자와 수와의 대응관계 표와 행렬 B의 역행렬을 알고 있어야 한다.

또한, 수신자는 다음과 같은 과정을 통하여 암호문을 해독할 수 있다.

(1단계) 수신자는 암호문 “18,119,14,-14,51,72,21,0,56,43”을 숫자 5개씩 끊어서 2×5\displaystyle 2 \times 5행렬

D =(1811914−1451722105643)\displaystyle \begin{pmatrix}18&119&14&-14&51\\72&21&0&56&43\end{pmatrix} 를 만든다.

(2단계) B가 정칙행렬이므로 역행렬 B−1\displaystyle {} ^{-1} = 114(3115)\displaystyle \frac1{14}\begin{pmatrix}3&1\\1&5\end{pmatrix}가 존재한다.

역행렬 B−1\displaystyle {} ^{-1}를 행렬 D의 왼쪽에 곱하여 행렬 B−1\displaystyle {} ^{-1}D =(9273114271611919)\displaystyle \begin{pmatrix}9&27&3&1&14\\27&16&1&19&19\end{pmatrix}를 구하고 행렬

B−1\displaystyle {} ^{-1}D의 1행, 2행의 성분을 “9,27,3,1,14,27,16,1,19,19”와 같이 순서대로 나열한 후 표를 이용하여 대응되는 알파벳을 찾아 원하는 문장 “I can pass"을 얻는다.

(2) 행렬 C의 역행렬 C−1\displaystyle {} ^{-1}가 존재하면 주어진 방법과 같은 방법으로 암호화하고 해독할 수 있으므로 행렬 C의 역행렬이 존재하기위한 필요충분조건인 "ad≠bc\displaystyle ad \ne bc" 가 a,b,c,d\displaystyle a,b,c,d 사이의 관계가 된다.

(3) 3×3\displaystyle 3 \times 3 행렬을 사용할 수 있다. 예를 들면,

<송신자> 문장 “I can pass"에 대응되는 자연수의 개수는 10개이므로 맨 처음에 의미 없는 28이라는 수를 두 번 삽입하여 수열 “28,28,9,27,3,1,14,27,16,1,19,19”를 만들고 숫자 4개씩 끊어서 행렬

E =(28289273114271611919)\displaystyle \begin{pmatrix}28&28&9&27\\3&1&14&27\\16&1&19&19\end{pmatrix} 를 만든다.

(이때, 의미 없는 숫자 28을 이용하는 대신에 29 또는 30을 이용할 수 있다)

이를 암호화하기 위하여 역행렬이 존재하는 3×3\displaystyle 3 \times 3 행렬 F를 E의 왼쪽에 곱한 행렬 FE의 1행, 2행, 3행의 성분들을 순서대로 나열한 암호문을 송신한다. (이때, 행렬 F는 역행렬이 존재하기만 하면 된다. 따라서 F를 선택하는 방법은 무수히 많이 존재한다)

<수신자> 암호 수신자는 받은 수열을 4개씩 끊어서 3×4\displaystyle 3 \times 4 행렬 G를 만들고 왼쪽에 F의 역행렬을 곱한 후 얻은 3×4\displaystyle 3 \times 4 행렬 F−1\displaystyle {} ^{-1}G의 1행, 2행, 3행의 성분들을 순서대로 나열하고 표를 이용하여 대응되는 알파벳을 찾아 나열하여 최종적으로 암호문을 해독할 수 있다.

(4) 주어진 함수 f\displaystyle f는 일대일 함수이고, (g∘f)(x)=x\displaystyle (g \circ f)(x)=x 이므로 이용 가능하다.

우선 송신자는 수열 “9,27,3,1,14,27,16,1,19,19”을 구성하는 수들의 함수 f\displaystyle f에 대한 함숫값을 순서대로 나열하여 암호화하고. 수신자는 수신된 수열을 구성하고 있는 수들의 함수 g\displaystyle g에 대한 함숫값을 순서대로 나열한 후 <표 1>을 이용하여 대응되는 문자를 나열하여 암호를 해독할 수 있다.

또한, 함수 h:N→N\displaystyle h: \mathbb{N} \to \mathbb{N} , h(x)=2x3+1\displaystyle h(x)=2x ^{3} +1 도 일대일 함수이므로 함수 h\displaystyle h를 이용하여 암호화하고 함수 k(x)=x−123\displaystyle k(x)= \sqrt[3]{\frac{x-1}{2}} 를 이용하면 (k∘h)(x)=x\displaystyle (k \circ h)(x)=x 이므로 암호를 해독할 수 있다.

첨삭 사례

아직 등록된 첨삭 사례가 없습니다.

질문과 답변 · 0개질문과 답변 · 고정 0개

아직 등록된 질문이 없습니다. 질문 작성은 멤버십 회원만 가능합니다.