[CS] 대칭키와 공개키(비대칭키)

giggle·2023년 8월 6일
0

📌 대칭키란?

대칭키 암호화 방식은 암복호화에 사용하는 키가 동일한 암호화 방식을 말합니다.

  • 대칭키 암호화는 하나의 키를 사용해 암복호화합니다.
  • 빠른 암호화 및 복호화 속도를 제공하므로 대량의 데이터를 암호화하는데 효과적입니다.
  • 주요 알고리즘 : DES, 3DES, AES, SEED, ARIA

장점

  • 빠른 암복호화 속도: 단일 키를 사용하므로 계산량이 적어 빠른 속도
  • 간단한 구현: 암호화 및 복호화 과정이 간단하며, 효율적

단점

  • 키 관리 및 분배: 사용자 증가에 따른 키 분배와 관리의 어려움 / 송수신자만 키를 확인해야되니 분배가 복잡하고, 어려움
  • 보안성: 키가 노출되면 데이터의 보안이 위협

-> ❗️ 해결방안 : 키의 사전 공유, 키 배포 센터 사용, Diffie-Hellman 키 교환, 공개키 암호화 방식

📌 공개키(비대칭키)

공개키 암호화 방식은 암복호화에 사용하는 키가 서로 다른 암호화 방식을 말합니다.

  • 공개키 암호화 방식은 효율은 떨어지지만, 대칭키의 키 분배 문제를 해결하기 위해 등장했습니다.
  • 다른 사용자와 공유되는 공개키(Public Key)와 본인만이 알고있는 개인키(Private Key) 두 종류의 키가 사용됩니다.
  • 주요 알고리즘 : Diffie-Hellman, RSA, DSA, ECC

암호화 과정

  1. 키 생성
    사용자는 공개키와 개인키 한 쌍을 생성합니다.
    공개키는 누구나 알 수 있고, 개인키는 오직 본인만이 알고 있어야 합니다.

  2. 암호화
    데이터 송신자는 데이터를 수신자의 공개키를 사용하여 암호화합니다.
    데이터를 공개키로 암호화하면, 해당 공개키로만 복호화할 수 있는 암호문이 생성됩니다.

  3. 데이터 전송
    암호화된 데이터를 수신자에게 전송합니다. 이 데이터는 제3자가 복호화할 수 없습니다.

  4. 복호화
    데이터 수신자는 개인키를 사용하여 암호화된 데이터를 복호화합니다.
    개인키로 복호화하면 원본 데이터가 나타납니다.

장점

  • 키 교환 문제 해결: 공개키를 사용하여 키 교환 및 분배에 대한 문제를 해결
  • 보안성: 개인키를 비밀로 유지하면 데이터의 보안을 유지

단점

  • 계산 부하: 대칭키에 비해 계산량이 많아 느린 속도.
  • 효율성: 대칭키에 비해 속도가 느려 부족한 효율성.

참고


피드백 및 개선점은 댓글을 통해 알려주세요😊

profile
배움을 글로 기록하는 개발자가 되겠습니다.

0개의 댓글