RSA 암호·타원 곡선 암호·양자 내성 암호의 차이: 키 크기·속도·양자 내성·전환 비교

세 가지 모두 공개 키 암호이며, 키 공유(키 교환 또는 키 캡슐화)와 디지털 서명에 쓰입니다. RSA 암호는 큰 수의 소인수분해의 어려움에, 타원 곡선 암호는 타원 곡선 위의 이산 로그 문제의 어려움에 기반하며, 같은 안전성이라면 타원 곡선 암호의 키가 RSA보다 훨씬 짧습니다. 하지만 둘 다 대규모 오류 내성 양자 컴퓨터가 생기면 쇼어 알고리즘으로 깨집니다. 양자 내성 암호는 격자 문제처럼 양자 컴퓨터로도 어렵다고 여겨지는 문제에 기반하며, 미국 NIST는 2024년 8월에 키 캡슐화 방식 ML-KEM(FIPS 203)과 서명 방식 ML-DSA(FIPS 204) 등의 표준을 공개했습니다. 가장 큰 단점은 키와 서명이 크다는 것입니다.

비교 항목RSA 암호타원 곡선 암호양자 내성 암호(ML-KEM·ML-DSA)
바탕이 되는 어려운 문제큰 수의 소인수분해타원 곡선 위의 이산 로그 문제ML-KEM과 ML-DSA는 격자 문제(작은 오차를 더한 연립 일차 방정식에서 비밀을 되찾는 Module-LWE 등). 해시 함수에만 기반한 서명 방식 SLH-DSA(FIPS 205)도 있습니다
키 크기(기준)NIST SP 800-57의 표에서 128비트 안전성의 기준은 3072비트의 n(384바이트). 2048비트는 112비트 안전성에 해당합니다같은 표에서 128비트 안전성의 기준은 256비트. X25519 키 교환에서 보내는 공개 값은 32바이트입니다ML-KEM-768의 공개 키(캡슐화 키)는 1,184바이트로, X25519의 32바이트보다 훨씬 큽니다
암호문과 서명의 크기암호문과 서명 모두 n과 같은 길이(3072비트라면 384바이트)ECDSA(P-256)의 서명은 256비트 값 r과 s 두 개로 64바이트(인코딩에 따라 조금 더 큼)ML-KEM-768의 암호문은 1,088바이트, ML-DSA-65의 서명은 3,309바이트
속도공개 지수를 작게(65537 등) 할 수 있으므로 암호화와 서명 검증은 빠르고, 복호, 서명, 키 생성은 무겁습니다같은 안전성에서 키 생성과 서명은 RSA보다 훨씬 빠릅니다. 서명 검증은 RSA보다 느린 경우가 많습니다ML-KEM의 계산은 가벼워 타원 곡선 키 교환보다 느리지 않다고 여겨집니다. 계산보다 보내는 데이터의 크기가 더 큰 문제가 되기 쉽습니다
양자 컴퓨터에 대한 내성없음. 대규모 오류 내성 양자 컴퓨터에서는 쇼어 알고리즘으로 깨집니다없음. 쇼어 알고리즘은 이산 로그 문제도 풀므로 RSA와 마찬가지로 깨집니다양자 컴퓨터로도 효율적으로 풀기 어렵다고 여겨집니다(증명되지는 않았습니다)
표준화1977년 발명. 실제로는 암호화에 OAEP, 서명에 PSS 같은 무작위 패딩과 함께 씁니다P-256 같은 곡선과, Curve25519에 기반한 X25519와 Ed25519가 널리 쓰입니다NIST가 2024년 8월에 FIPS 203(ML-KEM), FIPS 204(ML-DSA), FIPS 205(SLH-DSA)로 공개했습니다
현재의 대표 용도2020년대 중반 기준으로 주로 인증서와 소프트웨어 서명. TLS 1.3은 RSA로 암호화한 키 재료를 보내는 키 교환을 없앴습니다2020년대 중반 기준으로 TLS 키 교환(ECDHE)의 주력. ECDSA와 EdDSA 서명, 스마트카드나 임베디드처럼 자원이 제한된 기기에도 쓰입니다2025년 기준으로 X25519와 조합한 하이브리드 키 교환(X25519MLKEM768 등)이 TLS 1.3에서 쓰이기 시작했습니다. 서명의 전환은 키 교환 뒤에 이어지고 있습니다
전환양자 내성 암호로의 전환 대상. 인증서와 코드 서명 같은 서명의 교체가 과제입니다전환 대상. 전환 기간에는 ML-KEM과의 하이브리드 키 교환의 한쪽으로서 기존 컴퓨터에 대한 안전성을 맡습니다당분간은 기존 암호와 조합한 하이브리드 방식으로 단계적으로 전환합니다. 나중에 알고리즘을 쉽게 바꿀 수 있는 설계(암호 민첩성)가 중시됩니다
구현 시 주의점패딩 없는 교과서 RSA는 절대 쓰지 않습니다. 키 생성에는 질 좋은 난수가 필요합니다서명마다 쓰는 난수(nonce)를 재사용하거나 치우치게 하면 개인 키가 복원됩니다. 받은 점이 올바른 곡선 위에 있는지도 확인해야 합니다큰 키와 서명이 패킷 크기와 메모리가 제한된 기기에 주는 영향을 확인해야 합니다. 새 구현의 버그와 사이드 채널 공격에 주의합니다

