이니그마 2. 이니그마의 구조 본문

History/World War

이니그마 2. 이니그마의 구조

아르미셸 2008.03.24 04:27

이니그마가 어떻게 해독되는지를 말하기 전에 먼저 아는 횽들은 다 아는 거지만, 이니그마의 구조에 대해서 알아볼 필요가 있겠지. 그 구조라는 건 어찌보면 굉장히 간단한데, 해독하기 위해서는 구조에 빠삭할 필요가 있고, 지금 적어둔걸 몇번씩 다시 생각해봐야 할지 몰라. 해독하는 부분에 들어가면 얼마나 복잡해지고 시간이 걸릴지 모르니까, 일단은 구조에 대해서만 올려볼께. 몇번씩 수정해야 할지 몰라.

이니그마라는 건 기본적으로 키보드, 플러그보드, 전구(모니터 대신으로 생각하면 되는 거), 회전자로 구성되어 있고, 생긴건 대충 타자기 처럼 생겼다고 보면 되거든? 그 모양은 영상으로 보면 더 이해하기 쉬울거야.

영어를 알아듣는 횽은 영상보면 대충 감 잡았을 것이고, 좀 더 도식화 해서 보자. 아래 있는 게 이니그마 개념도거든? 여기서는 키가 4개만 나와있지만 원래는 26개의 키가 있고, 로터(5)에서 돌아가는 부분도 배선이 26개야. 간략히 보자.

영상에서 본 것처럼 이니그마의 기본틀은 우리가 사용하는 키보드에서 숫자랑 이것저것 불필요한 부품을 뺀거라고 생각하면 돼. 위에 그림에서 2번에 나와있는게 키보든데, 이걸 누르면 그 순간 밧데리(1)부터 회로가 연결되는 거야. 최종목적지는 전구(9)로 해당키보드로 입력한 문자가 어떤 암호가 되는지를 설명해주는거지. 키보드를 누르면, (3) 플러그 보드를 거쳐서 신호가 로터(5)로 이어지게 되는데, 이 로터를 통해서 암호화가 이루어지는거야.

A >  D

B >  A

C >  B

D >  C

이런 식으로 변환되지. 로터 1개는 그 자체가 암호화 장치고 3개나 되는건 더 복잡하게 만들기 위한 거야. 로터 3개를 지나고 난 신호는 반사판(6)을 거쳐서 다시 로터를 통과해야해. 그 다음에 신호는 플러그 보드를 통과하는데, 만약 플러그보드에 배선이 별도로 연결되어 있으면 그게 다시 신호를 바꿔주지. 그래서 최종적으로 (9)에 표시되는 거야.

이 내용이 이해가 되나 모르겠다. 내 경우는 완전히 이해하는데 6개월쯤 걸렸거든? 이 말을 이해하기 위해서 존 키건의 책에서 글을 좀 인용해보자.

"... 타자기 키보드의 키를 누르면 오른쪽 디스크(4)로부터 첫번째 로터(5)의 오른쪽 면으로 전기 펄스가 전달된다. 로터는 내부 배선을 통해서 이 펄스를, 이를테면 디스크 왼쪽 면 위에 A에서 B로 변형시켜 놓는다.(사실은 배선의 흐름이 그런 작용을 하게 되는데, 암호해독가들은 훨씬 더 복잡한 무엇인가가 관여하고 있을 것이라고 생각했다.). 두번째 디스크의 오른쪽 면은 이 펄스를 받아 내부 배선을 통해서 그것을 왼쪽 면으로 보낸다. 이어서 세번째 로터가 그와 유사한 작동을 한다. (말하자면 세개가 같은 방식으로 작동한다). 이 펄스가 세번째 로터를 떠나게 되면 네번째 반사디스크(6)가 그걸 받아들여 입수한 것과 똑같은 경로를 따라 다시 돌려보낸다. ... 이 펄스의 최종 목적지는 전구인데, 그것은 각기 서로 다른 알파벳 문자를 의미했다. 수신 기계의 각 전구들이 차례대로 점화됨에 따라 그것ㄷ르은 평문의 메시지를 나타낸다. 그러나 펄스가 전구에 도달하기 이전에 그것은 또 다른 변환과정을 겪는다. 이 펄스는 회귀 행정의 마지막에 수동 전화 교환기의 그것과 유사한 플러그 판으로 이동한다. 이 판위에서는 6개의 문자들이 다른 6개의 문자들에 접속된다.(나중에는 플러그 수가 증가했다.) 이 접속은 매월과 매주, 매일, 그리고 마침내는 매일 2회의 사용지침에 따라 바뀐다...."(존 키건, 정보와 전쟁. pp. 196~197) .

로터의 연결부.(왼쪽에서 본 모습)

로터의 오른쪽. 내부에 연결되어 있는 톱니바퀴 모양에 주의

로터의 내부 구조

