에니그마 머신
에니그마()는 독일어로 '수수께끼'라는 뜻을 가진 암호 기계의 한 종류로, 암호의 작성과 해독이 가능하며 보안성에 따라 여러 모델이 있다.
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 의 가능한 에니그마의 상태가 존재하는 것이다.
-> 158,962,555,217,826,360,000 가지임.
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는 스웨덴, 네덜란드, 영국, 일본, 이탈리아, 스페인, 미국, 폴란드 등에서 널리 사용되었다.
이미테이션 게임
1932년 폴란드 암호 전문가 마리안 레예프스키(Marian Rejewski)는 독일의 에니그마 암호기로 만든 암호를 푸는 데 성공했다. 폴란드는 제2차 세계대전이 일어나기 5주 전인 1939년 6월 25일에 영국과 프랑스 군사정보 담당처에 암호제작기 에니그마와 암호독해 관련 기술을 전달해 주었다. 영국은 독일군의 암호문을 해독하기 위해 블레츨리 파크(Bletchley Park)에서 콜러서스(Colossus)라는 기계를 개발했다.
영국은 암호를 해독하기 위해 앨런 튜링(Alan Turing), 토미 플라워스(Tommy Flowers) 등의 기술자들을 통해 콜러서스(Colossus)라는 기계를 개발하였다. 이런 과학자들은 암호의 규칙을 찾아내고 암호의 유형을 확인하기 위해 콜로서스라는 세계 최초의 컴퓨터를 만든 것이다.
콜러서스는 2400개의 진공관을 가진 전자식 암호해독용 컴퓨터다. 이를 위해 현대식 컴퓨터의 원리를 도입해야 했다. 콜러서스는 여러 가지 새로운 컴퓨팅 개념을 실현하고 있었다. 1초에 25000자를 번역할 수 있다. 전쟁 후에 이 기계는 군사기밀을 이유로 폐기되었으나 일원으로 2007년에 다시 만들어졌다.
에니그마 메시지를 해독하기 위해서는 다음과 같은 절차를 따라야 한다.
이미테이션 게임