에니그마 기계

에니그마()는 회전자로 작동하는 암호 기계의 한 종류로, 그 이름은 고대 그리스어로 '수수께끼'를 뜻하는 아이니그마()라는 말에서 따온 것이다. 암호의 작성과 해독이 가능하며 보안성에 따라 여러 모델이 있다.

1918년 독일인 아르투르 슈르비우스에 의해 처음 고안되어 상업적 목적으로 사용되었다. 특히 제2차 세계 대전 중 나치 독일이 군기밀을 암호화하는 데 사용하였다.
오랫동안 난공불락으로 여겨졌으나 전쟁 시작도 전에, 폴란드의 암호국, 비우로 시프루프 (Bioro Szyfrów)에서 해독의 기초를 마련하였다. 이들은 이후 영국과 프랑스의 암호학자들과 정보를 공유했고, 영국의 블레츨리 파크(Bletchley Park)의 암호학자들에 의해 해독되어 전쟁 중 연합군의 전략에 상당한 도움을 주었다.

에니그마는 1945년 독일 패전과 함께 사용이 중지됐지만, 형태가 변형되어 1970년대까지 주로 상업적 보안통신용으로 사용되었다. 에니그마를 원형으로 한 군용 보안통신기 역시 1960년대까지 사용되었다.

구성 및 작동원리

구성 
다른 회전자 기계(Rotor Machine)와 같이, 에니그마는 기계적 하부체계와 전기적 하부체계로 이루어져 있다.
기계적 하부체계에는 알파벳 26자로 구성된 키보드가 있다. 키보드의 키는 하나 이상의 명령으로 수행된다.
전기적 하부체계의 구성요소는 자판(Tastatur), 회전자(Rotor), 플러그판(Steckbrett),
전구판(Lampenfeld),  입력축, 램프, 스크램블러, 반사판, 배전반 이 있다.

원리 
에니그마의 암호문 제작의 원리는 무한히 긴 열쇠값(암호화할 문장을 암호화하는 규칙을 나타내는 단어)을
이용하는 다중 치환 암호를 전기공학적으로 구현해내는 데에 있다.
자판을 이용하여 암호화할 문장을 입력하면 스크램블러가 돌아가면서 암호화된 문장으로 만들어 램프로 표시한다.

전기 회로 
에니그마는 시시각각으로 변화하는 전기회로를 구성하여 작동한다. 사용자가 키를 누르면 전류가 회로를 따라 흘러 특정한 알파벳을 지칭하는 전구들 중 하나를 켠다. 예를 들어 ANX~로 시작하는 단어를 암호화할 때 사용자는 A에 해당하는 키를 누르고 Z 전구에 불이 들어왔다고 하자. 이 경우 이 암호문의 첫 글자는 Z가 된다. (미완성)

회전자 
제1차 세계대전에서 사용되던 코드북이 영국측에 넘어가는 바람에 독일의 외무부장관 짐머만(Arthur Zimmermann)이 미국의 참전을 막기 위해 1917년 1월에 멕시코에 보낸 코드북암호문(미국과 전쟁을 하도록 촉구함)이 해독되어 결국 미국이 연합국 측에 합류하여 독일이 전쟁에서 패하게 된다.

암호기의 밀반출은 곧바로 모든 암호화된 문구의 노출을 의미한다. 그리고 꼭 밀반출이 아니더라도 꾸준한 감청을 통해 데이터베이스를 쌓아 분석하면 어떤 글자가 어떤 글자로 연결되는지는 쉽게 알 수 있다.
그리하여 매번 사용 시마다 규칙은 다르고 또한 그 규칙의 경우의 수가 될 수 있으면 많은 그런 암호기가 필요하게 된다. 이를 위해 에니그마의 두뇌라고 할 수 있는 회전자(Rotor)가 만들어진다.

그림에는 3개의 회전자(rotor)가 들어가 있는데 각각의 회전자는 26개의 원소를 가진 순열이라 보면 된다. 그림에는 간단히 8개의 알파벳으로만 표시되어 있는데 'A'가 3개의 회전자를 통해 'D'로 바뀌는 과정을 보여주고 있다. 이렇게 한 글자의 암호를 마치면 첫 번째 회전자는 조금씩 회전을 하는데 당연히 26번을 한바퀴로 하고 있다. 첫 번째 회전자가 한바퀴를 돌면 시계의 원리처럼 두 번째 회전자가 한 칸 움직이고 똑 같은 방법으로 세 번째 회전자도 움직이게 된다. 여기서 가능한 회전자의 조합 수를 생각해보면 26x26x26=17,576이다.
회전자를 살펴보면 이들은 고정되어 있는 것이 아니라 서로 자리를 바꿀 수가 있고 (가능한 위치의 조합은 6가지이다.) 또한 그 위에 써 있는 알파벳이 회전하는 링 위에 표시되어 있어 이를 임의로 변경(Ringstellung) 시킬 수 있는데 이는 회전자의 조합 수를 더욱 복잡하게 하고 있다.

