IT equipment/1940

콜러서스 컴퓨터 [Colossus computer | December 1943]

AICAT 2025. 1. 23. 06:00
반응형
 

 

 콜로서스는 1943년부터 1945년까지 영국의 코드브레이커들이 개발한 컴퓨터 세트로, 로렌츠 암호의 암호 해독을 돕기 위해 사용되었다. 콜로서스는 열전구(진공관)를 사용하여 부울 연산과 카운팅 작업을 수행하였다. 따라서 콜로서스는 세계 최초의 프로그래머블 전자 디지털 컴퓨터로 간주되지만, 저장 프로그램이 아닌 스위치와 플러그를 통해 프로그래밍되었다.

 

콜로서스는 영국 일반우편국(GPO) 연구 전화 엔지니어인 토미 플라워스에 의해 설계되었으며, 수학자 맥스 뉴먼의 계획에 기반을 두고 있다. 앨런 튜링의 확률 사용은 암호 해독에 기여하였고, 이는 콜로서스 설계에도 영향을 미쳤다. 튜링이 에니그마 암호 해독을 위해 콜로서스를 설계했다는 주장은 종종 잘못 알려져 있다. 튜링의 기계는 에니그마를 해독하는 데 도움이 된 전기기계식 봄바(Bombe)였다.

 

프로토타입인 콜로서스 마크 1은 1943년 12월에 작동하는 것이 확인되었고, 1944년 초에는 블렛클리 파크에서 사용되었다. 처리 속도를 다섯 배로 늘린 개선된 콜로서스 마크 2는 1944년 6월 1일에 처음으로 작동하였으며, 이는 노르망디 상륙작전(디데이) 직전에 이루어졌다. 전쟁이 끝날 무렵, 10대의 콜로서스가 사용되고 있었으며, 11번째가 발주 중이었다. 블렛클리 파크에서 이 기계들이 사용됨으로써 연합군은 독일 최고 사령부(OKW)와 점령된 유럽의 군 사령부 간의 intercepted radiotelegraphy 메시지에서 방대한 양의 고급 군사 정보를 얻을 수 있었다.

 

콜로서스 기계의 존재는 1970년대 중반까지 비밀로 유지되었다. 대부분의 기계는 너무 작은 부품으로 해체되어 그 사용이 추론될 수 없었다. 두 대의 기계만이 남아 있었지만, 결국 1960년대에 해체되었다. 2024년 1월, GCHQ에 의해 공개된 새로운 사진들은 콜로서스가 블렛클리 파크 건물과 매우 다른 환경에서 재설계되었음을 보여준다. 2008년, 토니 세일과 자원봉사 팀에 의해 마크 2 콜로서스의 기능적인 재구성이 완료되었으며, 현재 블렛클리 파크의 국가 컴퓨팅 박물관에 전시되고 있다.

 

콜로서스 컴퓨터는 인터셉트된 라디오 전신 메시지를 해독하는 데 사용되었으며, 이 메시지는 알려지지 않은 장치로 암호화되었다. 정보 분석 결과 독일군은 무선 전신 전송 시스템을 "사게피시(Sägefisch, 톱상어)"라고 부른 것으로 나타났고, 이로 인해 영국 측은 암호화된 독일 전신 트래픽을 "피시(Fish)"라 칭하고, 알려지지 않은 기계와 그에 의해 해독된 메시지를 "튠이(Tunny, 참치)"라고 불렀다.

 

독일군이 운영 절차의 보안을 강화하기 전, 영국의 암호 해독가들은 이 보이지 않는 기계의 기능을 진단하고 "영국 튠이(British Tunny)"라는 모조품을 만들었다.

 

기계는 12개의 휠로 구성되어 있으며, 표준 5비트 ITA2 전신 코드의 메시지 문자에 대해 베르남(Vernam) 암호화 기법을 사용한다는 것이 밝혀졌다. 이 기법은 평문 문자와 키 문자 스트림을 XOR 부울 함수를 사용하여 결합하여 암호문을 생성했다.

 

 

 

