전세계적으로 팬덤을 형성하고 있는 소설 <해리포터>
영화도 성공적이었죠.
영화 속의 이 장면 기억하시나요?
Tom Marvolo Riddle<톰 마볼로 리들>이라는 등장인물이 있는데
이름의 알파벳을 재배열해서
I am Lord Voldemort<나는 볼드모트 경이다>로 바꾸죠.
이런 암호화 방식을 애너그램(anagram)이라고 합니다.
역사상 가장 먼저 나타난 암호는 문자의 위치를 바꾸는 ‘전치암호’입니다.
<해리포터>의 애너그램도 전치암호의 일종이죠.
예를 들어볼까요?
‘도와주세요. 공격을 받고 있어요’ 라는 영어 문장
Helf me I am under attack
한 줄에 5개씩 알파벳을 배열하고 위에서 아래로 읽으면
HENT EIDT... 이런 식이 되죠.
이렇게 암호화해서 보내면 풀기가 쉽지 않습니다.
이 방법은 기원전 400년 경 고대 그리스의 스파르타에서 사용되었습니다.
스키테일이라는 원통형 막대에 양피지 리본을 감고
여기에 메시지를 쓰고 나서 풀면 전치암호가 되죠.
그다음 암호는 한 문자를 다른 문자로 바꾸는 ‘치환암호’입니다.
대표적인 치환암호는 문자를 일정한 간격으로 이동하는 ‘카이사르 암호’입니다.
로마의 황제 율리아스 카이사르가 사용했기 때문에 붙여진 이름인데요
예를 들어 알파벳을 3칸씩 밀어 A는 D로, B는 E로, C는 F로 바꿀 수 있습니다.
카이사르는 부루투스에게 암살당했는데
그 상황에서 ‘부루투스를 믿지 말아라’
‘Never trust brutus’라는 말을 했을 법 하죠.
이 문장을 암호화하면 QHYHU WUXVW EUXWXY 이런 식이 됩니다.
이런 규칙성 없이 무작위로 한 문자를 다른 문자로 바꿀 수도 있습니다.
애드거 앨런 포의 소설 <황금벌레>에 나오는 암호입니다.
--
이 암호를 푸는 것은 불가능하겠네요?
그렇지 않습니다.
난수표와 같은 이 암호도 빈도 분석을 통해 해독할 수 있습니다.
<황금벌레> 암호문에서 가장 많이 등장하는 것이 8입니다.
그런데 영어에서 가장 많이 쓰이는 알파벳은 e
따라서 숫자 8은 알파벳 E라고 추측할 수 있습니다.
가장 많이 쓰이는 단어는 the이고
알파벳 e를 알아냈으니
연쇄적으로 t와 h가 무엇인지 추론할 수 있겠죠.
이런 방법을 적용하면 순차적으로 암호를 풀어갈 수 있습니다.
---
현대 암호는 ‘비밀키 암호’와 ‘공개키 암호’로 나눌 수 있습니다.
비밀키 암호에서는 암호화하는 키와 해독하는 키가 같습니다.
그러니 그 키를 비밀로 유지해야 하겠죠.
DES(Data encryption standard)가 대표적인 비밀키 암호입니다.
미국이 개발해서 널리 사용되고 있는 DES가 훌륭한 암호이긴 하지만
최근 각 국가들은 미국에 종속되지 않고 독립적인 암호 시스템을 만들고 있습니다.
---
공개키 암호는 무엇인가요?
비밀키 암호에서는 암호를 이용하는 사람마다 키를 가져야 하니
키의 개수가 급증하게 되겠죠.
그래서 생각한 게 암호화 키는 공개하고, 이걸 푸는 키는 각자 다르게 부여하는 방법입니다.
공개키 암호 중 대표적인 게 RSA 암호입니다.
1970년대 이를 개발한 세 명의 수학자 리베스트, 세미르, 아델만의 성을 따서 RSA라고 부릅니다.
이들은 RSA 암호에 대한 연구로 2002년 컴퓨터 공학의 최고상인 튜링상을 받았습니다.
RSA 암호는 소인수분해하는데 시간이 오래 걸린다는 성질을 이용합니다.
두 개의 소수를 곱하는 것은 금방이지만, 곱해진 결과가 어떤 두 소수의 곱인지 알아내는 데는 긴 시간이 걸립니다.
암호는 언젠가는 풀리게 되는데, 해독되는 데 걸리는 시간을 최대한 지연시키는 게 좋은 암호인 거죠.
그런 측면에서 RSA는 효율적인 암호화 방식입니다.
--
현대 암호의 발전은 수학 이론을 통해 가속화되었다는 점 기억해 주시고요
저는 여러분들의 두뇌 회전을 가속화시키기 위해
커밍~쑨!
'어반스케치·수학비타민' 카테고리의 다른 글
[수학비타민] 주민번호 바뀐다, 어떻게? (0) | 2020.02.10 |
---|---|
[수학비타민] 직장인 강좌: 편하게 턱 괴기 (0) | 2020.02.04 |
[수학비타민] 생각하는 컴퓨터, 인공지능 (0) | 2020.01.17 |
[수학비타민] 천문 # 하늘에 수학을 묻는다 (0) | 2020.01.10 |
[수학비타민] 직선보다 '이 방법' 이 더 빠르다 (0) | 2020.01.06 |