닉음과의같복잡성은전자의 위치 선정으로 6가지의 경우의 수, 그리고 회전자의 처음 위치를 어디로 할지의 26x26x26의 가짓수, 거기에다가 회전 자들의 임의 변경(Ringstellung)을 통한 경우의수 26x26x26. 즉 총 6x26x26x26x26x26x26 = 1,853,494,656 의 가능한 에니그마의 상태가 존재하는 것이다.

|]]

The advancement of a rotor other than the left-hand one was called a turnover by the British. This was achieved by a ratchet and pawl mechanism. Each rotor had a ratchet with 26 teeth and every time a key was pressed, the set of spring-loaded pawls moved forward in unison, trying to engage with a ratchet. The alphabet ring of the rotor to the right normally prevented this. As this ring rotated with its rotor, a notch machined into it would eventually align itself with the pawl, allowing it to engage with the ratchet, and advance the rotor on its left. The right-hand pawl, having no rotor and ring to its right, stepped its rotor with every key depression. For a single-notch rotor in the right-hand position, the middle rotor stepped once for every 26 steps of the right-hand rotor. Similarly for rotors two and three. For a two-notch rotor, the rotor to its left would turn over twice for each rotation.

The first five rotors to be introduced (I–V) contained one notch each, while the additional naval rotors VI, VII and VIII each had two notches. The position of the notch on each rotor was determined by the letter ring which could be adjusted in relation to the core containing the interconnections. The points on the rings at which they caused the next wheel to move were as follows.

The design also included a feature known as double-stepping. This occurred when each pawl aligned with both the ratchet of its rotor and the rotating notched ring of the neighbouring rotor. If a pawl engaged with a ratchet through alignment with a notch, as it moved forward it pushed against both the ratchet and the notch, advancing both rotors. In a three-rotor machine, double-stepping affected rotor two only. If in moving forward the ratchet of rotor three was engaged, rotor two would move again on the subsequent keystroke, resulting in two consecutive steps. Rotor two also pushes rotor one forward after 26 steps, but since rotor one moves forward with every keystroke anyway, there is no double-stepping. This double-stepping caused the rotors to deviate from odometer-style regular motion.

With three wheels and only single notches in the first and second wheels, the machine had a period of 26 × 25 × 26 = 16,900 (not 26 × 26 × 26, because of double-stepping). Historically, messages were limited to a few hundred letters, and so there was no chance of repeating any combined rotor position during a single session, denying cryptanalysts valuable clues.

To make room for the Naval fourth rotors, the reflector was made much thinner. The fourth rotor fitted into the space made available. No other changes were made, which eased the changeover. Since there were only three pawls, the fourth rotor never stepped, but could be manually set into one of 26 possible positions.

A device that was designed, but not implemented before the war's end, was the Lückenfüllerwalze (gap-fill wheel) that implemented irregular stepping. It allowed field configuration of notches in all 26 positions. If the number of notches was a relative prime of 26 and the number of notches were different for each wheel, the stepping would be more unpredictable. Like the Umkehrwalze-D it also allowed the internal wiring to be reconfigured.

반사체 
반사체는 에니그마 속에서 가장 독특한 부속품이다. 모든 회전자 내부의 배선 위에서 각각의 글자들은 다른 글자와 서로 연결될 수 있다. 예로 A는 K와 연결되어 있는 F에 연결이 가능하였다. 반사체 내부에, 연결은 서로 짝으로 이루어져 있었다. 만약 A가 F에 연결되어 있다면, 이것은 F역시 A와 연결되어 있음을 의미하는 것이고, 결과적으로 역으로 암호화 된다는 것을 의미한다. 에니그마의 이점은 이것으로 분명해 진다. 암호의 조립과 해독이 동일한 에니그마 셋팅과 배선으로 가능하다는 것이다. 그러나 어떠한 글자를 암호화시켜도 그 자신으로 나올 수가 없다는 특징이 암호해독을 가능케 하는 열쇠가 되었다.