수치는 대략적인 자릿수 기준이며, 공정 세대와 제품에 따라 달라져요.

상황별 선택 기준

RSA 암호
기존 인증서나 시스템과의 호환성이 필요할 때. 검증이 빠르므로 검증하는 쪽이 많은 용도에 적합하지만, 양자 내성 암호로의 전환 계획이 필요합니다.
타원 곡선 암호
지금 새 시스템에서 짧은 키와 작은 데이터로 키 교환과 서명을 하고 싶을 때. 스마트카드와 임베디드 기기에도 적합합니다. 양자 컴퓨터에 대비해 하이브리드 방식으로의 이행을 계획합니다.
양자 내성 암호(ML-KEM·ML-DSA)
오랫동안 비밀을 지켜야 하는 데이터를 보호할 때. 지금 기록한 암호문을 미래에 복호하는 '지금 수집하고 나중에 복호(harvest now, decrypt later)'에 대비해, 먼저 키 교환에 하이브리드 방식으로 도입합니다.

자주 묻는 질문

타원 곡선 암호는 왜 RSA보다 키가 짧아도 되나요?

알려진 최선의 공격에 드는 비용이 다르기 때문입니다. 소인수분해에는 전수 탐색보다 훨씬 빠른 방법이 있어 RSA의 키는 꽤 길어야 합니다. 타원 곡선의 이산 로그 문제는 알려진 최선의 공격도 키 길이의 절반 비트 정도의 작업량이 들기 때문에, 키는 안전성 수준의 약 2배면 충분합니다. NIST SP 800-57의 표에서 128비트 안전성의 기준은 RSA가 3072비트, 타원 곡선 암호가 256비트입니다.

양자 컴퓨터가 아직 없는데 왜 지금 전환하나요?

지금 가로채 저장한 암호문이 미래의 양자 컴퓨터로 복호될 수 있기 때문입니다(harvest now, decrypt later). 게다가 암호를 교체하려면 소프트웨어, 기기, 인증서 기반에 걸쳐 여러 해가 걸립니다. 그래서 오랫동안 비밀을 지켜야 하는 데이터를 운반하는 키 교환부터 전환이 시작되고 있습니다.

양자 컴퓨터는 AES 같은 대칭 키 암호도 깨나요?

