예전 속기를 배운 적이 있습니다 빠르게 대화를 기록한다는 것에 호기심을 느껴서 배웠지만 일상 대화를 모두 기록하는 수준까지는 가지 못했고 무언가를 메모할 때 나만 알고 싶은 단어를 사용하고 싶을 때 속기를 사용하였던 적이 많이 있습니다 남들이 알아보지 못하는 문자를 기록한다는 것에 묘한 뿌듯함을 느꼈던 것 같습니다
한 개인도 자신의 프라이버시를 위해서 암호가 필요할 때가 있는데 나라의 중대한 기밀을 다룰 때는 더 많은 필요성을 느꼈을 것입니다 고대에는 나라의 중요한 일이나 기밀한 정보를 위해서 제한된 사람들만이 사용했었지만 현대의 암호는 인터넷을 사용하는 모든 사람들이 사용하고 있습니다
이 글에서는 고대에서부터 사용했던 암호와 근대를 거쳐 현대의 암호화의 기술에 대해서 알아보겠습니다
고대의 암호
●스테가모그라피
고대의 암호는 스테가노그래피(Steganography)로 부터 시작하였습니다 스테가노그래피는 '숨긴다'는 뜻의 그리스어 steganos와 '쓴다'라는 뜻의 graphy가 합쳐져서 유래된 단어로 정보를 드러내지 않게 숨기는 기술을 의미합니다
암호와 다른 점은 암호는 문자는 보이지만 무슨 뜻인지 모르게 글자를 조합하는 기술이고 스테가노그래피는 정보가 있다는 자체를 숨기는 방법입니다
역사적으로 가장 오래된 스테가노그래피의 기록은 기원 전 480년 데마라토스의 이야기에서 시작됩니다
스파르타의 왕이었던 데마라토스는 스파르타에서 추방당하여 페르시아에 머물고 있었는데 그곳에서 그리스가 스파르타를 침공할 것이라는 계획을 알게 됩니다
그는 이 소식을 고향인 스파르타에 몰래 전달하기 위해서 나무판에 글자를 새깁니다 그리고 글자를 새긴 곳을 밀랍으로 덮어서 아무것도 적혀있지 않은 나무판처럼 보이게 하여서 소식을 전하였는데 이것이 스테가노그래피의 시작이었습니다 재미있는 것은 노예의 머리에 글자를 적고 머리를 자라게 한 다음 전달지로 보내기도 하였다고 합니다
스테가노그래피는 지금도 사용하고 있는데 현대는 디지털 기술을 이용해서 더 정교한 방식으로 정보를 숨긴 다고 합니다
● 사진의 픽셀 하나에 아주 미세하게 글자를 숨겨서 넣는데 이 메시지는 특수한 프로그램을 사용해야지만이 눈으로 볼 수 있다고 합니다
●소리의 주파수에 메지시를 삽입하기도 하고 영상의 여러 프레임 중 하나에 텍스트를 삽입하기도 합니다
●또한 여러 가지 예술 작품에 저작권 정보를 보이지않게 삽입하기도 한다고 합니다
스테가노그래피는 저작권을 보호하는 등, 여러가지 유익한 목적에 사용되기도 하지만 범죄나 해킹 수단으로 사용될 수도 있기 때문에 상당히 유의하면서 연구되어야 할 분야입니다
그리고 기원 전 100년 경 가장 간단한 방법으로 문자를 치환하여 암호를 만드는 방법이 나왔는데 로마의 율리어스 시저의 암호문입니다 시저는 전쟁이 있을 때마다 암호로 명령을 전달했는데 암호문을 만드는 방법은 알파벳 문자들을 3문자 씩 이동시켜서 단어를 만드는 방법이었습니다
그러니까 a보다 3문다 뒤인 d, d보다 3문자 뒤인 g 이런 식으로 문자를 치환해서 만들었다고합니다
그리고 1500년 경이 지나서 굉장히 단순했던 시저 암호에 비해서 아주 복잡한 비즈네르 암호가 나왔는데 당시 사람들은 비즈네르 암호를 도저히 풀수없는 암호라고 칭했다고합니다
시저의 암호가 고정된 숫자만큼 알파벳을 밀어서 암호화했다면 비즈네르 암호는 키값에 따라 알파벳을 각각 다른 숫자만큼 이동시켜서 만들었다고하는데 키값도 여러가지라서 아주 복잡한 암호문을 작성할수있었다고합니다
최초의 암호 기계 에니그마
그러나 본격적인 암호기계를 이용해서 암호를 사용하기 시작한 것은 2차 세계대전부터였습니다
당시 독일군은 에니그마라는 암호기계를 사용했는데 에니그마로 만든 암호는 이 세상 누구라도 풀 수 없을 거라고 장담할 만큼 복잡하고 강력한 기계였습니다 에니그마 암호는 비즈네르 암호의 원리를 바탕으로 전기 배선의 경로까지 영향을 주게해서 암호를 만들어내는 방식이었습니다
에니그마는 겉보기에는 타자기처럼 생겼지만 내부는 복잡한 구성으로 되어있었는데 문자를 누르면 회전하는 장치(로터)가 다른 문자로 바꿔주는 방식이었으며 또한 설정값이 날마다 바뀌었고 전기신호의 경로도 기계에 영향을 주었으므로 에니그마가 만들어내는 암호의 경우의 수는 무려 150조 개 이상이나 되었다고 합니다
이 기계가 만들어내는 암호는 너무 복잡해서 독일군 스스로도 설정표 없이는 풀 수가 없었는데 독일의 모든 부대는 그날그날의 암호 설정표를 날마다 가지고 다녔다고 합니다
이 설정표에는 그날 어떤 로터를 쓸지, 로터의 순서와 위치는 어떻게 할지, 입력할 문자 교환판을 어떻게 연결할지 등이 자세히 적혀있었다고 합니다
예를 들어 "내일은 서쪽으로"으로 라는 문자를 보내고 싶으면 암호 설정표를 보고 그날의 설정값을 맞춥니다
그리고 문자를 입력하면 에니그마에 복잡하게 바뀐 암호문이 나옵니다 그러면 받는 쪽에서도 같은 설정표를 가지고 있으므로 받은 암호문을 입력하면 전달하고자 하는 문장이 해독되는 것입니다
하지만 이 방식은 설정표를 모든 부대가 가지고 있었으므로 설정표만 손에 넣으면 누구든 해독할 수 있는 약점도 가지고 있었습니다