2차 세계대전 기간동안, B와 C type 두 가지 형식의 반사체가 사용되었다. 전쟁 막바지에 가서는 특별한 형식의 D type 반사체가 도입되었다. D type 반사체는 12개의 전선과 24개의 플러그로 조정이 가능한 반사체로, 13번째 전선은 고정되어있었다.
4개의 회전자 형식의 독일해군 에니그마는 특별한 형태의 얇은 회전자를 사용하였는데, 이것들 역시 B와 C반사체로 불렸지만, 독일 육군과 공군의 3회전자 방식의 에니그마의 반사체와 다른 배선구조를 가지고 있었다. 만약 독일해군 에니그마의 반사체들이 4번째 회전자를 A포지션과 A링셋팅으로 사용하게 되면 이를 반사체들은 3회전자 방식의 에니그마와 서로 호환이 되었으며, 다른 형식의 에니그마 사이의 상호 통신이 가능할 수 있었다.

보조장치 
M4 에니그마는 Schreibmax라는, 26글자를 얇은 종이 리본에 인쇄할 수 있는 장치를 사용하였다. 이는 램프를 읽고 번역할 2차 장치의 필요성을 제거해 주었다.

이는 에니그마 장치의 상단에 부착되었고, 램프판에 연결되어 있었다. 또한 장치 설치를 위해 램프 덮개와 전구를 제거해야 했는데, 이는 사용상의 편리성과 보안성을 강화시켰다. 장거리 램프 패널 Fernlesgerat는 에니그마에 Scribemax로 인해 덮개와 전구가 없는 경우에도 해석된 평서문을 간편히 읽을 수 있도록 하였다.

1944년에 Luftwaffe는 40개의 position을 가지고 있는, Uhr이라는 플러그보드 스위치를 도입하였는데, 이들은 기존의 플러그들을 대신하여 역할을 수행하였다.

역사 
1926년 독일 군대는 암호를 쉽게 해독하기 어렵고 암호화뿐만 아니라 복호화도 가능한 전자 기계식 암호화 장치를 도입하였다. 8년 전 전기 기사 아르투르 세르비우스(1878~1929)는 메시지를 부호화하기 위해 표준 사이즈 가로 세로 30cm, 높이 15cm, 무게 30kg의 기계에 문자판과 세 개의 원판을 결합하여 최초의 에니그마 모델을 개발하였다.

에니그마는 1931년 폴란드의 암호국, 비우로 쉬프루프(Biuro Szyfrów)에서 처음 해독 되었다. 그러나 1939년 2차 세계 대전이 발발하자 24시간 마다 암호체계를 바꾸는 독일군의 방침으로 인해 무산되었다. 이를 해독하기 위해 앨런 튜링(Alan Turing)을 비롯한 영국의 암호학자들은 블레츨리 파크(Bletchley Park)에 위치한 영국정보암호학교 GC&CS(UK Government Code and Cypher School)에서 1939년에 The Bombe(한국어:봄브 기계)를 제작해 해독하는 데에 성공한다. 이는 전쟁 중 연합군의 전략에 상당한 도움을 주고 전쟁 종결을 앞당기는 데에 기여하였다.
이 암호기의 개량종인 Hegelin(헤겔린)은 한국전쟁(1950년 6월 25일~ 1953년 7월 27일)에도 사용되었다.

상업적 에니그마 
1918년 2월 23일, 독일 엔지니어 아르투르 세르비우스는 로터(rotor)를 이용한 암호 장치로 특허를 냈고, 리처드 E. 리터와 함께 Scherbius & Ritter 회사를 설립했다. 그들은 독일 해군과 외국 회사에 그들의 기계를 선보였지만 둘다 관심을 보이지 않았다.

세르비우스와 리처드는 1923년 7월 9일에 특허권을 독일의 'Chiffriermaschinen Aktien-Gesellschaft (암호 기계 주식회사)'에 양도함으로써 이사가 되었다.Chiffriermaschinen AG는 '에니그마 모델 A'라는 회전자 기계를 홍보하기 시작했다. 이 기계는 타자기의 기능도 갖고 있어 무거웠고 크기도 컸다. 그 크기는 65×45×35 cm이고 무게는 약 50kg이었다.

