암호화의 원리와 활용된 역사사례 제시…수학 응용한 현대방식과 암호의 미래설명

[엔터미디어=백우진의 잡학시대] 영화로도 제작된 책 《다빈치 코드》에는 애너그램이 이야기전개에 핵심적인 연결고리 역할을 한다. 그러나 애너그램은 암호가 될 수 없다. 작가 댄브라운은 암호에 대한 기본적인 이해가 없다.

암호의 생명은 비밀유지다. 만에 하나 전달과정에서 적에게 누출되더라도 그 암호문을 받은 우리편이 먼저 해독할 가능성이 높아야 암호다. 그렇게 되도록 하는 것이 암호화의 규칙이다. 이를 편의상 ‘열쇠’라고 부르자. 우리측은 원문을 암호로 바꾸고 암호를 다시 원문으로 돌려놓는 열쇠를 알기에 짧은 시간에 원메시지를 파악한다. 적은 암호를 가로채더라도 열쇠가 없기에 정보를 복원하는데 시간이 더 오래 걸리거나 실패한다.

《다빈치 코드》의 다음과 같은 애너그램은 ‘암호’가 아니라 누구에게나 공개된 ‘퍼즐’일뿐이다. 열쇠가 없기에 상대방도 우리편과 똑같은 조건에서 이 퍼즐을 풀 수 있다. 적이 메시지를 우리편보다 더 일찍 파악해 우리편의 움직임을 차단하는 일이 가능하다.

오, 가혹한 악마여!(o. draconian devil!)→ Leonardo Da Vinci! (레오나르도다빈치)
오, 불구의 성인이여!(oh. lame saint!)→ The Mona lisa (모나리자)

우리편끼리 비밀메시지를 주고받기 위해서는 원문을 암호로 만드는 열쇠를 공유해야 한다. 또 열쇠가 적에게 노출될 가능성을 고려해 수시로 열쇠를 바꿔야 한다. 그런데 열쇠를 바꾸고 공유하는 과정에서도 기밀유지가 필수다. 넓은 지역에 걸쳐 거점을 두고 가동하는 큰 조직에서는 열쇠를 나눠주는 작업이 그 자체로 큰 일이 된다.

이 책 《비밀의 언어》는 “열쇠를 전달하는 부분이 보안을 보장하는 연쇄고리 중 가장 약한 고리”라며 “열쇠 전달의 문제는 역사 전반에 걸쳐 암호전문가들의 두통거리가 되어 왔다”고설명하고 그 사례를 든다.
2차대전 중 독일사령부는 데이키(day key)를 담은 코드북을 한 달에 한 번씩 모든 에니그마교환원들에게 전달하는 과정에서 골치를 앓았다. 에니그마는 독일이 사용한 암호생성전신기기의 이름이다. 독일사령부는 기지에서 장시간 떠나 작전을 수행하는 U보트들에게도 데이키에 대한 정보를 전해줘야 했다.

미국정부의 열쇠전달 업무는 콤섹(COMSEC)이라고 불린 커뮤니케이션시큐어리티가 담당했다. 콤섹은 1970년대에 매일 몇 톤 분량의 열쇠를 운반하곤 했다. 콤섹자료를 실은 배가 항구에 정박하면 특수암호경호원들이 배위로 올라가서 카드종이, 테이프, 플로피디스크 등 각종 형태에 저장된 열쇠들을 가지고 정해진 수신인들을 향해 떠났다.

열쇠를 전달하는 난제를 발상의 전환으로 풀 수 있지 않을까. 예를 들어 두 사람이 각자 열쇠를 갖고 있는 것이다. 두 사람을 앨리스와 밥이라고 부르자. 밥이 메시지를 적어넣은 상자에 자신의 열쇠로 자물쇠를 잠가 앨리스에게 보낸다. 앨리스는 받은 상자에 자신의 자물쇠를 채워 밥에게 보낸다. 밥은 상자에서 자신의 자물쇠를 벗겨 앨리스에게 보낸다. 이제 앨리스가 자신의 자물쇠를 풀면 상자를 열고 메시지를 읽을 수 있다. 앨리스와 밥 사이를 왕복하는 동안 상자에는 계속 자물쇠가 하나이상 채워져 있고, 그래서 중간에 그 상자가 가로채여진다고 하더라도 그리 걱정할 일이 아니다. ‘각자 열쇠 시스템’에서는 서로 열쇠를 주고받아 공유하지 않아도 되고, 보안이 깨질 위험이 크게 줄어든다.