1. 죄임쇠. 로터가 1회전하면 옆의 로터를 회전시킨다.
2. A의 위치를 고정시키기 위한 정렬용 고리(0점 조준기 같은거)
3. 문자판 고리, 숫자가 붙어있는 경우도 있다.
4. 커넥터(단자) 판
5. 커넥터와 핀을 연결하는 배선(실제로는 복잡하게 꼬여 있으며 글자의 치환은 여기서 이뤄진다.
6. 스프링이 붙어있는 핀 단자.
7. 회전고리. 알파벳의 위치를 바꿀때 사용한다.
8. 회전축.
9. 조작용 톱니. 로터의 초기 위치를 바꿀때 사용된다.
10. 회전걸림틀

3개의 로터가 결합된 모습.

이 로터는 고무나 경화수지로 만들어져 있고, 하나 하나가 일종의 암호기를 하고 있는데, 이 자체만으로는 그냥 글자를 다른 걸로 대치해줄 뿐이야. 예를 들자면, AAAABC라고 입력을 했다면, DDDDHK가 나오는 식이 되거든. 이걸로는 도수분석으로 결국 풀리게 되어 있어. 그래서 이런 분석을 방지하기 위해서 로터를 일정한 규칙에 의해서 회전을 시키는 장치가 붙어 있지.

키보드를 한번 칠때마다 막대기가 눌러서 로터를 회전시키게 되는데, 모두 같은 방법으로 회전하는 건 아니지만 첫번째 로터는 누를때마다 찰칵찰칵 돌아가지. 이 때문에 글자마다 암호화 패턴이 바뀌므로, AAAABC라고 입력해도 DXKIOP가 나오게 되고, 이렇게 되면 글자가 몇번이나 사용되는 지를 계산해서 원어는 무엇인지를 파악하는 도수분석은 불가능해 지는 거야.

그리고, 그에 더해서, 암호화된 코드를 다시 해석하기 위한 반사판(6)이 있어. 맨 처음 그림을 보자. 그 회로를 자세히 보면, 6번이 있기 때문에 암호화가 더 복잡해지는 외에도, A를 눌러서 D가 나오는 회로기 때문에 같은 조건이 되면, D를 눌러도 A가 나오게 되는거야. 즉, 불이 들어온 걸 모아서 전송하고, 받은측에서 그걸 키보드로 입력하면 해독문이 불이 들어오는 거지.

이걸로도 덜 복잡하다고 생각했는지, 규칙적인 면을 더 줄이기 위해서 플러그 보드를 추가했어. 이게 뭐냐면, 군대에서 혹시 SB22같은 수동식 통신교환기를 본적이 있는 횽이 있을꺼야. 기본적으로는 그와 비슷해. 몇개를 골라서, 다른 걸로 의도적으로 바꿔놓는 거지. 이 세팅은 일정한 규칙을 정해서 바꾸게 되어 있어.

이제 대충 구조는 이해가 되었으리라 보고, 이게 어떤 식으로 경우의 수를 늘려주는 지 확인해 보자.

로터 하나가 형성될 수 있는 경우의 수는 26!래. 정확히 수로 말하면 403,291,461,126,605,635,584,000,000 야.

이걸 빼고 기계를 훔쳐내었다고 가정하고, 그럴 경우 이니그마가 만들어내는 설정만 알고 있으면 암호는 당연히 해독되니까 이니그마 설정의 경우의 수만 말해보자.

디스크의 위치 : 26 x 26 x 26 = 17,576

디스크의 배열 : ABC, ACB, BCA, BAC, CAB, CBA = 6

플러그 판 접속 = 1,000억 이상

총계 = 10조 이상.

여기에, 로터의 바깥 문자판을 회전시킬 수 있으므로, 다시 곱하기 17,576

이 외에도 다른 변수들이 많은데, 예를 들자면 디스크 판은 3개만 있는게 아니라 정식채용되었을 시점에서 이미 5개 중에 3개를 고르게 되어 있지. 이 쯤부터는 경우의 수가 계산할 필요가 없을 정도로 너무 복잡해져 있기 때문에 설정을 하나씩 골라서 무작위로 테스트 할 수가 없는거야. 그래도, 왜 독일애들이 이건 현실적으로 난공불락이라고 생각했는지 부연설명하자면, 만약 최악의 경우에 상대방이 이니그마를 가지고 있어서 암호를 해독할때, 디스크 초기 설정만 알면 되는 경우라고 해도, 각 설정당 1분씩 한순간도 쉬지 말고 계속 체크하며 작업해도 전부 체크하는데 2주가 필요해. 군사 정보가 2주 늦어지면 그건 이미 게임 끝난거 아니겠어?

얼마전에 이니그마를 분산형 컴퓨팅으로 해석하는 M4프로젝트가 있었는데, 사람들은 이미 다 풀어버린 걸 풀어낸게 뭐가 그리 대단하는 건가.. 하고 생각했을지도 몰라.  하지만, 컴퓨터가 있고 공개적으로 많은 자원을 사용하니까 가능한거지 컴퓨터 없이 한다고 생각하면 막막할꺼야. http://www.kbench.com/news/?cc=0&pr=0&pg=0&no=30648

덧붙여 말하자면 이 경우의 수 문제도, 암호 해독하는 측이 기계의 기본 구조를 이해하고 있다는 걸 전제로 하는 거거든. 도입했을때, 독일애들은 궁극의 암호기계라고 생각했어. 그럴만 하지. 다음에는 이게 어떻게 해독되었는지를 알아보자.

p.s. 아직도 이해가 안되거나, 실제로는 어떤 식으로 작동한다는 건지 알고싶다면,

http://russells.freeshell.org/enigma/를 방문해서 모의 이니그마를 작동시켜 보자.

신고

'History > World War' 카테고리의 다른 글

일제 코흐, 마녀 혹은 희생자.  (1) 2008.04.29
1차대전 남부전선  (0) 2008.04.27
이니그마 4. 알란 튜링의 등장  (1) 2008.04.14
SIGABA  (0) 2008.04.13
이니그마 3, 레예프스키 이니그마를 간보다  (1) 2008.03.24
이니그마 2. 이니그마의 구조  (1) 2008.03.24
이니그마 1, 이니그마 태어나다  (0) 2008.03.24
Daimler-Benz Project  (0) 2008.03.24
F8F Bearcat  (0) 2008.03.24
WASP, 2차대전에 참전한 미국의 여성비행사 들  (0) 2008.03.24
Ruhrstahl X-4  (0) 2008.03.24
1 Comments
댓글쓰기 폼