16바이트 영어 평문 공간의 한계와 블록 암호 복원 가능성
초록
본 논문은 영어 텍스트에서 16바이트 길이 평문의 가능한 경우의 수를 상한으로 추정하고, 그 값이 2⁵⁶ 이하임을 보인다. 이를 바탕으로 블록 길이가 16바이트 이하인 AES와 같은 블록 암호가 평문‑알려짐(known‑plaintext) 혹은 평문‑선택(chosen‑plaintext) 상황에서 “복원 평문 공격”(recover‑plaintext attack)에 취약할 수 있음을 주장한다. 그러나 추정 과정에 사용된 가정과 수학적 전개는 현실적인 텍스트 특성을 충분히 반영하지 못하며, 실제 암호학적 위협으로 연결되기에는 논리적 비약이 존재한다.
상세 분석
이 논문은 먼저 영어 어휘 집합 Q의 크기를 최소 60 000 단어로 가정하고, 16바이트(=128비트) 길이의 평문 블록이 구성될 수 있는 경우의 수 |F| 를 계산한다. 저자는 평문을 “k‑term” 형태(단어 혹은 단어 조각의 연속)로 모델링하고, 네 가지 표현식(1.1)~(1.4)을 통해 공백과 구두점의 배치를 고려한다. 이후 조합론적 식을 전개하여 각 경우별 가능한 블록 수를 상한으로 추정하고, 최종적으로 |F| ≤ 2⁵⁶·3·8·10² 라는 식을 얻는다. 여기서 핵심 가정은 (i) 모든 단어가 알파벳 소문자만으로 이루어지고, (ii) 구두점은 ‘,’, ‘.’, ‘;’ 세 종류만 사용되며, (iii) 단어 길이 분포가 일정한 상수 μ 로 표현될 수 있다는 점이다.
하지만 이 가정들은 실제 영어 텍스트와 크게 괴리된다. 첫째, 현대 문서는 대문자, 숫자, 하이픈, 슬래시, 괄호 등 다양한 문자와 특수 기호를 포함한다. 둘째, 구두점은 위에 언급된 세 종류에 국한되지 않으며, 문장의 구조에 따라 콜론, 따옴표, 괄호 등이 빈번히 등장한다. 셋째, 단어 길이 분포는 Zipf 법칙에 따라 급격히 비대칭이며, μ 를 고정값으로 두는 것은 근거가 부족하다.
또한 논문은 “복원 평문 공격”을 가능하게 하는 조건을 “가능한 평문 블록 수가 2ᵐ 이하이면, 공격자는 ½·2ᵐ 개의 암호문을 수집해 생일 역설을 이용해 평문을 복원한다”라고 제시한다. 여기서 중요한 점은 공격자가 사전에 모든 (암호문, 평문) 쌍을 저장한 사전(dictionary)을 보유해야 한다는 것이다. 실제로 |F| 가 2⁵⁶ 정도라 하더라도, 2⁵⁶ 개의 평문을 모두 열거하고 각각에 대한 암호문을 계산하려면 천문학적인 저장공간과 연산량이 필요하다. 현재의 컴퓨팅 자원으로는 실현 불가능에 가깝다.
더 나아가, 블록 암호의 보안은 평문 공간의 크기보다 키 공간(예: AES‑128의 경우 2¹²⁸)과 라운드 함수의 비선형성에 크게 의존한다. 평문이 제한적이라 하더라도, 키가 충분히 무작위이고 암호화 과정이 충돌 저항성을 갖는다면, 평문‑알려짐 공격은 키를 직접 추정하거나 암호문을 변조하는 형태로 전개될 가능성이 높다. 논문은 이러한 전통적인 암호학적 공격 모델을 무시하고, 단순히 “가능한 평문 수가 작다”는 이유만으로 블록 암호가 취약하다고 결론짓는다.
결론적으로, 이 논문이 제시한 수학적 상한은 매우 조악한 모델에 기반한 추정이며, 실제 암호 시스템에 적용하기엔 여러 중요한 변수를 누락하고 있다. 따라서 “16바이트 블록 암호는 복원 평문 공격에 취약하다”는 주장은 현재의 암호학적 이해와 실무에 부합하지 않는다. 향후 연구에서는 실제 텍스트 코퍼스에 기반한 통계적 모델링, 다양한 문자 집합 고려, 그리고 공격 비용(시간·공간) 분석을 포함해야 의미 있는 결론을 도출할 수 있을 것이다.
댓글 및 학술 토론
Loading comments...
의견 남기기