1. 공개키 암호방식 (Public Key Encryption, Public Key Cryptography, PKC)
ㅇ 공개키는 공개하고, 비밀키 만 안전하게 유지하는 방식
- 공개 키(Public Key) : 암호화할때 사용하는 암호화키
- 비밀 키(Secrete Key) 또는 개인키(Private Key) : 암호를 풀 때 사용하는 키
※ 즉, 두 키가 서로 다른 `비 대칭키 방식`
- 단, 반드시 두 개의 키가 수학적인 쌍을 이루어야 함
2. 공개키의 장단점 및 용도
ㅇ 장단점
- 장점 : 키 관리가 용이하며 다양한 응용이 가능
- 단점 : 암호화 및 역암호화 속도가 느림
ㅇ 용도
- 데이터의 암호화 보다는,
- 인증, 암호키의 교환(키교환/키합의), 전자서명 등에 초점을 맞춤
3. 공개키의 구현 특징
ㅇ 공개 키 및 개인 키 간에 수학적인 관계가 존재함
- 두 키(공개키와 개인키) 사이에는 수학적인 관계가 있어서,
. 공개키에 의해서는 개인 키를 찾아내기가 거의 불가능
ㅇ 비 대칭적인 키 방식
- 암호화하는 키와 이를 해독하는 키가 서로 다름
. 암호화 키 (공개 키) ≠ 역암호화 키 (비밀 키)
- 즉,
. 평문을 암호화시에는, 공개 키를 사용하고,
. 이를 해독시에는, 해당 공개 키에 대응하는 개인 키를 암호문에 대입함으로써 원문을 재생함
ㅇ 주요 암호 알고리즘 : RSA, Rabin, ElGamal, 타원곡선 암호시스템 등
4. 공개키의 기원/효시
ㅇ 공개 키 방식의 출현 배경
- 비밀 키(대칭 키) 방식의 가장 어려운 난제 중 하나가 비밀 키의 안전한 분배 ☞ 키 분배
ㅇ 1976년 W.Diffie 및 M.E.Hellmnan의 논문 `New Directions in Cryptography`에서,
- 키의 일부를 공개함으로써 키 관리의 어려움을 해결코자 한 방향 제시가 그 효시
- `Diffie-Hellman 알고리즘`
. 지수 계산의 역인 로그(대수) 계산의 어려움에 기반 (이산 대수 문제)
ㅇ 1978년 `RSA 알고리즘` 개발
- 정수의 소인수분해의 어려움에 기반 (소인수 분해 문제)
5. 공개키의 신뢰 확보
ㅇ 제3자인 인증기관(CA)을 통하는 방식(신뢰 사슬)을 사용 함
- 공개키에 대하여 신뢰감을 줄 수 있는 공신력있는 제 3자
ㅇ 관련어 : 공개키 기반구조 (PKI)