[주말판] 암호학에 사용되는 기본 용어들, 한 번에 정리

2019-05-04 08:06
  • 카카오톡
  • 네이버 블로그
  • url
양자 컴퓨터 시대 다가오면서 다시 한 번 떠오르고 있는 암호 연구
평문이 암호화를 거쳐 암호문으로 변환되고, 복호화를 거쳐 다시 평문으로


[보안뉴스 문가용 기자] 암호학이 최근 다시 주목을 받고 있다. 양자 컴퓨터 기술이 현존하는 암호들을 전부 무용지물로 만들 것이 분명하다는 전망들이 나오면서 암호에 대한 연구가 다시 한 번 붐을 맞고 있다. 미국의 NIST는 이미 새로운 암호화 기술에 대한 논문 경연 대회를 연 바 있고, 한국의 KISA는 암호 동아리 지원 사업을 실시하고 있다.


[이미지 = iclickart]

마이크로소프트의 보안암호화그룹(Security and Cryptography Group)의 수장인 브라이언 라마키아(Brian LaMacchia) 박사는 양자 컴퓨터의 도래에 대해 “거대한 변화가 강제될 것”이라고 예견한다. “MD5 체제에서 SHA-1 해시 기능으로 넘어갔을 때나, SHA-1에서 SHA-2로 전환했을 때와는 차원이 다릅니다. 공공 키 암호화 기술을 사용하는 모든 것을 몇 단계나 업그레이드 해야만 양자 컴퓨터를 받아들일 준비가 되는 겁니다.”

그래서 이번 주 본지는 암호학에서 자주 사용되는 용어들에 대한 설명을 준비했다. 그 자체로 또 하나의 암호 같은 사전적 정의가 아니라 최대한 이해가 쉽도록 풀어썼다. 암호학 전문가인 데이비드 칸(David Khan) 교수가 도움을 주었다.

먼저 평문(plaintext)은 암호화 기술을 거쳐 비밀리에 부쳐질 원본 메시지를 말한다. 비밀을 주고받을 사람들이 주로 이용하는 언어로 되어 있는 경우가 많다(영어 등). 비밀번호가 평문으로 저장되어 있다는 게 어마어마한 큰일인 건, 비밀번호는 암호화 기술을 거쳐 비밀리에 부쳐져야만 하는 내용물이기 때문이다.

평문을 숨기는 기본적인 방법은 두 가지로 구분할 수 있다. 하나는 스테가노그래피(steganography)로, 메시지의 존재 자체를 감추는 기법이다. 눈에 보이지 않는 잉크를 사용해 편지를 쓴다거나, 평범해 보이는 글인데 행의 첫 번째 글자만을 나열하면 진짜 메시지가 나타나도록 글자를 배열한다거나 하는 게 스테가노그래피의 일종이다. 최근에는 이미지 파일 속에 악성 코드 등을 심겨놓는 기법이 자주 활용되고 있다.

그 다음은 암호화 혹은 암호 기법(cryptography)이다. 비밀 메시지의 존재 자체를 감추는 기법이 아니라, 평문을 다양한 방법으로 변형시켜 읽지 못하거나 이해하지 못하게 만드는 것을 말한다. 이 ‘변형’이라는 것에도 크게 두 가지 방법이 존재한다. 하나는 전치(transposition)라고 하는데, 평문의 글자를 마구 섞어놓는 것이다. ‘secret’이라는 글자를 ‘etcrse’ 따위로 바꾸는 걸 말한다. 다른 하나는 대칭(substitution)이라고 하는데, 평문의 글자를 아예 다른 글자로 대체시키는 것이다. ‘secret’이라는 글자를 ‘19 3 18 5 20’이나 ‘XIWOXV’ 따위로 바꾸는 걸 말한다. 이 두 가지 기법은 혼용될 수 있다.

전치와 대칭 중 대칭이 훨씬 더 활발하게 사용되고 있는 게 사실이다. 게다가 그 종류도 더 많다. 대칭 시스템에서는 ‘암호 알파벳(cipher alphabet)’이라는 개념이 정말 중요해진다. 알파벳이긴 알파벳인데, 기존의 abcd나 가나다라와는 전혀 다른, 비밀을 주고받는 사람들만 알고 있는 알파벳이다. abcd...가 일반인들도 알고 있는 알파벳이라면, 비밀을 주고받는 사람들끼리는 lbqacsr...등의 암호 알파벳을 사용하는 식이다.

