비트코인의 유명세를 통해 블록체인 기술이 대중에게 널리 알려지고 암호화폐(cryptocurrency)란 용어가 일상에서 등장하면서, 암호화 기술에 대한 사람들의 관심 또한 높아지기 시작했습니다.
인류의 역사에서 암호는 기원전 고대 사회에서 사용되던 스키테일 암호와 같은 것들을 시작으로 근대 기계화 암호를 거쳐 현대 암호 알고리즘에 이르기까지 깊은 역사를 가지고 있으며, 특히나 전쟁 중에 중요한 작전 명령을 전달하는 데 필수적으로 사용되었습니다.
블록체인이 물리적으로 해킹이 불가능하다는 것은 널리 알려진 사실인데요. 블록체인 이전의 세계사에서도, '해독할 수 없는 암호기'라 불린 암호기가 등장한 적이 있습니다. 바로 오늘 소개할 암호기인, 2차 세계 대전 당시 독일군이 발명한 '에니그마(Enigma)'라는 암호기입니다.
이미지 출처 : 이미테이션 게임
에니그마는 당시의 기술로는 대부분의 사람에게 '해독할 수 없는 암호기'라고 불렸으며, 2차 세계대전 당시 독일군이 모든 전쟁 관련 지시사항을 애니그마를 이용하여 전달했기에 암호를 해독하지 못하는 상황에서 연합군은 꼼짝없이 당하고 있을 수밖에 없었습니다. 때문에 영화 이미테이션 게임에서는 에니그마를 crooked hand of death itself(뒤틀린 죽음의 손 그 자체)라고 표현하기도 했습니다.
하지만 우리의 221B 베이커 스트릿 오이 형님에게는 술한잔 하다가 문득 '어? 이건가?' 하면서 풀 수 있는 아주 간단한 레벨의 암호였죠 ㅎ
에니그마의 작동 원리
에니그마의 해독이 어려운 이뉴는, 바로 에니그마의 작동 원리 때문이었습니다.
- 첫째로, 기계 아랫부분을 열면 나오는 플러그보드에서 특정 글자를 눌렀을 때 어떤 글자로 변환되어 나올지를 각각 설정해 줍니다. (위 스크린샷의 경우, Z키를 눌렀는데 B라는 글자에 불이 들어왔습니다.)
- 다음으로, 기계 윗부분을 열었을 때 보이는 회전판을 조정합니다. 회전판에는 총 1~5까지의 로마자가 적힌 다섯 종류의 회전판이 있으며, 각각의 회전판에는 키보드 자판과 마찬가지로 A~Z를 의미하는 1~26까지의 숫자가 적혀 있습니다. 만약 그날의 회전판 순서가 3-2-1이고 각 회전판의 숫자를 1-11-21로 맞추어야 한다면, 암호화된 코드를 전달받는 측에서도 같은 순서로 회전판을 장착하고 셋팅해야 암호 해독이 가능합니다.
에니그마가 해독이 어려운 이유
많은 분들이 저와 마찬가지로, '아니 그러면 저 에니그마 기계만 손에 넣으면 암호를 다 해독할 수 있는 거 아냐?'라고 생각하실 지도 모르겠습니다. 실제로, 에니그마 기계를 손에 넣으면 그날 하루치의 암호는 모두 해독할 수 있었다고 합니다. 왜 하루치 암호 뿐이냐구요? 독일군이 플러그보드의 설정이나 회전자의 배치, 숫자 등의 변수를 하루에 한 번씩 다시 셋팅했거든요. 연합군 입장에서는 다음날 회전자의 배치 등을 알 길이 없었기에, 만약 다음날이 되어 셋팅이 바뀌면 처음부터 다시 어마어마한 경우의 수를(회전판이 4개일 경우, 26 x 26 x 26 x 26=456,976가지 경우의 수. 거기다 플러그보드의 글자를 10쌍만 바꾸어 버리게 되면 100조가지가 넘어가게 되는) 모두 대입하여 암호를 풀어야 했고, 이는 즉 하루만에 그날의 모든 경우의 수를 대입해볼 수 없다는 것을 의미하게 되니, 독일군이 절대 해독할 수 없는 암호라고 근거 있는 자신감을 표출하게 된 것도 무리는 아니었죠.
또한, 암호를 알아내는 방법 중 흔한 방법으로, 반복되는 패턴을 통해 어느 글자가 변환되어 어떤 글자로 바뀌는지 알아내는 방법이 있는데요. 만약 암호화되는 글자와 암호화된 코드가 1:1로 매칭된다면(=단일치환 암호, 카이사르 암호가 대표적), STELLA라는 글자가 TUFMMB로 바뀌고, HELLO라는 글자가 IFMMP로, NICE TO MEET YOU가 OJDF UP NFFU ZPV로 바뀌는 등의 수많은 경우를 매치해 보아 '아, 몇개 해보니까 M은 L에 해당하는구나!'라는 사실을 깨우치게 될 수도 있다는 것이죠. 그런데 에니그마를 설명하는 동영상을 통해 보면, 서로 다른 두 글자를 입력했을 때 치환되어 나오는 글자는 같은 글자인 경우가 있습니다. 이는 키보드에서 글자를 입력함과 동시에 회전판 역시 회전하며 배열을 바꾸기 때문에 일어나는 일이며, 마찬가지로 회전판의 배열을 알지 못하면 암호를 풀 수 없다는 것을 의미하게 되죠.
앞서 말씀드린 대로, 2차 세계대전 당시 독일군은 에니그마를 통해 만들어 내는 암호를 연합군이 결코 해독할 수 없으리라 자만하고 있었습니다. 그러나 1939년, 오이를앨런 튜링을 비롯한 엔지니어들이 봄브(영화에서는 크리스토퍼라는 이름으로 불린)라고 하는 암호해독기를 개발하게 되면서 에니그마는 차차 무력화되어갔습니다.
에니그마의 복잡성과 마찬가지로, 블록체인을 암호화하는 데도 여러 기반 기술이 적용되고 있습니다. 바로 해시함수와 비대칭 암호화 기법이죠. 큐컴버 형님이 영화에서 '죽음의 손, 해독할 수 없는 암호기'라고 불렸던 에니그마를 해독한 것처럼, 외계 기술을 가진 최첨단 오이가 지구로 쳐들어와서 언젠가는 블록체인 기술도 해킹이 가능한 시대가 올까요?