과학(Science)/공학 (Engineering)

전통적 암호 체계

SURPRISER - Tistory 2022. 9. 28. 08:43

 남몰래 어떤 정보를 전하고 싶을 때 어떤 방법들이 있을까? 주위에는 가족이나 다른 친구들이 있어서, 그 내용을 듣거나 보게 될 가능성이 있다. 이때는 여러 방법이 있겠지만, 사전에 서로 정해 놓은 규칙에 따라, 둘만 아는 말이나 기호로 전하는 것이 한 가지 방법이 될 것이다. 예컨대 철수와 영희가 방과 후의 만남 장소를 남몰래 전하려고 한다고 하자. 사전에 둘 사이에서 맥도날드 앞 사거리를 '강아지', 학교 앞에 있는 카페를 '고양이' 등으로 정해놓으면 '오늘의 만남은 고양이'라고만 전하면 장소를 지정할 수 있을 것이다. 방금 소개한 예시의 경우, 만일 주위 사람이 '만나는 곳은 고양이'라는 것을 알았다고 해도 그 의미를 알 수 없다. '고양이'로 암호화되어 있기 때문이다.

 '암호(Passward)'란 메시지의 내용을 비밀로 하기 위해 당사자 사이에만 통하도록 연구된 말이나 기호, 문장 등이다. 암호를 쓰면, 만약 메시지 자체가 제3자에게 알려지더라도, 그 내용의 비밀은 지켜진다.

반응형

0. 목차

  1. 전령에 사용되던 '스키테일'
  2. 시저 암호
  3. 환자식 암호
  4. 복잡한 환자식 암호
  5. 비주네르 암호
  6. 에니그마

1. 전령에 사용되던 '스키테일'

 암호의 역사는 매우 오래되었다. 역사에 남아있는 가장 오래된 암호 중의 하나는 기원전 5세기의 고대 그리스에 쓰인 '스키테일(Scytale)'이다. '스키테일'이란 일정한 굵기의 막대에 가죽끈이나 양피지를 감아서 쓰는 암호장치를 말한다. 가죽끈에는 문자가 쓰여 있는데, 그대로 읽으면 의미가 통하지 않는다. 그러나 끈을 비스듬히 막대에 감아 나가면, 한 바퀴 돌 때마다 막대의 표면에 문자가 늘어선다. 5문자로 막대로 일주하는 경우, 가죽끈 위의 문자가 5문자 간격으로 막대의 표면에 늘어선다. 그러면 거기에 진짜 메시지가 나타나는 것이다. 당시에는 만약 적에게 잡혀도 그 내용이 발각되지 않는 통신 수단으로, 전쟁 때의 전령에 사용되었다고 한다.

'스키테일(Scytale)'

2. 시저 암호

 또 기원전 1세기의 고대 로마의 '줄리어스 시저(Julius Caesar, 기원전 100 ~ 기원전 44)'도 암호를 썼다는 사실이 알려져 있다. 그는 알파벳을 3문자씩 이동시키는 방법으로 문장을 암호화했다. 예컨대 SURPRISER를 3문자씩 뒤로 이동시키면 VXUSULVHU라는 의미 없는 문자열로 변환된다. 이처럼 문자를 몇 문자 이동시켜서 만드는 암호를 '시저 암호'라고 한다.

 '시저 암호'도 전쟁 때의 송신 수단으로 쓰였다. 암호문을 받은 아군을 암호화의 방법을 아고 있으므로, 3문자씩 앞으로 이동시켜서 원래의 글로 환원시켰다. 이 환원시키는 작업을 '복호'라고 하고, 원래의 글을 '평문'이라고 한다. 시저 암호의 '암호화'와 '복호'에는 '몇 문자 이동시킨다.'는 정보가 중요하다. 이 암호화 또는 복호의 열쇠가 되는 정보를 문자 그대로 '열쇠'라는 이름으로 부른다.

반응형

