<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta>
      <journal-title-group>
        <journal-title>Classic, Quantum, and Post-Quantum Cryptography, August</journal-title>
      </journal-title-group>
    </journal-meta>
    <article-meta>
      <title-group>
        <article-title>Development and Research of a Non-Periodic Pseudorandom Number Generator⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andriy Horpenyuk</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mykola Horpenyuk</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Nataliya Luzhetska</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oleksandr Horpenyuk</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Аlona Desiatko</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Lviv Polytechnic National University</institution>
          ,
          <addr-line>12 Stepan Bandera str., 79000 Lviv</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>State University of Trade and Economics</institution>
          ,
          <addr-line>19 Kyoto str., 02156 Kyiv</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2025</year>
      </pub-date>
      <volume>5</volume>
      <issue>2025</issue>
      <fpage>0000</fpage>
      <lpage>0001</lpage>
      <abstract>
        <p>This paper presents the results of the development and research of a pseudorandom number generator based on computing the square root of a prime number. The square root of a prime number is one of the known irrational numbers. According to a well-known hypothesis in mathematics, the sequence of digits of such numbers is a pseudorandom non-periodic digit sequence. Therefore, calculating the square root of a prime number can serve as the basis for constructing a pseudorandom number generator. The key of such a generator can be a simple number and the digit position number from which the regeneration process starts. To efficiently compute the square root in a “bit by bit” style, a modified bisection method is proposed. The proposed method allows saving one multiplication operation in each iteration of the bisection method. At the same time, the complexity of one iteration of the proposed method is close to the complexity of a single addition operation.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;pseudorandom number generator</kwd>
        <kwd>stream cipher</kwd>
        <kwd>prime number</kwd>
        <kwd>irrational number</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>In mathematics, there is a well-known hypothesis regarding the normality of irrational and
transcendental numbers, in particular, the square roots of prime numbers [10, 11]. This means that
the sequence of digits of the square root of a prime number is pseudorandom digit sequence.The
mentioned hypothesis has not been proven yet. It remains one of the most famous unsolved
problems in mathematics. Interest in calculating the square root of a prime number arose a very
long time ago [12]. In particular, among collections of Babylonian historical artifacts preserved at
Yale University, there is a round clay tablet (Fig. 1). It is dated to 1750 BC. The tablet shows a
square divided by diagonals. Three digits are clearly inscribed on it with cuneiform characters.
When the inscription was deciphered, it became clear that almost 4000 years ago in Babylon they
already knew how to determine the diagonal of a square based on its side length by multiplying the
side by the square root of two. The markings on the tablet provide an approximate value of √2 in
24 51 10
four sexagesimal digits, which corresponds to eight decimal digits 1+ + + =1.41421296
60 602 603</p>
      <p>The task of calculating as many digits as possible of the square root of a prime number remains
relevant today. One of the notable modern achievements in this area is the work of Professor
Jacques Dutka, a staff member of the Department of Mathematical Methods in Engineering at
Columbia University. He developed an algorithm and calculated the value of the square root of two
up to the one-million eighty-second decimal place. However, the record was soon surpassed
multiple times. In particular, in 2010, Shigeru Kondo computed one trillion decimal digits of the
square root of two [13]. At that time, only the number π had been computed with greater precision
(five trillion decimal digits). The modern relevance of this computational task is explained both by
the desire to empirically confirm the pseudorandomness of the digit sequence of the root and by
the wide range of applications for pseudorandom numbers, particularly in cryptography.</p>
      <p>In addition to pseudorandomness, the digit sequence of the square root of a prime number has
two other important features that make such sequences valuable from the perspective of modern
cryptography. The first feature is that the digit sequence of the square root of a prime number
(according to the hypothesis) is non-periodic. Therefore, such sequences of digits (or bits) can be
used in stream ciphers for encrypting large volumes of information, including images, video, and
audio files. The second feature is that the chosen prime number, as well as the digit number from
which the "refinement" of the root value starts, can serve as secret parameters (a key) for a
pseudorandom number generator based on computing the square root of a prime number.</p>
    </sec>
    <sec id="sec-2">
      <title>Literature review and problem statement</title>
      <p>This work will demonstrate an efficient method for constructing a non-periodic pseudorandom