하나만 쓰면 유추가 가능해져 여러 개의 ‘암호 알파벳’을 섞어 쓰기도 한다. 1이라는 글자가 e, 가, n, 13 등 다양한 것들로 교체될 수 있는 건데, 이 때 e, 가, n, 13을 동음이의어(homophone)라고 한다. 중간에서 비밀을 가로채 해독하려는 자들을 헷갈리게 하기 위해 아무 의미 없는 걸 암호 알파벳에 넣기도 하는데, 이 아무 의미 없는 요소를 널(null)이라고 부른다.

여러 개의 암호 알파벳을 사용하는 암호 시스템을 다중문자(polyalphabetic)라고 하고, 한 가지 암호 알파벳을 사용하는 경우는 단일문자(monalphabetic)라고 한다. 현대의 컴퓨터들로는 수백 만 개의 암호 알파벳으로 구성된 다중문자 암호의 생성이 가능하다.

‘암호’라는 뜻으로 해석이 되는 단어가 두 가지가 있는데 하나는 코드(code)고, 다른 하나는 사이퍼(cipher)다. 일각에서는 코드와 사이퍼가 전혀 다른 것이라며 같은 ‘암호’로 번역되는 걸 기피해야 한다는 주장이 나오고 있기도 한데(이런 사람들은 그래서 암호보다 ‘코드’와 ‘사이퍼’라는 단어를 선호한다), 데이비드 칸 교수는 둘 사이를 명확하게 구분하는 이론적 정의는 존재하지 않는다고 설명한다.

다만 ‘코드’가 원래의 평문 메시지를 대체할 수천~수만 개의 단어, 문장, 숫자, 글자 등으로 구성되어 있는 암호 체계라면(그렇기 때문에 일반적으로 ‘코드’라는 말이 더 많이 사용된다), ‘사이퍼’는 보다 단순하고 적은 규모의 글자나 글자 쌍(이를 다이그래프(digraph) 혹은 바이그램(bigram)이라고 한다)으로만 구성되어 있다고 한다. 그러므로 규모가 커지면 커질수록 코드와 사이퍼 사이의 구분이 어려워진다.

나무위키에는 ‘암호’로 번역되는 제3의 단어가 등장한다. 바로 패스워드(password)인데, 이는 코드나 사이퍼와는 확연하게 다른 뜻이다. 패스워드는 인증 시스템을 통과하기 위해(로그인 하기 위해) 사용하는 글자나 숫자로, 알리바바가 ‘열려라 참깨’라고 외쳤던 것과 같은 것이다. 그래서 혼동을 피하기 위해 패스워드는 영어의 발음 그대로 ‘패스워드’로 쓰거나 ‘비밀번호’로 번역하기도 한다.

사이퍼나 코드는 대부분 키(key)를 사용한다. 암호 키 혹은 암호화 키 등으로 해석되기도 하는데, 암호 알파벳이 어떤 식으로 구성되어 있다거나, 전치가 어떤 패턴으로 이뤄졌다거나, 해독 전용 기계가 어떤 식으로 설정되어 있다거나 하는, 해독에 관한 정보가 담겨져 있다. 만약 이 키가 ‘단어’로 구성되어 있다면 이를 키워드(keyword)라고 부르고, 숫자라면 키넘버(keynumber)라고 한다.

특정 규칙 아래서 평문을 대체한 ‘코드’도 코드워드(codeword)코드넘버(codenumber)로 세분화된다. 코드워드와 코드넘버를 합쳐서 코드그룹(codegroup)이라고도 한다. 또한 이 코드 역시 다양한 변형의 대상이 될 수 있다. 아무런 변형이 가해지지 않은 코드를 플라코드(placode)라고 부르는데, 이는 plain code의 준말이다. 반대로 변형된 코드는 엔시코드(encicode)라고 하며, 이는 enciphered code(암호화 된 코드)의 준말이다. 한글로 ‘암호화’는 영어에서 encipher라고도 하지만, encode라고도 한다. ‘인코딩’이 바로 이 encode에서 나온 말이다.

평문을 암호화(encipher / encode) 했을 때 나오는 결과물은 암호문(ciphertext / codetext)이다. 그리고 이렇게 암호화 된 결과물을 최종적으로 누군가에게 보낼 때, 그것을 크립토그램(cryptogram)이라고 한다. 이 역시 암호문으로 번역되는데, 사이퍼텍스트나 코드텍스트의 암호문은 암호화를 거쳐 나온 결과물에 초점을 맞춘 개념이고, 크립토그램은 암호문이 전송되는 것에 더 비중이 있는 개념이다. ‘전문(text)’이 ‘전보(telegram)’를 통해 전달되는 내용이고, ‘전보(telegram)’는 ‘전문(text)’을 전송하는 행위를 말하는 것을 생각하면 이해가 빠르다.

