Summary: 비대칭키 암호화는 암복호화에 서로 다른 키(공개키/개인키)를 사용해 키 배송 문제를 근본적으로 없애고 기밀성·인증·부인방지를 제공하지만 속도가 느리다. 대칭키 암호화는 동일한 키를 사용해 속도가 빠르고 대용량 처리에 적합하지만, 키를 안전하게 전달해야 하는 키 배송 문제를 가진다. 이 글은 두 방식의 정의, 키 처리 구조, 장단점, 대표 알고리즘을 정리한다.
비대칭키 암호화란?

비대칭키 암호화는 암호화와 복호화에 서로 다른 키를 사용하는 방식이다. 두 키 중 하나를 공개키로 두기 때문에 공개키 암호라고도 불린다.
키 구조부터 보면 암호화 키와 복호화 키가 분리되어 있다. 두 키를 각각 키A, 키B라 하면, 키A로 암호화한 암호문은 키B로만 복호화되고 키B로 암호화한 암호문은 키A로만 복호화된다. 이 중 하나만 비밀로 보관하고(비밀키 또는 개인키) 다른 하나는 공개한다(공개키). 통상적인 사용을 위해서는 둘 중 하나가 반드시 공개되어야 한다.
이 구조는 키 배송 문제와 직결된다. 공개키로 암호화한 암호문은 개인키를 가진 사람만 복호화할 수 있으므로, 통신 양측은 공개키만 교환하고 상대의 공개키로 암호화해 데이터를 주고받으면 된다. 비밀로 지켜야 하는 키를 따로 전달할 필요가 없어, 키 배송 문제가 근본적으로 발생하지 않는다.
이러한 특성 덕분에 비대칭키 암호화는 키 분배가 필요 없고 기밀성·인증·부인방지 기능을 제공한다. 대신 속도가 느리다는 단점이 있다.
키를 어떤 순서로 사용하는지에 따라 두 가지 방식으로 나뉜다.
| 방식 | 키 사용 | 목적 |
| 암호 모드 | 송신자 공개키로 암호화 → 송신자 개인키로 복호화 | 소량 메시지 암호화, 주로 키 교환 용도 |
| 인증 모드 | 송신자 개인키로 암호화 → 송신자 공개키로 복호화 | 메시지 인증(부인방지) |
대표 알고리즘은 다음과 같다.
| 알고리즘 | 설명 |
| Diffie-Hellman | 최초의 공개키 알고리즘, 위조에 취약 |
| RSA | 대표적 공개키 알고리즘 |
| DSA | 전자서명 알고리즘 표준 |
대칭키 암호화란?

대칭키 암호화(비공개키 방식)는 암호화와 복호화에 동일한 키를 사용하는 방식이다. 그래서 이 키는 외부에 공개하지 않고 비공개로 유지한다.
이 방식의 결정적 한계는 키 배송 문제다. 송신 측은 어떻게든 수신 측에 암호 키를 전달해야 하는데, 이 키가 배송 과정에서 탈취되면 아무리 뛰어난 암호화 알고리즘을 써도 평문이 드러난다. 평문을 안전하게 전달하려고 암호문을 만들지만, 정작 그 키를 안전하게 전달할 방법이 마땅치 않은 것이다. 앞 절에서 본 비대칭키 암호화가 바로 이 문제를 해결한 방식이다.
장점은 암호화 속도가 빠르고 대용량 데이터 암호화에 적합하다는 점이다. 단점은 키를 교환해야 한다는 점, 탈취 관리에 대한 부담, 그리고 사용자가 늘어날수록 관리할 키가 많아져 확장성이 떨어진다는 점이다.
대칭키는 Session Key, Secret Key, Shared Key, 단용키 등으로도 불린다.
보안 기능 측면에서 대칭키 암호화는 기밀성을 제공하지만 무결성·인증·부인방지는 보장하지 않는다. 인증과 부인방지까지 제공하는 비대칭키 암호화와 대비된다.
대표 알고리즘으로는 공인인증서의 암호화 방식으로 잘 알려진 SEED를 비롯해 DES, 3DES, AES, ARIA, 그리고 최근 주목받는 ChaCha20이 있다.
'WiSoft' 카테고리의 다른 글
| UART · SPI · I2C · CAN (0) | 2026.06.26 |
|---|---|
| 배열 리스트와 링크드 리스트 (0) | 2026.06.26 |
| BST의 최악의 경우의 예와 시간 복잡도 (0) | 2026.06.17 |
| 동기와 비동기, 블로킹과 논블로킹 (0) | 2026.06.17 |
| 캐시의 시간 지역성과 공간 지역성 (0) | 2026.06.16 |