공개 키 암호(public-key cryptography)는 사용자마다 공개하는 암호화 키인 공개 키(public key)와 비밀로 두는 복호화 키인 개인 키(private key)의 쌍을 쓰는 암호 방식이다. 공개 키는 누구에게나 알리고, 개인 키는 소유자만 비밀로 지닌다. 공개 키 암호는 거의 모든 키에 대해 공개 키로부터 개인 키를 계산해 내기가 계산상 불가능하도록 만든다.[1] NIST SP 800-175B Rev. 1에 따르면 비대칭 키 알고리즘은 흔히 공개 키 알고리즘이라 불린다.[2]

기원

Diffie와 Hellman은 1976년 IEEE Transactions on Information Theory에 낸 논문 “New Directions in Cryptography”에서 공개 키 암호 시스템을 제안했다. 같은 논문에서 두 사용자가 공개된 채널로만 값을 주고받아 공유 비밀 키를 정하는 공개 키 분배 방법도 제안했다.[1]

Rivest, Shamir, Adleman은 1977년 4월 MIT(Massachusetts Institute of Technology) 기술 보고서 MIT/LCS/TM-82로 공개 키 암호 방식을 먼저 내고[3], 1978년 Communications of the ACM에 논문 “A Method for Obtaining Digital Signatures and Public-Key Cryptosystems”로 발표했다. 이 방식의 안전성은 일부, 공개된 법 을 소인수분해하기 어렵다는 데 기댄다. 은 큰 두 비밀 소수 와 의 곱이다.[4] NIST SP 800-175B Rev. 1에 따르면 RSA(Rivest-Shamir-Adleman)는 Rivest, Shamir, Adleman이 만든 것으로 알려진 공개 키 알고리즘이다.[2]

Miller는 CRYPTO ‘85에서 발표하고 1986년 논문집에 실린 논문 “Use of Elliptic Curves in Cryptography”에서 타원 곡선을 암호에 쓰는 방법을 다루고, 타원 곡선판 Diffie-Hellman 키 교환을 제안했다.[5] Koblitz는 1987년 Mathematics of Computation에 낸 논문 “Elliptic Curve Cryptosystems”에서 유한체 위 타원 곡선에 기반한 공개 키 암호 시스템을 제안했다. 타원 곡선 암호(elliptic curve cryptography)는 큰 유한체 위 타원 곡선의 점이 이루는 군을 공개 키 암호에 쓴다.[6]

쓰임

  • 암호화: 송신자가 수신자의 공개 키로 암호화하고, 수신자가 자기 개인 키로 복호화한다.
  • 디지털 서명: 서명자가 자기 개인 키로 메시지를 변환하고, 누구나 서명자의 공개 키로 그 결과를 검증한다. 이 꼴은 암호화와 복호화가 서로의 역인 공개 키 암호 시스템을 전제한다.[1]
  • 키 설정: NIST SP 800-175B Rev. 1에 따르면 공개 키 알고리즘은 키 전송과 키 합의로 키를 설정하는 데 쓰인다.[2]

공개 키 알고리즘으로 대칭 키를 정한 뒤 그 대칭 키로 데이터를 암호화하는 혼합 방식을 흔히 쓴다.[2]

공개 키를 믿게 하는 수단

NIST SP 800-57 Part 1 Rev. 5는 공개 키를 배포할 때, 받는 쪽이 키의 소유자로 주장된 쪽이 실제 소유자임을 확신할 수 있게 하기를 권한다. 익명이 허용되는 경우는 예외다.[7] 디지털 서명에서 검증자가 서명자가 그 키 쌍의 실제 소유자라는 보증을 얻지 못하면, 수학적으로 맞는 키 쌍을 가진 누구나 메시지에 서명하고 다른 사람을 서명자로 내세울 수 있어서, 서명 위조는 신원을 거짓으로 주장하는 일로 줄어든다.[8] NIST SP 800-175B Rev. 1에 따르면 공개 키는 흔히 공개 키 인증서로 배포된다. 공개 키 인증서(public key certificate)는 개체를 식별하고 그 공개 키를 담으며, 믿을 수 있는 쪽이 디지털 서명해 공개 키를 그 개체에 묶는 데이터로, 공개 키의 무결성을 보호한다.[2]

대칭 키 암호와의 차이

대칭 키 암호와 공개 키 암호는 아래처럼 다르다. 속도와 키 길이 행은 NIST SP 800-175B Rev. 1을 따른다.

항목대칭 키 암호공개 키 암호
키 공유통신하는 양쪽이 같은 비밀 키를 미리 안전한 채널로 나눠 가져야 한다.수신자가 공개 키만 알리면 되어, 연락한 적 없는 두 사람도 비밀 키를 미리 나누지 않고 비밀 통신을 할 수 있다.[1]
속도빠르다.훨씬 느려서 많은 데이터를 처리하는 데는 쓰지 않는다.[2]
키 길이같은 보안 강도에서 더 짧다.같은 보안 강도에서 더 길다.[2]
관리할 키 수사용자 명이 저마다 따로 비밀 통신하려면 짝마다 하나씩 개가 필요하다.사람마다 키 쌍 하나씩 쌍이면 된다.[1]

NIST SP 800-57 Part 1 Rev. 5는 128비트 보안 강도에 128비트 키의 AES, 3072비트 RSA, 256~383비트 타원 곡선 암호를 대응시킨다.[7]

[1]
W. Diffie and M. E. Hellman, “New Directions in Cryptography,” IEEE Transactions on Information Theory, vol. 22, no. 6, pp. 644–654, Nov. 1976, doi: 10.1109/TIT.1976.1055638.
[2]
E. Barker, “Guideline for Using Cryptographic Standards in the Federal Government: Cryptographic Mechanisms,” NIST Special Publication 800–175B Revision 1, Mar. 2020. Accessed: Oct. 03, 2026. [Online]. Available: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-175Br1.pdf
[3]
R. L. Rivest, A. Shamir, and L. Adleman, “A Method for Obtaining Digital Signatures and Public-key Cryptosystems,” MIT Laboratory for Computer Science, Tech. Memo. MIT/LCS/TM-82, Apr. 1977. Accessed: Oct. 03, 2026. [Online]. Available: https://dspace.mit.edu/handle/1721.1/148910
[4]
R. L. Rivest, A. Shamir, and L. Adleman, “A Method for Obtaining Digital Signatures and Public-Key Cryptosystems,” Communications of the ACM, vol. 21, no. 2, pp. 120–126, Feb. 1978, doi: 10.1145/359340.359342.
[5]
V. S. Miller, “Use of Elliptic Curves in Cryptography,” in Advances in Cryptology — CRYPTO ’85 Proceedings, in Lecture Notes in Computer Science, vol. 218. Springer, 1986, pp. 417–426. doi: 10.1007/3-540-39799-X_31.
[6]
N. Koblitz, “Elliptic Curve Cryptosystems,” Mathematics of Computation, vol. 48, no. 177, pp. 203–209, Jan. 1987, doi: 10.1090/S0025-5718-1987-0866109-5.
[7]
E. Barker, “Recommendation for Key Management: Part 1 – General,” NIST Special Publication 800–57 Part 1 Revision 5, May 2020. Accessed: Oct. 03, 2026. [Online]. Available: https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-57pt1r5.pdf
[8]
National Institute of Standards and Technology, “Digital Signature Standard (DSS),” FIPS PUB 186–5, Feb. 2023. Accessed: Oct. 03, 2026. [Online]. Available: https://nvlpubs.nist.gov/nistpubs/FIPS/NIST.FIPS.186-5.pdf