<!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 />
    <article-meta>
      <title-group>
        <article-title>Cryptographic system security approaches by monitoring the random numbers generation⋆</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Svitlana Popereshnyak</string-name>
          <email>spopereshnyak@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yuriy Novikov</string-name>
          <email>ynovikov@gmail.com</email>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Yuliia Zhdanova</string-name>
          <email>y.zhdanova@kubg.edu.ua</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Borys Grinchenko Kyiv Metropolitan University</institution>
          ,
          <addr-line>18/2 Bulvarno-Kudryavska str., 04053 Kyiv</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>CPITS-II 2024: Workshop on Cybersecurity Providing in Information and Telecommunication Systems II</institution>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Institute of Software Systems of the National Academy of Sciences of Ukraine</institution>
          ,
          <addr-line>40-5 Akademik Hlushkov ave., 03187 Kyiv</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>National Technical University of Ukraine “Igor Sikorsky Kyiv Polytechnic Institute”</institution>
          ,
          <addr-line>37 Beresteiskyi ave., 03056 Kyiv</addr-line>
          ,
          <country country="UA">Ukraine</country>
        </aff>
      </contrib-group>
      <fpage>301</fpage>
      <lpage>309</lpage>
      <abstract>
        <p>The paper examines one of the approaches to ensuring the security of cryptographic systems by monitoring the generation of random numbers. Random numbers play a key role in cryptography, in particular for generating keys, initialization vectors, and other important cryptographic parameters. Unreliable or predictable random numbers can lead to successful attacks on cryptographic protocols, making generation monitoring critical to the security of systems. The paper proposes an automated monitoring system that utilizes statistical tests to check randomness, entropy level, and the presence of correlations between generated numbers. Particular attention is paid to researching methods of detecting anomalies and reacting to them in real-time. Furthermore, the paper examines the effect of limited entropy in resource-constrained devices like those used in the Internet of Things (IoT) and explores the application of machine learning to enhance the monitoring of random number generation. The results demonstrate that implementing the monitoring system significantly enhances the resilience of cryptographic systems against attacks targeting random number generation.</p>
      </abstract>
      <kwd-group>
        <kwd>eol&gt;cryptography</kwd>
        <kwd>random number generation</kwd>
        <kwd>monitoring</kwd>
        <kwd>entropy</kwd>
        <kwd>statistical tests</kwd>
        <kwd>anomalies</kwd>
        <kwd>internet of things</kwd>
        <kwd>security 1</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1. Introduction</title>
      <p>In today’s conditions of rapid technological development,
information protection is becoming one of the priority tasks
in cyber security. Most cryptographic systems for data
encryption, key generation, and user authentication are
based on the use of random numbers. The quality of the
random numbers used in these systems directly affects their
resistance to cryptographic attacks. However, many
random number generators are susceptible to attacks that
reduce entropy or make their sequences predictable,
creating a vulnerability for the entire cryptographic system.</p>
      <p>The introduction of a random number generation
monitoring system becomes an important element of cyber
protection, as it allows for real-time detection of anomalies
in the generation process and response to them, minimizing
the risk of data compromise. The use of such systems
increases the overall reliability of cryptographic protocols,
especially in the face of entropy attacks or sequence
prediction attempts.</p>
      <p>The main problem is that cryptographic systems may be
exposed to vulnerabilities when random number generators
produce weak or insufficiently unpredictable sequences.
This creates an opportunity for attacks on pseudorandom
number generators, which can lead to the disclosure of keys
or other sensitive information. Traditional approaches to
random number generation do not always provide reliable
control over the quality and randomness of sequences in
real-time, which increases the risk of system compromise.</p>
      <p>The implementation of a random number generation
monitoring system addresses this issue by continuously
overseeing the generation process through statistical tests
and anomaly detection mechanisms. Such a system can
automatically signal random violations and propose
measures to eliminate them, which significantly increases
the resistance of cryptographic systems to attacks.</p>
      <p>
        The purpose of the research is to develop and implement
a monitoring system for the generation of random numbers,
which will allow us to automatically evaluate the quality
and compliance of the generation with the criteria of
randomness. This entails employing statistical methods to
identify deviations from expected outcomes and ensure the
reliability of random number generators across various
systems, particularly in security-critical sectors like
cryptography and the IoT [
        <xref ref-type="bibr" rid="ref1 ref2">1, 2</xref>
        ].
      </p>
      <p>0000-0002-0531-9809 (S. Popereshnyak);
0009-0006-9800-8765 (Y. Novikov);
0000-0002-9277-4972 (Y. Zhdanova)
© 2024 Copyright for this paper by its authors. Use permitted under
Creative Commons License Attribution 4.0 International (CC BY 4.0).</p>
    </sec>
    <sec id="sec-2">
      <title>2. Review of literature and scientific publications</title>
      <p>During the last decade, the issue of ensuring the security of
cryptographic systems remains relevant, and many
researchers pay attention to the generation of random
numbers as one of the key aspects of this security. Random
numbers are used to generate encryption keys, salt for
hashing passwords, and other cryptographic processes. The
poor quality of random numbers or their predictability can
make cryptographic systems vulnerable to attack.</p>
      <p>One of the key areas of research is the study of attacks
on Random Number Generators (RNGs) and their impact on
the security of cryptographic systems. Various types of
PRNGs and their vulnerabilities are considered in [3–5].
Research indicates that predictable or insufficiently random
sequences can compromise cryptographic keys.
Additionally, various attacks on cryptographic systems
have highlighted the necessity of real-time monitoring of
random number generation quality.</p>
      <p>
        Recent research indicates that merely employing