쇼어 알고리즘의 대상이 아닙니다. 그로버 알고리즘이 키 탐색을 제곱만큼 빠르게 한다는 단순한 기준에 따르면 비트 단위의 안전성 수준이 절반이 되며, 장기간의 안전성이 필요한 곳에서는 AES-256을 고르면 대응할 수 있습니다. 교체해야 하는 것은 주로 RSA 암호나 타원 곡선 암호 같은 공개 키 암호입니다.

하이브리드 방식이란 무엇인가요?

기존 암호와 양자 내성 암호를 동시에 쓰고 그 결과를 조합하는 방식입니다. 키 교환에서는 X25519와 ML-KEM의 공유 비밀을 모두 키 유도에 넣으므로, 둘 중 하나만 안전해도 얻은 키는 보호됩니다. 양자 내성 방식은 새롭고 구현 실수나 새로운 공격을 아직 완전히 배제할 수 없으므로, 하이브리드 방식은 전환 기간의 보험 역할을 합니다.

이해도 확인

NIST SP 800-57의 표에서 128비트 대칭 키 암호(AES-128)와 같은 정도의 안전성 기준으로 여겨지는 RSA 암호의 키 길이(n의 비트 수)와 타원 곡선 암호의 키 길이의 조합은?

  1. ARSA 암호는 약 128비트, 타원 곡선 암호는 약 128비트
  2. BRSA 암호는 약 2048비트, 타원 곡선 암호는 약 128비트
  3. CRSA 암호는 약 3072비트, 타원 곡선 암호는 약 256비트
정답과 해설 보기

정답: C. RSA 암호는 약 3072비트, 타원 곡선 암호는 약 256비트

공개 키 암호는 같은 안전성을 얻는 데 대칭 키 암호보다 긴 키가 필요합니다. NIST SP 800-57 Part 1의 표에서는 128비트 상당의 안전성 기준으로 RSA 암호는 3072비트, 타원 곡선 암호는 256~383비트로 되어 있습니다. 타원 곡선 암호에서는 알려진 최선의 공격에 키 길이의 절반 비트 수 정도의 수고가 들므로, 키 길이는 안전성 비트 수의 약 2배로 충분하여 RSA 암호보다 훨씬 짧은 키로 같은 안전성을 얻을 수 있습니다. RSA 암호의 2048비트는 112비트 상당의 기준입니다.

미국 NIST가 2024년 8월에 공표한 양자 내성 암호 표준과 그 종류의 조합으로 올바른 것은?

  1. AFIPS 203의 ML-KEM은 격자 기반의 서명 방식, FIPS 204의 ML-DSA는 해시 함수 기반의 키 캡슐화 메커니즘, FIPS 205의 SLH-DSA는 대칭 키 암호
  2. BFIPS 203의 ML-KEM, FIPS 204의 ML-DSA, FIPS 205의 SLH-DSA는 모두 타원 곡선 위의 문제에 기반한, 키가 짧은 서명 방식
  3. CFIPS 203의 ML-KEM은 격자 기반의 키 캡슐화 메커니즘, FIPS 204의 ML-DSA는 격자 기반의 서명 방식, FIPS 205의 SLH-DSA는 해시 함수 기반의 서명 방식
정답과 해설 보기

정답: C. FIPS 203의 ML-KEM은 격자 기반의 키 캡슐화 메커니즘, FIPS 204의 ML-DSA는 격자 기반의 서명 방식, FIPS 205의 SLH-DSA는 해시 함수 기반의 서명 방식

NIST는 2024년 8월 13일에 양자 내성 암호의 첫 표준으로 3개의 FIPS를 공표했습니다. FIPS 203의 ML-KEM(원래 이름은 CRYSTALS-Kyber)은 키를 공유하기 위한 키 캡슐화 메커니즘이고, FIPS 204의 ML-DSA(CRYSTALS-Dilithium)와 FIPS 205의 SLH-DSA(SPHINCS+)는 디지털 서명 방식입니다. ML-KEM과 ML-DSA는 격자에 관한 문제(작은 오차를 더한 연립 일차 방정식으로부터 비밀을 구하는 Module-LWE 문제 등)의 어려움에 기반합니다. SLH-DSA는 해시 함수의 안전성에만 기반하므로 서명은 크고 느려지지만, 격자 문제에 약점이 발견되었을 경우의 대비가 됩니다.

