일회용 암호표 (One-Time Pad)

정보보안학
한 줄 정의: 평문과 같은 길이의 완전 무작위 키를 한 번만 사용해 배타적 논리합으로 암호화하는, 이론적으로 절대 깰 수 없는 암호 방식입니다.

쉽게 풀면

메시지와 똑같은 길이의 완전히 무작위한 열쇠를 만들어, 두 값을 한 비트씩 XOR로 섞습니다. 열쇠가 진짜 무작위이고 딱 한 번만 쓰인다면, 암호문만 봐서는 원래 메시지가 무엇이었는지 어떤 방법으로도 알아낼 수 없습니다. 모든 평문이 똑같이 그럴듯해 보이기 때문입니다.

왜 중요한가

일회용 암호표는 수학적으로 완전 안전성이 증명된 유일한 암호로, 아무리 계산 능력이 뛰어난 공격자도 깰 수 없습니다. 암호학에서 '이론적 안전성의 상한선'을 보여주는 기준점 역할을 하며, 이후 등장한 스트림 암호의 개념적 뿌리이기도 합니다.

논문에서는 이렇게 쓰입니다

"일회용 암호표는 완전 안전성을 보장하지만, 키를 평문과 같은 길이로 안전하게 미리 나눠 가져야 한다는 키 분배 문제 때문에 실용성이 크게 제한된다."

조금 더 깊게 보면

섀넌은 완전 안전성이 성립하려면 키의 정보량이 평문의 정보량 이상이어야 함을 증명했고, 일회용 암호표가 이 조건을 정확히 만족합니다. 그러나 세 가지 조건, 즉 키가 완전히 무작위여야 하고, 평문만큼 길어야 하며, 절대 재사용되지 않아야 한다는 점이 현실 적용을 어렵게 합니다. 키를 두 번 쓰면 두 암호문의 XOR에서 키가 소거되어 평문 정보가 드러나므로 안전성이 완전히 무너집니다.

주의할 점

실무의 스트림 암호는 짧은 키에서 긴 키스트림을 '생성'하므로 완전 무작위가 아니어서 일회용 암호표의 완전 안전성을 갖지 못합니다. 이름이 비슷한 일회용 비밀번호(OTP)와 혼동하지 않아야 합니다.

관련 용어