블록 순열을 통한 난수성 향상
초록
본 논문은 소수의 역수로 생성된 이진 시퀀스를 일정 길이 블록으로 나눈 뒤, 블록 순열을 적용함으로써 난수성을 증대시키는 방법을 제안한다. 사용된 순열 수와 난수성 개선 정도 사이의 정량적 관계를 실험적으로 규명하고, 이를 암호학적 의사난수 생성기의 강도 향상에 활용할 가능성을 논의한다.
상세 분석
이 연구는 소수 p에 대한 역수 1/p 를 2진 확장으로 표현한 ‘소수 역수 시퀀스’를 기본 난수원으로 삼는다. 이러한 시퀀스는 주기성이 명확하고, 기존 문헌에서는 균등 분포와 낮은 자기상관을 보이나, 완전한 의사난수 수준에는 미치지 못한다는 한계가 있다. 논문은 먼저 전체 시퀀스를 길이 L 의 블록으로 균등하게 분할하고, 각 블록에 대해 서로 다른 순열을 적용한다. 순열은 블록 내부 비트 위치를 재배열하는 전치 연산이며, 순열 집합의 크기 k 를 변수로 설정한다. 핵심 가설은 블록 단위의 순열이 원본 시퀀스의 구조적 패턴을 파괴함으로써 통계적 무작위성을 강화한다는 점이다.
실험에서는 NIST SP800‑22, Dieharder, TestU01 등 15개의 표준 난수성 테스트를 사용해 원본 시퀀스와 순열 적용 시퀀스를 비교하였다. 결과는 순열 수 k 가 증가할수록 통과율이 비선형적으로 상승함을 보여준다. 특히 k ≥ √L 일 때 대부분의 테스트에서 99% 이상의 통과율을 기록했으며, 이는 ‘순열 복잡도’가 일정 임계값을 초과하면 블록 내부 상관이 실질적으로 사라진다는 것을 의미한다.
또한, 암호학적 관점에서 순열 키를 비밀키로 활용할 경우, 공격자는 원본 시퀀스와 순열 매핑을 동시에 복구해야 하므로 복구 복잡도가 O(p·k) 로 급격히 증가한다. 이는 기존 의사난수 생성기 대비 키 공간을 실질적으로 확대하는 효과를 제공한다. 다만, 순열 적용 과정에서 메모리 오버헤드와 연산 지연이 발생하므로 실시간 스트림 암호에 적용할 때는 하드웨어 가속 또는 블록 크기 최적화가 필요하다.
결론적으로, 블록 순열은 소수 역수 기반 시퀀스의 난수성을 효율적으로 강화하는 저비용 기법이며, 순열 수와 블록 크기 사이의 최적 조합을 찾는 것이 실용적 적용의 핵심 과제로 남는다.
댓글 및 학술 토론
Loading comments...
의견 남기기