암호학

1 개요

과학의 범위
자연과학물리학 · 화학 · 생명과학(생물학) · 지구과학 · 천문학
형식과학수학 · 통계학 · 논리학 · 암호학 · 이론전산학 · 결정이론
응용과학공학 · 의학 · 수의학 · 치의학 · 약학 · 건축학 · 농학 · 컴퓨터과학
사회과학정치학 · 사회학 · 경제학 · 지리학 · 인구통계학
과학이 아닌 것유사과학 · 비과학 · 반과학 · 변경지대의 과학 · 인문학

정보를 보호하기 위한 수학적, 언어학적인 방법을 다루는 학문이다. 컴퓨터공학, 수학, 언어학과 관련 깊다.

암호학은 크게 두 가지 분류로 나누어진다. 후술할 대칭키 암호 시스템과 공개키 암호 시스템이며, 역사상으로는 대칭키 암호 시스템이 먼저 등장하였다.

암호학에 대해서 설명할 경우에는 앨리스(Alice)와 밥(Bob)이 자주 등장한다. 이는 A가 B에게 메세지를 전달한다고 하는 것이 별로 재미가 없을 뿐만 아니라, 딱딱하게 "Person A", "Person B" 계속 운운하는 것보다는 성별이 뚜렷히 드러나는 이름인 앨리스와 밥을 도입해서 인칭대명사(He, She 등)를 써먹으려는 영어권 학자들의 센스가 반영된 결과. C의 캐롤(Carol), D의 데이브(Dave)가 등장하기도 하지만, 학문이 학문이니만큼 앨리스와 밥 다음으로 자주 나타나는 인물은 E의 이브(Eve). Eavesdropper(엿듣는 사람)의 별칭이며, 대개 암호 프로토콜을 공격하려는 제 3자이다. xkcd에서 이와 관련한 우스갯소리를 그려낸 바 있는데, 컴퓨터과학자들이 지루한 이야기에 집중하게 하는 법 Eve의 사연

만약 수학을 전공하는 대학 학부생이라면, 이 과정은 4학년 때 응용 수학으로서 배우게 된다.

2 쌍방향 암호 시스템

평문과 암호문 사이의 변환이 자유로운 암호 체계.

2.1 대칭키 암호 시스템

대칭키 암호 시스템은 암호를 해독하는 데에 사용하는 키와 암호를 만드는 데 사용하는 키가 같은 암호화 기법으로, 제작이 단순하지만 상대적으로 보안성이 낮으며, 또한 여러 사람이 사용할 경우 각자 메세지를 주고받기 위해서는 각자마다 다른 키가 필요한 점이 단점이다.

2.1.1 카이사르 암호

역사상 가장 오래된 암호의 형태 중 하나로 알려져 있으며, 카이사르가 사용했다 하여 이렇게 이름이 붙었다. 한 글자를 다른 글자로 치환하는 치환 암호이며, 총 가능한 키의 개수는 25가지이다. 보통 카이사르 암호는 글자 빈도 분석으로 바로 알아낼수가 있다.아니면 하나하나 넣다 보면 바로 알 수 있다. 어느 정도 익숙한 사람들은 그냥 암호문을 보기만 해도 알 수 있을 정도로...
제작 방법은 원문이 있을 때, 그 원문을 키에 해당하는 글자[1]의 수만큼 뒤로 보내서 만든다. 다음은 그 예시이다.

원문brutusisbetrayer
dddddddddddddddd
암호문FVYXYWMWFIXVECIV

2.1.2 비즈네르 암호

카이사르 암호를 키값이 26개 밖에 존재하지 않는다는 단점을 보완해서 만든 암호이다.
여기서 키는 한글자가 아닌 하나의 단어로 키 칸에 계속 반복되어지게 적는다. 그럼 같은 단어라도 키에서 다른 위치에 걸리게 되면 암호화된 글자는 달라지게 된다.
상세히 적자면, A에 0, B에 1,..., Z에 25의 숫자를 대입해서 원문과 키의 숫자를 더한 결과값을 나타낸 것이다.
다음은 그 예시다. 이 예시에서 키는 'dog' 라고 하자

원문brutusisbetrayer
dogdogdogdogdogd
암호문EFAWIYLGHHHXDMKU

2.1.3 스키테일

주로 스파르타에서 전쟁에 나가 있는 군대에 메시지을 전할때 썼던 암호이다.
이 암호를 암호화 하고 복호화 하는 과정은 스키테일(Scytale) 이라는 원통형 나무막대기를 이용한다.
이것으로 암호화 하는 과정은 다음과 같다.
1. 이 막대기에 종이를 왼쪽부터 오른쪽으로 위에서 아랫방향으로 돌려 싼다음 왼쪽에서 오른쪽으로 메세지를 적는다.
2. 빈칸은 아무렇게나 채운다음 종이를 스키테일에서 푼다.
이것을 복호화 할때는 같은 굵기의 스키테일에 감아서 확인을 해보면 된다.

2.1.4 단일문자 체계

2.1.5 에니그마

항목 참조.

2.2 공개키 암호 시스템

위의 대칭키 암호 시스템에서의 보안성과 기하급수적으로 늘어나는 키의 개수를 개선하기 위한 방법으로, 암호화에 사용되는 키와 복호화에 사용되는 키가 다르다. 처리해야 하는 정보량이 많기 때문에 컴퓨터가 발명되고 난 뒤에 생겼다.

2.2.1 RSA

항목 참조.

2.2.2 타원 곡선 암호

2.3 양자 암호

3 단방향 암호 시스템

평문에서 암호문으로 만드는 것은 자유지만, 그 반대는 아니란다로 대표되는 암호 체계. 대부분이 해쉬 암호화 체계이다.

3.1 SHA

항목 참조.
  1. a=1, b=2...