대칭키/비대칭키 암호화

김재현·2024년 4월 20일
1

TIL

목록 보기
79/88

이전에 HTTP와 HTTPS에 대해 포스팅 한 적이 있다. >이전 포스팅: HTTP? HTTPS?
이번에는 암호화와 복호화에 사용되는 대칭키/비대칭키에 대해 더 자세히 알아보고자한다.

  • 암호화(Encryption): 데이터를 읽을 수 없는 형태로 변환하는 과정
  • 복호화(Decryption): 암호화된 데이터를 원래의 평문(일반적인 텍스트)으로 변환하는 과정

대칭키

대칭키(Symmetric Key)는 암호화와 복호화에 동일한 키를 사용하는 암호화 기술이다.

데이터를 암호화할 때 사용되는 키와 데이터를 복호화할 때 사용되는 키가 같으므로, '키의 길이' 와 '안전한 키 교환' 이 중요한 문제이다.
대표적인 대칭키 암호화 알고리즘에는 DES(Data Encryption Standard), AES(Advanced Encryption Standard), Triple DES 등이 있다.

대칭키 암호화는 빠르고 효율적이지만, 키 관리와 안전한 키 교환의 어려움이 있다.
따라서 이를 보완하기 위해 *공개키 암호화와 함께 사용되기도 한다.

비대칭키 (=공개키 암호화)

비대칭키(Asymmetric Key)는 암호화와 복호화에 각각 다른 키(공개키와 개인키)를 사용하는 암호화 기술이다.

  • 공개키(Public Key): 누구나 사용할 수 있고 공개되어 있는 키 (암호화에 사용)
  • 개인키(Private Key): 특정 개체(보통은 키 소유자)만이 알고 있는 비밀한 키 (복호화에 사용)

비대칭키 암호화에서는 공개키와 개인키가 쌍을 이루며, 공개키로 암호화된 데이터는 해당 개인키로만 복호화할 수 있다. 따라서 공개키를 통해 안전하게 데이터를 암호화할 수 있고, 개인키는 소유자만이 가지고 있으므로 안전하게 데이터를 복호화할 수 있다.

대표적인 비대칭키 암호화 알고리즘에는 RSA(Rivest-Shamir-Adleman), ECC(Elliptic Curve Cryptography)등이 있다. 이러한 알고리즘은 키 교환 및 디지털 서명 등 다양한 보안 응용 분야에서 사용되고 있다.

그림 예시

대칭키와 비대칭키를 서버와 사용자에 대한 예시를 직접 그려보았다.

  1. 서버가 공개키와 개인키를 갖고 있으면서 사용자에게 공개키를 전달한다.
  2. 사용자는 전달받은 공개키로 평문을 암호화하여 서버에게 전달한다.
  3. 서버는 갖고있는 개인키로 암호화된 문서를 평문으로 복호화한다.

역시 그림으로 그려 설명하니 가장 이해가 쉬운 것 같다.
이제는 HTTPS의 통신구조에 대해 더 잘 이해 할 수 있을 것이다.

출처


관련 포스팅

profile
I live in Seoul, Korea, Handsome

0개의 댓글