number generator based on computing the square root of a prime number. We will review some
computational methods traditionally used for calculating square roots. We will also analyze these
methods in terms of their suitability for use in a pseudorandom number generator (PRNG).</p>
      <p>The Babylonian method. For the purpose of calculating the square root of two, the ancient
Babylonian method for computing square roots is often used [10, 14, 15]. It is based on the
following principle:</p>
      <p>2
a +</p>
      <p>
        n a
an+1= 2 n = a2n + a1n . (
        <xref ref-type="bibr" rid="ref1">1</xref>
        )
      </p>
      <p>The more repetitions in the algorithm (that is, the more iterations are performed and the larger
“n” becomes), the better the approximation of the square root of two. Each iteration approximately
doubles the number of correct digits.</p>
      <p>The long division method for calculating the square root. This method used to be taught
in schools. The advantage of this method is that at each step of the algorithm, one additional
correct digit of the result is obtained [16], which also becomes the next digit of the pseudorandom
sequence. The disadvantages of the method are that it is not systematic: at each step, the method’s
parameters must be selected manually. In addition, the remainder at each subsequent step of the
algorithm can be twice as long as the previous remainder. Therefore, this method is poorly suited
for the automated calculation of a large number of root digits, which is required for generating
pseudorandom sequences.</p>
      <p>Method of calculating the square root via Taylor series expansion:</p>
      <p>
        √1+x =n∑∞=0 ( 1−(2−n1))2((n2!n)2)(!4n ) x n =1+ 21 x − 81 x 2+ 116 x 3− 1258 x 4+... . (
        <xref ref-type="bibr" rid="ref2">2</xref>
        )
This method [15] provides good convergence, but it involves complex computations, which are
inconvenient when calculating a large number of root digits.
      </p>
      <p>Method of arithmetic extraction of the square root. For square numbers, the following rule
applies [15] 1 = 12, 1 + 3 = 22, 1 + 3 + 5 = 32, and so on.</p>
      <p>That is, the integer part of the square root of a number can be determined by successively
subtracting all odd numbers from it until the remainder becomes zero or is less than the next odd
number to be subtracted. The result (the integer part of the root) is the number of performed
actions (subtractions). For example, 9 − 1 = 8, 8 − 3 = 5, 5 − 5 = 0.</p>
      <p>Three steps were performed, so the square root of 9 is 3.</p>
      <p>The disadvantage of this method of calculation is that as a result of its application, only the
