sondiaa 2021. 9. 1. 09:47

대칭키

암호화와 복호화에 같은 암호키(대칭키)를 사용하는 알고리즘

동일한 키를 주고받기에 속도가 매우 빠르다. 그러나 대칭키를 주고받는 과정에서 해킹의 위험이 있다.

 

공개키

암호화와 복호화에 다른 암호키를 사용하는 알고리즘

자신이 가지고 있는 암호키(비밀키)로 복호화할 수 있는 암호키(공개키)를 대중에게 공개함

 

공개키의 암호화 과정

1. A가 공개된 B의 공개키로 암호화화여 B에게 전송한다.

2. B는 자신의 비밀키로 복호화하여 평문을 확인한다.

3. B는 A가 사용한 공개키로 응답을 암호화하여 전송한다.

4. A는 B의 공개키로 복호화하여 평문을 확인한다.

 

대칭키를 주고받는 과정의 해킹 위험을 줄였지만 과정이 매우 복잡하다.

 

 

결국 이 둘의 문제점을 해결하기 위해 적절히 혼합한 것이

SSL 탄생의 시초가 되었다.

1. A가 B의 공개키로 대칭키를 암호화하여 전송한다.

2. B가 자신의 비밀키로 전송받은 대칭키를 복호화한다.

3. B가 전달받은 대칭키를 사용하여 평문을 암호화하여 전달한다.

4. A가 대칭키를 사용하여 복호화하여 평문을 확인한다.

5. 이후는 대칭키를 사용하여 통신한다.

결국 대칭키를 주고받는 과정에서만 공개키를 사용하고 그 이후로는 대칭키를 사용하는 것이다.

 

 

 

출처

https://github.com/gyoogle/tech-interview-for-developer