공개키(비대칭키) 암호 & 대칭키 암호

Ouroboros·2023년 11월 27일
0

네트워크

목록 보기
15/20

대칭키와 공개키(비대칭키)

대칭키 암호화 방식은 암호화와 복호화할 때 키가 같은 것이다.
반면 공개키(비대칭키)는 암호화할 때 키와 복호화 할 때 키가 다르다. 공개키 방식은 송수신자가 한 쌍의 키 (공개키와 개인키 두 개)를 가지고 있다.



대칭키

대칭키는 암복호화 키가 동일하다. 따라서 암복호화 방식에서 속도가 빠르다. 그러므로 대용량 데이터 암호화에 적합하다. 하지만 키를 교환해야 (키를 배송)하므로, 배송 도중에 키를 탈취할 가능성이 있다. 또한 사람이 증가할 수록 각각의 키를 보관해야하기 때문에 관리해야할 키의 양이 늘어난다. 대표적인 알고리즘으로는 DES, 3DES, AES, SEED, ARIA 등이 있다.



공개키(비대칭키)

이러한 대칭키의 문제를 해결하기 위해 등장한 것이 공개키(비대칭키)이다.
공개키 방식은 암호화할 때와 복호화할 때 키가 다르다. 공개키는 말 그대로 공개키이기 때문에 모든 사람에게 접근이 가능한 키이며, 따라서 키를 배송할 필요가 없다. 그리고 개인키는 각각의 사용자가 갖고 있는 키이다.

예시로 들자면, A가 B에게 데이터를 보낼 때, A는 B의 공개키를 가지고 데이터를 암호화한다. 암호화된 데이터를 받은 B는 자신의 개인키로 복호화하면 된다. 따라서 암호화 데이터는 공개키에 대응하는 B의 개인키로만 즉 B만 볼 수 있다.

이러한 공개키 방식은 개인의 개인키로만 복호화할 수 있기 때문에 기밀성을 제공하고, 개인키를 가지고 있는 수신자만 풀 수 있는 것이므로 인증의 기능도 있다. 하지만 대칭키에 비해 속도가 느리다.
대표적인 알고리즘으로는 Diffie-Hellman, RSA, DSA, ECC, 등이 있다.


공개키 암복호화 과정
1) B 공개키/개인키 생성
2) 공개키 공개(등록), 개인키는 본인이 소유
3) A가 B의 공개키 받음
4) A가 B의 공개키를 사용해 데이터를 암호화
5) 암호화된 데이터를 B에게 전송
6) B는 암호화된 데이터를 B의 개인키로 복호화

0개의 댓글