KEEP!T History: 블록체인史 (11) 에니그마의 비밀을 풀어낸 앨런 튜링 [1]

in #kr3 years ago (edited)

keepit_logo_history_2.png



블록체인史

에니그마의 비밀을 풀어낸 앨런 튜링


안녕하세요! KEEP!T입니다.
지난 칼럼에선 암호학의 탄생 배경과 고전 암호학에 대해 다뤘습니다. 지난 칼럼에 이어서 오늘은 앨런 튜링과 2차세계대전 당시의 암호학 이야기를 이어나가겠습니다.


1. 컴퓨터의 이론적 기초를 제시한 앨런 튜링(Alan Turing)

앨런 튜링은 컴퓨터의 이론적 기초를 제시해, 현대 컴퓨터 과학의 발전에 지대한 영향을 끼친 인물입니다. 오늘날 우리가 사용하는 컴퓨터는 폰 노이만 구조로 이뤄져 있는데, 이에 대한 이론적 기초는 튜링으로부터 비롯했죠. 뿐만 아니라 인공지능에 대한 연구부터 암호학에 이르기까지 많은 분야에 영향력을 끼친 인물이기도 합니다. 그 공로로 오늘날 우리가 사용하는 컴퓨터 과학 용어중 튜링의 이름이 들어간 용어들이 많습니다. 모두 후대의 과학자들이 튜링을 기리기 위해 붙여준 이름이죠.


510px-Von_Neumann_Architecture.svg.png
폰 노이만 구조

혹시 '튜링 테스트'를 아시나요? 이미테이션 게임이라 부르기도 하는 이 테스트는 1950년 앨런 튜링의 논문에서 처음 등장한 개념입니다. 기계가 인간과 얼마나 비슷하게 대화할 수 있는지를 기준으로 기계에 지능이 있는지를 판별하고자 하는 시험이죠. 우리가 로그인시 자주 접하는 reCAPTCHA는 이 튜링 테스트의 일종입니다. 비밀번호를 틀릴 때마다 떠서 짜증나게 하는 바로 그 웬수(?) 같은 창입니다. 영화 『블레이드 러너』에 나오는 '보이트-캄프 테스트' 역시 튜링 테스트의 한 종류이죠.

스크린샷 2018-11-21 오후 5.23.31.png

스크린샷 2018-11-21 오후 6.37.58.png
"나는 로봇이 아닌데 왜 자꾸 틀릴까?" 묻게 만드는 바로 그 테스트입니다. 원래는 로봇과 사람을 가리기 위해 고안된 테스트인데, 이제는 사람의 인내심을 테스트하고 있습니다.

CAPTCHA: Completely Automated Public Turing test to tell Computers and Humans Apart, 완전 자동화된 사람과 컴퓨터 판별 테스트. HIP(Human Interaction Proof) 기술의 일종으로, 어떠한 사용자가 실제 사람인지 컴퓨터 프로그램인지를 구별하기 위해 사용되는 방법이다. 사람은 구별할 수 있지만 컴퓨터는 구별하기 힘들게 의도적으로 비틀거나 덧칠한 그림을 주고 그 그림에 쓰여 있는 내용을 물어보는 방법이 자주 사용된다.

튜링의 이름이 들어간 용어 중 '튜링 머신'이란 개념도 있습니다. 튜링 머신은 오늘날 컴퓨터의 시초가 되는 개념으로서, 수학적 계산 모형을 가진 가상의 기계를 말합니다. 이 또한 1936년에 튜링이 처음으로 제시한 개념이죠. 튜링 머신의 구성은 테이프(Tape), 헤드(Head), 상태 기록기(State register), 행동표(Action table)로 이뤄져 있는데요.

  1. 테이프엔 일정한 크기의 셀(Cell)마다 숫자, 알파벳 등의 기호가 기록되어 있으며, 테이프의 길이는 필요에 따라 무한으로 늘어날 수 있습니다.
  2. 헤드는 이동이 가능하며 테이프의 특정한 셀을 읽는 역할을 수행합니다. 반대로 헤드는 고정되어 있고 테이프가 이동하는 방식도 가능합니다.
  3. 상태 기록기는 튜링 머신의 현재 상태를 기록하는 역할을 수행합니다.
  4. 행동표는 특정 상태에서 특정 기호를 읽었을 때 해야 할 행동을 지시합니다.

Model_of_a_Turing_machine.jpg
Turing machine
튜링 머신을 직접 구현한다면 이런 형태의 기계 장치가 되겠죠.

