KEEP!T History: 블록체인史 (10) 전쟁 속에서 태동한 암호학

in #kr3 years ago (edited)

keepit_logo_history_2.png



블록체인史

전쟁 속에서 태동한 암호학


안녕하세요! KEEP!T입니다.
블록체인사에선 지난 시간까지 경제사에서, 그리고 사이퍼펑크사에서 블록체인의 뿌리를 찾아봤습니다. 각각 블록체인 기술이 출현하게 된 경제적∙사상적 배경이라 할 수 있겠는데요. 이번 편에서부터 학문적 배경인 암호학의 역사에 대해 탐구하려 합니다. 본격적인 이야기에 앞서 이번 편에선 기초적인 암호학 지식과 고전 암호학의 역사에 대해 탐구하겠습니다. 그럼 암호학에서 블록체인의 뿌리를 찾는 여정, 함께 시작하겠습니다.


1. 전쟁 속에서 태동한 고전 암호학

암호학(Cryptology)이란 '감춰진, 비밀의'란 뜻을 가진 고대 그리스어 크립토스(kryptós)와 '학문'이란 뜻을 가진 로지아(-logia)로 이뤄진 용어입니다. 비슷한 용어로 암호기술(Cryptography)이 있는데, 이는 크립토스와, '기술'이란 뜻의 그라페인graphein을 어원으로 합니다. 비밀 정보를 가로채려는 제삼자가 존재한다는 가정 하에, 제삼자로부터 비밀 정보를 지키는 안전한 통신 방법에 대해 연구하는 학문이죠.

암호학의 역사는 전쟁의 역사와 밀접한 관련이 있습니다. 오늘날 개인용 컴퓨터의 보급과 전자서명의 일상화로 암호학이 널리 사용되기 전까지, 암호학의 주무대는 전쟁터였기 때문이죠. 군사 및 외교, 첩보 분야에서 중요한 정보를 적 또는 스파이에게 탈취당해 비밀이 누설되지 않으려면, 이 정보를 송신자와 수신자만이 알 수 있는 암호문으로 바꿔야만 했습니다. 정보가 생명인 전쟁터에서 적군으로부터 비밀 정보를 숨기려는 노력과 적군의 비밀 정보를 해독해내려는 노력. 이 치열한 경쟁 속에서 자연스레 암호 기술에 대해 다루는 암호학이 발달하게 된 것입니다.

2. 카이사르 암호- 단일치환암호

고전 암호의 사례로 로마 시대에 율리우스 카이사르(Julius Caesar)가 사용했던 알파벳치환암호를 소개해드릴까 합니다. 평문의 알파벳을 특정 거리만큼 떨어진 알파벳으로 바꾼 초보적인 형태의 단일치환암호입니다.

856px-Caesar_cipher_left_shift_of_3.svg.png

율리우스 카이사르가 사용한 초보적인 형태의 알파벳치환암호

알파벳을 암호키(A=1, B=2, C=3, ...)에 해당하는 값만큼 이동시켜 암호문으로 바꿉니다. 위 예제에서는 C에 해당합니다. 가능한 경우의 수는 알파벳 26개 중 자신을 제외한 25가지입니다.

평문ABCDEFGH
암호키CCCCCCCC
암호문XYZABCDE

사실 단일치환암호는 초보적인 형태의 암호문이기에, 빈도분석공격을 통해 쉽게 해독이 가능합니다. 알파벳에서 가장 많이 사용되는 문자는 평균적으로 E인데, 이 E가 자주 사용되는 'THE'와 같은 단어를 추정한 후 여기에 대응하는 문자를 찾습니다. 위 예시에서 'THE'는 'QEB'입니다. 이와 같이 평문의 E에 해당하는 암호문의 B를 찾아낸 후, B를 E에 대입해보면 단일치환암호는 쉽게 풀리게 됩니다.

평문: 누구나 이해하고 읽을 수 있는 원래의 정보
암호문: 평문을 합당하게 푸는 방법을 모르는 사람은 알 수 없고 이해하기 힘든 형태로 변환된 정보
암호키: 평문을 암호화하거나 암호문을 복호화하는 데 사용되는 비밀정보
암호화 : 평문을 암호문으로 변환하는 과정
복호화 : 암호문을 평문으로 변환하는 과정
단일치환암호: 일정한 법칙에 따라 평문의 문자를 암호문의 문자에 대응시키는 방식의 암호
빈도분석공격: 단일치환암호를 깨기 위해 문자의 빈도수를 통해 암호키를 알아내는 방식의 공격

