무작위 오라클 모델과 이상 암호 모델의 동등성 재조명
초록
본 논문은 공개 랜덤 함수만을 이용해 가역적인 랜덤 순열을 구현하는 문제를 다루며, 기존 6라운드 Feistel 구조의 인디퍼런스 증명이 오류임을 구체적 공격으로 입증한다. 이를 보완하기 위해 18라운드 Feistel 구조에 대해 새로운 인디퍼런스 증명을 제시하고, 각 라운드에 고유 역할을 부여함으로써 증명 복잡성을 감소시킨다.
상세 분석
인디퍼런스(indifferentiability)는 임의의 외부 시뮬레이터가 존재하여 두 구조가 구분 불가능함을 보이는 강력한 보안 개념이다. 무작위 오라클 모델(ROM)과 이상 암호 모델(ICM)의 동등성을 보이기 위해서는 공개 랜덤 함수(공개 랜덤 오라클)만을 사용해 가역적인 랜덤 순열을 구현해야 하는데, 이는 전통적인 Feistel 변환을 통해 가능하다고 알려져 있다. Luby‑Rackoff은 3라운드 Feistel이 통계적으로 순열을 만들지만, 인디퍼런스 수준에서는 충분하지 않다. Coron 등은 6라운드 Feistel에 대해 복잡한 인디퍼런스 증명을 제시했으나, 본 논문은 그 증명의 핵심 가정인 “라운드 함수가 독립적이며 완전 랜덤”이라는 전제가 실제 구성을 통해 위배될 수 있음을 구체적인 구분 공격으로 보여준다. 공격자는 적절히 선택된 입력 쿼리를 통해 라운드 함수의 상호 의존성을 탐지하고, 시뮬레이터가 재현할 수 없는 차이를 드러낸다. 이는 6라운드 구조가 인디퍼런스 요구를 만족하지 못함을 의미한다.
이러한 부정적 결과를 극복하기 위해 논문은 18라운드 Feistel을 제안한다. 핵심 아이디어는 각 라운드에 “확정적 역할”(예: 입력 혼합, 출력 정리, 시뮬레이터와의 인터페이스 제공 등)을 할당함으로써 증명 과정에서 발생하는 충돌을 방지하는 것이다. 라운드 1‑6은 입력을 충분히 섞어 초기 의존성을 희석하고, 라운드 7‑12은 시뮬레이터가 필요로 하는 중간값을 정확히 재현하도록 설계된다. 마지막 6라운드는 최종 순열의 가역성을 보장하면서도 시뮬레이터가 생성한 가상 오라클과의 차이를 최소화한다. 이러한 구조적 분할은 기존 6라운드 증명에서 발생한 “역전 가능성”과 “시뮬레이터 충돌” 문제를 근본적으로 해소한다.
증명은 크게 두 단계로 나뉜다. 첫 번째 단계는 “게임 호핑” 기법을 이용해 실제 18라운드 Feistel과 가상의 인디퍼런스 게임 사이의 차이를 단계별로 바인딩한다. 각 단계에서는 라운드 함수가 랜덤이면서도 독립적이라는 가정을 유지하면서, 이전 단계에서 도입된 오류가 누적되지 않도록 엄격한 확률 경계값을 적용한다. 두 번째 단계는 시뮬레이터가 제공하는 가상 랜덤 함수와 실제 라운드 함수 사이의 차이를 정량화하는데, 여기서는 “스위치 히트”와 “쿼리 재배치” 기법을 결합해 시뮬레이터가 모든 가능한 적대적 쿼리를 커버할 수 있음을 보인다. 최종적으로 전체 구분 이득은 O(q^2/2^n) 이하임을 증명함으로써, 2^n 크기의 블록에 대해 실질적인 인디퍼런스를 달성한다는 결론에 도달한다.
이 결과는 ROM과 ICM 사이의 이론적 동등성을 다시 한 번 확립하며, 특히 대칭 암호 설계에서 이상 암호를 가정한 보안 증명이 실제 구현 가능한 Feistel 기반 구조와 일치함을 보장한다. 또한, 18라운드라는 구체적인 라운드 수는 실용적인 효율성과 보안 사이의 균형을 제시하며, 향후 라운드 수 최적화 연구에 중요한 기준점을 제공한다.
댓글 및 학술 토론
Loading comments...
의견 남기기