튜링 머신은 프로그래밍 가능한 디지털 컴퓨터가 존재하지 않던 시절에 컴퓨터의 작동 원리에 대한 이론적 기초를 제시했습니다. 수학적으로 완결된 논리 구조를 가지고, 프로그램 형태의 업무를 수행하는 기계 장치로서의 컴퓨터 말입니다. 때문에 오늘날에 이르기까지 앨런 튜링은 인공지능 연구의 선구자로, 그리고 컴퓨터 공학, 정보 과학의 아버지로 불리게 됩니다. 이후 튜링은 어떤 문제를 풀기 위해 튜링 머신에 기반한 장치를 개발하게 되는데, 이는 2차세계대전과 관련이 있습니다.

프로그램: 특정 작업을 수행할 때 사용되는 일련의 명령어들의 집합. 또는 알고리즘을 숫자와 문자로 표현한 것.
알고리즘: 문제를 해결하기 위한 절차나 방법. 또는 어떤 일을 하기 위해 사용되는 수학적으로 완결된 논리 구조.

앨런 튜링.jpeg
앨런 튜링

2. 난공불락의 암호장치 "에니그마"

위에서 나열한 업적만 해도 엄청난데 앨런 튜링의 업적은 사실 이게 다가 아닙니다. 튜링은 암호학의 역사에서도 빼놓을 수 없는 인물이기도 한데요. 2차세계대전 당시 독일군의 암호장치 "에니그마"의 비밀을 풀어내서 연합군을 승리로 이끄는 데 큰 기여를 했기 때문이죠.

에니그마(Enigma)는 독일어로 ‘수수께끼’라는 뜻을 가진 암호장치입니다. 2차세계대전 당시 독일군이 다중치환방식의 암호문을 생성하기 위해 이용한 장치죠. 1차세계대전 당시 독일군의 암호체계는 연합군에 의해 이미 해독이 되고 있었고, 독일군은 이 사실을 전쟁이 끝나고 한참이 지나서야 깨닫게 됩니다. 이는 독일군에겐 엄청난 충격이었고, 이에 대한 반성으로 독일군은 기존의 모든 암호 해독 시도를 무력화시키는 암호장치를 만들게 됩니다. 이 장치가 바로 난공불락의 암호장치로 알려졌던 "에니그마"죠. 게다가 철통 같은 보안 속에서 24시간마다 암호 체계가 바뀌기까지 하니 연합군 입장에선 미치고 펄쩍 뛸 노릇이었습니다.

Enigma_(crittografia)_-_Museo_scienza_e_tecnologia_Milano.jpg
Enigma machine

1939년 9월 전쟁을 일으킨 독일은 삽시간에 폴란드를 함락하고, 전 유럽을 지배하기 위해 진군을 시작합니다. 다음 목표는 프랑스. 그 다음 목표는 영국이었죠. 이러한 엄중한 상황 속에서 영국 블레츨리 파크에 있는 영국 정부 암호학교 GC&CS(UK Goverment Code and Cypher School)로 에니그마의 비밀을 풀기 위해 과학자들이 하나둘 모이기 시작합니다. 여기서 튜링은 에니그마를 해독하는 Hut 8팀의 책임자가 되어 에니그마의 암호문을 해독할 수 있는 장치 제작에 착수하게 됩니다.

오늘의 이야기는 여기까지입니다. 2부에서 에니그마의 작동 원리와 에니그마를 해독하기 위해 만든 초고속 계산기 봄브(The Bombe), 그리고 최초의 프로그래밍 가능한 디지털 컴퓨터 콜로서스(Colossus)에 대해 더 탐구하겠습니다. 감사합니다.

blockchainnomad

참고문헌

튜링 테스트
Alan Turing
앨런 튜링
에니그마(기계)
Enigma machine


블록체인史 시리즈

경제사편

KEEP!T History: (1) 월 스트리트 점령은 비트코인으로부터
KEEP!T History: (2) 글로벌 경제 네트워크라는 화두
KEEP!T History: (3) 신뢰의 문제에 도전하는 블록체인

사이퍼펑크편

KEEP!T History: (4) 약자에게 프라이버시를, 강자에게 투명성을
KEEP!T History: (5) 암호화폐의 탄생
KEEP!T Histroy: (6) 어둠의 세력이 키운 익명화폐
KEEP!T History: (7) 익명화폐 변천사
KEEP!T History: (8) 영지식 증명 이해하기
KEEP!T History: (9) 사이퍼펑크 선언문

암호학편

KEEP!T History: 블록체인史 (10) 전쟁 속에서 태동한 암호학

Keepit 저작권 로고.gif
Keepit 저작권 로고2.png
이 저작물은 크리에이티브 커먼즈 저작자표시-비영리-변경금지 4.0 국제 라이선스에 따라 이용할 수 있습니다.