cryptographically secure random number generators
(CSPRNGs) is not always adequate for ensuring a high level
of security. The works [
        <xref ref-type="bibr" rid="ref3">6, 7</xref>
        ] propose the development of a
system for real-time monitoring of random number
generation to identify anomalies and deviations from
randomness. These systems use statistical tests to assess the
level of entropy and the presence of correlations in
sequences of random numbers.
      </p>
      <p>Some of the popular monitoring methods include the
Chi-square test for distribution uniformity, Pearson’s test
for correlations, and entropy analysis for measuring
unpredictability. Such systems allow the detection of
anomalies before they lead to real problems in
cryptographic processes.</p>
      <p>
        With the development of the IoT, there is a need to use
lightweight and energy-efficient random number
generation methods. Publications [
        <xref ref-type="bibr" rid="ref4 ref5">8, 9</xref>
        ] analyze the impact
of insufficient entropy in IoT devices on the cryptographic
stability of these systems. The researchers particularly
highlight the significance of monitoring random number
generators, especially given the limited resources of IoT
devices. Insufficient entropy sources can lead to duplication
of keys and other cryptographic data, which poses a security
threat.
      </p>
      <p>
        Recent studies, such as [
        <xref ref-type="bibr" rid="ref6 ref7 ref8 ref9">10–13</xref>
        ], have proposed the
application of machine learning techniques for monitoring
random number generation. Machine learning algorithms
can analyze large volumes of data, and identify hidden
patterns and anomalies that may go unnoticed using
traditional statistical methods. These studies show that
hybrid approaches combining statistical tests and machine
learning can significantly improve the reliability of
cryptographic systems.
      </p>
      <p>
        With the development of cloud computing,
cryptographic systems increasingly rely on random number
generation in cloud environments. Research [
        <xref ref-type="bibr" rid="ref10 ref11">14, 15</xref>
        ]
emphasizes the need to monitor the generation of random
numbers in the conditions of scalable cloud environments
[
        <xref ref-type="bibr" rid="ref12 ref13">16, 17</xref>
        ]. The publications describe the use of distributed
monitoring systems that can monitor the performance of
RNGs in different virtual environments and detect
anomalies related to the computational load.
      </p>
      <p>
        The literature review shows the importance of
monitoring the generation of random numbers as a critical
component of the security of cryptographic systems. Most
modern studies point to the need to implement automated
monitoring systems to detect anomalies and maintain a high
level of entropy. This applies to both classic cryptographic
systems and modern platforms such as IoT and cloud
computing [
        <xref ref-type="bibr" rid="ref14">18</xref>
        ].
      </p>
      <p>Employing advanced techniques, such as machine
learning and statistical analysis, can significantly enhance
the resilience of random number generators against attacks,
thereby ensuring the reliability and unpredictability of
cryptographic operations.</p>
    </sec>
    <sec id="sec-3">
      <title>3. Analysis of stability of generators</title>
      <p>Analysis of the stability of pseudorandom number
generators (PRNGs) in real conditions consists in
determining how well they can withstand external factors
that can affect the quality of random number generation
(Table 1). Such factors include noise, limited computing
resources, changes in the execution environment, and other
technical or physical influences.</p>
      <p>The research conducted yielded the following results:

</p>
      <p>A decrease in the quality of random numbers can
be observed in conditions of unstable power
supply or increased loads on the system, which
leads to a decrease in entropy or an increase in the
predictability of sequences.</p>
      <p>Reliable generators exhibit consistent random
number generation even in the face of significant
fluctuations in available resources or external
conditions, ensuring high levels of randomness
and speed.</p>
      <p>Entropy reduction. One important factor is the level
of entropy from which random numbers are
generated. If entropy decreases due to external
influences or a lack of sufficient sources of entropy,
this can lead to predictable generation results.</p>
      <p>High load on the system. Real-world conditions often
include HPC operation under high load, for example,
when several processes simultaneously use generator
resources.</p>
      <p>Hardware failures. Hardware oscillators can be
susceptible to problems with the components
themselves, such as aging or defects in the chips.</p>
      <p>Some statistical tests (eg, Chi-squared test, Pearson test,
autocorrelation analysis) are used to detect outliers or
non-random patterns during testing.</p>
      <p>Testing
During the testing, experiments are carried out with the
addition of artificial noise to the system to check the
resistance of the HPC to such influences. This can be done
by emulating an unstable environment, such as generating
random numbers under varying power levels or network
failures.</p>
      <p>Experiments are being carried out with the limitation of
available resources during the execution of HPC. For
example, artificially reducing the amount of available RAM
or increasing delays in processor cycles allows you to assess
how this will affect the performance and quality of random
numbers.</p>
      <p>Entropy sources are analyzed during testing. For example,
there may be limited input data (noise from physical sensors
or random sources from the OS) to test whether the HPC
can generate sufficiently random numbers.</p>
      <p>Conducting stress tests, which include increasing the number of
requests to the generator or performing other computational
tasks at the same time, allows you to evaluate how this affects
the speed and randomness of the generated numbers.</p>
      <p>Simulating hardware component failures or conducting
tests on various devices with differing levels of wear and
tear enables the evaluation of their resistance to such
factors.</p>
      <p>
        Testing using multivariate statistical methods allows you to