암호문을 해독하는 걸 ‘복호화 한다(decipher / decode)’고 하는데, 영어 단어에서도 사이퍼와 코드의 구분이 그리 쉽지 않음을 다시 한 번 볼 수 있다. 복호화는 정상적이고 합법적으로 ‘암호화 키’를 보유한 사람이 암호문을 다시 변형시켜 평문을 복원시키는 걸 말한다. 해독은 보다 넓은 개념에서 암호를 푸는 건데, 합법적으로 키를 보유하지 않은 사람이 복호화 하는 것까지도 포함하고 있다.

영어에서는 ‘불법적으로’ 혹은 ‘비정상적으로’ 암호문을 가져간 사람이 암호화 키 없이 혹은 암호화 키까지 훔쳐서 암호문을 복호화하는 것을 cryptanalyze(동사) / cryptanalysis(명사)라고 한다. 이에 상응하는 한국말은 없다. Cryptanalysis는 영어권에서 코드브레이킹(codebreaking)으로 대체되기도 한다.

이렇게 복호화나 해독의 과정을 거쳐 나온 결과물은 당연히 평문, 즉 원래의 메시지다. 그런데 우리나라에서 ‘평문’이라고 해석되는 것에는 두 가지 영어 단어가 존재한다. 하나는 위에서 소개한 plaintext고(암호학에서 나오는 평문은 붙여서 쓰고, 일반적인 대화에서 사용되는 ‘평범한 텍스트’ 정도의 의미로서는 띄어 쓴다) 다른 하나는 cleartext다. 하지만 둘 사이에는 분명한 차이가 있다. Plaintext가 암호화 되기 전의 원래 메시지와 암호화가 풀린 후의 메시지를 말한다면, cleartext는 암호화 과정 없이 전송된 메시지를 말한다.

그 외에 상업용 암호(commercial code)라는 것도 있다. 이는 말 그대로 상업적 목적을 가진 암호인데, 주로 통신비를 줄이기 위해 고안된 것이다. 전보용 약자 코드나 모스 부호 같은 게 대표적인 사례다. 해독 방법과 암호화 키가 일반적으로 공개되어 있기 때문에 암호로서의 가치는 높지 않다.
[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>

헤드라인 뉴스

TOP 뉴스

이전 스크랩하기


김무옥 2019.05.20 03:37

문가용 기자님 글은 참 유익해요.


과월호 eBook List 정기구독 신청하기

    • 씨프로

    • 인콘

    • 엔텍디바이스코리아

    • 핀텔

    • 아이비젼

    • 아이디스

    • 씨프로

    • 웹게이트

    • 엔토스정보통신

    • 하이크비전

    • 한화비전

    • ZKTeco

    • 비엔에스테크

    • 지오멕스소프트

    • 원우이엔지

    • 지인테크

    • 홍석

    • 이화트론

    • 다누시스

    • 테크스피어

    • TVT코리아

    • 슈프리마

    • 인텔리빅스

    • 시큐인포

    • 미래정보기술(주)

    • 세연테크

    • 비전정보통신

    • 트루엔

    • 경인씨엔에스

    • 한국씨텍

    • 성현시스템

    • 아이원코리아

    • 프로브디지털

    • 위트콘

    • 다후아테크놀로지코리아

    • 한결피아이에프

    • 스피어AX

    • 동양유니텍

    • 포엠아이텍

    • 넥스트림

    • 펜타시큐리티

    • 에프에스네트워크

    • 신우테크
      팬틸드 / 하우징

    • 옥타코

    • 네이즈

    • 케이제이테크

    • 셀링스시스템

    • 네티마시스템

    • 아이엔아이

    • 미래시그널

    • 엣지디엑스

    • 인빅

    • 유투에스알

    • 제네텍

    • 주식회사 에스카

    • 솔디아

    • 지에스티엔지니어링
      게이트 / 스피드게이트

    • 새눈

    • 에이앤티글로벌

    • 케비스전자

    • 한국아이티에스

    • 이엘피케이뉴

    • (주)일산정밀

    • 구네보코리아주식회사

    • 레이어스

    • 창성에이스산업

    • 엘림광통신

    • 에이앤티코리아

    • 엔에스티정보통신

    • 와이즈콘

    • 현대틸스
      팬틸트 / 카메라

    • 엔시드

    • 포커스에이아이

    • 넥스텝

    • 인더스비젼

    • 메트로게이트
      시큐리티 게이트

    • 엠스톤

    • 글로넥스

    • 유진시스템코리아

    • 카티스

    • 세환엠에스(주)

Copyright thebn Co., Ltd. All Rights Reserved.

시큐리티월드

IP NEWS

회원가입

Passwordless 설정

PC버전

닫기