1924년에 비슷한 구조를 가진 '에니그마 모델 B가 소개되었다. 에니그마라는 이름을 가지고 있었지만, 모델 A와 B는 이후에 등장하게 되는 기기들과는 많은 차이가 있었다. 외형적인 면에서뿐만 아니라 반사체를 가지고 있지도 않기 때문에 암호 표기적인 면에서도 차이가 많이 났다.
반사체는 세르비우스의 동료인 윌리 콘이 그 구조를 제안한 에니그마 C에서 처음 나타났다(1926).

모델 C는 그 이전의 장치들보다 더 작았고 휴대하기 편리했다. 타자기 대신 전구를 추가했기 때문에 '점등관 에니그마'라고 불리게 되어 모델 A, B와는 차이를 두었다.
에니그마 C가 개발되고 얼마 안되어서 에니그마 D(1927)가 개발되었다. 에니그마 D는 스웨덴, 네덜란드, 영국, 일본, 이탈리아, 스페인, 미국, 폴란드 등에서 널리 사용되었다.

대중문화 
Hugh Whitemore의 'Breaking the Code'는 제2차 세계대전에서 Enigma암호를 해독하기 위해 주력한 중심 인물인 Alan Turing의 삶과 죽음을 다룬 연극이다. Derek Jacobi는 이 극에서 주연으로 출연하였으며, 1996년 TV작품들에도 Turing역을 맡았었다. 비록 드라마인 이유로 예술 면허가 필요함에도 불구하고 기본적으로 사실에 근접한 서사 구조를 갖추고 있다.

Robert Harris의 1995년 작(作) Enigma는 세계 2차대전에 Bletchley Park의 암호학자들이 Hut 8에서 (해군 에니그마)를 해독하는 과정을 담고 있다. 소설 이야기에 다소 큰 변화가 있는 이 책은 2001년에 Michael Apted 감독과 Kate Winslet와 Dougray Scott가 주연하는 영화로 만들어졌다. 이 영화는 에니그마의 암호를 밝혀내고, 영국군이 어떻게 그것을 했는지 밝혀냈는지를 알아낸 Poland의 Biuro Szyfrów의 역할을 반영하지 않아 많은 역사적 부정확성을 가지고 있어 비난을 받았다. 이 영화는(소설과 마찬가지로) 폴란드인을 에니그마 암호해독의 비밀을 누설하려고 하는 악역으로 표현했다.

그 이전에 에니그마에 있어서 폴란드가 미친 영향들에 대해 다룬 폴란드 영상물로는 1979년의 Sekret Enigmy(해석하면 '에니그마의 비밀')가 있다.

Wolfgang Peterson의 1981년 작(作) Das Boot에는 네 개의 회전자가 달린 Kriegsmarine종의 에니그마가 나온다.

2000년에 개봉한 Jonathan Mostow감독의 영화 「U571」은 바로 이 에니그마의 열쇠 목록을 구하기 위해 영국 해병이 침몰하는 독일 잠수함에 뛰어드는 이야기로, 실화에 바탕을 둔 영화다. 독일 잠수함의 수병들이 암호 관련 자료를 모두 파기할 새도 없이 급히 탈출한 후에 영국 해병 셋이 뛰어들었는데, 실제로 그 중 둘은 잠수함과 함께 침몰하고 하나가 간신히 그 문서를 들고 살아 나왔다고 한다. 영국에서는 독일의 암호를 해독할 수 있게 된 후에도 결정적인 때에 써먹기 위해 이 사실을 감추고 독일을 안심하게 했다. 초기에 해독된 암호 중에는 독일이 영국의 어느 소도시를 공습할 계획이 있었는데, 처칠의 명으로 시민들을 대피시키지 않고 그냥 공습하게 내버려 두었다고 한다.

에니그마를 리메이크한 모델은 2011년에 출시된 게임 Batman: Arkham City에 있는 'Enigma Conundrum'이라는 사이드 미션에서 중요하게 사용된다.

Neal Stephen의 소설 Cryptonomicon에서는 에니그마와 그것을 부수기 위한 노력들을 다루고 있다.

EnigmaWarsaw는 바르샤바에서 하는 야외 놀이이다. StayPoland 여행사에서 만들었다. 이 보물찾기 게임은 참가자들이 전쟁 이전의 바르샤바를 상상하는 데 도움을 주기 위해 고안되었다. EnigmaWarsaw는 기계를 해독하는 데 폴란드 암호학자들이 남긴 선구적인 업적을 기념하기 위해 붙여진 이름이다.

