포스트양자암호(PQC) 기초: 양자 위협에 맞선 새로운 암호 체계
양자 컴퓨터의 쇼어 알고리즘은 현재의 RSA·타원곡선 암호를 다항 시간 내에 해독할 수 있어 기존 공개키 암호 체계를 근본적으로 위협한다. 포스트양자암호(PQC)는 고전 컴퓨터에서 동작하면서도 양자 공격에 견딜 수 있는 수학적 난제 기반의 암호 체계이다. 격자 기반 LWE 문제를 핵심으로, NIST 표준화를 거친 알고리즘들이 현재 실용화 단계에 접어들고 있다.
개념 소개
현재 인터넷 보안의 근간인 RSA와 타원곡선 암호(ECC)는 각각 정수 인수분해와 이산 대수 문제의 계산적 어려움에 기반한다. 고전 컴퓨터로는 이 문제들을 풀기 위해 지수 시간이 필요하지만, 1994년 Peter Shor가 제안한 양자 알고리즘은 다항 시간 내에 두 문제를 모두 해결할 수 있음을 보였다. 충분한 오류 정정 큐비트를 갖춘 범용 양자 컴퓨터가 실현되면 현재의 공개키 암호 체계는 사실상 무력화된다.
**포스트양자암호(Post-Quantum Cryptography, PQC)**는 양자 컴퓨터의 연산 능력으로도 해독하기 어렵다고 여겨지는 수학적 난제에 기반한 암호 체계이다. 양자 물리를 직접 이용하는 양자키분배(QKD)와 달리, PQC는 고전 컴퓨터에서 소프트웨어로 실행된다. 기존 통신 인프라와의 호환성을 유지하면서 양자 위협에 대응할 수 있다는 점에서 현실적 대안으로 주목받는다.
핵심 원리
PQC는 여러 수학적 난제군에 기반한다. 그 중 가장 활발히 채택된 것이 **격자 기반 암호(Lattice-based Cryptography)**이며, 핵심 난제는 **학습-에러 문제(Learning With Errors, LWE)**이다.
차원 비밀 벡터 에 대해, 임의 벡터 와 작은 오류 를 이용해 다음 샘플을 생성한다.
주어진 수많은 쌍 로부터 를 복원하는 것이 LWE 문제이다. 오류 항 가 없으면 선형 방정식으로 쉽게 풀리지만, 작은 오류가 더해지면 최적 양자 알고리즘을 포함해 어떤 효율적 방법으로도 풀기 어렵다는 것이 현재의 지배적 믿음이다.
실용 알고리즘에서는 다항식 환(polynomial ring) 위에 정의된 Ring-LWE와 모듈 구조를 결합한 Module-LWE를 사용해 연산 효율을 높인다.
PQC를 구성하는 주요 수학적 기반은 다음과 같다.
| 종류 | 핵심 난제 | 특징 |
|---|---|---|
| 격자 기반 | LWE, Ring-LWE | 빠른 연산, 작은 키 크기 |
| 해시 기반 | 일방향 해시 함수 | 가장 보수적 보안 가정 |
| 코드 기반 | 임의 선형 코드 디코딩 | 역사가 긴 난제 |
| 다변수 기반 | 연립 다변수 다항식 | 짧은 서명 가능 |
예시·응용
NIST 표준화 알고리즘
미국 표준기술연구소(NIST)는 다년간의 공모·분석 과정을 거쳐 PQC 표준 알고리즘을 확정하였다.
| 표준 명칭 | 원 알고리즘 | 용도 | 수학적 기반 |
|---|---|---|---|
| ML-KEM | CRYSTALS-Kyber | 키 캡슐화 | Module-LWE |
| ML-DSA | CRYSTALS-Dilithium | 전자서명 | Module-LWE |
| SLH-DSA | SPHINCS+ | 전자서명 | 해시 기반 |
| FN-DSA | FALCON | 전자서명 | NTRU 격자 |
LWE 샘플 생성 예시 (교육용)
import numpy as np
def lwe_sample(s, q, sigma=2.0):
"""단순 LWE 샘플 생성 (교육 목적)"""
n = len(s)
a = np.random.randint(0, q, size=n)
e = int(np.round(np.random.normal(0, sigma))) # 작은 오류
b = (int(np.dot(a, s)) + e) % q
return a, b, e
n, q = 8, 97
s = np.array([3, 1, 4, 1, 5, 9, 2, 6]) # 비밀 벡터
a, b, e = lwe_sample(s, q)
print(f"a = {a}")
print(f"b = {b} (≡ <a,s> + {e} mod {q})")
print(f"오류 없이 <a,s> mod q = {int(np.dot(a,s)) % q}")
수천 개의 쌍을 관찰해도 를 효율적으로 복원할 수 없다. 이것이 ML-KEM과 ML-DSA의 보안 근거이다.
하이브리드 방식과 실용화 동향
Google, Cloudflare 등은 이미 TLS 핸드셰이크에 ML-KEM 기반 하이브리드 키 교환을 도입하였다. 하이브리드 방식은 기존 ECC와 ML-KEM을 병행 적용해, 하나가 안전하면 전체 세션이 보호되도록 설계한다. 이는 PQC 알고리즘에 대한 미발견 취약점에 대비한 전략이기도 하다.
특히 주목할 위협은 "지금 수집하고 나중에 복호화(Harvest Now, Decrypt Later)" 공격이다. 공격자가 암호화된 트래픽을 현재 수집하고, 미래의 양자 컴퓨터로 해독하는 시나리오로, 이에 대응하기 위해 충분한 양자 컴퓨터가 실현되기 이전에 PQC 전환이 요구된다.
정리
포스트양자암호는 쇼어 알고리즘이 초래하는 공개키 암호 위협에 대응하는 현실적 해법이다. LWE 기반 격자 암호를 중심으로, 해시 기반·코드 기반 등 다양한 수학적 난제를 활용하는 알고리즘들이 NIST 표준으로 확정되어 실용화 단계에 접어들었다. PQC는 고전 인프라 위에서 실행되면서도 양자 공격에 견딜 수 있어, 양자-고전 혼합 환경에서 통신 보안의 핵심 축을 담당할 것이다.
연습문제
Q1.LWE 문제에서 오류 항 $e_i$가 0이라면 어떤 일이 발생하는가? 이것이 LWE 보안의 핵심 역할을 어떻게 설명하는지 서술하라.
힌트 보기
오류가 없다면 연립 선형 방정식 $b_i = \langle \mathbf{a}_i, \mathbf{s} \rangle \pmod{q}$이 되어 가우스 소거법으로 쉽게 풀린다.
해설 보기
$e_i = 0$이면 주어진 샘플들이 $\mathbb{Z}_q$ 위의 선형 연립방정식이 되어, $n$개의 샘플만으로도 가우스 소거법을 통해 $\mathbf{s}$를 다항 시간에 유일하게 복원할 수 있다. 작은 오류 $e_i$가 더해짐으로써 문제가 격자의 근사 최단 벡터 탐색과 동등해지며, 이것이 양자 알고리즘을 포함해 현재 알려진 어떤 효율적 알고리즘으로도 풀기 어렵다는 보안 근거가 된다.
Q2.하이브리드 키 교환 방식이 순수 PQC 단독 사용보다 전환 기간에 선호되는 이유를 설명하라.
해설 보기
PQC 알고리즘은 역사가 짧아 고전 암호에 비해 충분한 분석 시간이 축적되지 않았다. 하이브리드 방식은 ECC 키 교환과 ML-KEM 키 캡슐화를 동시에 수행하고 두 공유 비밀을 결합해 세션 키를 생성한다. 따라서 PQC 알고리즘에 예상치 못한 취약점이 발견되더라도 ECC 보안이 유지되며, 반대로 양자 컴퓨터 공격이 실현되더라도 ML-KEM이 보호한다. 이 이중 보호 구조가 전환 기간의 불확실성을 최소화한다.
Q3.Grover 알고리즘이 대칭키 암호(AES 등)에 미치는 영향과, 이에 대한 PQC 관점의 대응 방안을 서술하라.
힌트 보기
Grover 알고리즘의 탐색 가속도와 키 길이의 관계를 생각해보라.
해설 보기
Grover 알고리즘은 $N$개 항목의 비정렬 탐색을 $O(\sqrt{N})$번의 양자 연산으로 수행한다. 이를 대칭키 전수조사에 적용하면 $k$비트 키의 보안 강도가 사실상 $k/2$비트로 감소한다. 예를 들어 AES-128은 양자 공격 하에서 약 64비트 수준의 보안 강도를 가진다. 대응책은 키 길이를 두 배로 늘리는 것으로, AES-256은 양자 공격 이후에도 약 128비트의 보안 강도를 유지한다. 대칭키 암호는 쇼어 알고리즘의 직접적 위협을 받지 않으므로, 키 길이 확장만으로 포스트양자 보안을 확보할 수 있다.