assess the quality of randomness under variable external
conditions [
        <xref ref-type="bibr" rid="ref15 ref16">19, 20</xref>
        ].
      </p>
      <p>Testing pseudorandom number generators in real
conditions allows you to determine their resistance to
various external influences, such as noise, limited resources,
and high loads. The analysis results contribute to enhancing
generators for use in critical systems like IoT and
cryptographic algorithms, thereby ensuring reliable random
number generation even in challenging conditions.</p>
    </sec>
    <sec id="sec-4">
      <title>4. Study of the effectiveness of</title>
    </sec>
    <sec id="sec-5">
      <title>PRNGs</title>
      <p>Investigating the performance of PRNGs for IoT
infrastructure applications is an important step in
determining their suitability in terms of resources and
performance. The primary criteria for assessing efficiency
include computational complexity, speed, energy
consumption, and memory utilization. Let’s examine the
key steps along with examples of research and evaluations
regarding the effectiveness of various PRNGs. (Table 2).</p>
      <p>Performance evaluation criteria:</p>
      <sec id="sec-5-1">
        <title>Computational complexity. An estimate of the</title>
        <p>number of operations required to generate one random
number. Algorithms of different complexity are studied
(linear complexity O(n), logarithmic complexity O(log n),
constant complexity O(1)).</p>
        <p>Example: A simple algorithm of congruent HPC has
linear complexity since at each step a simple operation of
multiplication, addition, and subtraction is performed
modulo.</p>
        <p>Speed action. It quantifies the number of random
numbers a generator can produce within a given time frame
(such as numbers generated per second). Algorithms on
different processor architectures are studied: ARM for IoT
devices, which often have limited computing power.</p>
        <p>Example: Comparing a classic LCG (Linear Congruent
Generator) and a more complex algorithm such as Mersenne
Twister can show that LCG has a speed advantage on simple
IoT device processors.</p>
        <p>Energy consumption. The total power consumption
for random number generation over a certain time or
number of operations is measured. Important for
batterypowered IoT devices where energy savings are critical.</p>
        <p>Example: Simple algorithms with minimal computing load
will be less energy-consuming compared to more complex
generators that require a lot of resources for their work.</p>
        <p>Memory usage. The amount of RAM required for the
operation of the generator is estimated. In many IoT devices,
memory is limited, so memory efficiency is a key factor.</p>
        <p>Example: Algorithms such as LCG require less memory
compared to algorithms based on complex tables, such as
the Mersenne Twister, which requires large buffers for its
operation.
For IoT devices, where speed and energy efficiency are
crucial, simple generators such as LKG or XORShift
demonstrate superior performance in both speed and power
consumption. However, in cases where cryptographic
robustness is required, CSPRNG, despite the higher resource
costs, is a necessary choice.</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>5. Description of the random number generation monitoring system</title>
      <p>A random number generation monitoring system should
automate data collection, analysis, and visualization
processes to ensure real-time control of generation quality
and stability. This will effectively detect any deviations from
randomness or other anomalies in the operation of PRNGs
and hardware generators.</p>
      <p>Let’s consider the main components of the monitoring
system (Fig. 1):
Data collection module. This module gathers data from
various random number generation sources, including both
PRNGs and hardware generators. Data can be collected from
local or remote generating systems. The module facilitates
real-time data collection, in addition to storing historical
data for subsequent analysis. Data sources can be generators
in cryptographic systems, IoT devices, mobile applications,
or other systems that rely on PRNG.</p>
      <p>Generation quality analysis module. The analysis
module assesses the quality of randomness in the collected
numbers. It uses statistical methods to detect correlations,
and predictable patterns and checks whether the generation
meets the criteria of randomness. Methods that can be
utilized in this module: Chi-square test and Pearson’s test to
test for uniform distribution; autocorrelation analysis to
check dependencies between numerical sequences;
multivariate tests for analyzing correlations between
several parameters; Entropy test for evaluating the degree
of unpredictability in numbers.</p>
      <sec id="sec-6-1">
        <title>Visualization module and user interface design.</title>
        <p>Offers an interface for visualizing monitoring results. The
graphical interface should show indicators such as entropy
level, distribution uniformity, frequency deviations, and
other quality metrics. Types of visualizations that can be
implemented: Histograms and distribution graphs that
show the distribution of numbers and reveal possible
deviations from uniformity; heat maps of correlations that
visualize dependencies between different random number
generations; real-time monitoring shows current generation
performance and quality metrics, allowing for immediate
detection of deviations or anomalies.</p>
        <p>Notification and logging module. This module is
responsible for logging events and notifying about
deviations in the generation. It provides logging of all
generation processes and provides the ability to view
historical data for in-depth analysis. If serious deviations are
detected, the system sends a notification to the
administrator or interested parties via email, mobile
application, or other means of communication.</p>
        <p>Configuration and settings module. This module
enables the configuration of various parameters for the
monitoring system, including data collection frequency,
alert threshold values, selection of statistical tests for
analysis, and user interface settings. The system should
support flexible configuration for different types of
generators and usage scenarios, allowing it to be adapted to
specific needs.</p>
        <p>Reporting system. Automatic generation of detailed
reports on the quality of random number generation. These
reports can be saved as PDF or other formats, allowing
detailed analysis of the generation history and making it
available to interested parties. Reports usually include the
following factors: randomness metrics, detected deviations,
and recommendations for improving the quality of
generation.</p>
        <p>The use of a monitoring system is particularly useful for
