FPGA 고품질 고속 진정 난수 생성기 설계

FPGA 고품질 고속 진정 난수 생성기 설계

초록

본 논문은 FPGA에 구현된 고품질·고처리량 진정 난수 생성기(TRNG)의 설계와 구현 과정을 상세히 기술한다. 설계 시 마주한 실용적 문제들을 분석하고, 엔트로피 소스, 포스트프로세싱, 파라미터 선택이 난수 품질에 미치는 영향을 실험적으로 평가한다. 최소 자원 사용으로 DieHard와 TestU01 테스트를 모두 통과할 수 있는 파라미터 조합을 제시한다.

상세 분석

이 연구는 FPGA 내부의 메타스테이블 회로를 엔트로피 소스로 활용한다는 점에서 기존의 LFSR 기반 의사 난수 생성기와 차별화된다. 저자들은 Ring‑Oscillator(RO) 배열을 이용해 클럭 변동성을 캡처하고, 다중 샘플링 기법을 통해 샘플 간 상관성을 최소화하였다. 특히, 샘플링 주기와 다중 비트 압축 비율을 조절하는 파라미터인 ‘샘플링 간격(N)’과 ‘압축 비트 수(M)’에 대한 체계적인 실험을 수행했으며, 이 두 파라미터가 출력 비트의 엔트로피와 테스트 통과율에 미치는 영향을 정량화하였다.

핵심적인 설계 요소는 두 단계의 포스트프로세싱이다. 첫 번째 단계는 XOR‑folding을 이용해 다중 RO 출력의 비트들을 결합해 잡음을 증폭하고, 두 번째 단계는 Von‑Neumann 정규화를 적용해 편향을 제거한다. 이러한 조합은 하드웨어 자원을 최소화하면서도 통계적 편향을 크게 감소시킨다. 저자들은 또한, FPGA 내부의 전원 노이즈와 온도 변동이 엔트로피에 미치는 영향을 실험적으로 측정했으며, 전원 레귤레이터와 온도 센서를 이용해 환경 변동에 대한 보정 메커니즘을 설계하였다.

리소스 사용 측면에서, 제안된 TRNG은 Xilinx Artix‑7 시리즈에서 LUT 120개, 레지스터 85개, DSP 0개, 그리고 약 0.3 %의 클럭 영역만을 차지한다. 이는 동일한 품질을 제공하는 기존 설계에 비해 30 % 이상 적은 자원 소모를 의미한다. 또한, 200 Mbps 이상의 출력 속도를 달성했으며, 파이프라인 구조와 병렬 RO 배열을 활용해 클럭 주파수에 거의 독립적인 고처리량을 유지한다.

테스트 결과는 DieHard, DieHarder, 그리고 TestU01의 가장 엄격한 “BigCrush” 배터리까지 모두 통과했으며, p‑값 분포가 균등하게 나타나 통계적 무작위성을 충분히 입증한다. 특히, 파라미터 (N=7, M=3) 조합이 최소 자원 사용과 최고 테스트 통과율을 동시에 만족하는 최적점으로 제시된다.

이 논문은 FPGA 기반 TRNG 설계 시 고려해야 할 실용적 제약(전원 잡음, 온도, 클럭 지터)과 이를 보완하기 위한 하드웨어·소프트웨어 연계 기법을 종합적으로 제시함으로써, 보안 모듈, 암호화 가속기, 그리고 임베디드 시스템에서 신뢰성 높은 난수원을 구현하려는 연구자와 엔지니어에게 중요한 참고 자료가 된다.