Skip to main content
QUICK REVIEW

[論文レビュー] Middle-Square Weyl Sequence RNG

Bernard Widynski|arXiv (Cornell University)|Apr 2, 2017
Chaos-based Image/Signal Encryption参考文献 5被引用数 3
ひとこと要約

この論文は、ジョン・フォン・ノイマンの中央二乗法とウェイル系列を組み合わせることで、古典的な「ゼロメカニズム」問題を克服する新しい乱数生成器(RNG)を提案する。状態の二乗に、奇数定数を用いたモジュロ加算で生成されるウェイル系列を加えることで、少なくとも $2^{64}$ の周期、均一な出力分布、そして4命令で実行可能な効率的動作を実現し、BigCrush や PractRand といった厳密な統計的検定をパスする。

ABSTRACT

In this article, we propose a new implementation of John von Neumann's middle-square random number generator (RNG). A Weyl sequence keeps the generator running through a long period.

研究の動機と目的

  • フォン・ノイマンの中央二乗RNGに内在する根本的欠陥(ゼロや短い周期に収束する傾向)を、状態の多様性を維持するためのウェイル系列の導入によって是正すること。
  • 64ビット演算のみを用い、最小限の計算オーバーヘッドで長周期かつ均一な乱数生成を実現すること。
  • 暗号的に適したRNGを設計し、高パフォーマンスおよび並列計算環境に適した、効率的かつ統計的に堅牢な性能を実現すること。
  • メルセンヌ・ツイスタと同等の統計的品質を達成しつつ、コンactかつインライン実装可能な簡潔で高速な実装を実現すること。

提案手法

  • RNGは、ゼロでない値に初期化される64ビット状態変数 `x` と、ゼロに初期化される別個の64ビットウェイル系列状態 `w` を使用する。
  • 各イテレーションで、`x` は $2^{64}$ を法として二乗され、その後、`w += s`(`s` は奇数定数、例:0xb5ad4eceda1ce2a9)によりウェイル系列値 `w` が更新される。
  • 64ビット結果の中央32ビットは、右ローテート(巡回シフト)演算により抽出される:`return (x >> 32) | (x << 32);`、これは回転後の上位32ビットを効果的に選択する。
  • ウェイル系列は数学的に、周期 $2^{64}$ であり、`s` が奇数であるため最初の $2^{64}$ 要素において重複する値が存在しないことが保証され、状態の多様性が確保される。
  • 二乗処理を先に実行し、その後にウェイル項を加算する順序により、出力分布が均一になることが保証される。これは、定理Cにより証明されており、非一様だがランダムに似た `x²` と一様なウェイル系列 `w` の和が、一様な出力系列を生成することを示している。

実験結果

リサーチクエスチョン

  • RQ1ウェイル系列を統合することで、中央二乗法が「ゼロメカニズム」と長周期に陥るのを回避できるか?
  • RQ2状態の二乗にウェイル系列を加えることで、少なくとも $2^{64}$ の周期が保証されるか?
  • RQ3入力が一様でない場合でも、変更された中央二乗RNGの出力分布は統計的に均一か?
  • RQ4このRNGは、メルセンヌ・ツイスタなどの既存の生成器と同等の統計的品質を達成できるか、かつコンパクトで効率的か?
  • RQ5長周期と統計的堅牢性を備えたこのRNGは、暗号的に適しているか?

主な発見

  • 奇数 `s` を用いた `w += s` により生成されるウェイル系列は、正確に $2^{64}$ の周期を持ち、範囲 [0, $2^{64}-1$] 内のすべての値が一度ずつ現れ、その後に繰り返す。
  • ウェイル系列を加算した中央二乗RNGは、定理Bにより、状態 `x` の最小周期が $2^{64}$ 以上であることが証明されている。同定理は、異なるウェイル値が存在するため、同じ `x` 値が繰り返しの循環を引き起こさないことを示している。
  • 出力分布は均一であることが定理Cにより示されている:非一様な `x²` と一様なウェイル系列 `w` の和は、一様な出力ストリームを生成する。
  • RNGは4命令(imulq, iaddq, iaddq, rorq)にコンパイル可能であり、インライン使用に効率的で、タイトループ内での高性能を実現できる。
  • この生成器は、初回の試行で BigCrush および PractRand の統計的検定スイートをパスした。これにより、統計的品質が裏付けられた。
  • C言語の標準準拠に注意深く従った設計であるため、コンパイラに依存せず、暗号的に適していることが確認されており、arXivの暗号・セキュリティ分野に分類されている。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。