들어가며
요즘 통신상에 영화 U-571에 대해 참 말들이 많다. 지금 이 글을 쓰는 시점에선 국내 시사회가 있었을 뿐인데, 이미 여기저기 감상평이 눈에 뜨인다. 평가들을 보면, '액션 등의 볼거리는 쏠쏠한데 역시 미국 만세!류 람보식 스토리가 맘에 들지 않는다' 혹은 '실제 역사와는 다르게 왜곡되었다'는 점 등을 지적하며 혹평을 늘어놓는 글들이 참 많이 보인다. 뭐 개개인의 느낌들이야 자유로운 것이고, 각자 주목하는 포인트가 있기 마련이다. 각자 영화 자체에 대해 호불호를 논하는 것은 별 문제일 리도 없다. 거기에 홈지기가 이러쿵저러쿵 뒷담화를 얹는 것도 그리 경우에 맞지 않아 보인다.
그런데 가끔 악성 혹평을 보면 정도가 지나치다는 생각이 든다. 이런 글의 필자들은 나름대로는 식견있는 비평가임을 자처하며, 2차 세계대전사의 단편적인 사실을 끌어대어 무분별하게 써댄다. 더 문제는, 자기 만족에 빠지는걸 넘어 애꿎은 불특정 다수를 비난하기까지 한다. 대개의 경우 레퍼토리도 비슷해서 "실제 U-boot 에 돌격해 에니그마 기계를 탈취한건 양키들이 아니라 영국애들이다. 그게 결정적으로 대서양 전투의 향방을 갈랐는데 양키들은 그걸 지들 공인양 영화에서 맘대로 갖다 쓴거다. 그러니 이 영화를 좋다고 하는 사람들은 뭣도 모르고 놀아나는 것이다……"라는 식이다. 헌데 홈지기의 짧은 식견으로도 그런 인신공격성 글들을 보면 갖가지 의문이 든다. 과연 그 글을 쓴 사람은 정말 대서양 전투와 관련된 정보전 전쟁사를 얼마나 알고 있을까? 무엇이 실제의 전사 속에서 중요한 전환점 역할을 했는지 제대로 알고 저렇게 타인을 공격하는 것일까??
진실이란 것은 쉽게 이해하기 힘든 법이다. 국내 통신상에 단편적으로 떠도는 글들에서 접하는 관련 이야기 대부분은, 불행하게도 에니그마(Enigma)와 대서양 전투에 대해 무엇이 진정으로 중요한 사건이고, 어떤 의미를 지니는지 제대로 짚어내고 있지 못한 것 같다. 홈지기라고 2차대전 전쟁사에 대해 이러쿵저러쿵 논할만큼 실력은 되지 않지만, 적어도 명백히 잘못된 인식들을 지적할 필요를 절감하고 있다. 그래서 이하에서는 대서양 전투 속에서 에니그마를 둘러싸고 독일과 영미 연합군이 벌인 치열했던 정보전의 일면을 부족하나마 펼쳐보기로 하겠다.
글의 목적을 대강의 줄거리 파악으로 제한하기 위해서, 곳곳에 등장하는 세부적인 기계 원리나 암호 해독방법은 대부분 생략하겠다. 혹시나 더 세부적인 사항에 대해 알고 싶은 분들이 많다면, 게시물에 링크해놓은 자료들을 참고하시길 바란다.
회전자 암호화 방법의 출현: 에니그마의 기본 원리

