sub contents

ETRI

MENU  

VOL. 181 august 2021

TOP
Special

양자라는 창을 막아내는

암호 방패를 만들다

로마의 황제였던 줄리어스 시저(Julius Caesar)는
‘시저 암호’라고 불리는 치환 암호를 사용했다.
시저는 가족과 비밀 통신을 할 때 각각의 글자를
알파벳순으로 세 자리씩 뒤로 미루어 쓰는 방법으로 글을 작성했다.
A는 D로, B는 E로 바꿔 읽는 방식의 암호다.
실제로 시저는 브루투스에게 암살당하기 전 가족들로부터
‘EH FDUHIXO IRU DVVDVVLQDWRU’라는 통신문을 받았다.
이를 3글자씩 당겨서 해석해보면 ‘BE CAREFUL FOR ASSASSINATOR’,
즉 암살자를 조심하라는 내용이었다.

암호 관련이미지1

암호의 역사
a secret code

암호(Crypto)라는 단어의 기원은 그리스어로 ‘비밀’이라는 뜻의 크립토스(Kryptos)에서 나왔다. 그 유래처럼, 고대부터 지금까지 암호는 사람들 사이에서 비밀 정보를 보호하고 교환하기 위해 사용된다. 따라서 암호는 중간의 도청자가 쉽게 해독할 수 없고 송신자와 수신자만이 의미를 알 수 있도록 고안하는 것이 가장 중요하다.

고대에는 암호화하는 방식보다는 정보 자체를 가리는 방법에 집중했다. 정보를 전달하는 사자의 머리를 깎고 메시지를 쓴 후에 머리를 길러서 보내면 받는 측에서 사자의 머리를 깎고 메시지를 읽거나, 약품 처리를 하지 않으면 보이지 않는 잉크를 사용하는 등의 방법이었다.

17세기 들어 근대 수학이 발전하면서 암호 기술도 함께 발전하기 시작했다. 프랑스의 외교관이었던 비네제르(Vigenere)가 고안한 키워드를 이용한 복수 시저 암호형 방식, 영국의 수학자 플레이페어(Playfair)가 만든 2문자 조합 암호 등이 대표적인 사례다.

이 중 비교적 쉬운 규칙을 가지고 있는 복수 시저 암호를 알아보자. 복수 시저 암호는 기존 시저 암호처럼 알파벳순으로 글자를 미루거나 당겨쓰되, 매 자리마다 그 규칙을 다르게 적용하는 방식이다. 예를 들어 Crypto라는 단어를 암호화한다고 해보자. 한 자리, 두 자리, 세 자리, 다시 한 자리, 두 자리, 세 자리로 반복하여 미루는 규칙을 지닌 복수 시저 암호를 사용해 암호화한다고 하면, Crypto는 'Dtbqvr'라는 암호문이 되는 것이다.

고대 암호기 크립텍스

현대 암호의 시작, 공개키 암호
password

1976년 스탠퍼드 대학의 디피(Diffie)와 헬맨(Hellman)은 ‘암호의 새로운 방향’이라는 논문에서 처음으로 ‘공개키 암호’의 개념을 발표하였다. 공개키 암호란 평문을 암호화하는데 사용되는 규칙, 즉 암호화키를 공개하는 방식을 의미한다. 암호화키의 원리가 공개되어도 그것을 해독하는 복호화키(비밀키)는 공개하지 않되 풀 수 없을 정도로 어려운 규칙을 이용하는 것이다. 이처럼 암호키를 공개하는 이유는 암호 방식의 안전성을 공개적으로 검토하기 위해서다. 이는 1883년, 네덜란드의 언어학자 케르크호프스가 주장한 ‘암호화 시스템은 키 이외에 모든 것이 공개되어도 안전해야 한다’는 ‘케르크호프스(Kerckhoff)’의 원리를 따른 것이다.

시저 암호처럼 기존에 사용되던 암호 방식은 암호화키와 복호화키가 동일한 방식을 사용하기 때문에 송신자와 수신자는 비밀 통신을 하기 전에 규칙, 즉 비밀키를 공유하고 있어야 했다. 반면 공개키 암호 방식에서는 하나의 쌍이 되는 서로 다른 공개키와 비밀키를 생성하여 암호화에 사용되는 공개키는 공개하고, 해독에 사용되는 비밀키는 비공개로 보관한다. 공개키 암호는 송신자와 수신자가 사전에 키를 공유할 필요가 없기 때문에 불특정 다수 사용자 간에 사전 준비가 없이도 암호 통신망을 구축하는데 유용하다.