the following industries:


</p>
        <p>Cryptographic systems where the reliability of
random number generation is critical for security.
IoT devices, where constrained resources may
impact the quality of generation.</p>
        <p>Mobile applications that utilize random number
generation for security purposes or gaming.</p>
        <p>Here are the key advantages of the system.</p>
        <p>Increased reliability. Continuous monitoring ensures
the stable operation of generators, helping to avoid failures
and anomalies.</p>
      </sec>
      <sec id="sec-6-2">
        <title>Instant reaction to deviations. Thanks to built-in</title>
        <p>notifications, the system allows you to quickly react to any
failures in the generation process.</p>
        <p>Real-time analysis. The system supports real-time
data collection and analysis, which allows you to quickly
obtain information about the quality of random numbers.</p>
        <p>This system provides an opportunity to flexibly
configure the generation of random numbers to ensure their
high quality, convenient visualization, and timely detection
of problems in real conditions of use.</p>
      </sec>
    </sec>
    <sec id="sec-7">
      <title>6. Modeling the operation of the</title>
      <p>random number generation
monitoring system</p>
      <sec id="sec-7-1">
        <title>6.1. Overview of the system’s general algorithm</title>
        <p>Let’s examine the key stages of the random number
generation monitoring system (Fig. 2).</p>
        <p>System initialization. The system is initiated and
configured to monitor random number generation. The
sources of random number generation, whether software or
hardware generators, are identified.</p>
        <sec id="sec-7-1-1">
          <title>Data collection. The system</title>
          <p>collects numerical
reports on the status of random number generation (daily,
sequences from generators in real-time. Data collection is
weekly, etc.).
conducted based on pre-defined intervals or events.
Data pre-processing. Collected data is sequenced for
monitoring cycle and starts a new one.
further analysis. The accuracy of the collected data is</p>
        </sec>
        <sec id="sec-7-1-2">
          <title>Periodic audit and optimization. Periodically, the</title>
          <p>verified to ensure there are no omissions or errors.
system conducts an in-depth audit of the operation of</p>
        </sec>
        <sec id="sec-7-1-3">
          <title>Analysis of generation quality. Statistical tests are</title>
          <p>generators for further improvement of settings or
applied to the collected data to check for randomness:
algorithms.</p>
          <p>Check for anomalies. The analysis results are
The algorithm is aimed at automatic quality control of
compared against reference indicators. If deviations or
random number generation with minimal user intervention.
anomalies are identified (indicating non-compliance with
The system can quickly react to deviations, ensuring
randomness criteria), the system triggers a response.
stability and reliability of generation in critical systems.</p>
          <p>Completion of the cycle. The system ends the current
Decision on anomalies. If no anomalies are detected,
the system continues to collect and log data. If anomalies
are detected, the system initiates a response procedure.</p>
        </sec>
        <sec id="sec-7-1-4">
          <title>Actions when anomalies are detected</title>
          <p>

</p>
          <p>Notification: the system alerts the administrator
or the individual responsible for security systems
about any identified issues.</p>
          <p>Automatic actions: an adjustment attempt is
possible (restarting the generator or changing the
entropy source).</p>
          <p>Problem logging: details of the anomaly are
captured for further analysis.</p>
          <p>If No anomalies detected
System initialization</p>
          <p>Data collection</p>
          <p>Data pre-processing
Analysis of generation quality</p>
          <p>Apply Statistical Tests
Check for anomalies</p>
          <p>Compare Results
Decision on anomalies</p>
          <p>If anomalies detected
Actions when anomalies</p>
          <p>detected
System alerts issues
Automatic actions</p>
          <p>Automatic actions</p>
          <p>Logging and reporting
Store Logs &amp; generate reports
Completion of the cycle</p>
          <p>End current cycle</p>
          <p>Periodic audit and optimization</p>
          <p>Start new monitoring cycle</p>
          <p>numbers</p>
        </sec>
      </sec>
      <sec id="sec-7-2">
        <title>6.2. Mathematical model of the system for monitoring the generation of random</title>
        <p>A mathematical model for a random number generation
monitoring system can be constructed using several key
components. This model should include a process of data
collection, random
analysis, anomaly
detection, and
response.</p>
        <p>Let:







test).
 ( ) —is a sequence of random numbers generated
at time  .
 ( ( )) —is a function describing the properties of
the sequence  ( ), which is responsible for
checking its randomness.</p>
        <p>—is a set of statistical tests for checking
