소수 역수 기반 재귀 난수 생성기와 그 보안성 분석
초록
소수의 역수를 이용한 d‑시퀀스를 기본으로, 두 개 이상의 d‑시퀀스를 모듈러 2 연산으로 결합하고, 시드 S를 자유롭게 선택하는 재귀적 난수 생성 방식을 제안한다. 최대 길이 시퀀스의 주기, 원시근 조건, 그리고 합성 시퀀스의 주기와 비선형성 확보 방법을 논의하며, 기존 LFSR·LCG 대비 구현의 간편함과 다양한 주기 선택 가능성을 강조한다.
상세 분석
본 논문은 소수 p 의 역수 1/p 를 10진·이진 등 원하는 진법으로 전개한 d‑시퀀스가 갖는 수학적 특성을 활용한다. d‑시퀀스의 기본 생성식 a(i)=2^i mod p mod 2 에서, 2가 p 의 원시근일 경우 주기가 p‑1 이 되며, 이는 최대 길이 시퀀스에 해당한다. 이러한 시퀀스는 앞 절반과 뒤 절반이 서로 보수 관계에 있다는 대칭성을 가지고 있어, 통계적 균형(0과 1 의 비율) 측면에서 유리하다. 그러나 단일 d‑시퀀스는 log₂ p 비트만 알면 전체 시퀀스를 복원할 수 있어, 암호학적 보안성은 낮다. 이를 보완하기 위해 저자는 두 개 이상의 d‑시퀀스를 모듈러 2 덧셈(⊕)으로 결합하는 방식을 제안한다. 각 시퀀스는 서로 다른 소수 p₁, p₂ 에 기반하고, 시드 S 를 2가 아닌 임의의 정수(각 pᵢ와 서로소)로 설정한다. 이렇게 하면 시드 S 의 거듭제곱을 각각 p₁, p₂ 에 대해 모듈러 연산한 뒤 비트화하고, ⊕ 연산으로 합성함으로써 비선형성을 도입한다.
주기 분석에서는 개별 최대 길이 시퀀스의 주기가 pᵢ‑1 이므로, 두 시퀀스를 합성했을 때 이론적 최대 주기는 lcm(p₁‑1, p₂‑1)이다. 실제 주기는 선택된 pᵢ 가 원시근 조건을 만족하지 않을 경우 그 약수로 감소한다. 또한, 시드 S 가 각 pᵢ 에 대해 원시근이 아닐 경우, 전체 주기가 더욱 짧아질 수 있다. 이를 해결하기 위해 저자는 S 를 임의의 큰 정수로 두고, 두 번째 시퀀스에 k 배의 지수를 적용하는(예: S^{2k} mod p₂) 변형을 제시한다. 이 경우 두 시퀀스의 주기 구조가 서로 얽히게 되어, 주기 예측이 더욱 어려워진다.
보안 측면에서는 두 소수가 각각 3 mod 4 조건을 만족하도록 선택함으로써, 제곱 잔여성(Quadratic Residue) 문제와 연관된 난이도를 활용한다. 또한, pᵢ 를 단일 소수가 아니라 소수들의 곱(즉, 합성수)으로 구성하면, 모듈러 연산 자체가 복합적인 구조를 띠어 공격자가 시드 S 와 pᵢ 를 역추적하기 어려워진다. 이러한 설계는 전통적인 LFSR이나 LCG가 갖는 선형성 문제를 해결하고, 주기와 비선형성을 자유롭게 조절할 수 있는 장점을 제공한다.
실제 구현에서는 a(0), a(1), a(2)… 을 순차적으로 생성하고, 필요에 따라 k 값이나 S 값을 동적으로 바꾸어 추가적인 혼돈성을 부여한다. 논문은 또한 d‑시퀀스가 모든 유한 길이 난수열을 유리수 형태로 표현할 수 있음을 보이며, 이는 d‑시퀀스가 난수열의 가장 일반적인 표현이라는 이론적 근거를 제시한다.
종합적으로, 본 연구는 소수 역수를 기반으로 한 d‑시퀀스의 구조적 특성을 활용하면서, 시드와 지수, 그리고 다중 소수 결합을 통해 비선형성과 주기 다양성을 확보한 재귀 난수 생성기의 설계 원리를 제시한다. 이는 암호학, 통신, 시뮬레이션 등 다양한 분야에서 맞춤형 난수열이 필요할 때 유용한 대안이 될 수 있다.
댓글 및 학술 토론
Loading comments...
의견 남기기