그러나 이 방식은 아쉽게도 기존암호시스템에는 적용될 수 없다. 암호를 추가로 거는 작업은 상자를 다른 상자에 넣는 식으로 이뤄진다. 그래서 암호가 이중으로 걸렸을 때에는 나중에 적용된 암호화규칙부터 풀어야 한다. 위 사례에서는 자물쇠 두 개가 채워진 상자를 받은 밥은 앨리스의 자물쇠부터 풀어야한다. 그러나 앨리스의 열쇠를 갖지 않은 밥은 상자에 손을 쓸 수가 없다.



난공불락의 난제는 모듈러연산과 소수의 곱을 활용함으로써 풀렸다. 모듈러연산은 나머지만따지는 것을 의미하며, 초등학교 때 “몇월몇일이 무슨 요일인가”라는 문제로 가르쳐 진다. 앨리스는 자신의 열쇠를 공개하고 밥은 자신의 메시지를 그 공개열쇠를 활용해 계산한 뒤 모듈러연산을 통해 나머지를 앨리스에게 보낸다. 중간에서 나머지를 가로채더라도 모듈러연산의 특성상 원문이 무엇인지 알기란 불가능하다.

그러나 앨리스는 자신만 아는 다른 비밀열쇠로 암호를 풀 수 있다. 앨리스는 공개열쇠를 두소수의 곱으로 만들었고, 두소수로부터 간단히 비밀열쇠를 산출해 갖고 있다. 그런데 앨리스가 공개열쇠를 0이 300자리가 붙는 정도의 큰 숫자로 정하면, 다른 사람들이 이 수를 소인수분해하는 일은 1000년 이상 걸려 거의 불가해한 문제가 된다. 따라서 공개열쇠만 아는 외부인은 비밀열쇠를 찾아내지 못하고 암호를 해제할 수 없다.

RSA라고 불리는 이 방식은 1977년 완성 〮발표돼 수천 년 이어온 암호의 패러다임을 바꿨다. RSA는 컴퓨터공학자 리베스트와 샤미르, 수학자 애들먼이 함께 창조해낸 걸작이다. 세사람은 MIT의 컴퓨터사이언스실험실에서 연구하고 있었다. 이들은 암호화솔루션회사인 RSA시큐리티를 설립해 운영했다. RSA시큐리티는 EMC로 넘어갔고 현재 이 회사의 한 사업부문이다. RSA는 현재 소비자와 금융회사 사이를 비롯해 인터넷으로 오가는 정보를 암호화하는 주요방식으로활용된다. 한국에서는 액티브X 때문에 RSA 솔루션이 자리를 잡지 못했다고 한다.

《비밀의 언어》는 잘 쓰인 책이다. 국내에 2003년 원제와 같은 《코드북》이라는 제목으로 번역됐고 이번에 다른 출판사를 통해 다시 출간됐다. 저자 사이먼싱은 영국 케임브리지 대학 물리학 박사 출신 과학 저술가다. 그는 영국 BBC에서 프로듀서로 근무한 적이 있으며 이 때 페르마의 마지막 정리를 다룬 다큐멘터리 프로그램을 연출하고 공동제작했다. 그 뒤 싱이 같은 주제로 쓴 책은 베스트셀러가 됐고 그 책 《페르마의 마지막 정리》는 국내에1998년 처음 번역됐다.

칼럼니스트 백우진 <한화투자증권 편집위원> smitten@naver.com

[사진= 영화 <다빈치 코드>스틸컷, 인사이트]

저작권자 ⓒ '대중문화컨텐츠 전문가그룹' 엔터미디어(www.entermedia.co.kr), 무단전재 및 재배포금지
저작권자 © 엔터미디어 무단전재 및 재배포 금지