: 암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘
: 암호화와 복호화에 사용하는 암호키를 분리한 알고리즘
- A가 웹 상에 공개된 B의 공개키를 이용해 평문을 암호화하여 B에게 전송
- B는 자신의 비밀키로 복호화한 평문을 확인, A의 공개키로 응답을 암호화하여 A에게 보냄
- A는 자신의 비밀키로 암호화된 응답을 복호화함
하지만 이 방식은 Confidentiallity만 보장해줌. Integrity나 Authenticity는 보장해주지 못함
-> 이는 MAC(Message Authentication Code)나 전자 서명 으로 해결(MAC는 대칭키 방식임 T = MAC(K, M)형식)
-> 암호화하는 키와 복호화하는 키가 서로 다르기 때문
: SSL탄생
- A가 B의 공개키로 암호화 통신에 사용할 대칭키를 암호화하고 B에게 보냄
- B는 암호문을 받고, 자신의 비밀키로 복호화함
- B는 A로부터 얻은 대칭키로 A에게 보낼 평문을 암호화하여 A에게 보냄
- A는 자신의 대칭키로 암호문을 복호화함
- 앞으로 이 대칭키로 암호화를 통신함
-> 대칭키를 주고받을 때만 공개키 암호화 방식을 사용하고 이후에는 계속 대칭키 암호화 방식으로 통신