3. 환자식 암호

 '시저 암호'는 알파벳을 3문자씩 이동시키는 단순한 것이다. 그래서 조금만 생각하면 '열쇠'를 몰라도 '복호'를 할 수 있었다. 설령 이동시키는 문자의 수를 3문자 이외로 했다고 해도, 알파벳은 26문자밖에 없으므로 전체 25가지의 방식을 시험하면 정답에 이를 수 있다.

 그러나 순서대로 이동시키는 것이 아니라 정당히 바꾸어 놓으면, 복호는 더욱 어렵게 된다. 예컨대 A → T, B → F, C → G라는 알파벳으로 알파벳 배열에 관계없이 문자를 바꿀 수 있다. 이것을 '환자식 암호(Substitution Cipher)'라고 한다. 그러면 바꾸는 방식은 모두 26!가지가 된다. 이것을 실제로 계산하면 26×25×24×...×3×2×1=403291461126605635584000000이라는 막대한 수가 되어, 복호는 불가능에 가깝다.

4. 복잡한 환자식 암호

 그런데 9세기경, 수학이나 언어학이 고도로 발달했던 아라비아인들에 의해 이 '환자식 암호(Substitution Cipher)'의 해독법이 발견되었다. 그 방법은 '빈도 분석'이라고 불린다. 그러면 '빈도 분석'의 원리는 뭘까? 영어에서는 'E', 'T', 'A' 등 높은 빈도로 사용되는 문자와, 반대로 'Q'나 'Z' 등 여간해서 쓰이지 않는 문자가 있다. 이 사용 빈도의 차를 이용해, 어느 문자가 어느 문자로 바뀌어 있는가를 해독하는 것이다. 단순한 '환자식 암호'가 이제는 안전하지 않다는 사실일 알려지자, '낱말'이나 '구' 단위의 변환을 조합한 '복잡한 환자식 암호'가 쓰이게 되었다. 예컨대 '카페'를 '고양이'로 바꾸는 것이다.

 그러나 이와 같은 복잡한 암호라 해도, '단순한 환자식 암호'보다 약간 안전하게 되었을 뿐이다. '복잡한 환자식 암호'도 빈도 분석을 응용하면 해독이 된다. 이 점을 모르고 암호의 안정성을 과신하다가 일어난 사건이 있었는데, 바로 16세기 스코틀랜드 여왕 '메어리 스튜어트(Mary Stuart, 1542~1587)'의 비극이다. 스코틀랜드 여왕 '메어리 스튜어트'는 정치적이고 종교적인 이유 등으로 잉글랜드에 붙잡혀 있었다. 메어리와 그 지지자들은 메어리의 탈옥과 잉글랜드의 엘리자베스 여왕의 암살을 계획했다. 그리고 복잡한 환자식 암호로 쓴 편지를 바탕으로 계획을 수행하려고 했다. 그러나 그 편지는 스파이를 통해 적의 손으로 넘어갔고, 암호는 해독되어 평문에 적에게 통째로 알려지게 되었다. 이 편지가 증거가 되어, 메어리는 1587년에 처형되었다.

반응형