대략 1차대전 무렵까지 주요 각국 군대에서 무선통신을 위해 사용하던 암호화 기법은 대동소이했다. 일단 송신자는 보내고 싶은 전문을 적절한 부호표(codebook)를 이용해 부호화한 다음에(coding), 치환 등의 암호화(encipherment)를 시켜서 전송한다. 이 복합 과정을 superencipherment 라고 한다. 수신자는 이것의 역과정을 밟는다. 암호문을 해독(decipherment)하고, 얻어낸 부호문을 복호하여(decoding), 원래의 평문을 얻게 된다. 여기서 보안문제의 핵심은 암호화 알고리즘을 얼마나 복잡하게 만드냐에 달려 있다. 그래서 무작위한 난수표를 이용해 암호화를 하고, 엄격히 제한된 통신병만 이 난수표를 취급할 수 있게 만들었다.
그러나 근본적인 알고리즘 자체는 간단했기 때문에, 중요한 난수표만 넘어가면 쉽게 해독이 가능하다는 약점이 있었다. 더군다나 전시에 수많은 야전부대 사이에 비화통신을 하려면 최소한 이들 야전부대 수만큼은 난수표를 배포해야 했으므로, 어디선가 유출될 위험이 컸다. 때문에 단순히 난수표 유출로는 뚫리지 않는 보다 견고한 암호화 기술이 필요했다. 이를 위한 대체 암호화 기법으로 떠오른 것이 바로 회전자(rotor)를 이용한 기계식 암호화 장치였다.
이 회전자 방식의 암호화 기계의 원리를 간략하게 알아보자. 회전자는 키보드의 알파벳 26자와 디스플레이 용의 램프보드의 알파벳 26자를 연결하는 일종의 원통형 연결배선이다. 이 안에서는 키보드에서 들어오는 각 입력단자와, 램프보드로 나가는 각 출력단자가 서로 다른 문자끼리 1대 1로 대응이 되어있다. (정의역이 26문자, 치역이 26문자인 일대일함수의 역할을 하는 셈이다.) 즉, 이 또한 기본적으로는 고대부터 쓰여온, 각 문자를 다른 문자로 치환하는 단순한 암호화 방식과 다를 바가 없었다. 이것만으로는 같은 문자의 키를 칠 경우 계속 같은 램프가 켜지기 때문에(예를 들면 A를 칠 때마다 매번 계속 C 램프가 켜지는 식), 많은 암호문 표본을 모아 알파벳별 빈도를 조사하는 방법으로 간단하게 해독이 가능하다.
그래서 본격적인 회전자 암호화 장치에서는 복잡도를 증가시키는 한 가지 장치가 더 들어있다. 매번 키를 칠 때마다 회전자를 1스텝씩(1/26 바퀴씩) 회전시키는 것이다. 이렇게 하면 같은 키를 계속 쳐도 매번 다른 램프가 켜진다 — 처음 A를 쳤을 때 C 램프가 켜지면, 다음 번 A를 치면 V가 켜지는 식이다. 이 경우 키를 26번 치면 회전자가 완전히 한 바퀴를 돌아 원래 자리로 돌아온다. 그러므로 하나의 평문으로 만들어 낼 수 있는 암호문은 26가지 종류가 된다. 복잡도를 더 증가시키려면, 즉 하나의 평문으로 만들어낼 수 있는 암호문의 종류를 늘리려면 회전자를 여러 개 직렬로 덧붙이면 된다. 회전자 2개를 연결하고, 1번째 회전자가 1바퀴(26스텝)를 돌았을 때 2번째 회전자가 1스텝씩 돌게 만들면 간단히 26 x 26 = 676가지로 늘어난다. 마찬가지로 회전자 개수를 4개, 5개로 늘림에 따라 456,976가지, 11,881,376가지로 복잡도를 높일 수가 있다.
Tip 1. 회전자의 상세한 구조와 원리는 위키피디아의 'Enigma rotor details' 항목에 잘 나와있다.
Tip 2. 작동 원리가 제대로 상상이 가지 않는 분들은 아래의 설명 동영상을 보면 큰 도움이 될 것이다. 이 동영상에서 설명에 나선 사람은 바로 『The Code Book』의 저자인 사이먼 싱(Simon Singh)이다.
이 장치에서는 암호화를 시작할 때 각 회전자의 초기 세팅값이 해독의 열쇠가 된다. 초기 세팅값은 원통형 회전자의 26개의 단자(핀)에 대응하여 겉면에 새겨진 A, B, C,…순서의 알파벳으로 표시한다. 만약 3개의 회전자가 있는 기계에서 시작 위치를 'C-S-B'라고 지정하면 각각의 1번, 2번, 3번 회전자를 돌려서 각각 상면에 C, S, B 가 나오게 하는 것이다. 007 가방에서 3자리 수자를 맞춰 여는 자물쇠를 연상하면 된다 — 각 자릿수(0~9)가 알파벳(A~Z)으로 바뀌었다고 생각하면 된다. 이 상태에서 평문을 쳐 넣어서 램프보드에 차례로 나타나는 암호문을 얻어낸다. 암호문을 받은 상대는 이 초기 세팅을 알고 있으면 정확히 반대 과정을 밟아서 평문을 복원할 수 있다. 이러한 회전자의 초기 세팅 정보(C-S-B)을 '열쇠'로 부르는 것은 영어나 독일어나 마찬가지여서, 영어로는 'key', 독일어로는 'Schlüssel'이라고 한다.
만약 이들 회전자 열쇠를 알지 못할 경우에는, 가능한 수 십만~수 백만 가지의 가능성을 일일이 조사해봐야 한다. 요즘에야 컴퓨터가 있으니 이 정도의 가능성을 조사하는건 일도 아니다. 그러나 당시로서는 이것이 매우 어려운 일이었기에 이 열쇠를 아는 사람들 사이의 안전한 통신이 가능하리라고 여겨졌던 것이다.
이후 이 암호화 기계가 에니그마란 이름으로 상용화되고, 이후 군용으로 발전되면서 열쇠 이외에도 몇가지 더 복잡한 기구가 추가되었다. 우선 회전자에 링을 두르고 그 위에 알파벳을 새겨 놓았다. 이러면 알파벳 링을 돌리면서 회전자 각 단자(핀)에 대응되는 알파벳을 조정할 수 있었다. 예를 들어 공장 출고시에는 회전자의 1번 핀이 A, 2번 핀이 B, 3번 핀이 C,…로 대응을 시켰더라도, 나중에 링을 돌리면 1번 핀은 P, 2번 핀은 Q, 3번 핀은 R,…로도 사용이 가능했다. 이로 인해 경우의 수가 26배 만큼 늘어나게 된다.
다음으로 회전자가 암호화 기계에 붙박이로 설치되어있지 않고, 슬롯에 이를 바꿔가며 삽입할 수 있도록 만들었다. 만약 3개의 슬롯을 갖춘 암호화 기계와 5가지 종류의 서로 다른 회전자가 준비되어 있다면, 이들의 순열(permutation)만큼 경우의 수가 늘어난다. 이 경우에는 5 x 4 x 3 = 60배가 늘어나는 효과가 있다.
![]() 회전자의 좌측면 | ![]() 회전자의 우측면 | ![]() 회전자 3개를 연결한 상태 |
마지막으로는 Steckerboard라고 불리는 플러그 보드가 있었다. 위에 설명한대로 회전자에서 한 번 뒤엉킨 회로 채널 26개는 각각의 디스플레이 램프(A~Z)로 연결되는데, 각 채널을 유선 플러그로 한 번 더 바꿀 수 있게 제작했다. 예를 들어 출고시에 마지막 회전자의 3번 핀에서 전기신호가 나올 때 C 램프에 불이 들어오게 만들었다고 하더라도, 플러그를 다른 곳에 끼우면 G 램프에 불이 들어오게 바꿀 수 있었다.

