대칭키 (Symmetric Key)
개념
하나의 동일한 키를 사용해서 암호화와 복호화를 모두 수행하는 방식이다. 마치 같은 열쇠로 문을 잠그고 여는 것과 같은 원리이다.
송신자와 수신자가 사전에 같은 비밀키를 공유해야 하며, 이 키를 통해 평문을 암호문으로 변환하고 다시 원래 평문으로 복원할 수 있다. 대칭키 방식은 고전 암호학부터 현대 암호학까지 가장 기본이 되는 암호화 방법이다.
주요 특징
- 같은 키 사용: 암호화 키 = 복호화 키
- 빠른 처리 속도: 연산이 단순해서 처리 속도가 매우 빠름
- 보안 강도: 키 길이에 따라 보안 수준 결정
- 블록/스트림 방식: 데이터를 블록 단위로 처리하거나 연속적인 스트림으로 처리
- 키 사전 공유: 통신 전에 반드시 안전한 방법으로 키를 공유해야 함
대표 알고리즘
- AES (Advanced Encryption Standard)
- DES (Data Encryption Standard)
- 3DES (Triple DES)
- ChaCha20 등
장점
- 빠른 속도: 대용량 데이터 처리에 적합
- 간단한 구조: 이해하기 쉽고 구현이 단순
- 효율성: 시스템 리소스를 적게 사용
단점
- 키 전달 문제: 안전하게 키를 공유하기 어려움
- 키 관리 복잡성: 사용자 수가 증가하면 관리할 키가 기하급수적으로 증가
- 확장성 부족: 대규모 네트워크에서 비효율적
비대칭키 (Asymmetric Key)
개념
서로 다른 두 개의 키를 사용하는 암호화 방식이다. 하나는 공개키(Public Key), 다른 하나는 개인키(Private Key)로 구성된다.
공개키 암호화라고도 불리며, 1976년 디피-헬만(Diffie-Hellman)에 의해 처음 제안되었다. 이 방식의 핵심은 한 키로 암호화한 데이터를 오직 다른 키로만 복호화할 수 있다는 점이다. 공개키는 모든 사람에게 공개되어도 안전하며, 개인키는 소유자만이 가지고 있어야 한다. 이러한 특성으로 인해 안전한 통신과 디지털 서명이 가능하다.
주요 특징
- 키 쌍 구성: 공개키 + 개인키
- 수학적 연관성: 두 키는 수학적으로 연결되어 있음
- 단방향 특성: 한 키로 암호화하면 반드시 다른 키로만 복호화 가능
- 계산 복잡성: 소인수분해, 이산로그 등 수학적 어려운 문제를 기반으로 함
- 키 길이: 같은 보안 수준을 위해 대칭키보다 훨씬 긴 키가 필요함
암호화 과정
- 키 쌍 생성: 수신자가 공개키/개인키 쌍을 생성
- 공개키 배포: 공개키를 모든 사람에게 공개
- 암호화: 송신자가 수신자의 공개키로 데이터 암호화
- 전송: 암호화된 데이터를 전송
- 복호화: 수신자가 자신의 개인키로 복호화

디피-헬만(Diffie-Hellman)으로 쉽게 이해가 가능하다.
대표 알고리즘
- RSA (Rivest-Shamir-Adleman)
- ECC (Elliptic Curve Cryptography)
- DSA (Digital Signature Algorithm)
장점
- 키 교환 불필요: 공개키를 통해 안전하게 통신 시작
- 디지털 서명: 신원 확인과 무결성 보장
- 확장성: 대규모 네트워크에서 효율적
- 부인 방지: 메시지 송신 사실을 부인할 수 없음
단점
- 느린 속도: 복잡한 연산으로 인해 처리 속도가 느림
- 큰 키 크기: 같은 보안 수준을 위해 더 긴 키 필요
- 높은 연산 비용: 많은 시스템 리소스 사용
하이브리드 방식:두 방식의 결합
실제 현대 암호화 시스템에서는 대칭키와 비대칭키를 함께 사용한다.
동작 원리
- 세션키 생성: 통신용 대칭키(세션키) 생성
- 키 암호화: 비대칭키로 세션키를 암호화
- 키 전송: 암호화된 세션키를 안전하게 전송
- 데이터 암호화: 이후 모든 데이터는 빠른 대칭키로 암호화
이 방식은 TLS/SSL 프로토콜의 핵심 동작 방식이다. 웹브라우저가 HTTPS 사이트에 접속할 때, 먼저 서버의 공개키로 세션키를 암호화해서 전송하고, 이후 실제 웹페이지 데이터는 모두 세션키로 암호화되어 전송된다.
왜 하이브리드를 사용할까?
- 속도 + 보안: 비대칭키의 보안성과 대칭키의 속도를 모두 확보
- 실용성: 실제 인터넷 통신(HTTPS, TLS)에서 사용되는 방식
- 효율성: 각 방식의 장점만을 활용
비교
| 구분 | 대칭키 | 비대칭키 |
|---|
| 키 개수 | 1개 | 2개 (공개키 + 개인키) |
| 처리 속도 | 빠름 | 느림 |
| 키 교환 | 어려움 | 쉬움 |
| 용도 | 대용량 데이터 암호화 | 키 교환, 디지털 서명 |
| 보안성 | 키 보안에 의존 | 수학적 난제 기반 |
현대 암호화는 대칭키와 비대칭키의 장점을 결합한 하이브리드 방식이 표준이다. 웹사이트 접속 시 보이는 🔒 자물쇠 아이콘이 바로 이런 방식을 사용한다는 증거이다.