이미테이션 게임 - 에니그마의 해독방법과 앨런튜링의 생애이미테이션 게임 - 에니그마의 해독방법과 앨런튜링의 생애

Posted at 2015. 4. 24. 11:36 | Posted in 다양한 정보
    




에니그마는 제2차 세계대전에 쓰인 독일의 암호기입니다.

제1차 세계대전 종전 후에 독일군은 자신들의 암호체계가 뚫렸다는 사실을 한참뒤에 알고 (처칠이 쓴 1차대전 회고록을 읽고) 커다란 충격을 받았습니다. 자신들이 계속 연합군에 의해 농락되고 있었다는 것을 안 뒤 이를 반성한 독일군은

제 2차세계대전에 당시로서는 가장 강력했던 기계식 암호화 기법을 사용한 에니그마 암호기를 도입해 더 강력한 기술을 적용하여 사용했고
오랜기간 독일의 에니그마는 가장 강력한 암호체계로 난공불락을 자랑했습니다.

영국등 연합국에서는 이 에니그마를 뚫느냐 마느냐가 또다른 전쟁이었죠.



에니그마의 작동원리는 다음과 같습니다.

(사실 저도 100% 확실히 이해는 하지 못했지만 일단 이해한것만 쉽게 풀어써보겠습니다.)


에니그마는 평문 즉 제대로 된 문장을 치면 이걸 암호화해서 암호문으로 바꿔주는 기계입니다.

HELLO 를 입력하면 H, E, L, L, O 가 다른 알파벳과 대응해서 평문을 받는쪽의 기계에 다른 단어로 나오게 되죠.


그리고 H를 계속 친다고 해도 계속 같은 알파벳으로 바뀌는게 아니라 처음엔 A로 바뀌고 두번째는 G로 바뀌고 세번째는 M으로 바뀌는등 계속 바뀝니다.





이를 가능하게 해주는게 에니그마 안에 있는 회전자입니다. 기계안에 회전자가 있는게 보이시죠?





에니그마에는 3개의 회전자가 있었는데 나중에 보안을 높이기위해 5개로 올립니다.
간단히 해서 E를 입력하면 1번째 회전자가 J로 받고 2번째 회전자가 R로 받고 3번째 회전자가 R로받고 뭐 이런식인데
이 회전자가 한번 칠때마다 회전합니다.

첫번째 회전자가 타자 한번 칠때마다 1번씩 움직여서 모두 26번 움직이면 두번째 회전자가 1번 움직이고 또 두번째 회전자가 26번 움직이면 세번째 회전자가 한번 움직이는 식으로 움직여서 경우의 수를 더 높이게됩니다.

그리고 회전자 1, 2, 3 이 서로 자리를 바꿀수도 있구요.






그리고 뒤에 있는 플러그판은 임의의 두 글자를 서로 교환하여 줍니다.
이를 통해 가능한 조합의 수를 더 늘려주고 한 글자는 절대로 똑같은 글자로 암호화되지 않습니다.

A와 S를 선으로 연결해두면 A로 나온건 S로 바뀝니다. 즉 회전자를 거쳐서 나온 암호를 다시한번 바꿔주는 역할을 합니다.

이 반사체인 플러그판에 의해 에니그마는 절때 어떤 글자를 임력하면 그 글자와 똑같은 글자로 암호화되지 않게 됩니다.






대충 구성도는 다음과 같습니다.

키를 입력하면 빨간화살표대로 가서 3개의 회전자를 통과하고 다시 플러그판을 통과해서 최종적으로 상대의 에니그마에 암호화된 키가 나오게됩니다.





독일군은 매달 이 에니그마의 설정이 날짜별로 적혀있는 책을 만들어 배포했습니다.
이 책은 불에 잘 타고 물에 넣어도 잘 지워져 보안이 잘 유지되게끔 만들었는데

독일군은 이 에니그마의 설정이 나온 책대로 매일 설정을 바꿉니다.


설정책에는 회전자 설정과 회전자 위치 플러그판 설정등이 적혀있는데

1943년 3월 7일
3,1,2
D, H, C
(OG) (LX) (PE) (DY)  

이런식으로 쓰여있으면