3. 비제네르 암호 - 다중치환암호

단일치환암호의 약점은 암호문에 등장하는 알파벳의 빈도가 일정하지 않다는 점인데요. 이 약점을 극복하기 위해 나온 암호체계가 문자의 발생빈도를 단일화한 다중치환암호입니다. 다중치환암호인 비제네르 암호(Vigenère cipher)는 평문 문자 x와 암호키 문자 y를 행렬표에서 골라 x행 y열의 문자로 치환합니다. 암호키를 이용하여 단일치환암호를 연속적으로 적용하는 방식이며, 이를 통해 생성된 암호문에는 평문에 있는 문자의 빈도가 나타나지 않게 됩니다.

평문ATTACKATDAWN
암호키LEMONLEMONLE
암호문LXFOPVEFRNHR

800px-Vigenère_square_shading.svg.png
비제네르 암호의 행렬표

4. 1, 2차 세계대전 속에서 발전한 근대 암호학

여기까지 소개해드린 암호 기법이 고전 암호학에 속하는 방법들입니다. 그렇다면 고전 암호학에서 근대 암호학으로 넘어가는 시기는 어떻게 구분지을까요? 암호학의 역사는 전쟁의 역사와 밀접한 관련이 있다고 했지요. 고전 암호학과 근대 암호학을 구분 짓는 사건은 바로 1, 2차 세계대전입니다. 전쟁중 비밀 정보의 유출은 패배와도 직결되는 문제이기에, 전쟁 당사국들은 암호 기술의 발전에 총력을 기울이게 됩니다. 이때부터 기계적인 암호장치와 전자장치를 이용한 암호 기술이 폭발적으로 발전하게 되죠. 이 암호장치 중에서도 끝판왕 격인 장치가 그 유명한 독일군의 "에니그마"입니다. 에니그마는 독일어로 '수수께끼'를 뜻하며, 다중치환암호를 더욱 복잡하게 생성할 수 있도록 고안된 암호 장치입니다.

Bundesarchiv_Bild_101I-769-0229-10A,_Frankreich,_Guderian,__Enigma__croppped.jpg
독일의 하인츠 구데리안 장군과 에니그마 머신

이번 시간에는 암호학의 기초를 다지기 위해 다소 지루하지만 고전 암호학의 역사 및 기법에 대해서 탐구했습니다. 다음 시간엔 "에니그마"의 암호 기법을 해독하여 영국을 승리로 이끈 전쟁 영웅이자, 현대 암호학의 아버지라 할 수 있는 "앨런 튜링"의 이야기를 하려 합니다 . 앨런 튜링은 동시에 "튜링 머신"이란 개념으로 컴퓨터의 이론적 기초를 제시한 컴퓨터의 아버지이기도 하죠. 그럼 다음 시간에 이 "앨런 튜링"의 일대기와 함께 찾아뵙겠습니다. 감사합니다.

blockchainnomad

참고자료

전태일, 정보보호개론, 교우, 2018
Cryptography
History of cryptography
암호학


블록체인史 시리즈

경제사편

KEEP!T History: (1) 월 스트리트 점령은 비트코인으로부터
KEEP!T History: (2) 글로벌 경제 네트워크라는 화두
KEEP!T History: (3) 신뢰의 문제에 도전하는 블록체인

사이퍼펑크편

KEEP!T History: (4) 약자에게 프라이버시를, 강자에게 투명성을
KEEP!T History: (5) 암호화폐의 탄생
KEEP!T Histroy: (6) 어둠의 세력이 키운 익명화폐
KEEP!T History: (7) 익명화폐 변천사
KEEP!T History: (8) 영지식 증명 이해하기
KEEP!T History: (9) 사이퍼펑크 선언문

Keepit 저작권 로고.gif
Keepit 저작권 로고2.png

이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 4.0 국제 라이선스에 따라 이용할 수 있습니다.