양자 내성 암호로 이행하는 도중에 사용되는, X25519(타원 곡선을 사용하는 디피-헬먼 키 교환)와 ML-KEM을 조합한 하이브리드 키 교환의 사고방식으로 올바른 것은?

  1. A두 방식으로 얻은 공유 비밀을 둘 다 키 유도에 넣어, 어느 한쪽이 안전한 한 만들어지는 키가 안전하도록 한다
  2. B두 방식 중 핸드셰이크에서 먼저 끝난 쪽의 공유 비밀만 사용하고, 다른 쪽은 버린다
  3. CML-KEM은 양자 컴퓨터가 실현될 때까지는 사용하지 않고, 실현되었을 때 자동으로 전환되도록 둘 다 준비해 둔다
정답과 해설 보기

정답: A. 두 방식으로 얻은 공유 비밀을 둘 다 키 유도에 넣어, 어느 한쪽이 안전한 한 만들어지는 키가 안전하도록 한다

ML-KEM은 새로운 방식이어서 구현 실수나 새로운 공격이 발견될 우려를 아직 충분히 부정할 수 없습니다. 한편 X25519는 양자 컴퓨터에는 약하지만, 고전 컴퓨터에 대한 안전성에는 오랜 실적이 있습니다. 하이브리드 키 교환에서는 양쪽 공유 비밀을 이어서 키 유도 함수에 넣으므로, 공격자는 양쪽을 모두 깨지 않으면 키를 얻을 수 없으며, 지금 기록된 통신이 미래의 양자 컴퓨터로 해독되는 것도 막을 수 있습니다. 2025년 시점에서 이 조합(X25519MLKEM768 등)이 TLS 1.3에서 사용되기 시작하고 있습니다.

  1. 대규모 오류 내성 양자 컴퓨터가 실현되었을 때, 쇼어 알고리즘에 의해 안전성이 크게 손상될 것으로 생각되는 암호는?
  2. 대규모 양자 컴퓨터가 아직 실현되지 않은 단계에서부터 양자 내성 암호로의 이행을 서두르는 이유로 가장 적절한 것은?
  3. 교과서 그대로의 RSA 암호(평문 m을 그대로 c = m^e mod n으로 하는 방식)를 패딩을 붙이지 않고 실제 통신에 사용하는 것의 문제점으로 올바른 것은?

암호 기술의 기초와 응용 문제 풀기

주요 용어 설명

