피보나치와 가우스 구성의 비선형 피드백 시프트 레지스터 초기 상태 매핑

피보나치와 가우스 구성의 비선형 피드백 시프트 레지스터 초기 상태 매핑

초록

본 논문은 비선형 피드백 시프트 레지스터(NLFSR)의 피보나치형과 가우스형 사이에 존재하는 초기 상태 대응 관계를 수학적으로 규정한다. 두 구성의 출력 시퀀스가 동일하도록 초기값을 선택하는 방법을 제시하고, 그 증명을 통해 설계자가 원하는 시퀀스를 자유롭게 구현할 수 있음을 보여준다.

상세 분석

논문은 먼저 NLFSR의 두 가지 전형적인 구현 방식인 피보나치(Fibonacci)와 가우스(Galois)를 명확히 정의한다. 피보나치형은 각 단계에서 피드백 함수를 전체 레지스터에 적용해 가장 왼쪽 비트를 갱신하는 반면, 가우스형은 피드백을 개별 비트에 직접 적용해 동시에 여러 비트를 업데이트한다. 이러한 구조적 차이에도 불구하고, 동일한 피드백 다항식과 동일한 초기 상태를 사용하면 두 구성은 동일한 출력 시퀀스를 생성한다는 것이 일반적인 가정이다. 그러나 실제 설계에서는 초기 상태가 서로 다르게 설정될 때 출력이 달라지는 경우가 빈번히 발생한다.

저자들은 이 문제를 해결하기 위해 “상태 변환 함수” S를 도입한다. S는 피보나치형 초기 상태 x₀를 입력받아 가우스형 초기 상태 y₀를 산출한다. S는 피드백 함수 f와 레지스터 길이 n에 의해 완전히 결정되며, 구체적으로는 선형 대수적 연산(특히 비선형 매트릭스 곱셈)과 비선형 함수의 합성으로 표현된다. 논문은 S가 전단사임을 증명함으로써, 각 피보나치 초기 상태에 대해 정확히 하나의 가우스 초기 상태가 존재함을 보인다.

핵심 정리는 다음과 같다.

  1. 피보나치형 NLFSR의 상태 전이 함수 Fₚ와 가우스형 NLFSR의 상태 전이 함수 F𝓰가 동형(isomorphic)이며, 동형 사상은 S에 의해 구현된다.
  2. 임의의 초기 상태 x₀에 대해, y₀ = S(x₀)라 하면, 두 레지스터는 동일한 출력 시퀀스 {zₜ}를 생성한다.
  3. S는 재귀적 알고리즘으로 효율적으로 계산 가능하며, 복잡도는 O(n·2^k) (k는 피드백 함수의 비선형 차수) 수준이다.

저자들은 또한 특수한 경우, 즉 피드백 함수가 단순한 비선형 조합(예: AND, OR, XOR)일 때 S의 폐쇄형 식을 제시한다. 이 식은 하드웨어 구현 시 레지스터 초기화 로직을 최소화하는 데 직접 활용될 수 있다. 실험 결과는 128비트 NLFSR와 256비트 NLFSR에 대해 S를 적용했을 때, 두 구성이 동일한 주기와 균등 분포를 보이며, 오차가 전혀 없음을 확인한다.

이 논문의 의의는 두 가지 측면에서 강조된다. 첫째, 설계자는 피보나치형 혹은 가우스형 중 어느 쪽을 선택하더라도, S를 이용해 초기 상태를 변환함으로써 동일한 암호학적 특성을 유지할 수 있다. 둘째, 기존에 별도로 검증해야 했던 “초기 상태 매칭” 문제를 수학적으로 해결함으로써 설계 검증 비용을 크게 절감한다. 특히, 스트림 암호, 난수 생성기, 그리고 하드웨어 보안 모듈에서 NLFSR을 활용하는 경우, 초기화 단계의 복잡성을 크게 낮출 수 있다.