대체 스텝(r,s) 생성기의 대수적 공격과 보안 재평가
본 논문은 비밀 파라미터 r·s를 갖는 교번 제어 시퀀스 생성기 ASG(r,s)에 대해, 원래 ASG와 동등한 모델로 환원하고 3·(m+n) 비트의 출력만으로 비밀키를 복구할 수 있는 대수적 공격을 제시한다. 공격 복잡도는 O((m²+n²)·2^{l+1}+2^{m-1}·m³+2^{n-1}·n³)이며, 이는 r·s가 비밀이라도 실용적인 위협이 됨을 증명한다.
초록
본 논문은 비밀 파라미터 r·s를 갖는 교번 제어 시퀀스 생성기 ASG(r,s)에 대해, 원래 ASG와 동등한 모델로 환원하고 3·(m+n) 비트의 출력만으로 비밀키를 복구할 수 있는 대수적 공격을 제시한다. 공격 복잡도는 O((m²+n²)·2^{l+1}+2^{m-1}·m³+2^{n-1}·n³)이며, 이는 r·s가 비밀이라도 실용적인 위협이 됨을 증명한다.
상세 요약
ASG(r,s) 는 세 개의 LFSR(길이 l, m, n)으로 구성되고, 첫 번째 레지스터의 출력 비트가 두 번째와 세 번째 레지스터의 클록을 각각 r 또는 0, s 또는 0 번 수행하도록 제어한다. Kanso는 r·s를 비밀로 유지하면 기존 ASG에 비해 공격 난이도가 크게 상승한다고 주장했지만, 본 논문은 이를 반박한다. 핵심 아이디어는 “시계 제어 비트가 1이면 해당 레지스터를 r(또는 s)번 시계하고, 0이면 정지한다”는 동작을 대수식으로 전개해, 전체 시스템을 두 개의 독립적인 LFSR 시퀀스로 분리할 수 있다는 점이다.
먼저, 출력 시퀀스 z_t 를 두 LFSR 출력 a_t, b_t 로 표현하고, 제어 비트 c_t 를 a_t·b_t 형태의 곱으로 근사한다. 이렇게 하면 z_t = a_t ⊕ b_t·c_t 와 같은 비선형 관계가 얻어지며, c_t 자체도 a_t와 b_t의 선형 결합으로 표현 가능함을 보인다. 이후, 3·(m+n) 비트만 확보하면 a_t와 b_t에 대한 연립 대수 방정식 시스템을 구축할 수 있다.
이 방정식은 차수가 2인 다항식이지만, 변수 개수가 제한적이므로 Gröbner‑basis 혹은 비선형 시스템 선형화 기법을 적용해 효율적으로 풀 수 있다. 구체적으로는 (m+n)개의 연속 출력 비트를 이용해 a_t와 b_t의 초기 상태를 각각 m·2^{m-1}·m³, n·2^{n-1}·n³ 복잡도로 복구하고, 첫 번째 레지스터의 초기 상태는 (m²+n²)·2^{l+1} 복잡도로 탐색한다. 전체 복합 복잡도는 논문에 제시된 O((m²+n²)·2^{l+1}+2^{m-1}·m³+2^{n-1}·n³) 로, l·m·n이 실용적인 범위라면 실제 공격이 가능함을 의미한다.
또한, r·s가 비밀이라도 공격 과정에서 직접적으로 필요하지 않으며, 오히려 제어 비트의 패턴을 대수식에 포함시키는 방식으로 우회한다. 따라서 r·s를 숨긴다고 해서 보안이 향상된다는 Kanso의 주장은 근거가 없으며, ASG(r,s)는 원래 ASG와 동일한 수준의 보안만을 제공한다는 결론에 도달한다.
마지막으로, 논문은 가능한 방어 전략으로 레지스터 길이 증가, 비선형 출력 함수 도입, 그리고 동적 r·s 변조 등을 제시하지만, 이러한 조치 역시 공격 복잡도에 비해 충분히 큰 비용을 요구한다는 점을 강조한다.
📜 논문 원문 (영문)
🚀 1TB 저장소에서 고화질 레이아웃을 불러오는 중입니다...