2026년 7월 3일 금요일
튜토리얼 목록
중급양자통신

포스트양자암호(PQC)의 기초: 양자시대의 암호 재설계

포스트양자암호(PQC)는 양자컴퓨터의 공격에도 안전한 암호 알고리즘의 총칭으로, 고전 소프트웨어로 구현 가능하다는 점에서 양자키분배(QKD)와 구별된다. 쇼어 알고리즘이 기존 공개키 암호 체계를 위협함에 따라, 격자·해시·코드 기반 등 새로운 수학적 난제를 활용한 암호 표준이 실용화 단계에 진입했다.

개념 소개

현재 인터넷 보안의 근간을 이루는 RSA, 타원곡선암호(ECC) 같은 공개키 암호 체계는 정수 인수분해이산로그 문제의 계산적 난이도에 의존한다. 고전 컴퓨터로 이 문제들을 푸는 데 천문학적 시간이 걸리지만, 충분히 큰 양자컴퓨터에서 쇼어(Shor) 알고리즘을 실행하면 수 시간 내로 해독이 가능해진다.

이러한 위협에 대비하여 등장한 것이 **포스트양자암호(Post-Quantum Cryptography, PQC)**다. PQC는 양자컴퓨터는 물론 고전 컴퓨터로도 현실적 시간 내에 풀 수 없는 수학적 난제를 기반으로 설계된 암호 알고리즘군을 가리킨다. "양자암호(Quantum Cryptography)"가 양자역학 원리 자체(광자의 측정 불가역성 등)를 활용하는 것과 달리, PQC는 기존 하드웨어와 네트워크 위에서 소프트웨어만으로 배포·운용할 수 있다는 점이 실용상 핵심 이점이다.


핵심 원리

양자 위협의 두 축

쇼어 알고리즘 복잡도로 정수 인수분해를 수행하여 RSA-2048, ECDSA 등을 사실상 무력화한다. 한편 그로버(Grover) 알고리즘은 비정형 탐색을 복잡도로 수행하므로, 128비트 대칭키 암호(AES-128 등)의 실효 보안 강도를 64비트 수준으로 절반으로 낮춘다. 대칭키 암호는 키 길이를 두 배로 늘리는 방식(AES-256 사용)으로 대응 가능하지만, 공개키 암호는 알고리즘 자체를 교체해야 한다.

주요 PQC 기반 수학 난제

분류 핵심 난제 대표 알고리즘
격자(Lattice) 기반 SVP, LWE, MLWE ML-KEM, ML-DSA, FALCON
해시(Hash) 기반 단방향 해시함수 충돌 저항 SPHINCS+ (SLH-DSA)
코드(Code) 기반 선형 디코딩 문제 Classic McEliece
다변수 다항식 MQ 문제 HQC

격자 기반 암호가 현재 가장 주목받는다. 그 중심에 있는 LWE(Learning With Errors) 문제는 다음과 같이 표현된다.

공개 행렬 와 벡터 가 주어져도, 작은 오차 벡터 가 섞인 상태에서 비밀 벡터 를 복원하는 것은 양자컴퓨터로도 다항 시간 알고리즘이 알려져 있지 않다. 이 오차 항이 격자 구조를 교란하여 단순 선형대수 기법(예: 가우스 소거)의 적용을 막는다.

NIST 표준화

미국 국립표준기술연구소(NIST)는 2016년부터 PQC 표준화 공모를 진행하여 2024년 최초 세 종의 표준을 확정했다.

  • ML-KEM (FIPS 203): 키 캡슐화 메커니즘, CRYSTALS-Kyber 기반
  • ML-DSA (FIPS 204): 디지털 서명, CRYSTALS-Dilithium 기반
  • SLH-DSA (FIPS 205): 해시 기반 디지털 서명, SPHINCS+ 기반

예시·응용

Open Quantum Safe(OQS) 라이브러리 활용 예시

liboqs 파이썬 바인딩을 이용한 ML-KEM-768 키 캡슐화 흐름이다.

import oqs  # pip install liboqs-python

# 수신자: 공개키/비밀키 쌍 생성
with oqs.KeyEncapsulation("ML-KEM-768") as receiver:
    public_key = receiver.generate_keypair()

    # 송신자: 공개키로 공유 비밀 캡슐화
    with oqs.KeyEncapsulation("ML-KEM-768") as sender:
        ciphertext, ss_sender = sender.encap_secret(public_key)

    # 수신자: 비밀키로 공유 비밀 복원
    ss_receiver = receiver.decap_secret(ciphertext)

    assert ss_sender == ss_receiver  # 양측 동일한 공유 비밀 확보
    print("키 합의 성공:", ss_sender.hex()[:32], "...")

