[論文レビュー] FPGA Implementation of $\mathbb{F}_2$-Linear Pseudorandom Number Generators Based on Zynq MPSoC: a Chaotic Iterations Post Processing Case Study
本稿では、Zynq MPSoCを用いたFPGAベースのハードウェア実装として、18個の$Δ}_2$-線形擬似乱数生成器(PRNG)をRTLおよびハイレベル合成(HLS)フローで比較し、提示している。混沌的反復を後処理手法として用いることで、統計的品質が著しく向上し、従来TestU01バッテリーに合格しなかったPRNGが、厳密なBig-Crushスイートに合格するようになった。最適化された組み合わせにより、DSPやRAMブロックを一切使用せずに、高スループットかつ低リソース使用量のPRNGが実現された。
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.
研究の動機と目的
- 18個の$Δ}_2$-線形PRNG(Xorshift、LFSR、TGFSR、LCG)を、RTLおよびHLSフローを用いてFPGA上で評価・比較すること。
- 線形複雑度、シードサイズ、算術演算がFPGAリソース使用量およびスループットに与える影響を調査すること。
- PRNGの高速ハードウェアプロトタイピングおよびテストを可能とするZynqベースのMPSoCプラットフォームの開発。
- 混沌的反復(CIs)が、欠陥のあるPRNGの統計的品質を向上させる有効性を評価すること。
- 高パフォーマンス、低面積、強力な統計的性質を実現するための最適なPRNGの組み合わせおよび混沌的反復パラメータの特定。
提案手法
- Xorshift、LFSR、TGFSR、LCGの4つのファミリに属する18個のPRNGを、Zynq MPSoCプラットフォーム上でRTLおよびHLSフローを用いて実装した。
- ARM Cortex-A9とプログラマブルロジックを統合したSoCを設計し、PRNGの実装およびテストを高速化した。
- 3つのPRNGを用いた改良型戦略に基づき、動的選択セットを生成する混沌的反復(CIs)を後処理手法として適用した。
- CIsでは、関数$f(x) = \overline{x}$(否定関数)を用い、3つのPRNGの出力を用いて状態ビットを更新するサブセット選択を制御した。
- ビット単位の演算とマスクを用いたハードウェア効率の良いCIベースのPRNG(XOR-CIPRNG)を実装し、出力には常に$\log(\log(n))$個の最下位ビットのみを選択した。
- すべての構成をTestU01統計的テストバッテリー、特にBig-Crushスイートを用いて評価し、統計的品質を評価した。
実験結果
リサーチクエスチョン
- RQ1RTLおよびHLSフローを用いたFPGA上での実装において、Xorshift、LFSR、TGFSR、LCGの各PRNGファミリは、面積、スループット、統計的品質の観点でどのように比較されるか?
- RQ2線形複雑度、シードサイズ、算術演算の関係が、FPGA上でのPRNGのリソース使用量およびパフォーマンスに与える影響は何か?
- RQ3混沌的反復は、標準的な統計的テストに失敗するPRNGの統計的プロファイルを効果的に改善できるか?
- RQ4どのPRNGの組み合わせおよび混沌的反復パラメータの組み合わせが、面積、スループット、統計的品質の最適なトレードオフを実現するか?
- RQ5DSPやRAMブロックに依存しない混沌的反復に基づくハードウェア後処理モジュールは、高パフォーマンスかつ低面積のPRNGを実現可能か?
主な発見
- Xorshift64およびLFSR113は、すべてのテスト済みPRNGの中で面積およびスループットの観点で最も優れたハードウェア性能を示した。
- PCG32およびXorshift* PRNGは、TestU01バッテリー全体、特に最も厳しいBig-Crushスイートまでを合格する優れた統計的品質を示した。
- 混沌的反復の後処理により、元々TestU01バッテリーに失敗していたすべてのPRNGの組み合わせが、Big-Crush統計的テストバッテリーに合格するようになった。
- 特定の組み合わせ、例えば[xorshift64, xorshift+, LFSR113]および[xorshift+, xorshift+, Taus88]は、5.5–6.9 Gbpsのスループットを達成し、7.8×10³スライス未満の面積で実現した。MRG32k3aを凌駕する性能であり、DSPやRAMブロックを一切使用しなかった。
- 混沌的反復の実装には最小限の追加リソースしか必要としなかった。RAMブロックは0–8個、DSPは0–6個を要し、PRNGの組み合わせに応じて6.58×10³~11.2×10³スライスの範囲で面積が変動した。
- 混沌的戦略から得られる3つの最下位ビットのみを用いることで、十分な擬似乱雑性が確保されつつ、ハードウェアコストは低く抑えられた。
より良い研究を、今すぐ始めましょう
論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。