당시 영국군은 독일군의 무전을 도청해서 암호를 해독하기 위하여 수년간 노력하였지만 그 많은 경우의 수를 가진 암호문을 풀어낼수가없었습니다
그러나 독일군이 그렇게 자신하였던 불가사의한 암호기계를 뚫은 사람이 나타났는데 영국의 컴퓨터 과학자 앨런 튜링입니다
그는 에니그마에 A를 입력하면 암호문에서는 절대로 A가 나오지 않는다는것을 알게되었습니다 그리고 문장의 앞 문장에 똑같은 단어가 반복된다는것도 알게되며 에니그마의 기계적인 특징을 알아채기 시작하였습니다
그는 이런 특징을 이용해서 경우의 수를 점점 줄여나가며 어떤 설정의 가능성을 점점 좁혀나갔습니다
그렇지만 모든 경우의 수를 사람이 시험해 보기에는 무리였습니다 그래서 튜링은 '봄브'라는 기계를 만들어 시뮬레이션을 시작합니다
그리고 하루 만에 수천만 개의 조합을 검사하였고 결국 튜링의 논리와 봄브라는 기계의 조합으로 에니그마라는 암호기계를 파악하게됩니다
이것은 현대 컴퓨터의 알고리즘(논리적인 사고의 흐름)과 기계의 계산 능력이 결합된 첫 번째 모델이라할수있습니다
현대의 암호
고대에는 나무판이나 가죽 띠, 또는 문자를 치환하는 물리적인 방법으로 암호를 사용하였지만 현재 우리는 전자기파를 통해서 정보를 주고받는 시대에 살고 있습니다 그래서 이 전보다 더 데이터의 암호화가 절실하게 필요한데 현대 암호의 기술은 대칭키와 비대칭키로 나눌 수 있습니다
●대칭키 암호
대칭키는 수신자와 발송자가 같은 암호해독코드(비밀키)를 가지고 서로 암호를 주고받고, 다시 같은 비밀키를 가지고 평문으로 해독하는 방법입니다 이 방법은 독일군에서 사용하였던 에니그마 암호기계와 같은 개념의 방식이라고 볼 수도 있는데 이 방법의 가장 중요한 점은 비밀키를 안전하게 전달하는 것입니다
장점은 데이터의 전달이 빠르기 때문에 대량의 데이터를 전송할 때 많이 사용된다고 합니다
●비대칭 암호키
비대칭 암호키는 공개키와 개인키를 모두 사용하여 암호를 주고받는 기술인데 예를 들어 공공기관에서 누구나가 접속하여 사용할 수 있는 공개키를 개방합니다 그러면 사용하고자 하는 사람은 공개키를 가지고 와서 자신의 비밀키를 만들어 다시 공개키를 개방한 서버에 보내면 서버는 다시 자신의 개인키로 해독합니다
현대의 암호기술은 이 두 가지 기술을 모두 사용하고 있는데 이 외에도 우리가 늘 접하는 https, 스마트폰의 생체인식 잠금과 지문인증, 와이파이 VPN 등을 통해서도 많이 사용하고 있습니다
대칭키와 비대칭키의 장단점과 HTTPS에 대해서는 지난 글 암호학의 과학- 내 데이터는 어떻게 보호되는가에서 보실 수 있습니다
결론
우리는 사실 내 정보가 어떻게 암호화로 처리되는지 알지 못한 채 스마트폰으로 메시지를 주고받고, 은행업무를 보며, 인터넷으로 쇼핑을 합니다
날마다 아주 많은 양의 데이터를 주고받으면서도 우리가 암호를 인식하지 못하는 것은 우리가 사용하는 기기의 운영체제와 같은 소프트웨어들이 모두 다 처리해주고 있기 때문입니다
고대의 나무판에서 시작되어 기계로, 그리고 전자기파를 이용해 암호를 주고받는 시대, 이제 세상은 전자기파에서 양자를 이용한 컴퓨터 시대를 바라보고 있습니다 이에 따라 암호의 기술도 바뀔 것입니다