이니그마 3, 레예프스키 이니그마를 간보다
1차대전이 끝나고 폴란드가 떡하니 태어나면서 옆동네 소련이랑 한판 뜬건 알꺼야. 유명한 투하체프스키 옹이 모스크바 까지 깔짝대던 폴란드 애들을 쫓아내고 역러쉬 들어가다가 비스와 강에서 꺽였던 것도 들어봤겠지. 폴란드가 비스와 강에서 소련군 우익의 약점을 찾아내서 발라낸 건 우연이 아니었어. 슈테판 마즈키에비치를 중심으로 한 암호해독팀이 소련군 통신을 감청하는데 성공했거든. 이때 맵핵에 맛들인 폴란드는 통신감청 부분에 상당한 비중을 두고, 31년에 Biuro Szyfrow(뷰로 쉬프로프, 암호부서)라는 통합정보처를 설립해.
폴란드 정보부. 궁전을 개조한 거라서 존내 멋지다.
그런데 독일측 암호를 간보다가 폴란드 애들은 뭔가 이상하다고 생각했어. 도수분석이 통하지 않는거야. 그때까지만 해도 암호해독부의 주류는 수학자보다는 언어학자랑 고전학자들이었는데, 모두 지지를 쳤지. 심령술사까지 동원해서 어케 좀 해보려고 했는데 안통하니 폴란드 정보국에서는 지푸라기 잡는 심정으로 수학자를 20명 고용했는데, 그때 특채된 애들 중에 마리안 레예프스키라는 본좌급이 있었어.
레 본좌.
풀네임은 마리안 아담 레예프스키, 암호해독학에 명예의 전당이 있다면 당연히 들어가실만한 본좌급이지. 옛날 독일령 폴란드 출신이라 독일어를 유창하게 구사할 수 있었던 레예프스키는 독일의 괴팅옌 대학을 다니다가 1년만에 돌아와서 포젠 대학교에서 조교를 하며 직장 알아보던 중에 28년 육군 참모부 정보과에 특채되었어. 포젠 대학 출신 수학자들을 폴란드 정보부가 대거 기용한 이유는 예전에 독일 지역에 있었던 대학이라 그 곳에는 독일어에 유창한 사람들이 많았거든. 아무튼 이니그마랑 씨름하다가 레예프스키는 암호문의 처음 6자는 다른 암호랑 다르다는 데 주목했어.
전에 글을 쓰면서 레예프스키는 기계의 구조를 모르고 있었다고 적었는데, 그건 엄밀히 말하면 틀렸어. 폴란드 정보부는 상업용으로 시판되던 이니그마의 초기형을 구했기 때문에, 레예프스키는 기계가 기본적으로 어떤 원리라는 건 알고있었거든. 엄밀하게 말하면 레예프스키는 수학적으로 군의 이론을 이용해서 로터의 내부 배선을 추론해낸거야.
여기서 이니그마라는 기계에 대해서 다시 생각해보면, 암호기가 있다고 해도 설정상태가 뭔지를 전문을 보내는 쪽과 받는 쪽이 둘다 알지 못한다면 암호가 아니라 그냥 혼자 씨부리는 것 뿐이잖아. 그러니까 당연히 처음에는 양쪽이 서로의 설정을 일치시켜야 한다는 걸 추론할 수 있지. 실제로 사용할때는, 3개월마다 중앙에서 전달해주는 표준 지침서(나중에는 1개월 단위로 바뀌게되지)의 세팅으로 맞춘 다음에 자신이 로터 3개를 어디에 맞춰놓았는지를 알려주는 알파벳을 전송해야 해.
중앙에서 하달하는 그 달의 암호표. 잊어버린 샛퀴는 좆된다.
예를 들어서 중앙에서 통제하는 표준설정이 GKD고 자신이 원하는 설정이 AAA로 시작된다면, 먼저 로터 3개를 GKD로 맞춰놓은 다음(다른 설정도 중앙통제설정을 따름) 송달하려는 개인코드를 2번 입력해야 해. 자기 코드가 AAA면 AAA AAA 입력을 하고, 그러면 이니그마가 GKC LOI이런 식으로 암호화를 시키겠지 그럼 그걸 받는 쪽에서는 똑같이 표준설정 GKD로 맞춘 다음 GKC LOI로 입력을 하면 AAA AAA가 나오니까 보내는 쪽이 설정을 AAA로 맞춰놓았고 이후의 암호문은 그 설정으로 맞춰야 해독된다는 걸 아는거야.
이걸 간파한 사람은 레예프스키 한 사람만은 아니라서 레예프스키가 그걸 누구한테 들었을 수도 있고 자기 스스로 그냥 직관적으로 생각했을 수도 있는데, 아무튼 그건 중요하지 않지만 레예프스키는 그걸 통해서 로터 내부의 선 배열을 알아낼 수 있다고 생각했어
예를 들어서, 같은 날 발송한 암호문을 4개 입수했는데 그 첫머리가 각기 BJGTDN, LIFBAB, ETULZR, TFREII
라고 가정하자.
여기서 우리는 신호를 보내는 사람이 동일한 글을 두번 연속으로 전송했다고 가정하고 있으므로,
>
첫번째 암호에서 B
와 T
가 무언가 연관이 있다는 것,
두번째 암호에서 L
과 B
가 무언가 연관이 있다는 것,
세번째 암호에서 E
와 L
이 무언가 연관이 있다는 것,
네번째 암호에서 T
와 E
가 무언가 연관이 있다는 걸 알 수 있어.
>
이걸 그림으로 그려보면 이렇게 되지.
이해가 되나 모르겠다.
레예프스키는 여기에 군의 이론을 대입하면 수학적으로 풀 수 있다고 보았는데 여기서 군의 이론을 알아듣기 쉽도록 설명할 능력이 나한테 없기도 하거니와 꼭 알 필요도 없어. 그냥 직감적으로 이런 연관관계들을 계속 연결하면 전체의 형태를 추론해 낼 수 있다는 것만 알면 될꺼야. 이 작업을 반복해서 데이터를 충분히 쌓으면 후보들을 몇가지 마련할 수 있고, 그걸 토대로 로터의 배열 자체를 추론해서 복제할 수가 있는데다가 이니그마의 기초구조를 수학적으로 방정식으로 정리해서 일종의 수학문제로 만들어낼 수 있었어.
레프예스키는 암호학에 수학을 도입함으로써 명확한 체계를 세웠고 그 때문에 독일이 플러보그드를 추가하면서 프랑스나 영국측 첩보부가 완전히 손을 놓게된 상황에서도 기본적인 수학적 구조는 바뀌지 않는 한 무시할 수 있다고 보았지. 글자가 좀 바뀐다 해도 우리는 복잡하게 생각하지 않고 읽어낼 수 있잖아.
위 단락을 다시 읽어보면, 레예프스키와 플러그보드가 바뀌어 있어도 읽어내는 건 확실하지. 인간의 퍼지 처리능력 덕분이야. 게다가 alliveinbelrin이라는 답이 나오더라도 Arrive in Berlin으로 읽어낼 수 있으니까 플러그 보드는 L과 R 사이에 연결되어 있다는 걸 알 수 있지.
레예프스키가 이니그마를 풀어내었다고 하는 건 이 때문이지만,
이거 말고도 기여한게 많아.
지금까지 설명한 것은 이니그마 사용상 드러난 약점이지만,
이니그마의 구조 자체에도 문제가 있어.
이니그마는 반사자를 사용해서 문자를 치환시켜주는 구조기 때문에 절대로 A
를 암호화하면 A
가 나오지 않아.
실제로,
시험해 봐도 다른 글자는 다 나오지만 절대 A
는 나올 수 없는데,
이 특징을 이용하면
검토해야 할 가능성의 수를 획기적으로 줄여낼 수 있고 이걸 빨리 처리하기 위해서 만들어 낸 것이 이른바,
봄베 라는 기계야
암호문.
TVQLKIGWHBSTUXNTXEYLKPEAZZNSKUFJRCADVVTI …
가정하는 내용
Wetteruebersicht 0600 (
영어로는 Weathersurvey 06:00,
기상 예보일 것이라고 추측한 경우.)
Crib(
원문 중에 있는 것이 추정되는 단어나 문구)되는 문자열
WUEBYYNULLSEQSNULLNULL (Wueb=Wetteruebersicht, YY=
공백, Seqs=Sechs)
(이 밑에 나오는 것은 일관된 예로써, 암호문 원문과 비교해서 같은 문자가 되는 경우에는 그 위치로 맞춰놓은 게 아니기 때문에 기각되는 과정을 표현한 것. 굵은 글씨가 있으면 기각)
맨 오른쪽이 레예프스키. 키가 좀 작다. 옆의 두 사람은 지갈스키를 비롯한 그의 동료.
그의 덕분으로 폴란드 정보부는 이니그마의 로터와 순번표를 일목요연하게 정리해두고 있었지만 독일은 그 세팅을 38년에 전면 개편해버렸고, 그때까지 해온걸 다시 시작해야 했어. 그리고 그 시점에서 폴란드는 정보를 프랑스랑 공유할 필요성을 느끼게 되었지. 이쯤해서 글이 너무 복잡해질까봐 빼먹고 넘어간게 하나 있어. 이니그마 라고 뭉뚱그려서 부르지만, 사실은 이니그마는 몇가지 형식의 발전이 있어. 형식의 변화와 채용 및 암호해독상의 변이를 연표로 만들어보자.
1918. 세르비우스가 특허를 출원
1923. 이니그마의 A, B, C, D 타입이 전시회에 출품됨. 그 중 D형이 군에게 주목을 받음
1926. 독일 해군이 이니그마를 채용.
1928. 독일 육군이 이니그마를 채용. G타입
1930. 독일 육군이 개량형 이니그마 I타입을 정식채용하고 이것이 널리 사용되게 됨. 플러그 보드가 채용되었음.
1931. 프랑스의 스파이 “아쉬”가 이니그마의 코드와 구조를 조작도로 만들어서 넘겨줌.
1932. 레예프스키가 이니그마의 이론적 해독에 성공.
1934. 10월부터 독일 해군이 I타입을 채용
1935. 8월부터 독일 공군이 I타입을 채용
1936. 1월부터 이니그마의 표준암호코드가 1개월 마다 갱신되게 함.(이전에는 3개월에 1회)
1938. 9.15, 이니그마의 코드가 전면 개편되고 로터가 5개로 증가되어 기존의 폴란드 군 해독법이 백지화됨. 이에 대응하여 폴란드도 봄베를 만들어 냄.
1939. 1.1. 플러그보드의 숫자가 증가. 로터의 배열도 증가하면서 폴란드 한계에 도달. 7.24, 폴란드 해독 성과가 프랑스에 전달됨. 8.16, 폴란드의 복제 이니그마가 런던에 전달됨. 9.1 2차대전 개시.
아쉬. Hans Thilo Schmidt. 프랑스인에게 독일인의 풍류를 보여주다.
어라 못보던 소리가 있네? 아쉬가 누구지? 먼저 이거부터 시작을 하자. 암호명 아쉬(H의 프랑스 발음) 본명은 한스 틸로 슈미트 (Hans Thilo Schmidt) 이니그마의 채용을 결정한 루돌프 슈미트의 동생으로 형에 비해서 무능했던지 1차대전 이후의 군 감축시기에 해고되어 비누공장을 운영했지만 실패했어. 그러다가 형 덕분에 이니그마 관련된 부서를 관리하게 되었는데 돈 때문에 이니그마 관련 정보를 프랑스에 팔아넘기기로 했어.
당시 프랑스 암호부의 베르트랑이 이니그마 관련 정보를 준다는 말에 2만 마르크를 제공했는데 1주일만에 술과 여자에 다 써버렸다는 전설적인 인물로 그 후에도 7년동안 프랑스 정보부에 꼬박꼬박 암호표를 제공하고 있었는데, 프랑스는 이니그마를 해독하지 못했어. 기계의 초기 설정과 기본 세팅을 알아도 수학자의 도움 없이는 이해할 수 없다는 반증이라고 할 수도 있고, 그만큼 절박하게 느끼지 못했기 때문이라고도 할 수 있지. 사실 이 정보는 프랑스와 폴란드 간의 협정으로 폴란드 정보부에도 전달되고 있었어. 프랑스는 그걸 알아도 풀 수 없으니 별로 중요한 정보는 아니라고 생각한 모양이었지만, 레예프스키의 연구와 이 구조도가 합쳐지면 당연히 모든 독일암호를 해독할 수 있었지만 레예프스키의 상사는 만약 그 정보를 구할 수 없는 경우를 대비해서 레예프스키가 온갖 개고생 하는걸 모른척 냅두었다는 후문이야.
아무튼, 이니그마에 플러그보드가 채용된 30년에 프랑스와 영국은 독일군의 통신망에 대한 해독을 반쯤 포기해버렸어. 전에 이겼는데 그렇게 아둥바둥 매달릴 필요가 없다고 생각했는지도 모르지. 하지만, 폴란드에게는 사정이 달랐고, 레예프스키는 로터의 설정을 자동으로 체크할 수 있는 봄베 라는 기계를 만들었어. 왜 봄베인가에 대해서는 2가지 설이 있는데, 하나는 찰칵찰칵 소리를 내면서 지 혼자 작동하는 모습이 시한폭탄같다고 해서 봄베라고 불렀다는 설, 또 하나는 당시 인기있던 봄브 라는 아이스크림을 먹다가 기계구조에 대한 발상이 떠올라서 봄베라고 불렀다는 설.
어찌되었든, 레예프스키는 군이론을 이용해서 봄베 1대가 로터의 순서를 고려하지 않은 경우에 있을 수 있는 17,576(로터 3개의 알파벳이 배열될 수 있는 가능성 26 x 26 x26)가지 세팅을 스스로 점검할 수 있게 했고, 그런 봄베 6개(로터 3개가 배열될 수 있는 순서)를 돌려서 38년까지는 독일측 암호를 그날 그날 해독해낼 수 있었다고 해.
그런데, 38년부터 독일은 로터의 수를 5개로 늘려서 그 중 3개를 선택하게 했고, 이 때문에 파생되는 경우의 수를 다 점검하려면 봄베는 적어도 10개 이상 더 만들어야 했는데 그걸 만드는 데 필요한 비용은 폴란드 정보부 1년 예산의 15배였어. 게다가 이 시점에서 스파이 아쉬도 더 이상의 정보를 전해주지 않았어. 6년 동안 단물 빨만큼 빨았던 모양이지.
폴란드 정보부는 이 시점에서 자신들의 능력을 벗어났다고 판단하고 이니그마에 관한 정보를 2차대전이 6주 전에 프랑스에 넘겨줬어. 그리고, 아다시피 9월 1일 전쟁이 시작되고 독일과 소련에게 샌드위치 마크를 당하면서 폴란드 첩보부의 남은 인원들은 루마니아를 거쳐 프랑스로 도피하고, 그곳에서 다시 망명 폴란드군 소속으로 암호해독을 이어갔어.