RSA 암호(RSA Cryptosystem)
1977년에 리베스트, 샤미르, 애들먼이 고안한 공개 키 암호. 큰 두 소수 p, q의 곱 n과 공개 지수 e를 공개 키로 하고, e × d ≡ 1 (mod (p − 1)(q − 1))을 만족하는 d를 개인 키로 한다. 암호화는 c = m^e mod n, 복호화는 m = c^d mod n으로 수행한다. n의 소인수분해가 어렵다는 것이 안전성의 근거이며, 암호화와 서명 양쪽에 사용할 수 있다. 실제로는 OAEP나 PSS 같은 난수를 포함하는 패딩과 조합하여 사용한다.
타원 곡선 암호(Elliptic Curve Cryptography)
유한체 위의 타원 곡선의 점 연산을 사용하는 공개 키 암호의 총칭. 곡선 위의 점 G를 비밀 정수 k배 한 점 kG로부터 k를 구하는 문제(타원 곡선 위의 이산 로그 문제)의 어려움에 안전성의 근거를 둔다. 같은 안전성이라면 RSA 암호보다 훨씬 짧은 키로 충분하며, 256비트 키로 RSA 암호의 3072비트와 같은 정도(128비트 상당)의 안전성 기준으로 여겨진다. 키 교환의 ECDH·ECDHE나 서명의 ECDSA·EdDSA에 사용되며, 곡선으로는 P-256이나 Curve25519 등이 널리 쓰인다. 쇼어 알고리즘으로 깨지므로 양자 내성 암호로의 이행 대상이 된다.
양자 내성 암호(Post-Quantum Cryptography)
양자 컴퓨터로도 효율적으로 풀 수 없다고 여겨지는 수학 문제(격자 문제, 해시 함수 등)에 안전성의 근거를 두는 암호. 기존 컴퓨터에서 동작하며, 쇼어 알고리즘으로 깨지는 RSA 암호나 타원 곡선 암호를 대체하기 위해 쓰인다. 포스트 양자 암호(PQC)라고도 한다.
ML-KEM
미국 NIST가 2024년 8월에 FIPS 203으로 표준화한, 격자 기반의 키 캡슐화 메커니즘(KEM). Module-Lattice-Based Key-Encapsulation Mechanism의 약자로, CRYSTALS-Kyber를 바탕으로 한다. 작은 오차를 더한 연립 일차 방정식으로부터 비밀을 구하는 Module-LWE 문제의 어려움에 안전성의 근거를 두며, 양자 컴퓨터로도 효율적으로 풀 수 없다고 생각된다. ML-KEM-512, ML-KEM-768, ML-KEM-1024의 3가지 파라미터 세트가 있다. TLS 등에서 ECDHE 키 교환을 대체하거나 조합하기 위해 사용된다.
쇼어 알고리즘(Shor's Algorithm)
큰 정수의 소인수분해나 이산 로그 문제를, 양자 푸리에 변환으로 주기를 구함으로써 다항 시간에 푸는 양자 알고리즘. 1994년에 피터 쇼어가 발표했다. RSA 암호나 타원 곡선 암호를 깰 수 있지만, 실행에는 대규모 오류 내성 양자 컴퓨터가 필요하다.
디피-헬먼 키 교환(Diffie-Hellman Key Exchange)
공개된 통신로만 사용하여 두 당사자가 공유 비밀을 만드는 방법. 1976년에 디피와 헬먼이 발표했다. 소수 p와 생성원 g를 공개하고, A 씨와 B 씨가 비밀 값 a, b로부터 g^a mod p, g^b mod p를 만들어 서로 보낸 뒤, 각자 상대의 값을 자신의 비밀 값으로 거듭제곱하여 같은 g^(ab) mod p를 얻는다. 안전성은 이산 로그 문제의 어려움에 기반한다. 타원 곡선 위에서 수행하는 것을 ECDH, 연결마다 일회용 값을 사용하는 것을 DHE·ECDHE라고 부르며, 후자에서는 전방향 안전성을 얻을 수 있다. 상대를 확인하는 기능은 없으므로, 서명이나 인증서와 조합하여 중간자 공격을 막는다.
암호 민첩성(Crypto Agility)
암호 알고리즘이나 키 길이가 안전하지 않게 되었을 때, 시스템을 크게 다시 만들지 않고 다른 방식으로 교체할 수 있는 성질. 어디에서 어떤 암호를 사용하고 있는지의 목록(인벤토리)을 가지고, 알고리즘을 설정이나 프로토콜 협상으로 고를 수 있게 하며, 데이터 형식에 알고리즘 식별자를 포함함으로써 높인다. MD5나 SHA-1, 짧은 키의 RSA 암호로부터의 이행이나 양자 내성 암호로의 이행에서 중시되고 있다.
공개 키 암호(Public-key Cryptography)
암호화와 복호화에 쌍을 이루는 서로 다른 키(공개 키와 개인 키)를 사용하는 암호 방식. 공개 키는 누구에게 알려져도 되고, 개인 키는 본인만 가진다. 키 배송이 쉬워지는 반면 계산이 무거우므로, 데이터 본체의 암호화에는 대칭 키 암호와 조합하여 사용한다. RSA와 타원 곡선 암호가 대표적이다.

관련 비교