1941년 8월, 독일 운영자의 실수로 동일한 기계 설정으로 두 가지 버전의 동일한 메시지가 전송되었고, 이는 블렛클리 파크에서 인터셉트되었다. 우선, GC&CS 암호 해독가인 존 틸트맨이 거의 4000자의 키 스트림을 도출해냈다. 이후 연구 부서에 새로 합류한 빌 타트가 이 키 스트림을 사용하여 로렌즈 기계의 논리적 구조를 밝혀냈다. 그는 12개의 휠이 두 그룹으로 나뉘어 있다는 것을 추론하였고, 이를 각각 χ(카이)와 ψ(프시) 휠이라고 명명했다. 나머지 두 개는 μ(뮤) 또는 "모터" 휠이라고 불렀다. 카이 휠은 암호화되는 각 문자에 따라 정기적으로 회전했으며, 프시 휠은 모터 휠의 제어를 받아 불규칙하게 회전했다.

 

베르남 암호는 충분히 무작위적인 키 스트림을 사용하여 평문 메시지의 자연어 속성인 문자 빈도 분포의 불균형을 제거하고, 암호문에서 균일한 분포를 생성한다. 튠이 기계는 이를 잘 수행했다. 그러나 암호 해독가들은 암호문에서 평문 문자가 아닌 문자 간 변화의 빈도 분포를 검사함으로써 균일성이 깨진다는 것을 발견했으며, 이는 시스템에 접근할 수 있는 방법을 제공했다. 이 과정은 "차분(differencing)"이라고 하며, 각 비트 또는 문자를 그 다음 비트 또는 문자와 XOR 연산을 수행하여 이루어진다. 독일이 항복한 후, 연합군은 튠이 기계를 포획하였고, 이것이 전기기계식 로렌즈 SZ(슈클레주자츠게라트, 암호 부착기계)라는 것을 발견했다.

 

전송된 메시지를 해독하기 위해 두 가지 작업을 수행해야 했다. 첫 번째는 "휠 브레이킹(wheel breaking)"으로, 모든 휠의 캠 패턴을 발견하는 것이었다. 이러한 패턴은 로렌즈 기계에 설정되었고, 그 후 여러 메시지에 대해 일정 기간 동안 사용되었다. 각 전송은 종종 여러 메시지를 포함하고 있으며, 휠의 시작 위치가 다르게 암호화되었다. 앨런 튜링은 "튜링기법(Turingery)"이라고 알려진 휠 브레이킹 방법을 발명하였다. 튜링의 기술은 "직사각형화(Rectangling)"로 발전되었으며, 이는 콜로서스가 수동 분석을 위한 테이블을 생성하는 데 사용되었다. 콜로서스 2, 4, 6, 7 및 9는 이 과정을 돕기 위한 "가제트(gadget)"를 갖추고 있었다.

 

두 번째 작업은 "휠 설정(wheel setting)"으로, 특정 메시지의 휠 시작 위치를 파악하는 것이며, 캠 패턴이 알려진 후에만 시도할 수 있었다. 이 작업이 콜로서스의 초기 설계 목적이었다. 콜로서스는 메시지에 대한 카이 휠의 시작 위치를 알아내기 위해 두 개의 문자 스트림을 비교하고, 프로그래머블 부울 함수의 평가에서 통계치를 계산하였다. 두 스트림은 종이를 통해 고속으로 읽어들인 암호문과 내부에서 생성된 키 스트림으로, 이는 알려지지 않은 독일 기계를 시뮬레이션한 것이었다. 다양한 콜로서스 실행을 통해 예상되는 카이 휠 설정을 찾아낸 후, 처리된 암호문에서 문자 빈도 분포를 검사하여 확인하였다. 콜로서스는 이러한 빈도 수치를 생성했다.

반응형