[논문 리뷰] FPGA Implementation of $\mathbb{F}_2$-Linear Pseudorandom Number Generators Based on Zynq MPSoC: a Chaotic Iterations Post Processing Case Study
이 논문은 Zynq MPSoC를 사용하여 18개의 $Δ}_2$-선형 난수 생성기(PRNG)를 FPGA 기반 하드웨어로 구현하고 RTL 및 고수준 합성(HLS) 흐름을 비교한다. 혼돈적 반복을 후처리 기법으로 사용할 경우 통계적 품질이 크게 향상되어 이전에는 TestU01 배터리에서 실패했던 PRNG들이 엄격한 Big-Crush 시험을 통과할 수 있음을 보여주며, 최적화된 조합을 통해 고속도 및 낮은 자원 사용을 달성할 수 있다. 이는 DSP나 RAM 블록을 사용하지 않아도 된다.
Pseudorandom number generation (PRNG) is a key element in hardware security platforms like field-programmable gate array FPGA circuits. In this article, 18 PRNGs belonging in 4 families (xorshift, LFSR, TGFSR, and LCG) are physically implemented in a FPGA and compared in terms of area, throughput, and statistical tests. Two flows of conception are used for Register Transfer Level (RTL) and High-level Synthesis (HLS). Additionally, the relations between linear complexity, seeds, and arithmetic operations on the one hand, and the resources deployed in FPGA on the other hand, are deeply investigated. In order to do that, a SoC based on Zynq EPP with ARM Cortex-$A9$ MPSoC is developed to accelerate the implementation and the tests of various PRNGs on FPGA hardware. A case study is finally proposed using chaotic iterations as a post processing for FPGA. The latter has improved the statistical profile of a combination of PRNGs that, without it, failed in the so-called TestU01 statistical battery of tests.
연구 동기 및 목표
- RTL 및 HLS 흐름을 사용하여 FPGA에서 18개의 $Δ}_2$-선형 PRNG(xorshift, LFSR, TGFSR, LCG)의 하드웨어 성능을 평가하고 비교한다.
- 선형 복잡도, 시드 크기, 산술 연산이 FPGA 자원 사용 및 처리량에 미치는 영향을 조사한다.
- 가속화된 하드웨어 프로토타이핑 및 PRNG 테스트를 위한 Zynq 기반 MPSoC 플랫폼을 개발한다.
- 혼돈적 반복(CIs)을 후처리 기법으로 사용할 경우 결함이 있는 PRNG의 통계적 품질 향상 효과를 평가한다.
- 고성능, 저면적, 강력한 통계적 성질을 확보하기 위해 최적의 PRNG 조합 및 혼돈적 반복 파라미터를 규명한다.
제안 방법
- Zynq MPSoC 플랫폼에서 네 가지 가족(xorshift, LFSR, TGFSR, LCG)의 18개의 PRNG를 RTL 및 HLS 흐름을 모두 사용하여 구현한다.
- ARM Cortex-A9와 프로그래머블 논리로 구성된 시스템온칩(SoC)을 설계하여 PRNG의 하드웨어 구현 및 테스트를 가속화한다.
- 세 개의 PRNG를 기반으로 수정된 전략을 사용하여 동적 선택 집합을 생성하는 방식으로 혼돈적 반복(CIs)을 후처리 기법으로 적용한다.
- CIs에서 부정 함수 $f(x) = \overline{x}$를 사용하며, 세 개의 PRNG 출력을 기반으로 하위집합 선택을 수행하여 상태 비트를 갱신한다.
- 비트 수준 연산과 마스크링을 활용한 하드웨어 효율적인 CI 기반 PRNG(XOR-CIPRNG)를 구현하며, 출력으로 $\log(\log(n))$개의 가장 낮은 비트만 선택한다.
- 모든 구성에 대해 TestU01 통계 테스트 배터리, 특히 가장 엄격한 Big-Crush 시험을 사용하여 통계적 품질을 평가한다.
실험 결과
연구 질문
- RQ1RTL 및 HLS 흐름을 사용하여 FPGA에 구현된 다양한 PRNG 가족(xorshift, LFSR, TGFSR, LCG) 간에 면적, 처리량, 통계적 품질 측면에서의 성능 비교는 어떻게 되는가?
- RQ2선형 복잡도, 시드 크기, 산술 연산 간의 관계가 FPGA 자원 사용 및 PRNG의 성능에 미치는 영향는 어떠한가?
- RQ3혼돈적 반복이 표준 통계 테스트에 실패하는 PRNG의 통계적 프로파일을 효과적으로 향상시킬 수 있는가?
- RQ4어떤 PRNG 조합과 혼돈적 반복 파라미터 조합이 면적, 처리량, 통계적 품질 간 최적의 트레이드오프를 이룰 수 있는가?
- RQ5DSP나 RAM 블록을 사용하지 않고도 혼돈적 반복 기반 하드웨어 후처리기로 고성능, 저면적의 PRNG를 실현할 수 있는가?
주요 결과
- 모든 테스트된 PRNG 중 xorshift64와 LFSR113가 면적과 처리량 측면에서 가장 뛰어난 하드웨어 성능을 보였다.
- PCG32와 xorshift* PRNG는 뛰어난 통계적 품질을 보이며, TestU01 배터리 전체, 특히 가장 엄격한 Big-Crush 시험까지 통과했다.
- 혼돈적 반복 후처리를 통해 테스트된 모든 PRNG 조합이 Big-Crush 통계 테스트 배터리를 통과했으며, 원래 생성기가 실패했던 경우에도 마찬가지로 통과하였다.
- 특정 조합인 [xorshift64, xorshift+, LFSR113]과 [xorshift+, xorshift+, Taus88]는 5.5–6.9 Gbps의 처리량을 기록했고 면적은 7.8×10³ 슬라이스 이하로, DSP나 RAM 블록을 사용하지 않아도 MRG32k3a를 초월하는 성능을 보였다.
- 혼돈적 반복의 구현에 필요한 추가 자원은 극히 적었으며, RAM 블록은 0–8개, DSP는 0–6개를 사용했고, PRNG 조합에 따라 면적은 6.58×10³에서 11.2×10³ 슬라이스 사이에서 변동하였다.
- 혼돈 전략에서 가장 낮은 3비트만 사용함으로써 충분한 의사난수성을 확보하면서도 낮은 하드웨어 비용을 유지할 수 있었다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.