2차 세계대전 동안에는 암호화 기계로 악명 높았던 에니그마의 암호를 해독했던 일을 비롯해 컴퓨팅 분야에서는 다양한 발전이 일어났다. 봄브(bombe)나 콜로서스와 같은 컴퓨팅 기기들은 오늘날 볼 수 있는 전자 컴퓨팅 기기로 나아가는 길을 열었다. 전쟁에서 이기기 위해 엄청나게 많은 계산을 해야 하는 일들이 생기면서 좀 더 빠르고 기계화된 컴퓨팅 기기가 필요하게 되었다. 수많은 발전이 이곳저곳에서 일어나는 가운데 1945년 미국에서 만들어진 컴퓨터 에니악(ENIAC)은 전기로 동작할 뿐만 아니라 프로그램을 사용해 기능을 자유롭게 바꿀 수도 있었다.
암호화 기기 에니그마
에니그마는 1, 2차 세계대전 사이에 개발된 암호화 장치로 독일군의 비밀 통신을 위해 사용되었다. 에니그마의 장점은 한마디로 무려 150퀸틸리언(1.58×1020) 가지의 설정이 가능하다는 것이었다. 이는 누군가 암호화된 글과 에니그마를 함께 가지고 있다 해도 암호해독에 필요한 에니그마 설정값을 알지 못한다면, 모든 설정값을 일일이 확인하는 방식으로는 우주의 수명이 끝날 때까지 찾아도 올바른 설정을 찾지 못한다는 뜻이었다. 계획된 수신자만 에니그마의 암호해독용 설정값을 알고 있었기 때문에 암호화된 글이 누구나 들을 수 있는 공중파 형태로 노출되거나 전쟁 중에 에니그마를 빼앗긴다 해도 문제될 것이 없었다.
[가로챈 암호문에는 블레츨리 파크의 암호해독 팀이 이용할 만한 단서가 거의 없었다.]
에니그마는 일반 글을 입력받아 암호화한다. 암호화 과정은 완전히 기계적이기 때문에 지루하고 실수가 생길 수는 있겠지만, 사람이 연필과 종이만 가지고도 에니그마처럼 암호화할 수 있다. 암호해독 또한 마찬가지여서 에니그마의 암호해독용 설정값만 알고 있다면 사람이 해독할수 있다.
영국 비밀정보부인 MI6이 에니그마를 사용해 암호화한 무선통신문 해독을 매우 중요하게 생각했고, 이에 블레츨리 파크라는 비밀스러운 지역에 과학자를 모아 암호해독 전담 팀 만드는 일을 고려했다는 사실은 잘 알려져 있다. 앨런 튜링이 암호해독 전담 팀의 초창기 팀원이었다는 사실은 결코 우연이 아니었다. 컴퓨팅 기기에 대한 그의 이론 지식 및 실무 경험, 수학 문제를 대하는 태도 등을 고려했을 때, 튜링은 암호해독에 가장 적합한 사람이었다.
앨런 튜링 또한 전쟁이 터지기 직전 폴란드 암호국에서 1932년부터 수학적 분석으로 독일군 에니그마 설정을 역분석 해왔다는 것을 알게 돼 큰 도움을 받았으며, 독일군에게서 에니그마를 빼앗아 오길 기다릴 필요조차 없이 곧바로 암호해독 기술 개발을 시작할 수 있었다. 더욱이 폴란드 또한 독일군이 매일 바꾸기 시작한 에니그마 설정값을 알아내기 위해 여러 방법을 개발하고 있었다.
에니그마 작동 원리
[에니그마에서는 사용자가 키를 누를 때마다 회전자가 돌아가도록 만들어, 입력 메시지를 거의 해독 불가능한 메시지로 암호화했다.]
일반 단어나 문장을 에니그마에 입력하면 임의의 의미 없는 단어나 문장이 출력되었다. 암호화 장치인 에니그마는 입력받은 글자를 다른 글자로 바꾸어 주었다. 그런데 놀랍게도 에니그마에서는 이런 변환 과정이 사용자가 키보드를 누를 때마다 바뀌었다. 기계 안에 있는 회전자가 키보드를 누를 때마다 돌아갔기 때문이었다.
에니그마는 타자기처럼 생겼으나, 타자한 글자를 종이에 출력하는 대신 키보드 위에 있는 26개 전구 가운데 하나를 켰다. 즉, 사용자가 키보드를 누르면 전기신호가 발생해, 타자한 글자가 아닌 암호화된 글자 아래에 있는 전구에 불이 들어왔다. 한편, 전류가 기계 속에 흐르며, 기계는 일반 문장을 받아 완전히 다른 암호화된 문장을 만들어 냈다. 전류가 흐르는 경로는 배전판에서 시작하며, 첫 번째 문자 바꿈이 일어난다. 전류는 경로를 바꿔주는 회전자 세 개를 지나 흘러간다. 마지막으로 반사판과 회전자 세 개를 반대 방향으로 지난다. 예를 들어, 사용자가 A를 눌렀을 때, 배전판에서 K로 바뀐다. 또한, 전류가 전선 K를 타고 첫 번째 회전판을 통과할 때 K는 M으로 바뀐다. 두 번째, 세 번째 회전판을 지나며 M은 E와 T로 연달아 바뀐다. 다음으로 반사판을 지나며 W로 바뀌고, 회전자 세 개를 반대로 지나며 연달아 세 번 바뀐 뒤 배전판을 지나 글자 X 아래 전구를 켠다. 예로 설명한 변환은 모두 가정이다. 사용자가 다시 A를 누르면 어떤 일이 일어날까? 회전자가 움직이며 기계 속 경로가 완전히 달라지기 때문에 X가 아닌 다른 글자로 바뀔 가능성이 매우 높다.
회전자 세 개를 사용하면 총 17,576(26x26x26)가지의 조합이 가능하다. 또한, 다섯 개의 회전자 가운데 임의로 세 개를 선택해 임의의 순서로 사용했으므로 총 60(5x4x3)가지의 조합이 가능했다. 게다가 배전판도 고려해야 한다. 독일에서는 10개의 전선을 사용해
배전판을 설정했는데, 무려 1.5x1014개의 치환(26!/10! x 6! x 210)이 가능했다. 이 모든 것을 동시에 고려하면 기계 설정 방법의 개수는 무려 158,962,555,217,826,360,000개였다. 게다가 매일 바뀌었다.
절망적인 일기예보
블레츨리 파크에서 에니그마 암호문 해독이 한창 진행되던 당시 많은 일들이 추측에 의존했다. 특히 암호해독 전담 팀은 에니그마의 설정값을 찾아낼 봄브를 설정하기 위해 암호화된 무선통신문의 내용을 추측해야 했다. 이에 통신문에 들어 있는 예측 가능하며 정형화된 내용이 아주 매우 유용했다. 장군에 대한 의례적인 존경을 나타내는 판에 박힌 문구도 유용했지만, 보고할 내용이 하나도 없다는 충격적인 뉴스나 일기예보 등처럼 불필요하게 암호 화된 내용들도 추측에 큰 도움이 되었다. 일기예보를 뜻하는 길고 멋진 독일어 ‘Wettervorhersage’는 암호해독팀에게는 희망을 적에게는 절망을 뜻했다.
이전 글 : 앨런 튜링, 비운의 컴퓨터 선구자
다음 글 : 자바 200제 : 2개의 int형 정수 a, b의 최솟값, 3개의 int형 정수 a, b, c의 최솟값, 배열 a의 최솟값을 각각 구하자.
최신 콘텐츠