Steckerboard의 모습. 아래 번호가 새겨진 단자에 플러그를 바꿔끼울 수 있다.
결과적으로 에니그마를 갖고 암호문을 만들고 해독하기 위해서는 다음 4가지의 정보가 필요했다.
- 열쇠
- 회전자별 알파벳 링 위치
- 슬롯별 회전자 종류
- 플러그 보드 단자간 배선
이 때문에 똑같은 기계로도 수많은 다른 암호화 가능성이 존재했다. 최악의 경우 암호화 기계장치('에니그마') 하나를 적에게 뺏기더라도 통신 보안에 즉각적인 치명상은 가해지지 않는다는 이야기이다. 동시에 이는 뒤에 나올 전시 에니그마 관련 작전의 목표가 단순히 에니그마 기계의 탈취는 아니었음을 말해준다.
1차 세계대전기 정보전의 결과와 독일군의 에니그마 채용
그렇다면 과연 이러한 기계식의 에니그마 시스템이 독일군에 의해서 채용될수 있었던 것은 왜일까? 2차 세계대전 주요 참전국들 중에서 독일군 같은 규모로 암호화 기계를 이용한 경우는 없었는데 어떤 바탕이 이를 가능하게 했던 것인가? 여기에는 1차 세계대전기 정보전에 대한 이해가 필요하다.
흔히들 국내에서는 2차 세계대전 당시 연합국과 추축국 사이의 정보전만 약간 관심을 끌고 있지만, 이와 유사한 막후의 사건은 이미 1차 세계대전 때도 있었다. 1차 세계대전 중이던 1914년 8월 26일 0시 30분 경, 독일해군 발틱함대 소속 소형순양함(경순양함보다 작은 독일의 독특한 함종임) 마그데부르크 호가 실수로 핀란드 만 입구 부근의 오덴스홀름(Odensholm)이란 작은 섬에 좌초하는 사건이 벌어졌던 것이다. 새벽까지 마그데부르크 호를 다시 끌어내려는 시도가 이어졌으나 결국에 이는 실패로 돌아갔다. 날이 밝자 사태를 파악한 러시아 발틱함대 소속 전함들이 몰려왔다. 하는 수 없이 독일 수병들은 황급히 지원나온 어뢰정을 타고 퇴함해야했다. 이 때 함정의 통신병들이 치명적인 실수를 저질렀다. 비화통신용 난수 암호표(Signalbuch, signal book)를 확실히 파기하지 못했던 것이다. 일부는 함내 사물함에 놔두고 오기도 했고, 일부는 퇴함 도중에 바다에 빠뜨려버리고 말았다. 이후 함정을 접수하고 함내와 인근 해역을 수색한 러시아 해군은 바다 위에 떠다니거나 함내에 굴러다니던 독일해군 암호표(Signalbuch der Kaiserlichen Marine)를 고스란히 회수하게 되었다. 이 복사본은 동맹국 영국에게도 전달되었다.