To Say Nothing of the Dog 은 시간을 여행하는 역사학자들에 관한 공상과학 소설로서, 연합군들이 에니그마를 얻어내는 것의 중요성을 강조한다. 2011년 6월 20일 방영된 TV 쇼 Sanctuary "Into the Black" 편에서 에니그마 암호를 푸는 데 성공한 공로는 Nikola Tesla에게 돌려진다.

Ian Fleming의 From Russia, with Love에서 에니그마에 기반한 허구인 Lektor 해독 기계는 플롯장치로 사용된다. 이 장치는 아마 러시아의 암호화된 통신을 가로막고 그걸 해독해 Mi6의 암호학자들이 기밀 정보에 접근하도록 할 것이다.

Fox Network 시리즈 Bones의 "The Corpse on the Canopy" 편에서 두 에니그마 장치는 살인자로부터 정보 교환을 숨기는 수단으로 사용된다.

이미테이션 게임

해독 

1932년 폴란드 암호 전문가 마리안 레예프스키(Marian Rejewski)는 독일의 에니그마 암호기로 만든 암호를 푸는 데 성공했다. 폴란드는 제2차 세계대전이 일어나기 5주 전인 1939년 6월 25일에 영국과 프랑스 군사정보 담당처에 암호제작기 에니그마와 암호독해 관련 기술을 전달해 주었다. 영국은 독일군의 암호문을 해독하기 위해 블레츨리 파크(Bletchley Park)에서 콜러서스(Colossus)라는 기계를 개발했다.

콜러서스 
영국은 암호를 해독하기 위해 앨런 튜링(Alan Turing), 토미 플라워스(Tommy Flowers) 등의 기술자들을 통해 콜러서스(Colossus)라는 기계를 개발하였다. 이런 과학자들은 암호의 규칙을 찾아내고 암호의 유형을 확인하기 위해 콜로서스라는 세계 최초의 컴퓨터를 만든 것이다.

콜러서스는 2400개의 진공관을 가진 전자식 암호해독용 컴퓨터다. 이를 위해 현대식 컴퓨터의 원리를 도입해야 했다. 콜러서스는 여러 가지 새로운 컴퓨팅 개념을 실현하고 있었다. 1초에 25000자를 번역할 수 있다. 전쟁 후에 이 기계는 군사기밀을 이유로 폐기되었으나 일원으로 2007년에 다시 만들어졌다.

조작법 
에니그마 메시지를 해독하기 위해서는 다음과 같은 절차를 따라야 한다.

 먼저 Walzen(회전자)를 고른다. 그리고 각각의 회전자에 Ringstellung(링셋팅)을 적용시킨다. 그리고 Walzen을 에니그마에 끼워놓고 31일에 맞게 Stecker(플러그)들을 배열하여 꽂는다.
 에니그마 상부에 보이는 알파벳을 메시지 첫째줄에 보이는 세글자로 맞추어 놓는다.
 이 상태에서 TBS를 자판에서 찾아서 입력하여 암호화된 메시지키를 찾는다.
 해독된 메시지키(XWB)를 자판에서 찾아서 입력하여 암호화된 메시지키를 찾는다. 결과는 XWB로 나올 것이다.
 이제 메시지의 나머지 부분을 해독한다.

관련 영상 
https://www.youtube.com/watch?v=G2_Q9FoD-oQ 158, 962, 555, 217, 826, 360, 000 - Numberphile
https://www.youtube.com/watch?v=ASfAPOiq_eQ The Enigma Machine Explained

각주

관련 도서 
 《코드북》 
 비밀의 언어 - THE CODE BOOK 암호의 역사와 과학(2015) | 사이먼 싱
 튜링이 들려주는 암호 이야기(2010) | 오채환
 암호의 해석 - 머리를 쓰는 즐거움(2009) | 루돌프 키펜한
 너무 많이 알았던 사람 - 앨런 튜링과 컴퓨터의 발명(2008) | 데이비드 리비트
 튜링이 들려주는 암호 이야기(2008) | 박철민
 튜링이 들려주는 암호 이야기(2005) | 오채환
 암호 이야기 - 역사 속에 숨겨진 코드(2006) | 박영수
 암호의 세계 - 비밀문자 에니그마 IC카드(2002) | 루돌프 키펜한

제2차 세계 대전기의 첩보전
암호학사