randomness (for example, Chi-square test, entropy
—is the probability of an anomaly occurring
in the generation process.
 ( )—is the deviation from the randomness
reference values at time  .
6.2.1. Modeling the generation of random
numbers
The generation of random numbers in the system is
described as a set of sequences of numbers:</p>
        <p>( ) = { ,  , . . . ,  },
where</p>
        <p>∈ [ ,  ] is a single random number within the
interval [ ,  ], generated at time  .
6.2.2. Modeling the quality of randomness
The randomness test function  ( ( )) applies statistical
tests to the sequence  ( ). For example, for the Chi-square
test:
(1)
(2)

( ( )) =
(
−  )

where  are the observed frequencies of random numbers,
 are the expected frequencies of random numbers.</p>
        <p>The test results are compared against critical values. If
the result surpasses the 
threshold, this indicates a
deviation from a uniform distribution, and an anomaly is
recorded.</p>
        <p>Other tests (for example, the entropy test  ( )) can
estimate the level of entropy:
where  ( ) is the probability of the number  appearing.
A high entropy means a more random sequence.
6.2.3. Modeling the probability of occurrence of
anomalies


The probability of an anomaly occurring, denoted as 
,
is influenced by the extent to which the test results deviate
from the reference values. If the deviation function
 ( )exceeds the permissible value 
, an anomaly is
considered to have occurred:</p>
        <p>Here</p>
        <p>=  ( ( ) &gt; 
 ( ) =  ( ( )) − 
).</p>
        <p>( ) ,</p>
        <p>(4)
where
( )—the reference value of the randomness function.
6.2.4. Modeling the response of the system
If the probability of an anomaly exceeds the permissible
&gt;</p>
        <p>, the system goes into response:
Notification: The system generates a notification
for the operator.</p>
        <p>Automatic intervention: It is possible to restart
the generator or connect a backup source of
random number generation.</p>
        <p>Formally, the reaction process can be described as
follows:
 ( ) =
0, 
1, 
≤ 
&gt; 
,
process
where  ( ) is the system response at time  (0—normal
operation, 1—intervention or notification).
6.2.5. Modeling the logging and reporting
To provide historical analytics, the system keeps a log of all
data stored in the form:
 ( ) = { ( ) ,  ( ( )), 
,  ( )}.</p>
        <p>This log allows you to track all events related to the
generation of random numbers and generate reports to
analyze the monitoring results.
6.2.6. General mathematical model
Mathematically, the
model of the random
number
generation monitoring system can be represented as a set of
functions:</p>
        <p>Generation of a sequence of random numbers

</p>
        <p>Evaluation of the quality of randomness using
 ( ) = { ,  , . . . ,  }.
tests:


( ( )) = ∑</p>
        <p>(
 ( ) =</p>
        <p>( ) log  ( ).</p>
        <p>Probability of anomaly:
=  ( ( ) &gt; 
)
that automatically collects, analyzes, and controls the
quality
of random</p>
        <p>number generation in real-time,
providing visualization and responding to anomalies.</p>
      </sec>
    </sec>
    <sec id="sec-8">
      <title>7. Overview of the software</title>
      <sec id="sec-8-1">
        <title>7.1. Library of statistical tests</title>
        <p>The library of statistical tests is a component of the
monitoring server but can be used as a separate product if
necessary. The simplest method to utilize it is by adding a
“.jar” file to the project during compilation. However, it is
advisable to use tools like “Maven” or “Gradle” for
automating tasks within Java projects. This avoids manually
downloading and compiling the project with the library and
is a safer approach.</p>
        <p>In</p>
        <p>Maven, you need to define a new repository
“jitpack.io” and add the library as a dependency (Fig. 3).
(10)
(11)
The process is almost identical for Gradle, but the repository
should be slightly different. The library does not contain
any configuration parameters or settings that must be made
before use, so you can perform statistical tests (Fig. 3)
simply by calling methods on the library classes.</p>
      </sec>
      <sec id="sec-8-2">
        <title>7.2. Monitoring server</title>
        <p>The monitoring server can be used locally for testing, but it
is likely to be more useful to deploy it in a cluster, cloud
environment, or on local servers in a network where client
applications are already deployed (or planned to be
deployed in the future).</p>
        <p>A simple and working solution would be to use a docker
container to deploy the server.</p>
        <p>Just like the integration library, the server has several
environment
variables
used
for
mail
and
database
connections. They must be specified for correct operation.</p>
      </sec>
      <sec id="sec-8-3">
        <title>7.3. Web application</title>
        <p>The web application does not contain a “Home Page” per se,
so the user will be immediately redirected to the “Random
Numbers” page (Fig. 4). This page can be conventionally
divided into 2 parts—a random number filter and a table
with random numbers.
In the upper right corner of the screen, there is a form that
enables you to adjust the time parameters of the graphs and
display values for the past hour, day, week, or month, as
well as select grouping by labels or programs.
The panels under the heading “Graphs” contain 5 graphs. In
Fig. 5 you can see two of them—the number of random
numbers processed by the server and the distribution of
random numbers by client programs. Additionally, the
program features a graph that shows the distribution of
random numbers by values for each label. This can help
identify whether a generator has a flaw that causes it to
produce an excess or deficiency of random numbers within
a specific range.</p>
      </sec>
    </sec>
    <sec id="sec-9">
      <title>8. Recommendations for improving the reliability of generators</title>
      <p>Based on the monitoring and testing results, we will develop
recommendations for enhancing random number
generation algorithms, focusing on methods to improve
their stability and performance in critical systems.</p>
      <p>To boost the reliability of random number generators,
the following recommendations can be made based on these
findings.</p>
      <p>Improvement of algorithmic stability of
generators.

</p>
      <sec id="sec-9-1">
        <title>Use of cryptographically stable generators</title>
        <p>(CSPRNG). Utilizing generators based on
cryptographic algorithms, such as AES or SHA,
ensures reliable randomness, even in critical
systems like secure communication or data
protection.</p>
      </sec>
      <sec id="sec-9-2">
        <title>Update generation algorithms. Consistently</title>
        <p>update and optimize generators to address
emerging attacks or vulnerabilities. This includes
improvements to pseudo-random generators such
as Xorshift, Mersenne Twister, or newer variants
based on block ciphers.</p>
      </sec>
      <sec id="sec-9-3">
        <title>Protection against the influence of external factors.</title>
      </sec>
      <sec id="sec-9-4">
        <title>Minimization of correlations and predictability</title>
        <p>Addition of noise sources (entropy pool). It is
important to supplement generators with external
sources of randomness (for example, noise from
sensors, and physical processes), which will
increase the resistance of the generator to
predictable attacks or distortions due to the
reduction of internal entropy.</p>
      </sec>
      <sec id="sec-9-5">
        <title>Input quality monitoring. Automated control of</title>
        <p>input entropy level and periodic updating of noise
sources can prevent generation randomness from
decreasing.</p>
      </sec>
      <sec id="sec-9-6">
        <title>Regular verification of correlation between</title>
        <p>generations: Applying statistical tests to verify
the correlation between sequences of numbers will
help to identify and eliminate patterns that reduce
the reliability of the generator.</p>
      </sec>
      <sec id="sec-9-7">
        <title>Increasing the number of random bits: To</title>
        <p>increase robustness, it is recommended to generate
a larger number of random bits from different
independent sources, which reduces the chances of
correlation or predictability of the results.</p>
      </sec>
      <sec id="sec-9-8">
        <title>Durability testing in real conditions</title>
      </sec>
      <sec id="sec-9-9">
        <title>High-load and stress-testing: It is important to</title>
        <p>regularly test generators under real-world
operating conditions, particularly in high-load and
resource-constrained (power, memory) situations,
to verify their robustness.</p>
      </sec>
      <sec id="sec-9-10">
        <title>Integration with monitoring systems: The</title>
        <p>creation of systems that automatically monitor the
operation of generators in real time allows timely
detection of possible failures or loss of
randomness.</p>
      </sec>
      <sec id="sec-9-11">
        <title>Backup and restoration of the generation system</title>
      </sec>
      <sec id="sec-9-12">
        <title>Use of multiple sources of generation:</title>
        <p>Creating redundancy systems where generators
work in parallel reduces the risks associated with
failure of one generator or loss of entropy.</p>
      </sec>
      <sec id="sec-9-13">
        <title>Automated switching to other generators in</title>
        <p>case of failures: In case of generation problems,
the system should automatically switch to another
random number generator or source.</p>
      </sec>
      <sec id="sec-9-14">
        <title>Optimization of computational efficiency</title>
        <p>
</p>
      </sec>
      <sec id="sec-9-15">
        <title>Optimization of resource usage: It is important</title>
        <p>to configure generators to consume minimum
power and memory, which is critical in
resourceconstrained environments such as IoT. This can be
achieved by simplifying or adapting existing
algorithms.</p>
      </sec>
      <sec id="sec-9-16">
        <title>Development of lightweight algorithms:</title>
        <p>Using lightweight algorithms specially optimized
for resource-constrained devices will help improve
performance and reliability in such systems.</p>
      </sec>
      <sec id="sec-9-17">
        <title>Periodic update and audit of generators</title>
        <p></p>
      </sec>
      <sec id="sec-9-18">
        <title>Scheduled updates and retesting: Continuous</title>
        <p>testing and auditing of generators, including the
use of new statistical tests, will help maintain a
high level of reliability and identify vulnerabilities
to new types of attacks.</p>
        <p>These guidelines will enhance the reliability of
pseudorandom number generators, particularly in critical
systems like cryptographic algorithms, IoT security, and
other fields where the quality of randomness is essential for
the security and stable operation of systems.</p>
      </sec>
    </sec>
    <sec id="sec-10">
      <title>9. Conclusions</title>
      <p>Random number generators are an important tool for
solving a variety of simulation, numerical methods,
cryptography, and programming problems. Generation
facilities can adopt one of several available approaches, each
with its strengths and weaknesses. Nevertheless, the most
critical feature of generators is their capacity to produce
truly random numbers, as the security of cryptographic
applications and the efficiency and speed of numerical
applications hinges on the randomness of these numbers.</p>
      <p>Utilizing generation tools necessitates prior research
through statistical tests and cryptographic attacks to ensure
confidence in the quality of the generated numbers and the
security of the tool. During operation, generators sometimes
show worse performance than was obtained during initial
tests. This may be due to problems in the entropy source,
incorrect application, or software implementation.
Depending on the generator’s specific task, implementing a
monitoring system is advisable to identify and address
potential defects promptly.</p>
      <p>The created monitoring system provides the functions
of monitoring the operation of generation means and
alerting in case of exceptional situations. Programs or
hardware devices connect to a centralized server and send
random numbers generated by them for statistical testing
and storage for future research. The monitoring system
consists of the following components:</p>
      <p>A library including 15 NIST tests and 8 multivariate
statistics tests. The NIST statistical tests are a
comprehensive approach to the verification of random
numbers and means of their generation, while the methods
of multivariate statistics complement them by providing the
possibility to verify short sequences of bits.</p>
      <p>An integration library designed to quickly connect a
monitoring server and generators or applications
containing random number generators. Application
integration is done only with the use of metadata and
configuration.</p>
      <p>The monitoring server primarily functions to aggregate
random numbers transmitted by client programs, along
with their pre-processing and storage in the database.
Additional features include various settings for tracking and
notification processes, as well as detailed reports and
realtime random number testing.</p>
      <p>A web application that is completely based on the
functions and application interface of the monitoring server
and is designed to provide a convenient interface for users.</p>
      <p>The monitoring system is recommended to be used in
the case of operation or research of several generators of
random numbers and sequences created by them at random.
Practical application of the product is possible in:</p>
      <p>Cryptography, development, and maintenance of
software products and hardware—tracking the operation of
autonomous random number generators and programs that
use built-in generators;</p>
      <p>Scientific research—simultaneous statistical testing of
several random number generators, development and
testing of new random number generators.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>O.</given-names>
            <surname>Shevchenko</surname>
          </string-name>
          , et al.,
          <article-title>Methods of the Objects Identification and Recognition Research in the Networks with the IoT Concept Support</article-title>
          ,
          <source>in: Cybersecurity Providing in Information and Telecommunication Systems</source>
          , vol.
          <volume>2923</volume>
          (
          <year>2021</year>
          )
          <fpage>277</fpage>
          -
          <lpage>282</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>V.</given-names>
            <surname>Dudykevych</surname>
          </string-name>
          , et al.,
          <article-title>Platform for the Security of Cyber-Physical Systems and the IoT in the Intellectualization of Society</article-title>
          ,
          <source>in: Workshop on Cybersecurity Providing in Information and Telecommunication Systems, CPITS</source>
          , vol.
          <volume>3654</volume>
          (
          <year>2024</year>
          )
          <fpage>449</fpage>
          -
          <lpage>457</lpage>
          . C.
          <string-name>
            <surname>Camara</surname>
            , et al.,
            <given-names>A True</given-names>
          </string-name>
          <string-name>
            <surname>Random</surname>
          </string-name>
          <article-title>Number Generator Based on Gait Data for the Internet of You</article-title>
          , IEEE Access,
          <volume>8</volume>
          (
          <year>2020</year>
          )
          <fpage>71642</fpage>
          -
          <lpage>71651</lpage>
          . doi:
          <volume>10</volume>
          .1109/ACCESS.
          <year>2020</year>
          .2986822. T. Zanotti,
          <article-title>Guidelines for the Design of Random Telegraph Noise-based True Random Number Generators</article-title>
          ,
          <source>IEEE Transactions on Device and Materials Reliability</source>
          ,
          <volume>24</volume>
          (
          <issue>2</issue>
          ) (
          <year>2024</year>
          )
          <fpage>184</fpage>
          -
          <lpage>193</lpage>
          . doi:
          <volume>10</volume>
          .1109/TDMR.
          <year>2024</year>
          .3394576. A.
          <string-name>
            <surname>Kumar</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Mishra</surname>
          </string-name>
          ,
          <article-title>Evaluation of Cryptographically Secure Pseudo Random Number Generators for Post Quantum Era</article-title>
          ,
          <source>in: IEEE 7th International Conference for Convergence in Technology (I2CT)</source>
          (
          <year>2022</year>
          )
          <fpage>1</fpage>
          -
          <lpage>5</lpage>
          . doi:
          <volume>10</volume>
          .1109/I2CT54291.
          <year>2022</year>
          .9824543.
          <string-name>
            <surname>K. Banerjee</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Dasgupta</surname>
          </string-name>
          ,
          <article-title>Acceptance and Random Generation of Event Sequences under Real Time Calculus Constraints</article-title>
          , Design, Automation &amp; Test in Europe Conference &amp;
          <string-name>
            <surname>Exhibition (DATE)</surname>
          </string-name>
          (
          <year>2014</year>
          )
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . doi:
          <volume>10</volume>
          .7873/DATE.
          <year>2014</year>
          .
          <volume>267</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>D.</given-names>
            <surname>Novazrianto</surname>
          </string-name>
          , et al.,
          <article-title>Design Automation of Single Photon Counting Method for Quantum Random Number Generation</article-title>
          ,
          <source>in: 9th International Conference on Information and Communication Technology (ICoICT)</source>
          (
          <year>2021</year>
          )
          <fpage>411</fpage>
          -
          <lpage>416</lpage>
          , doi: 10.1109/ICoICT52021.
          <year>2021</year>
          .
          <volume>9527529</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>L.</given-names>
            <surname>Carreira</surname>
          </string-name>
          , et al.,
          <string-name>
            <surname>Low-Latency Reconfigurable Entropy Digital True Random Number</surname>
          </string-name>
          <article-title>Generator with Bias Detection and Correction</article-title>
          ,
          <source>IEEE Transactions on Circuits and Systems I: Regular Papers</source>
          ,
          <volume>67</volume>
          (
          <issue>5</issue>
          ) (
          <year>2020</year>
          )
          <fpage>1562</fpage>
          -
          <lpage>1575</lpage>
          . doi:
          <volume>10</volume>
          .1109/TCSI.
          <year>2019</year>
          .
          <volume>2960694</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>D.</given-names>
            <surname>Origines</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Sison</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Medina</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A Novel</given-names>
            <surname>PseudoRandom Number Generator</surname>
          </string-name>
          <article-title>Algorithm based on Entropy Source Epoch Timestamp</article-title>
          ,
          <source>International Conference on Information and Communications Technology (ICOIACT)</source>
          (
          <year>2019</year>
          )
          <fpage>50</fpage>
          -
          <lpage>55</lpage>
          . doi:
          <volume>10</volume>
          .1109/ICOIACT46704.
          <year>2019</year>
          .
          <volume>8938509</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>B.</given-names>
            <surname>Schneier</surname>
          </string-name>
          ,
          <article-title>NIST's Post-Quantum Cryptography Standards Competition</article-title>
          ,
          <source>IEEE Security &amp; Privacy</source>
          ,
          <volume>20</volume>
          (
          <issue>5</issue>
          ) (
          <year>2022</year>
          )
          <fpage>107</fpage>
          -
          <lpage>108</lpage>
          . doi:
          <volume>10</volume>
          .1109/MSEC.
          <year>2022</year>
          .
          <volume>3184235</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [11]
          <string-name>
            <surname>М</surname>
          </string-name>
          .
          <string-name>
            <surname>Herrero-Collantes</surname>
            ,
            <given-names>J. C.</given-names>
          </string-name>
          <string-name>
            <surname>Garcia-Escartin</surname>
          </string-name>
          ,
          <article-title>Quantum random number generators</article-title>
          ,
          <source>Reviews of Modern Physics</source>
          ,
          <volume>89</volume>
          (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>B.</given-names>
            <surname>Perach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Kvatinsky</surname>
          </string-name>
          ,
          <article-title>An Asynchronous and LowPower True Random Number Generator using STTMTJ</article-title>
          ,
          <source>IEEE International Symposium on Circuits and Systems (ISCAS)</source>
          (
          <year>2020</year>
          )
          <fpage>1</fpage>
          -
          <lpage>11</lpage>
          . doi:
          <volume>10</volume>
          .1109/ISCAS45731.
          <year>2020</year>
          .
          <volume>9181042</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>B.</given-names>
            <surname>Narayanapuram</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Panda</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A New</given-names>
            <surname>Side Channel Resistant Hybrid PUF Based Light Weight True Random Number Generator</surname>
          </string-name>
          , in: IEEE 3rd International Conference on Technology,
          <article-title>Engineering, Management for Societal Impact using Marketing, Entrepreneurship and Talent (TEMSMET) (</article-title>
          <year>2023</year>
          )
          <fpage>1</fpage>
          -
          <lpage>6</lpage>
          . doi:
          <volume>10</volume>
          .1109/TEMSMET56707.
          <year>2023</year>
          .
          <volume>10150018</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>L.</given-names>
            <surname>Huang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Zhou</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Feng</surname>
          </string-name>
          , Quantum Random Number Cloud Platform,
          <source>NPJ Quantum Information</source>
          <volume>7</volume>
          (
          <issue>107</issue>
          ) (
          <year>2021</year>
          ). doi:
          <volume>10</volume>
          .1038/ s41534-021-00442-x.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>M.</given-names>
            <surname>Sharma</surname>
          </string-name>
          , et al.,
          <article-title>Security on Cloud Computing Using Pseudo-random Number Generator Along with Steganography</article-title>
          ,
          <source>Artificial Intelligence and Applied Mathematics in Engineering Problems</source>
          ,
          <volume>43</volume>
          (
          <year>2020</year>
          )
          <fpage>654</fpage>
          -
          <lpage>665</lpage>
          . doi:
          <volume>10</volume>
          .1007/978-3-
          <fpage>030</fpage>
          -36178-5_
          <fpage>54</fpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>V.</given-names>
            <surname>Shapoval</surname>
          </string-name>
          , et al.,
          <article-title>Automation of Data Management Processes in Cloud Storage</article-title>
          ,
          <source>in: Workshop on Cybersecurity Providing in Information and Telecommunication Systems, CPITS</source>
          , vol.
          <volume>3654</volume>
          (
          <year>2024</year>
          )
          <fpage>410</fpage>
          -
          <lpage>418</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>Y.</given-names>
            <surname>Martseniuk</surname>
          </string-name>
          , et al.,
          <source>Automated Conformity Verification Concept for Cloud Security, in: Workshop on Cybersecurity Providing in Information and Telecommunication Systems, CPITS</source>
          , vol.
          <volume>3654</volume>
          (
          <year>2024</year>
          )
          <fpage>25</fpage>
          -
          <lpage>37</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [18]
          <string-name>
            <given-names>Z.</given-names>
            <surname>Hu</surname>
          </string-name>
          , et al.,
          <source>Bandwidth Research of Wireless IoT Switches, in: IEEE 15th International Conference on Advanced Trends in Radioelectronics, Telecommunications and Computer Engineering</source>
          (
          <year>2020</year>
          )
          <fpage>546</fpage>
          -
          <lpage>550</lpage>
          . doi:
          <volume>10</volume>
          .1109/tcset49122.
          <year>2020</year>
          .
          <volume>2354922</volume>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>V.</given-names>
            <surname>Masol</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Popereshnyak</surname>
          </string-name>
          ,
          <source>Joint Distribution of Some Statistics of Random Bit Sequences, Cybernetics and Systems Analysis</source>
          ,
          <volume>57</volume>
          (
          <issue>1</issue>
          ) (
          <year>2021</year>
          )
          <fpage>139</fpage>
          -
          <lpage>145</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>V.</given-names>
            <surname>Masol</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Popereshnyak</surname>
          </string-name>
          ,
          <article-title>Checking the Randomness of Bits Disposition in Local Segments of the (0, 1)- Sequence, Cybernetics</article-title>
          and
          <string-name>
            <given-names>Systems</given-names>
            <surname>Analysis</surname>
          </string-name>
          ,
          <volume>56</volume>
          (
          <issue>3</issue>
          ) (
          <year>2020</year>
          )
          <fpage>513</fpage>
          -
          <lpage>520</lpage>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>