3,1,2는 회전자를 3번째, 1번째, 2번째로 맞춰놓고
D,H,C에 의해 첫 시작을 D, H, C로 맞춰놓습니다.
(OG) (LX) (PE) (DY)  는 플러그판의 설정인데



여기에 O와 G, L과 X, P와 E를 케이블로 연결해둡니다.





여기서 끝이 아니라 암호를 보내는쪽이 자신만의 초기설정을 알려줍니다.

가령 책의 오늘 암호 설정은 XYZ 암호를 보내는쪽이 설정을 ABC로 하고 싶다. 그럼 ABCABC 로 암호를 보냅니다. 상대는 그럼 암호화된 글자를 받게 되는데 이를 오늘 암호설정인 XYZ로 풀어보면 ABCABC가 나옵니다. 그럼 아 오늘 설정을 ABC로 하겠다는거구나 하고 다시 ABC설정으로 에니그마 설정을 바꿔 해독을 합니다.




그럼 연합군은 이 에니그마를 어떻게 풀었을까


독일군이 사용하는 설정값을 그대로 알아내어 독일군에게서 훔쳐오거나 빼았은 에니그마 기계에 적용해서 연합군도 똑같이 암호를 해독하면 됩니다. 그럼 설정값을 어떻게 알아내느냐...


이 초기설정값을 두번이상 사용하면 안되는데 독일의 통신병들이 귀찮으니까 여러번 사용하고 또 단순한 AAA같은걸로 사용하고 또 자신이 좋아하는 특정문자나 애인의 이름 CILLY 같은걸로 계속 사용하다보니 이게 자주반복되어 해독이 쉽게 되는거죠.


그래서 처음에는 이 방식으로 해독을 했고

폴란드 해독가들이 먼저 에니그마의 암호 해독을 시도했는데 이 메시지 키를 두번 전송하는 취약점에 거의 전적으로 의존하고 있었습니다.

한편 영국에서는 블레츨리에 앨런튜링등이 중심이 된 암호해독반을 만들었는데 블레츨리 파크에서는 이 취약점이 금방막힐수 있다고 생각하고 앨런튜링은 다른 취약점을 이용한 암호 해독법을 연구하게 됩니다.




1939년 9월, 앨런 튜링은 암호 해독을 자동화할 수 있는 전기기계식 계산기인 봄브(영어: Bombe)를 설계했습니다.

튜링은 특정 조합이 아닌 임의의 평문을 바탕으로 자동 해독을 수행할 수 있게 봄브를 만들었는데
이 튜링의 봄브는 회전판 순서와 회전판의 초기설정, 그리고 플러그보드의 설정에 따른 17,576 가지의 모든 가능성을 시험해보고, 논리적으로 있을 수 없는 조합을 제거하는 방식으로 동작했습니다.

먼저 암호해독가가 예상되는 평문과 그에 해당하는 암호문을 입력하고 봄브를 동작시키면, 봄브는 모든 가능성에 대해 36개의 작은 에니그마를 동작시켜 바로 설정값을 알수 있게끔 했습니다.


그리고 경우의 수를 최대한 줄이는 노력을 했는데 모든 가능성을 다 계산하려면 그 경우의 수가 너무나 많아집니다. 당시의 전자계산기인 봄브로는 그걸 다 일일이 계산하기가 힘들었죠.
일단 에니그마의 가장 큰 특성중 하나인 에니그마의 평문이 같은 글자로 암호화되지 않는다는 가정을 추가했습니다. 이로서 경우의 수를 상당히 많이 줄일수 있었습니다.

그리고 암호화되기전 평문을 추정하는 여러 단서들을 찾았는데
독일의 암호병들은 자주사용되는 메시지를 계속 사용했고 이는 암호해독에 많은 도움을 주었습니다.

암호문마다 있는 Heil Hitler (하일 히틀러) 라던지 자주 사용되는 문구인 Keine besonderen Ereignisse (보고할 것 없음, 또는 이상 무) An die Gruppe (집단군에게) 등은 암호해독에 많은 도움을 주었고 에르빈 롬멜 원수의 병참장교는 항상 동일한 인사말로 메시지를 시작했기 때문에 쉽게 해독할 수 있는 빌미를 주었습니다.