실전 적용 사례

  • TLS 1.3 하이브리드 모드: 기존 ECDH와 ML-KEM을 병행 사용하여 전환기 보안을 확보한다. 두 메커니즘 중 하나라도 안전하면 공유 비밀이 보호된다.
  • '지금 수집, 나중 해독(Harvest Now, Decrypt Later)' 위협: 공격자가 현재의 암호화 통신을 저장해 두었다가 미래의 양자컴퓨터로 해독하는 시나리오다. 장기 기밀 데이터를 다루는 시스템은 양자컴퓨터 실현 전에 PQC로 전환해야 한다.
  • OpenSSH 9.0 이후: 격자 기반 키 교환(sntrup761)을 기본 지원하여 SSH 세션을 보호한다.

정리

PQC는 양자컴퓨터 시대에 대비한 고전 소프트웨어 기반의 암호 패러다임 전환이다. 격자·해시·코드 기반 등 다양한 수학적 난제를 활용하며, NIST가 2024년 ML-KEM, ML-DSA, SLH-DSA 세 표준을 확정함으로써 실용화 단계에 진입했다. 대칭키 암호는 키 길이 확장으로 그로버 위협에 대응 가능하지만, 공개키 알고리즘은 전면 교체가 불가피하다. 특히 장기 기밀성이 요구되는 시스템에서는 '지금 수집, 나중 해독' 공격에 대비해 즉각적인 전환 계획 수립이 권고된다.

연습문제

  1. Q1.쇼어 알고리즘이 RSA를 위협하는 이유를 복잡도 관점에서 설명하고, 그로버 알고리즘과의 위협 수준 차이를 비교하시오.

    힌트 보기

    RSA의 안전성 근거(인수분해 난이도)와 각 알고리즘의 시간 복잡도를 함께 고려하라.

    해설 보기

    RSA는 큰 합성수 $N$의 인수분해가 고전 컴퓨터로 지수 시간이 걸린다는 가정에 안전성을 둔다. 쇼어 알고리즘은 이를 $O((\log N)^3)$ 다항 시간으로 해결하므로 RSA 자체가 붕괴된다. 반면 그로버 알고리즘은 탐색 공간을 $O(\sqrt{N})$으로 줄여 AES-128의 실효 보안 강도를 64비트로 낮추지만, 키 길이를 256비트로 늘리면 충분히 대응 가능하다. 즉 쇼어는 알고리즘 교체를, 그로버는 키 길이 배증을 요구한다.

  2. Q2.LWE 문제 $\mathbf{b} = A\mathbf{s} + \mathbf{e} \pmod{q}$에서 오차 벡터 $\mathbf{e}$가 없다면($\mathbf{e} = \mathbf{0}$) 어떤 문제가 발생하는가?

    해설 보기

    오차 항이 없으면 방정식계 $\mathbf{b} = A\mathbf{s}$는 단순한 연립 선형방정식이 되어, 가우스 소거법 등 고전적 선형대수 기법으로 $O(n^3)$ 시간에 비밀 벡터 $\mathbf{s}$를 복원할 수 있다. 오차 $\mathbf{e}$의 존재가 격자 구조를 교란하여 양자컴퓨터조차 다항 시간에 풀 수 없는 난제로 만드는 핵심 요소다.

  3. Q3.'지금 수집, 나중 해독(Harvest Now, Decrypt Later)' 공격이란 무엇이며, 이에 대응하기 위해 현재 취할 수 있는 실질적 조치를 두 가지 이상 서술하시오.

    해설 보기

    공격자가 현재 암호화된 통신 데이터를 저장해 두었다가, 미래에 충분히 강력한 양자컴퓨터가 등장했을 때 해독하는 전략이다. 기밀 유효 기간이 긴 데이터(국가 기밀, 의료 기록, 금융 정보 등)가 주요 표적이 된다. 대응 조치로는 ① TLS 등 통신 프로토콜에서 ML-KEM 기반 하이브리드 키 교환을 즉시 도입하여 새로운 세션을 보호하는 것, ② 장기 보관 데이터를 ML-KEM 또는 Classic McEliece로 재암호화하는 것, ③ 암호 민첩성(crypto-agility) 아키텍처를 설계하여 알고리즘을 신속히 교체할 수 있도록 준비하는 것 등이 있다.

관련 용어

이 챕터는 Claude (claude-sonnet-4-6)가 작성했습니다. · 발행 2026. 7. 2.