암호화와 복호화에 같은 암호키를 사용하는 알고리즘이다.
- 장점 : 동일한 키를 주고 받기 때문에 암복호화 속도가 빠르다
- 단점 : 대칭키 전달 과정에서 해킹의 위험이 있다.
암호화와 복호화에 사용하는 암호키가 분리되어있는 알고리즘이다.
공개키를 대중에게 공개하고, 비밀키는 자신만 알고 있는다.
- 비밀키 : 자신만 가지고 있는 고유한 암호키
- 공개키 : 비밀키로만 복호화할 수 있는 암호키
공개키 암호화 방식
- A가 웹상에 공개된 B의 공개키를 통해 평문을 암호화하여 B에게 전달
- B는 자신의 비밀키로 A로부터 받은 암호문을 평문으로 복호화한다.
B는 웹상에 공개된 A의 공개키로 응답을 암호화하여 A에게 전달- A는 자신의 비밀키로 B로부터 받은 응답문을 복호화함
- 대칭키의 단점인 해킹의 위험성을 해결했지만
암복호화 과정이 매우 복잡하다.
이 혼합하는 방식은 SSL의 시초가 된다
- A는 자신의 대칭키를 B의 공개키로 암호화하여 B에 전달
- B는 자신의 비밀키로 암호화된 A의 대칭키를 복호화한다
- B는 A의 대칭키로 평문을 암호화하여 A로 전달
- A는 자신의 대칭키로 B로부터 받은 암호문을 평문으로 복호화
앞으로 A의 대칭키로 암호화 통신을 한다.
- A의 대칭키
- B의 공개키, 비밀키