독일 소형순양함 마그데부르크 호
그 결과 이미 이런 대전 초반(1914년)부터 영국 해군은 독일 해군의 통신문을 족족 해독해서 적정을 훤히 들여다볼 수 있었다. 유틀란트 해전을 비롯하여 굵직한 영국 대함대(Grand Fleet)와 독일 대양함대(Hochseeflotte) 사이의 여러 격돌에서 번번이 독일이 허를 찔린 것은 이런 이유가 있어서이다. 영국은 이 덕에 대전 내내 상당한 해군력을 건설한 독일의 위협을 북해 저지선 안쪽에서 봉쇄하는데 성공했다.
반면 독일은 여러 징후에도 불구하고 암호표가 연합국 측에게 넘어갔을 가능성은 그다지 심각하게 고려하지 않았다. 이것은 독일 해군 수뇌부가 암호해독(codebreaking)의 기술적 문제에 무지했기 때문이었다. 독일 해군은 뒤늦은 1917년 5월에야 새로운 Allgemeine Funkspruchbuch(일반무선전문표)를 도입하며 암호 체계를 바꿨다. 이는 마그데부르크 호의 좌초 이후 거의 3년만의 일이었으며, 이미 독일 해군의 기세가 수그러든 뒤였다.

결국 독일은 패전했고, 셰르비우스는 자신의 암호화 기계를 군에 납품하는데 실패했다. 하지만 그는 암호화 기계에서 손을 떼지 않고, 1923년에 Gewerkschaft Securitas 사(社)가 설립한 Chiffriermaschinen Aktien-Gesellschaft의 이사직을 맡아 상업용 암호화 기계 제품을 출시한다. 이 제품의 상품명이 바로 그 유명한 "에니그마 (Enigma)"였다. 상업용 제품으로 설계가 이뤄지면서 에니그마에는 추가적인 보안장치가 마련되었다. 회전자 슬롯을 만들어 여러 종류의 회전자를 골라 위치를 바꿔가며 끼울 수 있게 만든 것도 이 때의 일이었다.
이 가운데 가장 주목할만한 것은 직렬로 연결된 회전자들 말단(맨 왼쪽)에 Umkehrwalze(reflector. 反轉子)라는 장치를 단 것이다. 반전자를 도입하면서 하나의 기계로 암호생성기(평문→암호문)와 암호해독기(암호문→평문)의 기능을 병행할 수 있게 되었다. 예를 들어, 어떤 열쇠 하에서 A 키를 쳤을 때 K 램프에 불이 들어왔다면, 같은 열쇠를 놓고 K 키를 치면 거꾸로 A 램프에 불이 들어왔다. 이런 대칭성이 생기면서 복잡성이 떨어지는 단점은 있었으나, 적어도 통신을 위해 기계 2개를 갖고 다녀야 하는 불편은 사라졌다.
![]() L 키를 쳤을 때 Q 램프가 켜지고 (암호생성기), | ![]() 거꾸로 Q를 치면 L 램프가 켜진다 (암호해독기) |
한편 독일 해군은 대전 중은 물론 대전 후까지도 1914~17년 동안 자신들의 암호체계가 부처님 손바닥 위의 손오공 마냥 영국 해군에 의해 훤히 뚫려 있었다는 사실을 모르고 있었다. 이게 알려진 것도 1차 세계대전 당시 해군장관(First Lord of the Admiralty)을 역임했던 윈스턴 처칠을 통해서였다. 처칠은 1923년에 전시 회고록 『The World Crisis』를 출간했는데, 여기서 그는 마그데부르크 호의 암호표가 고스란히 연합국 손에 넘어와서 독일 해군 작전을 꿰뚫을 수 있었다고 자랑스럽게 기술해 놓았다.
이것은 독일 해군에게 뒤늦은 충격으로 다가왔다. 패전 후 수 년이 지나도록 까맣게 모르던 사실을 처칠의 책이 나오고서야 알게 되었으니 치욕도 이만저만한 것이 아니었다. 그 정도로 독일 해군 통신 보안체계의 허술함이 백일하에 드러난 만큼 완전한 변혁이 매우 시급했다. 독일 해군은 이왕이면 다른 나라에서 아직 채용이 되지 않았고, 해독이 지극히 어려운 암호화 기술을 도입하고자 했다. 결국 상업용의 여러 솔루션이 테스트된 끝에, 셰르비우스의 에니그마를 해군의 새로운 암호화 방식으로 채용했다. 결국 1925년에 최초의 군용 에니그마가 해군에 인도되기 시작하였다.
이후 육군(Heer)도 해군의 새로운 암호화 기술에 주목하여 1928년에 에니그마를 도입하기 시작했다. 아울러 육군과 해군에서는 히틀러 집권 이후 베르사유 조약의 파기와 그에 따른 급격한 재무장-확장에 발맞춰, 에니그마의 활용도를 높이기 위한 개선에도 노력했다. 육군에서는 복잡도를 증가시키기 위해 Steckerboard라는 플러그 보드를 추가했다. 그리고 상세한 직위별 보안 등급을 나누고, 암호화에 쓰일 암호표도 이 등급에 따라 다단계로 나눠놨다.
이처럼 에니그마라는 당대 선진 기술은 1차 세계대전 정보전의 치욕 때문에 순순히 도입될 수 있었다. 더군다나 군용화되면서 추가된 다양한 안전장치로 인해, 이 획기적인 시스템은 다른 어떤 적성국도 뚫기 어려울 것 같아 보였다. 그러나 과연 그랬을까?
(2편으로 이어집니다……)
이 글은 스프링노트에서 작성되었습니다.
트랙백 주소 :: http://blog.periskop.info/trackback/143
-
Subject: U-571 (U-571) 2000년 프랑스, 미국
Tracked from 스티븐의 전쟁영화보고評 2008/10/22 08:45 삭제U-571 (U-571) 2000년 프랑스, 미국 제2차세계대전 당시 연합군의 선박들이 독일군 잠수함 U-보트의 공격으로 연일 파괴되는 상황속에서 독일군 잠수함에 탑재된 암호해독기(Enigma)를 탈취의 임무를 부여받은 미군 잠수함 부대원들의 모험을 그린 전쟁액션물 감독 : 조나단 모스토우 Jonathan Mostow 출연 : 매튜 맥커너히 Matthew McConaughey 빌 팩스톤 Bill Paxton 하비 케이텔 Harvey Keitel 존..