또한 표준화된 암호와 컴퓨팅 기기들을 사용하는 현대 암호에서는 암호화 알고리즘을 감추기가 어렵다. 암호화 알고리즘을 감춘다고 해서 암호의 보안성이 높아지는 것도 아니다. 비공개였던 암호 알고리즘이 공개되었을 때 그 안전성에 문제가 발견되는 사례도 많다. 그러므로 암호 분야에서는 암호화 알고리즘을 암호학자들이 의해 장기간 세부적으로 증명하는 과정을 거쳐야 그 안전성을 인정받는다. 이렇게 오랜 시간 검증된 암호 알고리즘은 공개키 방식과 함께 현대 암호 체계의 근간을 이루게 되었다.

양자컴퓨터 관련 추상이미지

양자 컴퓨터와 암호 기술
Sycamore chip

이러한 가운데 ‘암호 세계’에 새로운 화두로 떠오른 것이 바로 양자 컴퓨터다. 2019년, 구글은 기존의 가장 강력한 슈퍼컴퓨터보다 뛰어난 성능의 양자컴퓨터를 개발했다고 밝혔다. 이른바 ‘양자우위’를 선언한 것이다. 구글은 자신들이 개발한 양자컴퓨팅 칩 시카모어(Sycamore chip)가 당시 가장 빠른 슈퍼 컴퓨터였던 IBM의 'Summit'이 10,000년 동안 풀어야 할 문제를 3분 20초만에 풀어냈다고 밝혔다.

현재 디지털 컴퓨터에서 사용되는 가장 작은 단위인 비트(bit)는 0과 1 가운데 한가지를 표현할 수 있다. 4개 비트를 예로 들면 2의 4제곱, 즉 0000부터 1111까지 16가지의 정보를 표현할 수 있는 것이다. 다만 16가지 정보 중 한 번에 한가지 정보만 표현이 가능하다.

그러나 큐비트(Qbit)라는 단위를 사용하는 양자컴퓨터는 조금 다르다. 양자의 상태는 우리가 눈으로 직접 관측하기 전까지 알 수 없으며, 그렇기에 하나의 양자는 컴퓨터가 인식할 수 있는 두 가지의 정보, 즉 0과 1을 동시에 가질 수 있다. 이것이 바로 '양자 중첩'이라는 원리다. 이런 양자 중첩의 원리를 이용하며 한 번에 하나의 값만 입력할 수 있는 기존 컴퓨터와는 달리 여러 값을 동시에 구하고 입력할 수 있는 것이다.

문제는 이렇게 비약적인 발전을 거듭하고 있는 양자컴퓨터가 현재의 암호 시스템을 무너뜨릴 수 있다는 점이다. 양자컴퓨터의 빠른 연산 속도가 기존 암호키를 풀어내는 데 사용되면 기존 암호체계의 보안성이 무너질 수 있기 때문이다.

양자컴퓨터

뚫리지 않는 방패를 검증하다,
큐크립톤(QCrypton)QCrypton

한국전자통신연구원은 지난 7월 20일, 한국과학기술연구원(KAIST)와 공동으로 개최한 PQCrypto 2021 국제학술대회에서 양자컴퓨터 환경에서도 안전한 암호체계를 검증할 수 있는 플랫폼인 ‘큐 크립톤(<Q|Crypton>)’을 공개했다. 공개키 암호시스템에 기반을 둔 기존 암호와 차세대 양자내성암호 등 다양한 암호체계의 양자 안전성을 검증하는 플랫폼이다.

큐크립톤은 양자컴퓨터 회사별로 다른 큐비트(Qubit) 규모, 양자컴퓨터 칩 구조, 오류율 등 다양한 환경 요소를 고려하고 암호의 안전성을 정확하게 분석, 시뮬레이션할 수 있다. 또한, 시각화 프로그래밍 기술과 암호 핵심 데이터셋(Dataset)을 탑재하고 있어 암호분석에 필요한 양자 알고리즘을 빠르고 효율적으로 개발할 수 있다.

아직 양자컴퓨터가 널리 보급되거나 현대 암호체계를 붕괴할 수준에 이르지는 않았다. 하지만 빠른 속도로 발전하는 양자컴퓨터 기술이 더욱 의미있고 안전하게 쓰이려면 암호 시스템에 관한 연구 역시 더욱 활발히 이뤄져야 할 것이다. 이번에 ETRI가 마련한 암호체계 검증 플랫폼 <Q|Crypton>을 통해 양자컴퓨터와 더불어 안전한 암호 시스템과 서비스가 더불어 발전하는 미래를 기대해본다.

미래지향적 이미지
  • 페이스북 공유하기
  • 네이버 공유하기
  • 카카오톡 공유하기