암호학

암호학

다른 표기 언어 cryptology , 暗號學

요약 대개 암호형태를 가진 비밀통신과 관련된 학문.

여기에는 암호표기법과 암호해독법이 포함된다.

암호표기법은 사전에 약속된 수신자만 이해할 수 있도록 정보를 전달하는 원칙과 기술을 연구·적용하는 학문인 반면, 암호해독법은 암호체계를 풀어서 그 정보를 발견하는 기술과 학문이다.

암호표기법은 원래 글로 쓴 통신문을 위장하는 수단으로 발전했다. 그러나 오늘날에는 통신위성을 통해 지상국끼리 교신하는 경우처럼 모사 전송과 영상신호를 암호화하는 데 암호표기법의 원칙이 적용된다. 그보다 더 중요한 것은 암호표기법이 컴퓨터끼리의 데이터 통신을 안전하게 보호하고 그 전송 내용이 진짜임을 증명하는 데 핵심적인 구실을 한다는 점이다.

즉 암호는 그 통신이 위조가 아니라는 것을 인가된 수신자에게 보장해준다. 이 기능은 금융업을 비롯한 상업적인 용도에 적용될 때 특히 중요하다. 누구나 이해할 수 있는 통신문(평문)을 암호문으로 바꾸려면 알고리듬(일정한 기준을 정하기 위한 일련의 규칙)과 암호해독 열쇠를 사용해야 하는 경우가 많다. 알고리듬은 공공연히 알려져도 괜찮지만, 열쇠에 관한 정보는 통신문 전달자와 합법적인 수신자 이외에는 아무도 모르게 비밀로 유지되어야 한다.

평문을 암호문으로 바꾸는 과정에서 알고리듬은 평문 정보에 적용되며, 열쇠는 그것을 암호화하는 방식을 통제하는 데 사용된다. 합법적인 수신자가 암호에 감추어진 정보를 찾아내는 암호해독과정도 비슷한 방식으로 이루어진다.

수백 년 동안 매우 다양한 암호체계가 개발되어 왔는데, 가장 기본적인 암호체계는 치환과 대입이라는 2가지 기초적인 수학 연산 가운데 하나를 선택하거나 2가지를 함께 사용하는 방식이다(치환암호, 대입암호). 치환은 평문의 요소를 바꾸지 않고 순서만 바꾸는 것을 말하고, 대입은 평문의 순서는 바꾸지 않는 대신 요소를 다른 기호로 바꾸는 것을 말한다.

좀더 복잡한 암호체계에서는 치환과 대입을 모두 사용하여 이중 암호문을 만든다. 1970년대 중엽 미국에서는 그런 암호체계를 좀더 정교하게 다듬은 데이터 암호화 표준규격(Data Encryption Standard/DES)을 개발하여 널리 사용해왔다. DES는 이중 블록 암호로서, 16번의 대입과 치환이 이루어진다.

DES는 2진법으로 암호화한 64비트의 평문 블록을 56비트의 열쇠로 암호화하여 64비트의 암호문을 만든다. 대규모 집적회로를 가진 반도체 칩을 사용하면 언제든지 DES를 실행할 수 있다. 이 작은 전자장비는 1초당 수십 비트 내지 수천만 비트에 달하는 다양한 자료를 암호화하고 암호화한 자료를 해독할 수 있다. 암호체계는 대칭적일 수도 있고 비대칭적일 수도 있다. 대칭 암호체계에서는 암호표기와 암호해독이 하나의 열쇠로 이루어지기 때문에 전달자와 수신자가 똑같은 열쇠를 사용한다.

이와는 반대로 비대칭 암호체계에서는 암호표기와 암호해독에 서로 다른 2가지의 열쇠를 사용한다.

DES를 비롯하여 하나의 열쇠를 가진 암호체계는 흔히 열쇠 분배문제를 제기한다. 좀더 명확히 말하면 이 암호체계에서는 통신문을 교환하기 전에 인가받은 모든 사용자에게 미리 암호해독 열쇠를 보내야 한다. 따라서 시간이 지연될 뿐 아니라 암호해독 열쇠가 인가를 받지 않은 사람의 손에 들어갈 가능성도 있다.

열쇠가 2가지인 비대칭 암호체계를 사용하는 사람은 하나의 열쇠(예를 들면 암호표기 열쇠)를 공개하고 2번째 열쇠(암호해독 열쇠)는 비밀로 유지할 수 있다. 인가받지 않은 사람이 공공연히 알려진 열쇠를 복제해도, 비밀열쇠를 가진 정당한 사용자만이 암호문을 해독할 수 있기 때문에 통신 보안에는 영향을 끼치지 않는다. 암호가 2개인 이런 암호체계는 상당한 유연성도 보여준다. 이 체계는 수신자가 제3자에게 즉시 전송할 수 있도록 통신문을 디지틀 신호로 만드는 데에도 이용된다.

이러한 특징 때문에 이 암호체계는 특히 전자 자금이송결제를 비롯한 컴퓨터 데이터 통신에 유용하게 쓰인다.

열쇠가 하나인 암호체계는 수백 년 동안 사용되어 왔지만, 열쇠가 2개인 암호체계는 1970년대 중엽부터 진지하게 연구되어 비교적 최근에 발전하기 시작했다. 오늘날 2가지 열쇠를 가진 암호체계 가운데 유일하게 실용성을 확보한 것은 주로 단위가 큰 합성 정수를 인수분해하지 못하게 함으로써 암호문의 안전을 보장하는 방법이다.

가장 널리 쓰이는 본보기는 리베스트-샤미어-애들먼(RSA) 암호 알고리듬이다. 이 암호체계의 큰 결점은 회로 용량이 제한되어 있다는 점이다. 다시 말하면 1초당 전달할 수 있는 정보의 비트 수가 제한되어 있다. 하나의 열쇠를 가진 DES 알고리듬은 반도체 칩을 몇 개만 사용하면 1초당 수백만 비트의 정보를 처리할 수 있지만, 비교적 안전한 RSA 칩의 처리용량은 1초당 수천 비트에 불과하다.