댓글을 달아 주세요
관리자만 볼 수 있는 댓글입니다.
지적 번번이 감사합니다.^^
아.. 어디서 많이 본글이라 그랬더니.. ^^;;
이젠 기억력이 가물 가물하네요.
(금단현상인가?)
오랜만에 다시 보니 반갑네요.
그러시군요, 제가 '많이' 오랜만에 올렸는데 기억하신다니 다행입니다.^^
정말로 좋은글입니다. 잘보고 갑니다!!!
좋게 봐 주셔서 감사합니다.^^
하이텔 군사동에서 연재하신 거로 기억이 나는데...8년도 안되는 사이 통신 환경이 확 바뀌었군요.기자 초년병 때 여론반응을 알아보기 위해 천리안,하이텔,나우누리 들락날락거렸었죠.지금은 뭐...옛 생각이 나 몇자 끄적거렸습니다.
요즘 기자생활은 어떠하신지요? 언제 만나뵈면 좋겠네요.^^
좋은 글 잘 읽었습니다.
U-571은 초등학교 때 굉장히 재미있게 봤던 건데 말이지요.. 저거 덕에 한 동안 잠수함 함장이 되는 망상에 빠지곤 했었던지라 좋은 글 더 재미있게 읽었습니다. =ㅅ=;;
근데 주인공이 미국인들이었는지는 기억이 가물가물합니다.. ㄱ-;
영국 육군 쪽에서 한 명 있었던 건 확실한데.....
영화 스토리가 미 해군 잠수함 S-33호가 독일 잠수함으로 위장하고 U-571을 도와주는 척하다가 에니그마를 탈취한다는 것이었죠. 미군이 주인공 맞습니다.^^ 영국군도 끼어 있었는지는 저도 좀 헷갈리네요.
오옷! 동영상에 사진자료까지 >.<
감사합니다~
별말씀을…… 덕분에 수렁에 빠진 글 하나 건져 올렸습니다.^^