5. 비주네르 암호

 메어리가 처형되기 전해인 1586년, 프랑스의 외교관 '비주네르(Vigenere)'에 의해 매우 강력한 암호화 방법이 고안되었다. 그것은 '다표식 환자 암호(Polyalphabetic Substitution)'라 불리는 것의 일종으로, '비주네르 암호'라고 불린다. 이 방법을 쓰면 문자의 출현 빈도가 고르게 되기 때문에, '빈도 분석'에 의한 해독은 할 수 없다. 이 암호에서는 같은 A라고 해도, 등장하는 장소에 따라 L로 바뀌거나 V로 바뀌는 식이다. 무엇으로 바뀌는가는 암호화용 표를 이용해 결정한다. 매우 강력한 이 암호는 19세기 중엽이 될 때까지 해독법이 발견되지 않았다.

 19세기가 되자 정보의 비밀을 지키기 위해 암호화한다는 생각이 널리 퍼졌다. 그 결과 일반인들도 문서나 편지 작성에 암호를 쓰게 되었다. 미국에서는 1885년에 발표되었지만 아직까지도 해독되지 않은 '빌의 암호'라고 불리는 유명한 암호가 있다. '빌(Thomas J. Beale)'이라는 사람은 금광을 찾아내서 엄청난 부자가 되었다. 빌은 그 보물이 매장된 장소를 암호문으로 만들어 믿을 수 있는 사람에게 맡겼다. 그 후 빌은 행방불명이 되었는데, 그로부터 몇십 년이 지나 보물의 내용이나 위치를 나타내는 세 암호문이 공개되었다. 암호문에는 한자리에서 네 자리의 숫자가 늘어서 있다. 각 숫자는 '어떤 문서' 중의 영어 낱말의 첫 글자를 나타낸다. 예컨대 18이라면, 문서 중에서 18번째 나오는 영어 낱말의 첫 글자라는 식이다. 암호의 열쇠는 이 '어떤 문서'이다. 세 암호문 가운데, 보물의 내용을 나타내는 하나는 나중에 미국의 '독립선언서'가 열쇠라는 것을 알게 되었다. 그러나 결정적인 보물의 위치를 나타내는 암호문의 열쇠는 지금까지도 밝혀지지 않았다. 빌의 암호가 누군가가 만들어 낸 이야기일 가능성도 포함해 아직도 논의가 계속되고 있다.

반응형

6. 에니그마

 19세기에는 통신 수단에 혁명적인 변화가 일어났다. 먼저 전선을 통해 전기 신호의 강약으로 정보를 전하는 '전신(Telecommunications)'이 발명되었다. 전신으로 알파벳을 전하기 위해 고안된 것이 '모스 부호(Morse Code)'이다. 그리고 통신 수단의 거듭된 혁명은, 전선이 없어도 원거리의 통신이 가능해진 '무선 통신'의 발명이다. 이들 발명에 의해 원거리 통신이 비약적으로 발전하게 되었다. 한편, 비밀 유지의 관점에서 새로운 문제도 발생했다. 불특정 다수의 제3자에게 통신이 전달되어, 정보가 몰래 읽힐 가능성도 아주 커진 것이다.

 무선 통신의 등장과 같은 시기에 제1차 세계 대전이 일어났다. 아군의 작전에 관한 통신 내용이 적국에 전해지면 효과적인 공격을 할 수 없게 될 뿐만 아니라, 반대로 결정적인 타격을 입을 가능성이 있다. 이 시대에는 적에게 입수된 내용이 노출되지 않는 안전한 암호의 필요성이 강하게 요구되었다.

 1차 세계대전이 끝난 다음, 아주 강력한 암호가 독일에서 탄생했다. '에니그마(Enigma)'라 불리는 암호 작성기로 만든 암호이다. '에니그마(Enigma)'란 그리스 어로 '수수께끼'라는 뜻이다. 에니그마에는 '로터'라고 불리는, 알파벳을 바꿔놓기 위한 톱니바퀴가 복수 조합되어 있으며, 타이프라이터처럼 '평문'을 치면 복잡한 '암호문'이 저절로 완성되었다.

 에니그마 암호는 독일에게는 매우 안전하고, 적국인 영국이나 프랑스에게는 매우 난해한 암호였다. 1차 세계대전이 개전되 당초에는 거의 해독하지 못했다고 한다. 그러나 마침내 영국의 천재적인 수학자 '앨런 튜링(Alan Turing, 1912~1954)'에 의해 전쟁 도중에 에니그마 암호가 해독되었다. 독일은 에니그마 암호가 해독되고 있다는 생각을 전혀 하지 못했고, 전쟁에도 패하고 말았다. 암호 해독이 전쟁 종결을 2년이나 앞당겼다고도 한다.

에니그마(Enigma)