또 독일군은 숫자를 입력할때 알파벳으로 입력해서 보냈는데 앨런 튜링은 이를 알아내고 지금까지 해독된 메시지들을 다시 살펴보았는데, 모든 암호문의 90%에 EIN (숫자 1) 이 들어간다는 사실을 알아냈습니다. 앨런 튜링은 이를 바탕으로 모든 회전판 설정에 대해 EIN이 암호화되는 경우의 목록을 작성하였고 목록은 평문 해독이 거의 자동적으로 이루어지게 하는 데 도움을 주었습니다.


이것이 에니그마의 암호문과 평문이 절대 같은 글자가 될 수 없다는 특성과 합쳐지면, 경우의 수가 상당히 많이 줄어들게 되는거죠.

공군 총사령간 헤르만 괴링은 일상적인 통신이나 농담을 암호망으로 보내 많은 평문을 제공해 주었고 블레츨리 파크는 이것을 "괴링 농담"이라고 불렀으며 암호 해독에 많은 도움이 되었습니다.




그리고 이러한 암호해독은 제2차세계대전에서 연합군이 이기는데 큰 공헌을 하게 되며 수많은 사람들을 구했고 전쟁을 최소 2년은 앞당겨 끝낼수 있게 했습니다. 독일군은 에니그마가 이론적으로 해독 가능하다는 것은 알고 있었으나 해독에 필요한 엄청난 경우의 수를 모두 시험해볼 방법이 존재하지 않을 것이라고 믿었기에 암호가 해독될거라고는 생각도 안하고 있었습니다.



그럼 전쟁을 일찍끝내고 희생자를 최소화하는데 큰 공헌을 세운 앨런튜링은 이후 어떻게 되었을까요






컴퓨터에 있어서 이론적 토대를 제시하였고 프로그래밍 가능 전자 컴퓨터의 기술적 토대가 된 튜링 봄버를 제작하여 현대 전산학과 정보공학의 아버지로 불리는 앨런 튜링은 그 말년이 상당히 비참했는데

앨런 튜링은 동성애자였고 당시 영국의 법으로는 동성애는 불법이었습니다.

1950년대 영국은 동성애를 법으로 금지했으며 이 동성애 금지법에 의해 앨런튜링은 대중에게 범죄자 취급을 받게 되며 재판에 서게 됩니다.
그리고 징역이나 여성 호르몬 투여를 통한 화학적 거세 둘중에 하나를 선택해야 했는데 교도소에 가면 연구를 계속 할수 없으니 화학적 거세를 선택해야 했고

이로인해 앨런튜링은 신체적, 정신적 타격을 입게 되었습니다.

[아 글쎄 가슴이 나오는 게 아닌가!]

앨런튜링이 여성호르몬제 주사를 맞고 자신의 친구에게 보낸 편지의 내용입니다.



그 후 몇년되지 않아 앨런튜링은 사과에다 독약을 주사한뒤 이를 깨물어 먹어 1954년에 청산염 중독으로 사망합니다.


앨런튜링은 이후 2013년에 와서야 스티븐 호킹을 비롯한 수만명의 청원이 접수되어 영국 정부가 여왕 특별 사면령을 내려 공식적으로 복권됩니다.




이를 영화화한게
작년에 개봉했던 이미테이션 게임입니다.
베네딕트 컴버배치가 앨런 튜링 역을, 키이라 나이틀리가 약혼녀 조안 클라크 역을 맡았으며 베네딕트 컴버배치의 열연이 돋보인 영화입니다.

영화제목 이미테이션 게임은
앨런 튜링이 인공지능 개념을 설명하면서 언급한 테스트에서 따온것으로 튜링 테스트 혹은 이미테이션 게임이라고 불리워 집니다.






내용참조

http://ko.wikipedia.org/wiki/%EC%97%90%EB%8B%88%EA%B7%B8%EB%A7%88%EC%9D%98_%ED%95%B4%EB%8F%85
http://blog.naver.com/piglet2015/220279521861
https://mirror.enha.kr/wiki/%EC%95%A8%EB%9F%B0%20%ED%8A%9C%EB%A7%81









//