One-Time Pad(OTP, 일회용 패드)는 암호학 역사에서 정보이론적으로 완전한 보안(Perfect Secrecy) 이 증명된 대표적인 암호 체계다.
현대의 대부분의 암호 기술이 “현실적으로 해독이 매우 어려운 수준”의 안전성을 목표로 하는 반면, OTP는 이론적으로 공격자가 무한한 연산 능력을 가지고 있더라도 평문 정보를 알아낼 수 없다는 점에서 특별한 의미를 가진다.
다만 이러한 완벽성은 매우 까다로운 조건 위에서만 성립하며, 실제 운영 환경에서는 치명적인 제약이 존재한다
이 글에서는 OTP의 기본 원리와 완전 보안이 성립하는 이유, 그리고 실무에서 널리 사용되지 못하는 배경을 정리한다.
OTP는 평문(Plaintext)과 동일한 길이의 무작위 키(Key)를 사용하여 암호화를 수행하는 방식이다.
현대 컴퓨터 환경에서는 일반적으로 비트 단위의 XOR(Exclusive OR) 연산을 사용한다.
암호화:
C=P⊕K
복호화:
P=C⊕K
XOR 연산의 특징상 같은 키를 다시 XOR하면 원래 데이터가 복원된다.
예를 들어
| 값 | 비트 |
|---|---|
| 평문(P) | 1010 |
| 키(K) | 1100 |
| 암호문(C) | 0110 |
복호화:
0110⊕1100=1010
즉, 동일한 키만 알고 있다면 암호문으로부터 원래 평문을 정확히 복원할 수 있다.
수학자 클로드 샤논(Claude Shannon)은 특정 조건이 모두 충족될 경우 OTP가 Perfect Secrecy를 만족함을 증명했다.
이는 공격자가 암호문만 가지고는 평문에 대한 어떠한 정보도 얻을 수 없음을 의미한다.
OTP의 완전 보안은 다음 조건 위에서 성립한다.
키가 충분히 길어야 모든 평문 비트를 독립적으로 가릴 수 있다.
즉:
∣K∣≥∣P∣
짧은 키를 반복 사용하면 패턴이 발생하며 보안성이 붕괴한다.
키는 예측 가능해서는 안 된다.
의사난수(PRNG)가 아닌, 통계적 편향이 없는 진정한 난수여야 하며 공격자가 패턴을 추론할 수 없어야 한다.
“One-Time”이라는 이름 그대로, 동일한 키를 두 번 이상 사용해서는 안 된다.
키 재사용이 발생하면 암호문 간 관계 분석이 가능해지며 OTP의 핵심 보안성이 무너진다.
(4) 키는 완전히 비밀이어야 한다
키를 알고 있는 주체는 송신자와 수신자뿐이어야 한다.
만약 키가 노출된다면 OTP는 일반 평문과 다를 바 없는 상태가 된다.
OTP는 이론적으로 완벽하지만, 현실에서는 매우 비실용적이다.
현대 인터넷 보안에서 TLS, AES, RSA 같은 방식이 사용되는 이유도 여기에 있다.
가장 큰 문제는 키 전달이다.
OTP는 평문과 동일한 길이의 키를 미리 안전하게 공유해야 한다.
예를 들어 1GB 데이터를 암호화하려면 1GB 길이의 무작위 키가 필요하다.
즉, 대규모 통신 환경에서는 키를 안전하게 생성·전달·동기화하는 비용이 지나치게 커진다.
대용량 데이터를 처리하는 현대 시스템에서는 데이터 크기만큼의 키를 저장해야 한다.
예를 들어:
1TB 데이터 → 1TB 무작위 키 필요
10TB 데이터 → 10TB 키 필요
이는 운영 효율 측면에서 매우 부담이 크다.
동일한 키를 두 번 사용하면 다음 관계가 성립한다.
C1⊕C2=P1⊕P2
즉, 키가 상쇄되면서 두 평문 간의 관계 정보가 드러난다.
언어 데이터는 통계적 중복성을 가지므로, 공격자는 이를 기반으로 평문 일부를 추론할 수 있다.
실제 역사적으로도 OTP 키 재사용은 여러 정보기관 암호 체계 붕괴의 원인이 되었다.
냉전 시기 스파이 활동에서는 난수가 기록된 종이 패드(Pad)를 사용했다.
암호화 후 사용한 페이지는 즉시 폐기했으며, 여기서 “One-Time Pad”라는 이름이 유래했다.
미국과 소련 간 핫라인 같은 최고 수준 기밀 통신에서도 OTP 기반 방식이 연구·활용되었다.
현대에는 양자역학 기반의 QKD(Quantum Key Distribution)를 이용해 OTP용 키를 안전하게 분배하려는 연구가 진행되고 있다.
OTP 자체는 오래된 기술이지만, 안전한 키 분배 문제를 해결하려는 시도는 여전히 현대 암호학의 중요한 연구 주제다.