기획자 본인만큼 잡다한 블로그

greentec.egloos.com

포토로그


통계 위젯 (블랙)

1910
65
90515

flag counter

Flag Counter


<암호의 세계> - 루돌프 키펜한 지음, 김시형 옮김 독서




대학 시절 수학을 잘하던 친구가 <암호학>에 대해서 말해준 적이 있다. 자기도 몰랐지만 암호학은 하나의 고유한 학문이며, 강의를 듣고 있는데 꽤 재미있다고 했다. 10여 년이 지난 지금 헌책방에서 우연히 이 책을 발견했을 때 그때 흘려 들었던 친구의 말이 생각났다.

암호의 역사는 오래되었다. 역사적으로 유명한 인물과 연관되었으면서 오래된 암호는 카이사르 암호일 것이다. 이것은 단순히 알파벳의 문자를 규칙적으로 몇 칸씩 옮겨서 쓰는 것이다. 예를 들어 A → D, B → E, C → F, ... , X → A, Y → B, Z → C 가 되는 식이다. 이런 규칙으로 암호화를 하면 "BOY"라는 단어는 "ERB"라는 암호문이 된다. 이런 암호 체계를 환자(換字) 방식이라고 한다. 어떤 문자를 다른 문자로 바꿔서 쓰는 것이다. 이런 암호문은 영어의 경우 자주 쓰이는 문자(모음, t, h 등)의 빈도를 파악하면 어떤 문자가 다른 문자로 치환되었는지를 알아내어 풀 수 있다고 한다. 애드거 앨런 포의 단편 소설 <황금풍뎅이>에는 해적이 남긴 보물의 위치를 환자 방식으로 해독하는 이야기가 나온다.

환자 방식과 달리 평문이 쓰인 순서를 바꾸는 전자(轉字) 방식도 있다. 특히 애너그램 같은 것이 전자 방식의 예이다. 애너그램으로 암호화를 하기는 쉽지만 복호화를 하기는 어렵다. 예를 들어 eelortuv 라는 단어를 보고 revolute를 바로 떠올리기는 어려울 것이다. 한 단어가 아니라 한 문장만 되어도 이 복잡도는 매우 크게 증가한다. 하지만 암호는 복호화가 가능해야 정보를 주고받을 수 있기 때문에 전자 방식도 일정한 규칙에 따라 암호화가 진행된다.

본서에 소개된 쥘 베른의 <마티아스 산도르프> 라는 소설에 나오는 그릴 암호를 프로그램으로 구현해 보았다. 이 암호화 방법은 36개의 칸 중 아홉 개 만을 뚫어 놓은 그릴을 이용하여 그것을 90도씩 돌리면서 원본 메시지를 일정하게 적는 것이다. ENCODE, DECODE 버튼을 누르면 암호화 / 복호화를 실행해볼 수 있다.



암호학은 1, 2차 세계 대전을 거치며 크게 발달했다. 독일 군의 "이니그마" 암호 체계를 해독하기 위한 연합군의 노력은 특히 이 책에 자세히 설명되어 있다. 이니그마 암호 체계를 해독하기 위한 기계가 컴퓨터의 초기 모델이 되었으니, 암호학은 컴퓨터의 발달에도 큰 영향을 끼친 셈이다.

현대에 들어와 암호학은 전자 서명에도 쓰인다. 이 방법은 <미래를 바꾼 아홉 가지 알고리즘>에도 잘 설명되어 있는데, 큰 수의 인수분해가 어려운 것을 이용한 것이다. 최근에는 발전한 방법들이 더 많이 나오고 있다고 하는데 본서에는 일단 인수분해 법에 대해서만 설명되어 있다. 

책에는 수많은 암호들이 나오는데 그 배경 설명은 재미있는 역사책을 보는 느낌이었다. 또 수학적 설명도 꼼꼼하게 되어 있어서 만족스러웠다. 



덧글

  • mafuyou 2014/10/29 21:19 # 답글

    암호학 타과수업을 들은적이 있었는데 재밌더군요
    오래되서 기억나는건 RSA랑 3DES 정도밖에. . .
  • meercat 2014/10/29 21:24 # 답글

    저도 요즘 읽고 있는 책입니다. 이전에 먼저 읽어본 적이 있는데 지금 다시 보니 느낌이 또 다르더군요.
    암호에 대해 아무것도 모르는 저같은 암호초심자들도 쉽게 흥미를 가지고 부담없이 읽어나갈 수 있는 책이라 생각됩니다.
  • 새우깡맛아이스크림 2020/07/10 09:10 # 삭제 답글

    암호
댓글 입력 영역

애드센스