대칭키 / 비대칭키

2coconut·2025년 7월 24일

대칭키 (Symmetric Key)

개념

하나의 동일한 키를 사용해서 암호화와 복호화를 모두 수행하는 방식이다. 마치 같은 열쇠로 문을 잠그고 여는 것과 같은 원리이다.

송신자와 수신자가 사전에 같은 비밀키를 공유해야 하며, 이 키를 통해 평문을 암호문으로 변환하고 다시 원래 평문으로 복원할 수 있다. 대칭키 방식은 고전 암호학부터 현대 암호학까지 가장 기본이 되는 암호화 방법이다.

주요 특징

  • 같은 키 사용: 암호화 키 = 복호화 키
  • 빠른 처리 속도: 연산이 단순해서 처리 속도가 매우 빠름
  • 보안 강도: 키 길이에 따라 보안 수준 결정
  • 블록/스트림 방식: 데이터를 블록 단위로 처리하거나 연속적인 스트림으로 처리
  • 키 사전 공유: 통신 전에 반드시 안전한 방법으로 키를 공유해야 함

대표 알고리즘

  • AES (Advanced Encryption Standard)
  • DES (Data Encryption Standard)
  • 3DES (Triple DES)
  • ChaCha20

장점

  • 빠른 속도: 대용량 데이터 처리에 적합
  • 간단한 구조: 이해하기 쉽고 구현이 단순
  • 효율성: 시스템 리소스를 적게 사용

단점

  • 키 전달 문제: 안전하게 키를 공유하기 어려움
  • 키 관리 복잡성: 사용자 수가 증가하면 관리할 키가 기하급수적으로 증가
  • 확장성 부족: 대규모 네트워크에서 비효율적

비대칭키 (Asymmetric Key)

개념

서로 다른 두 개의 키를 사용하는 암호화 방식이다. 하나는 공개키(Public Key), 다른 하나는 개인키(Private Key)로 구성된다.

공개키 암호화라고도 불리며, 1976년 디피-헬만(Diffie-Hellman)에 의해 처음 제안되었다. 이 방식의 핵심은 한 키로 암호화한 데이터를 오직 다른 키로만 복호화할 수 있다는 점이다. 공개키는 모든 사람에게 공개되어도 안전하며, 개인키는 소유자만이 가지고 있어야 한다. 이러한 특성으로 인해 안전한 통신과 디지털 서명이 가능하다.

주요 특징

  • 키 쌍 구성: 공개키 + 개인키
  • 수학적 연관성: 두 키는 수학적으로 연결되어 있음
  • 단방향 특성: 한 키로 암호화하면 반드시 다른 키로만 복호화 가능
  • 계산 복잡성: 소인수분해, 이산로그 등 수학적 어려운 문제를 기반으로 함
  • 키 길이: 같은 보안 수준을 위해 대칭키보다 훨씬 긴 키가 필요함

암호화 과정

  1. 키 쌍 생성: 수신자가 공개키/개인키 쌍을 생성
  2. 공개키 배포: 공개키를 모든 사람에게 공개
  3. 암호화: 송신자가 수신자의 공개키로 데이터 암호화
  4. 전송: 암호화된 데이터를 전송
  5. 복호화: 수신자가 자신의 개인키로 복호화

    디피-헬만(Diffie-Hellman)으로 쉽게 이해가 가능하다.

대표 알고리즘

  • RSA (Rivest-Shamir-Adleman)
  • ECC (Elliptic Curve Cryptography)
  • DSA (Digital Signature Algorithm)

장점

  • 키 교환 불필요: 공개키를 통해 안전하게 통신 시작
  • 디지털 서명: 신원 확인과 무결성 보장
  • 확장성: 대규모 네트워크에서 효율적
  • 부인 방지: 메시지 송신 사실을 부인할 수 없음

단점

  • 느린 속도: 복잡한 연산으로 인해 처리 속도가 느림
  • 큰 키 크기: 같은 보안 수준을 위해 더 긴 키 필요
  • 높은 연산 비용: 많은 시스템 리소스 사용

하이브리드 방식:두 방식의 결합

실제 현대 암호화 시스템에서는 대칭키와 비대칭키를 함께 사용한다.

동작 원리

  1. 세션키 생성: 통신용 대칭키(세션키) 생성
  2. 키 암호화: 비대칭키로 세션키를 암호화
  3. 키 전송: 암호화된 세션키를 안전하게 전송
  4. 데이터 암호화: 이후 모든 데이터는 빠른 대칭키로 암호화

이 방식은 TLS/SSL 프로토콜의 핵심 동작 방식이다. 웹브라우저가 HTTPS 사이트에 접속할 때, 먼저 서버의 공개키로 세션키를 암호화해서 전송하고, 이후 실제 웹페이지 데이터는 모두 세션키로 암호화되어 전송된다.

왜 하이브리드를 사용할까?

  • 속도 + 보안: 비대칭키의 보안성과 대칭키의 속도를 모두 확보
  • 실용성: 실제 인터넷 통신(HTTPS, TLS)에서 사용되는 방식
  • 효율성: 각 방식의 장점만을 활용

비교

구분대칭키비대칭키
키 개수1개2개 (공개키 + 개인키)
처리 속도빠름느림
키 교환어려움쉬움
용도대용량 데이터 암호화키 교환, 디지털 서명
보안성키 보안에 의존수학적 난제 기반

현대 암호화는 대칭키와 비대칭키의 장점을 결합한 하이브리드 방식이 표준이다. 웹사이트 접속 시 보이는 🔒 자물쇠 아이콘이 바로 이런 방식을 사용한다는 증거이다.

profile
컴공학생

0개의 댓글