- 암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘
- 동일한 키를 주고받기 때문에 매우 빠름
- 대칭키 전달 과정에서 해킹 위험 노출
- e.g. DES, Tripe-DES, RC2, RC4
- 두 개의 비대칭 키 사용 - 인코딩(공개키)/디코딩(비밀키)
- 모든 사람이 X에게 보내는 메시지를 공개키로 인코딩 → X만이 비밀키로 디코딩
- e.g. RSA
1. A가 B의 공개키를 이용해 평문을 암호화해서 B에게 보냄
2. B는 자신의 비밀키로 평문 복호화 → A의 공개키로 응답을 암호화해서 A에게 보냄
3. A는 자신의 비밀키로 응답 복호화
비유: 편지함 → 투입구 (공개키) → 열쇠 (비밀키)
1. A가 B의 공개키로 암호화 통신에 사용할 대칭키를 암호화하고 B에게 보냄
2. B는 암호문을 받고 자신의 비밀키로 복호화함
3. B는 A로부터 얻은 대칭키로 A에게 보낼 평문을 암호화하여 A에게 보냄
4. A는 자신의 대칭키로 암호문을 복호화함
5. 앞으로 이 대칭키로 암호화 통신