2차대전 감청과 도청의 수단이 발달하며 보이지 않는 전쟁..즉 정보전이 시작이 된다.
연합군과 추축군은 감청부서와 스파이를 이용한 정보수집에 열을 올리고 있던 시기..
독일은 1919년 네덜란드 출신 휴고 알렉산더 코흐가 톱니 바퀴를 이용한 암호문 작성기를 이용하여
암호문을 작성하는데..이것이 바로 연합군의 최대 골치거리 에니그마(Enugma) 였다.
<수수께끼란 뜻의 독일군 암호전송기 에니그마>
에니그마는 독특한 이력을 가지고 있는데..연합군에게 최대의 골치거리인 동시에 전쟁을 연합군쪽으로 기울게 한 장본인이기도 하다..
우선 에니그마는 1920년 독일인 아우르트 세르비우스가 개발 했다..하지만 당시엔 빛을 못 보다.
독일 해군이 에니그마 시스템을 채용하여 그 후 육군과 해군..공군에 의해 계혹 개량되어 진다.
에니그마는 크게 네부분으로 나눌수가 있다.
알파벳 26자의 자판(Tastatur)
회전자(Rotor)
플러그판(Steckbrett)
전구판(Lampenfeld)
자 그럼 에니그마의 암호문 작성 방법에 대해 알아보자.
3개 의 회전자가 들어가 있는데 각각의 회전자는 26개의 원소를 가진 순열이라 보면 된다. 그림에는 간단히 8개의 알파벳으로만 표시되어 있는데 'B'가 3개의 회전자를 통해 'D'로 바뀌는 과정을 보여주고 있다. 이렇게 한 글자의 암호를 마치면 첫 번째 회전자는 조금씩 회전을 하는데 당연히 26번을 한바퀴로 하고 있다.
첫 번째 회전자가 한바퀴를 돌면 시계의 원리처럼 두 번째 회전자가 한 칸 움직이고 똑 같은 방법으로 세 번째 회전자도 움직이게 된다.
여기서 가능한 회전자의 조합 수를 생각해보면 26x26x26=17,576이다. 더군다나 회전자를 살펴보면 이들은 고정되어 있는 것이 아니라 서로 자리를 바꿀 수가 있고 (가능한 위치의 조합은 6가지이다.) 또한 그 위에 써 있는 알파벳이 회전하는 링 위에 표시되어 있어 이를 임의로 변경(Ringstellung) 시킬 수 있는데 이는 회전자의 조합 수를 더욱 복잡하게 하고 있다.
<에니그마의 회전자>
그럼 여기까지 알아본 에니그마의 복잡성을 계산해보자. 우선 회전자의 위치 선정으로 6가지의 경우의 수, 그리고 회전자의 처음 위치를 어디로 하고 끼워 넣느냐의 26x26x26의 가짓수, 거기에다가 회전 자들의 임의 변경(Ringstellung)을 통한 경우의수 26x26x26. 즉 총 6x26x26x26x26x26x26 =1,853,494,656 의 가능한 에니그마의 상태가 존재하는 것이다.
그리고 뒤에 있는 반사체(Reflector)는 임의의 두 글자를 서로 교환하여 주는데 이는 가능한 조합의 수를 더욱 늘려 줄 뿐더러 한 글자는 절대도 똑 같은 글자로 암호화되지 않게 하여
준다(예를 들어 'B'는 절대로 'B' 자신으로 암호화되지 않는다.). 보통 전쟁 초기에는 7쌍(14글자)을 서로 교환하고 나머지 12자는 그대로 통과시키게 반사체가 만들어졌었는데 이는 총 1,305,093,289,500가지의 경우의 수(이 경우의 수 계산은 생략하기로 하자.)를 가진다.
그리하여 이 경우의 수를 위의 에니그마의 상태 수와 곱하면 약 20,000,000,000,000,000,000이라는 22자리의 천문학적인 경우의 수가 나온다.
사실 이 경우의 수를 당시의 계산능력으로 추측한다는 것은 사실상 불가능에 가까웠다.
독일 암호국은 각 무선국에 이 경우의 수들 중에서 몇 가지씩을 취해 책을 만들어 배포하였다. 이 책에는 날짜별로 사용해야 하는 회전자의 상태가 적혀 있다.
통상 한 달씩 유효한 책들을 미리 만들어 배포하였고 하루씩 유효한 코드는 전쟁이 막바지에 달해서는 8시간으로 줄어들었다. 쉽게 짐작하겠지만 이 책은 어떤 일이 있어도 적에게 넘어가서는 안 되는 비밀코드인 것이다. 이 책은 아주 쉽게 불에 타버리고 물에도 글씨가 지워지게 하여(U-보트용) 적에게 넘어가는 가능성을 최소화하였다.
자 그럼 이제 독일군 무선국에서 일하는 독일 병사가 되어 문장을 암호화하여 보자. 오늘의 날짜는 1941년 12월 28일 스탈린그라드로 보내야 하는 문장은 "RUECKZUG(후퇴!)"이다. 코드 책을 찾아보니 오늘 설정되어야 하는 에니그마의 조건은 다음과 같이 나와 있다.
* 회전자 IV,II,V.
* 회전자 링의 설정 STR
* 플러그판 (AG) (BK) (EY) (IP) (ZN) (OS) (QC)
이 지침은 5개(위에서는 3개의 회전자만을 생각했으나 전쟁 발발 이후 독일 군은 회전자수를 5개로 늘렸다)의 회전자중에 IV,II,V의 회전자를 순서대로 골라 암호기에 넣고 회전자 IV에서 알파벳 S를 1의 위치에 맞추고, 회전자 II에서는 T를 1에, 회전자 V에서는 R을 1의 위치에 넣은 후 뒤쪽의 플러그판에서는 위에 적혀있는 7쌍의 알파벳들을 서로 연결시켜 주면 되는 것이다.
그런 후 암호기의 초기설정(Grundstellung)은 책에 있는 대로 하는 것이 아니라 내가 직접 정해야 한다. 예를 들어 나는 이번 전문의 초기설정 값으로'YUN'을 정했다. 그러면 코드 책에 나와 있는 오늘의 초기설정은 'FBI'라고 하면 이 'FBI'로 우선 초기설정을 한 후 내가 정한 설정 값을 두 번 반복해서('YUNYUN') 암호화하고 (예를 들어 'FYVDSD'라 하자) 이를 전송하면 된다.
그런 후에 나머지 전문은 'YUN'으로 설정한 후 암호화하여 모두 보내면 되는 것이다. 'RUECKZUG'이 'YUN'설정 후 암호화 된 값이 'DTJOHEDF'이라
하면 오늘 보내야 하는 전문은 'DTJOHEDF'인 것이다.
그러면 스탈린그라드의 암호병은 우선 같은 코드 책을 가지고 있으므로 이를 보낸 나와 같은 조건으로 에니그마를 맞추어 놓고 처음 수신된 'FYVDSD'을 오늘의 초기설정 값으로 놓고 해독하면 'YUNYUN'이 나올 것이며 앞으로 수신될 암호문의 초기설정은 'YUN'이라는 것을 알게 될 것이다. 그리하여 수신된 암호문('DTJOHEDF')을 'YUN'을 이용하여 해독하여 보니 "RUECKZUG(후퇴!)" 명령이 떨어진 것을 알게 되는 것이다.
(복잡하다..ㅡㅡ?)
하여간에..에니그마는 당시로서는 전혀 풀 방법이 없는 완벽한 암호체계 였다..
하지만..영국정보부는 에니그마의 암호문을 푸는데 성공 했는데...
그 뒤에는 튜링 콜로서스라는 알려지지 않은 인류 최초의 컴퓨터가 있었다.
<콜로서스의 모습이다.>
2400개의 진광관을 이용하여 높이 3m의 덩치를 가지고 있었던 콜로서스는 전쟁과 에그니마
암호의 해독에 쓰였기 때문에..그 존재가 국가기밀이었다. 그래서 세계최초의 컴퓨터
자리를 미국의 에니악에게 내주게 된다..하지만..누가 뭐래도 인류최초의 컴퓨터는
영국의 콜로서스 이다.
콜로서스는 튜링이라는 괴짜 수학 천재가 개발 했는다. 이를 이용하여 인력으로는
절대 풀 수 없다던 에그니마의 암호를 해독하는데 성공한다. 이때가 1943년 이었다.
<비밀을 풀기위한 노력의 흔적이다.>
< 독일의 기술이 그대로 녹아 있는 일본의 암호전송기의 모습이다.>