integer part of the result can be obtained. At the same time, this method is useful for obtaining a
rough initial approximation of the root.</p>
      <p>The iterative analytical algorithm (Heron's iterative formula). This is a popular and very
ancient iterative algorithm [17], which allows refining the solution using the formula:
{ x n+1=21 ( x +a ) ,</p>
      <p>
        n x n
x 0=a ,
(
        <xref ref-type="bibr" rid="ref3">3</xref>
        )
lim x n =√a .
      </p>
      <p>n →∞</p>
      <p>The method converges quickly: each iteration approximately doubles the number of correctly
computed digits of the result. At the same time, the method involves complex operations, including
division.</p>
      <p>Numerical methods of approximate square root calculation. These methods [18] include,
in particular, the bisection method, the secant method, the tangent method (Newton's method), and
others. Most of these methods (except for the bisection method) do not allow for the computation
of the square root “digit by digit.”</p>
      <p>To compute square roots, specialized function transformations can also be used, for example,
number-to-impulse transformations based on classical digital converters [18–20].</p>
      <p>For use in PRNGs (pseudorandom number generators), most of the listed methods are
unsuitable. This is due to two reasons. First, a PRNG typically needs to generate a long sequence of
pseudorandom bits. When constructing such a generator based on the calculation of the square
root of a prime number, this means that a large number of digits of the square root need to be
computed. Moreover, each subsequent digit (bit) of the result must be computed precisely.
Otherwise, the pseudorandomness property of the generated sequence may be lost. Additionally,
the digits of the square root, which become bits of the pseudorandom sequence and can be used
further in fast stream ciphers, must be computed quickly.</p>
      <p>Thus, for use in a PRNG based on the square root calculator of a prime number, a fast and
accurate “digit-by-digit” calculator is suitable. Accordingly, various methods for rough estimation
of the square root value are only suitable for calculating the initial approximation. Methods such as
columnar calculation and most of the approximate numerical methods (Heron's method, secant,
tangent, and others) are also poorly suited. The main reason for their unsuitability in building a
PRNG is the high complexity of computational operations, which increases with the number of
computed digits. At the same time, it is worth noting that the columnar calculation method allows
for the "digit-by-digit" computation of the result.</p>
      <p>Considering the aforementioned application characteristics, the bisection method, or the
method of bisections, is convenient for constructing a PRNG calculator. This method involves
relatively simple computational operations. It has slow convergence, but it is fast and, under
certain conditions, can be converted into a “digit-by-digit” method. In terms of performance, for a
PRNG, the speed of generating the exact value of the next bit in the sequence is more important
than the overall speed of generating the entire sequence without guaranteeing the accuracy of
individual bits.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Development of an improved square root calculation algorithm for a PRNG</title>
      <p>Let us formulate an observation regarding the bisection method that makes it possible to transform
this method into a “digit-by-digit” square root calculation method.</p>
      <p>If the width of the initial approximation interval in the bisection method (the interval in which
the root of the nonlinear equation x2 = p is localized) equals an exact power of two, then at each
step of the bisection method we obtain the next correct bit of the square root result.</p>
      <p>Thus, if the formulated requirements for the initial approximation of the root are met, we can
construct an algorithm for calculating the square root using the “digit-by-digit” method.</p>
      <p>Therefore, the bisection method can be used to construct a pseudorandom number generator
based on computing the square root of a prime number. Compared to other square root calculation
methods, the bisection method is characterized by lower computational complexity, although it
often has slower convergence. At the same time, the bisection method allows for the selection of an
initial approximation that enables “bit-by-bit” computation of the square root, with each step of the
algorithm yielding the exact value of the next bit of the result – an essential requirement when
generating a pseudorandom bit sequence.</p>
      <p>Another important characteristic of a pseudorandom number generator is its speed. The low
complexity of the basic operations in the bisection method can ensure this performance
characteristic. This is why the bisection algorithm is well-suited for computing the square root of
large numbers. At the same time, when using a square root calculator to construct a pseudorandom
number generator, a number of improvements to the bisection method can be proposed, which
would significantly reduce the computational effort required. The essence of the proposed
improvements is as follows:
1 The width of the initial approximation interval must be an exact (positive or negative) power of
two. This allows for the precise computation of the next bit of the result at each step of the
algorithm. Furthermore, as will be shown later, this makes it possible in the bisection algorithm to
eliminate the need for monitoring the right boundary of the root localization interval, as well as
to compute the midpoint of the interval by simply appending a one to the next bit.
2 When generating a pseudorandom sequence, which in the case of using a square root calculator
of a prime number, is non-periodic—we can begin the generation from any bit. In doing so, it is
necessary to provide an appropriate initial approximation of the root, i.e., the position of point a
within the root localization interval (see Fig. 2). The width of the root localization interval
should be chosen according to the requirements of point 1. As will be shown below, this allows
for a significant simplification of the computation of root localization conditions.
3 For clarity and unambiguity in the further formal exposition, we choose the initial
approximation of the root (the position of point a in the localization interval (see Fig. 2)) to be equal to the
integer part of the root value.</p>
      <p>In doing so, and in accordance with point 1, it is assumed that the right boundary of the root lo
calization interval (point b) is located one unit away from point a.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Development of the operating equation of the PRNG calculator</title>
      <p>We develop the generator’s operating equation based on the bisection method, taking into account
the proposed improvements to the method. We need to compute the value of x, the square root of a
prime number p.</p>
      <p>
        x =√ p . (
        <xref ref-type="bibr" rid="ref4">4</xref>
        )
      </p>
      <p>To do this, we apply the bisection method, which we use to refine the initial approximation of
the root of a nonlinear quadratic equation.</p>
      <p>
        x 2− p =0. (
        <xref ref-type="bibr" rid="ref5">5</xref>
        )
      </p>
      <p>
        As the initial approximation x0 (the left boundary of the root localization interval in the
bisection method), we choose the integer part of x is the greatest integer whose square is less than
the number p. Obviously, at the initial approximation point, the value of the function (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ) is
negative. In the formulated proposals, in addition to the initial approximation x0, we also proposed
the width of the localization interval one unit. Therefore, under these conditions, to find the
midpoint of the localization interval, we need to add half of the localization interval to the initial
approximation x0 in our case, 1/2, that is, x0 + 2–1. Next, we need to compute the square of the
midpoint and compare the result with the number p. The square of the midpoint, based on the
initial approximation and considering the accepted assumptions, is determined by the following
relation:
      </p>
      <p>( x c )2=y c =( x 0+2−1 )2=x 20+2 x 0⋅2−1+2−2=x 20+x 0+2−2=y 0+x 0+2−2 .</p>
      <p>Next, we compare the computed yc with p. If yc &lt; p, we set x1 = xc, y1 = yc.</p>
      <p>
        (
        <xref ref-type="bibr" rid="ref6">6</xref>
        )
      </p>
      <p>
        Otherwise x1 = x0, y1 = y0. We then proceed further, and at the ith step of the algorithm, we
obtain:
( x c )2=y c =( x i−1+2−i )2=x i2−1+2−i+1 x i−1+2−2i =y i−1+2−i+1 x i−1+2−2i .
(
        <xref ref-type="bibr" rid="ref7">7</xref>
        )
      </p>
      <p>We again compare with p, and based on the result of the comparison, we determine the value of
the next bit of the result. We continue in a similar manner.</p>
      <p>
        Analyzing expression (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ), we conclude that the addition of the term 2–2i is practically
implemented by writing a one in the corresponding bit position (since, before the ith step of the
algorithm, all lower bits of the number y, starting from the bit with weight 2–2i + 2,are zero). The
term 2–i + 1xi – 1 is formed by shifting the number xi – 1. Thus, to compute the new yi according to
formula (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ), we need to write a one in the next bit, shift the number xi – 1, and add it to yi – 1. In terms
of complexity, this set of operations is close to a single addition.
      </p>
      <p>Next, the calculated number is compared with , and based on the comparison results, new
values of xi and yi are established. The new value xi is set by appending either a zero or a one (the
newly calculated correct bit!) to the next lower bit of the result. Thus, if we do not take into
account simple operations such as bit writing, shifting, and reassignment, the proposed algorithm
requires only one addition operation per correct bit of the result.</p>
    </sec>
    <sec id="sec-5">
      <title>5. Development of the PRNG algorithm based on a square root calculator from prime numbers</title>
      <p>
        Based on the proposed operating principle of the generator and the derived operating equation of
its calculator (
        <xref ref-type="bibr" rid="ref3">3</xref>
        ), an algorithm for the operation of a PRNG based on a square root calculator from
prime numbers was developed.
      </p>
      <p>
        The structure of the developed algorithm is presented in Fig. 3. The following notations are used
in the structure of the algorithm: x0 and y0 are initial approximations of the result x and its square;
pp is a given prime number; s is a number of bits in the integer part of the result; yy is a
intermediate value of the square of the result, calculated according to (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ); p is a carry value for the
next bit during addition.
      </p>
      <p>
        The developed algorithm (Fig. 3) provides for the generation of a 20,000-bit sequence for the
purpose of further analysis of the statistical properties of the generated sequence in accordance
with FIPS 140 standard. Therefore, the values x, y, and yy, which are large numbers, appear as bit
arrays in the algorithm shown in Fig. 3. Taking into account the term 2–2i added to y when
calculating yy according to (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ), as well as the need to shift x as per (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ), the size of these arrays is
increased to 40000 + 2s.
      </p>
      <p>
        In the proposed algorithm (Fig. 3), the main loop generates 20,000 bits of the square root of the
given prime number pp. To do this, according to (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ), the square of the midpoint on the current
localization interval is calculated. The addition of the term is implemented by writing a one into
the yy[b] bit. The required shift of the number x according to (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ) is implemented by modifying the
index of the x array, followed by bitwise addition of y and the shifted x with carry to the next digit.
After calculating yy according to (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ), yy is compared with the given prime number. If the prime
number is greater, then according to (
        <xref ref-type="bibr" rid="ref7">7</xref>
        ), the function is negative at the current midpoint of the
localization interval (under the assumed conditions, the function at the right point of the interval is
always positive). In this case, the left boundary of the localization interval should shift to the
midpoint x is increased by appending a one in the corresponding digit, and the intermediate yy
becomes the new y. If the intermediate yy in the current iteration is greater than the prime number
pp, we stay at the previous left boundary of the localization interval (assuming the right boundary
has moved to the midpoint).
      </p>
      <p>In both cases, the increment of x for computing the next bit is halved, and we proceed to the
next iteration of the algorithm.</p>
    </sec>
    <sec id="sec-6">
      <title>6. Development of algorithms for testing the generated bit sequence according to FIPS 140</title>
      <p>The FIPS 140 standard defines four statistical randomness tests: the monobit test, the block test
(poker test), the runs test, and the long runs test. Each test defines thresholds for acceptable
statistical parameters. A separate bit sequence of length 20,000 generated by the PRNG is tested
using all four tests. If any test fails, the generator is considered to have failed the entire test suite.</p>
      <p>Monobit test. The essence of this test lies in counting the number of zeros and ones in the
generated bit sequence of a given length (in this standard, the sequence length is 20,000 bits). Let n1
and n2 denote the number of zeros and ones in the sequence x, respectively. If the sequence is
random, the values of n1 and n2 must satisfy the condition 9654 &lt; n1 (n2) &lt; 10346.</p>
      <p>The structure of the developed monobit test algorithm is shown in Fig. 4.</p>
      <sec id="sec-6-1">
        <title>Block test. Let m be a positive integer such that:</title>
        <p>
          k = n ≥ 5⋅( 2m ) . (
          <xref ref-type="bibr" rid="ref8">8</xref>
          )
        </p>
        <p>m</p>
        <p>
          The sequence is divided into non-overlapping subsequences of length m = 2, 3, … . Let be the
number of occurrences of the ith type of subsequence of length m. The block test determines
whether the subsequences of length m appear approximately the expected number of times in the
sequence x that is, each subsequence should occur approximately equally often, as would be
expected in a truly random sequence. To apply the criterion, the following parameter is computed:
2m 2m
X 3= ( ∑ ni2 )−k , (
          <xref ref-type="bibr" rid="ref9">9</xref>
          )
        </p>
        <p>k i=1
which follows a distribution close to the χ2 with 2m – 1 degrees of freedom. The statistical
parameter defined by the equation is calculated for m = 4. The statistic must satisfy the following
condition 1.03 &lt; X3 &lt; 57.4.</p>
        <p>The structure of the developed block test algorithm is shown in Fig. 5.</p>
        <p>Here, blok is a four-bit block of the generated sequence, the array kblok accumulates the number
of blocks of each type (by index), and Sub is the next generated bit.</p>
        <p>Runs test. A run is defined as a sequence of identical symbols—either ones or zeros. The
essence of the test is to count the number of runs of lengths 1, 2, 3, 4, 5, and 6 in the tested
sequence of a given length (runs longer than 6 elements are treated as runs of length 6). If the
sequence is random, the number of runs of each length should fall within the following intervals
(Table 1).
That is, as the run length increases by one, the number of runs approximately halves.</p>
        <p>Long run length test. The essence of this test lies in verifying the maximum length of a run of
identical elements (ones or zeros). If the sequence is random, the maximum run length must not
exceed 34.</p>
        <p>The structure of the developed combined algorithm for the runs test and the long run length
test is shown in Fig. 6.</p>
        <p>Here, SS denotes the run length (not exceeding 6), S is the absolute length of the run, Sub is the
current generated bit, and Sub0 is the previously generated bit. The arrays serii_1 and serii_0
accumulate the number of runs of the corresponding (indexed) length. max stores the maximum
run length.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>7. Comparison of the developed algorithm with the baseline</title>
      <p>
        Analyzing the proposed algorithm (Fig. 3), we conclude that generating a single bit of the
pseudorandom sequence x requires one addition, one comparison, and, optionally, one
reassignment. In contrast, in the classical bisection algorithm applied to our function (
        <xref ref-type="bibr" rid="ref5">5</xref>
        ),
computing each bit of the result requires an addition and shift to determine the midpoint of the
localization interval, a multiplication to compute the square of the midpoint, a comparison, and
two reassignments.
      </p>
      <p>Thus, the proposed algorithm, compared to the classical one, saves one multiplication per bit of
the result. Considering that the approximate complexity of the proposed algorithm is one addition
per bit of the result, this gain is significant, especially in view of the lengths of bit sequences that
must be generated in stream ciphers using PRNGs.</p>
      <p>Based on the proposed algorithm for the operation of the PRNG on a square root calculator of
prime numbers (Fig. 3), as well as the developed PRNG testing algorithms according to the FIPS 140
standard (Figs. 4-6), a software implementation of the generator based on the square root calculator
of a prime number was developed. The implementation enables the generation of a pseudorandom
sequence in accordance with the proposed method for computing the square root of a prime
number. It also provides the capability to investigate the statistical properties of the generator.</p>
      <p>In the process of studying the statistical properties of the developed generator, a sequence of
20,000 pseudorandom bits was generated using its software model. During this process, the
generated sequence was tested for compliance with the requirements of the FIPS 140 standard. The
results of the statistical testing of the generator for three small prime numbers are summarized in
the Table 2.</p>
      <p>The results of the runs test for ones are presented in the upper row, and for zeros in the lower
row.</p>
    </sec>
    <sec id="sec-8">
      <title>Conclusions</title>
      <p>The paper presents the results of the development and investigation of the structure of a
pseudorandom number generator based on a square root calculator of a prime number. The square
root of a prime number is an irrational number. Therefore, the sequence of its digits hypothetically
forms a non-periodic pseudorandom sequence. An improvement to the bisection method is
proposed in order to enable its application in the PRNG based on the square root calculator of a
√3
√17
√31</p>
      <sec id="sec-8-1">
        <title>Monobit test 10036 10014</title>
        <p>10005</p>
        <p>Block
test
10
18
24
prime number. An algorithm and software implementation of the PRNG based on the square root
calculator of a prime number have been developed. The statistical characteristics of the PRNG
based on the improved square root calculator have been investigated. The results of the conducted
research show that the application of the improved bisection method allows a significant
enhancement in performance due to the reduction of computational workload per multiplication
during each iteration. In the context of the PRNG built upon such a method, this means that
computing a single bit of the pseudorandom sequence requires only one addition operation. The
evaluations of the statistical characteristics of the developed generator confirm that the quality of
the pseudorandom sequences it generates meets the requirements of the FIPS 140 standard.
Declaration on Generative AI
While preparing this work, the authors used the AI programs Grammarly Pro to correct text
grammar and Strike Plagiarism to search for possible plagiarism. After using this tool, the authors
reviewed and edited the content as needed and took full responsibility for the publication’s content.
[16] C. Baumann, Playing with the square root. A practical study, ver. 1.5, 2024, 1–54.
https://computarium.lcd.lu/literature/COMPUTARIUM_CREW/BAUMANN/report_squareroot
_1.5.pdf
[17] A. Ralston, P. Rabinowitz, A first course in numerical analysis, 2nd ed., McGraw-Hill, 1978.
[18] A. Horpenyuk. V. Dudykevych, N. Luzhetska, Conveyor sine-cosine pulse-number functional
converter, Autom. Meas. Control 639 (2009) 94–101. [In Ukrainian].
[19] P. Montuschi, M. Mezzalama, Survey of square rooting algorithms, IEE Proc. E Comput. Digit.</p>
        <p>
          Tech. 137(
          <xref ref-type="bibr" rid="ref1">1</xref>
          ) (1990) 31. doi:10.1049/ip-e.1990.0003
[20] A. Gorpeniuk, Fast algorithms and computing means of cryptological functions, Int. Sci. J.
        </p>
        <p>
          Comput. 4(
          <xref ref-type="bibr" rid="ref2">2</xref>
          ) (2005) 69–76. doi:10.47839/ijc.4.2.339
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <surname>B.</surname>
          </string-name>
           Schneier, Applied cryptography: Protocols, algorithms and source code, in: C. John Wiley and Sons, New York, 2nd ed.,
          <year>1998</year>
          . doi:
          <volume>10</volume>
          .1002/9781119183471
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>S.</surname>
          </string-name>
           Popereshnyak,
          <string-name>
            <given-names>Y.</given-names>
             
            <surname>Novikov</surname>
          </string-name>
          ,
          <string-name>
            <surname>Y.</surname>
          </string-name>
           
          <article-title>Zhdanova, Cryptographic system security approaches by monitoring the random numbers generation, in: Cybersecurity Providing in Information and Telecommunication Systems II (CPITS-II)</article-title>
          ,
          <volume>3826</volume>
          ,
          <year>2024</year>
          ,
          <fpage>301</fpage>
          -
          <lpage>309</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>L.</given-names>
             
            <surname>Blum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
             
            <surname>Blum</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
             
            <surname>Shub</surname>
          </string-name>
          ,
          <article-title>A simple unpredictable pseudo-random number generator</article-title>
          ,
          <source>SIAM J. Comput</source>
          .
          <volume>15</volume>
          (
          <issue>2</issue>
          ) (
          <year>1986</year>
          )
          <fpage>364</fpage>
          -
          <lpage>383</lpage>
          . doi:
          <volume>10</volume>
          .1137/0215025
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>A.</given-names>
             
            <surname>Bessalov</surname>
          </string-name>
          , et al.,
          <article-title>Computing of odd degree isogenies on supersingular twisted Edwards curves</article-title>
          ,
          <source>in: Cybersecurity Information and Telecommunication Systems</source>
          ,
          <volume>2923</volume>
          ,
          <year>2021</year>
          ,
          <fpage>1</fpage>
          -
          <lpage>11</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>A.</given-names>
             
            <surname>Bessalov</surname>
          </string-name>
          , et al.,
          <article-title>CSIKE-ENC combined encryption scheme with optimized degrees of isogeny distribution</article-title>
          ,
          <source>in: Cybersecurity Providing in Information and Telecommunication Systems</source>
          ,
          <volume>3421</volume>
          ,
          <year>2023</year>
          ,
          <fpage>36</fpage>
          -
          <lpage>45</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>A.</given-names>
             
            <surname>Bessalov</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
             
            <surname>Sokolov</surname>
          </string-name>
          ,
          <string-name>
            <surname>S.</surname>
          </string-name>
           Abramov,
          <article-title>Efficient commutative PQC algorithms on isogenies of Edwards curves</article-title>
          ,
          <source>Cryptography</source>
          <volume>8</volume>
          (
          <issue>3</issue>
          ), iss.
          <volume>38</volume>
          (
          <year>2024</year>
          )
          <fpage>1</fpage>
          -
          <lpage>17</lpage>
          . doi:
          <volume>10</volume>
          .3390/cryptography8030038
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>O.</given-names>
             
            <surname>Harasymchuk</surname>
          </string-name>
          , et al.,
          <article-title>Modern methods of ensuring information protection in cybersecurity systems using artificial intelligence and blockchain technology, Technology Center PC</article-title>
          .,
          <year>2025</year>
          . doi:
          <volume>10</volume>
          .15587/
          <fpage>978</fpage>
          -617-8360-12-2
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>A.</given-names>
             
            <surname>Horpenyuk</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
           Opirskyy,
          <string-name>
            <given-names>P.</given-names>
             
            <surname>Vorobets</surname>
          </string-name>
          ,
          <article-title>Analysis of problems and prospects of implementation of post-quantum cryptographic algorithms</article-title>
          , in: Classic, Quantum, and
          <source>PostQuantum Cryptography (CQPC)</source>
          ,
          <volume>3504</volume>
          ,
          <year>2023</year>
          ,
          <fpage>39</fpage>
          -
          <lpage>49</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>P.</given-names>
             
            <surname>Vorobets</surname>
          </string-name>
          , et al.,
          <article-title>Implementing post-quantum KEMs: Practical challenges and solutions</article-title>
          ,
          <source>in: Cybersecurity Providing in Information and Telecommunication Systems II, 3826</source>
          ,
          <year>2024</year>
          ,
          <fpage>212</fpage>
          -
          <lpage>219</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>D.</given-names>
             
            <surname>Proskurin</surname>
          </string-name>
          , et al.,
          <string-name>
            <surname>Hybrid</surname>
            <given-names>RNN</given-names>
          </string-name>
          -
          <article-title>CNN-based model for PRNG identification</article-title>
          , in: Workshop on Classic, Quantum, and
          <string-name>
            <surname>Post-Quantum Cryptography</surname>
          </string-name>
          (CQPC),
          <volume>3829</volume>
          ,
          <year>2024</year>
          ,
          <fpage>47</fpage>
          -
          <lpage>53</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>A.</given-names>
             
            <surname>Bessalov</surname>
          </string-name>
          , et al.,
          <string-name>
            <surname>Multifunctional</surname>
            <given-names>CRS</given-names>
          </string-name>
          <article-title>encryption scheme on isogenies of nonsupersingular Edwards curves</article-title>
          , in: Classic, Quantum, and
          <string-name>
            <surname>Post-Quantum</surname>
            <given-names>Cryptography</given-names>
          </string-name>
          ,
          <volume>3504</volume>
          ,
          <year>2023</year>
          ,
          <fpage>12</fpage>
          -
          <lpage>25</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>J. L.</given-names>
             
            <surname>Beery</surname>
          </string-name>
          ,
          <string-name>
            <surname>F.</surname>
          </string-name>
           J. Swetz,
          <article-title>The best-known old Babylonian tablet</article-title>
          ? Convergence,
          <year>2012</year>
          . doi:
          <volume>10</volume>
          .4169/loci003889
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          <source>[13] Constants and records of computation</source>
          ,
          <year>2010</year>
          . https://web.archive.org/web/20120301190937/ http://numbers.computation.free.fr/Constants/Miscellaneous/Records.html
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <surname>D.</surname>
          </string-name>
           E. Knuth, Ancient Babylonian algorithms,
          <source>Commun. ACM</source>
          <volume>15</volume>
          (
          <issue>7</issue>
          ) (
          <year>1972</year>
          )
          <fpage>671</fpage>
          -
          <lpage>677</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <surname>A.</surname>
          </string-name>
           
          <article-title>Flores, The Babylonian method for approximating square roots: Why is it so efficient?</article-title>
          <source>The Mathematics Teacher</source>
          ,
          <volume>108</volume>
          ,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>