Generation of nonrecursive <i>n</i> -bit pseudorandom numbers by two times ( <i>n</i> -bit) × ( <i>n</i> -bit) multiplication ( <i>n</i> = 64, 128, 192, …, 16384 )
Abstract In this paper, we show that we can generate nonrecursive n -bit pseudorandom numbers by two times ( n -bit) <m:math xmlns:m="http://www.w3.org/1998/Math/MathML"> <m:mo lspace="4.2pt">×</m:mo> </m:math> \,{\times} ( n -bit) multiplication and succeeding extraction of an n -bit integer from the result of multiplication. The algorithm, which we call MmS, is described using the functions defined by <m:math xmlns:m="http://www.w3.org/1998/Math/MathML"> <m:mrow> <m:mrow> <m:msub> <m:mi>T</m:mi> <m:msup> <m:mn>2</m:mn> <m:mi>k</m:mi> </m:msup> </m:msub> <m:mo></m:mo> <m:mrow> <m:mo stretchy="false">(</m:mo> <m:mi>X</m:mi> <m:mo>,</m:mo> <m:mi>Y</m:mi> <m:mo stretchy="false">)</m:mo> </m:mrow> </m:mrow> <m:mo>=</m:mo> <m:mrow> <m:mrow> <m:mrow> <m:msup> <m:mn>2</m:mn> <m:mi>k</m:mi> </m:msup> <m:mo></m:mo> <m:mi>X</m:mi> <m:mo></m:mo> <m:mi>Y</m:mi> </m:mrow> <m:mo>-</m:mo> <m:mrow> <m:mo stretchy="false">⌊</m:mo> <m:mrow> <m:msup> <m:mn>2</m:mn> <m:mi>k</m:mi> </m:msup> <m:mo></m:mo> <m:mi>X</m:mi> <m:mo></m:mo> <m:mi>Y</m:mi> </m:mrow> <m:mo stretchy="false">⌋</m:mo> </m:mrow> </m:mrow> <m:mo>+</m:mo> <m:mn>1</m:mn> </m:mrow> </m:mrow> </m:math> {T_{2^{k}}(X,Y)=2^{k}XY-\lfloor 2^{k}XY\rfloor+1} , <m:math xmlns:m="http://www.w3.org/1998/Math/MathML"> <m:mrow> <m:mrow> <m:mi>X</m:mi> <m:mo>,</m:mo> <m:mi>Y</m:mi> </m:mrow> <m:mo>∈</m:mo> <m:mrow> <m:mo stretchy="false">[</m:mo> <m:mn>1</m:mn> <m:mo>,</m:mo> <m:mn>2</m:mn> <m:mo stretchy="false">)</m:mo> </m:mrow> </m:mrow> </m:math> {X,Y\in[1,2)} , and <m:math xmlns:m="http://www.w3.org/1998/Math/MathML"> <m:mrow> <m:mrow> <m:msub> <m:mover accent="true"> <m:mi>T</m:mi> <m:mo stretchy="false">ˇ</m:mo> </m:mover> <m:msup> <m:mn>2</m:mn> <m:mi>k</m:mi> </m:msup> </m:msub> <m:mo></m:mo> <m:mrow> <m:mo stretchy="false">(</m:mo> <m:mi>X</m:mi> <m:mo stretchy="false">)</m:mo> </m:mrow> </m:mrow> <m:mo>≡</m:mo> <m:mrow> <m:msub> <m:mi>T</m:mi> <m:msup> <m:mn>2</m:mn> <m:mi>k</m:mi> </m:msup> </m:msub> <m:mo></m:mo> <m:mrow> <m:mo stretchy="false">(</m:mo> <m:mi>X</m:mi> <m:mo>,</m:mo> <m:mi>X</m:mi> <m:mo stretchy="false">)</m:mo> </m:mrow> </m:mrow> </m:mrow> </m:math> {\check{T}_{2^{k}}(X)\equiv T_{2^{k}}(X,X)} . We observe and consider mathematically the condition that <m:math xmlns:m="http://www.w3.org/1998/Math/MathML"> <m:mrow> <m:msub> <m:mi>T</m:mi> <m:msup> <m:mn>2</m:mn> <m:mi>k</m:mi> </m:msup> </m:msub> <m:mo></m:mo> <m:mrow> <m:mo stretchy="false">(</m:mo> <m:mi>X</m:mi> <m:mo>,</m:mo> <m:mi>Y</m:mi> <m:mo stretchy="false">)</m:mo> </m:mrow> </m:mrow> </m:math> {T_{2^{k}}(X,Y)} and succeeding repetition of <m:math xmlns:m="http://www.w3.org/1998/Math/MathML"> <m:mrow> <m:msub> <m:mover accent="true"> <m:mi>T</m:mi> <m:mo stretchy="false">ˇ</m:mo> </m:mover> <m:msup> <m:mn>2</m:mn> <m:mi>k</m:mi> </m:msup> </m:msub> <m:mo></m:mo> <m:mrow> <m:mo stretchy="false">(</m:mo> <m:mi>X</m:mi> <m:mo stretchy="false">)</m:mo>
Authors
- Hirotake Yaguchi
Publication Details
- Journal
- Monte Carlo Methods and Applications
- Published
- 2026-02-22
- DOI
- https://doi.org/10.1515/mcma-2026-2004
- Primary Topic
- Cryptography and Residue Arithmetic
- Type
- article
- Field-Weighted Citation Impact
- 0.00