A Review on Applications of Chaotic Maps in Pseudo-Random Number Generators and Encryption
Annals of Data Science
https://doi.org/10.1007/s40745-021-00364-7
A Review on Applications of Chaotic Maps in
Pseudo-Random Number Generators and Encryption
Rasika B. Naik1
· Udayprakash Singh1
Received: 26 September 2021 / Revised: 17 November 2021 / Accepted: 18 November 2021
© The Author(s), under exclusive licence to Springer-Verlag GmbH Germany, part of Springer Nature 2021
Abstract
Because of the COVID-19 pandemic, most of the tasks have shifted to an online platform. Sectors such as e-commerce, sensitive multi-media transfer, online banking have
skyrocketed. Because of this, there is an urgent need to develop highly secure algorithms which can not be hacked into by unauthorized users. The method which is the
backbone for building encryption algorithms is the pseudo-random number generator
based on chaotic maps. Chaotic maps are mathematical functions that generate a highly
arbitrary pattern based on the initial seed value. This manuscript gives a summary of
how the chaotic maps are used to generate pseudo-random numbers and perform multimedia encryption. After carefully analyzing all the recent literature, we found that the
lowest correlation coefficient was 0.00006, which was achieved by Ikeda chaotic map.
The highest entropy was 7.999995 bits per byte using the quantum chaotic map. The
lowest execution time observed was 0.23 seconds with the Zaslavsky chaotic map and
the highest data rate was 15.367 Mbits per second using a hyperchaotic map. Chaotic
map-based pseudo-random number generation can be utilized in multi-media encryption, video-game animations, digital marketing, chaotic system simulation, chaotic
missile systems, and other applications.
Keywords Chaotic maps · Pseudo-random number generation · Image encryption ·
Audio encryption · Bifurcation diagram
1 Introduction
The COVID-19 pandemic has caused an exponential growth in the dependency on
internet sources. Due to this, a majority of the transactions take place online, which
makes online security for banking and e-commerce highly essential. Currently, there
B Rasika B. Naik
1
Sir Padampat Singhania University, Udaipur, India
123
Annals of Data Science
are multiple cryptographic algorithms that have been developed and have been effectively deployed. Random number generation is the backbone of every cryptographic
algorithm [1]. Pseudo-random number generators are used in applications, such as
digital signatures, hashing, encryption, seed vector, One-Time Passwords (OTP), etc.
[2]. These pseudo-random number generators are also a type of deterministic generator where the output is dependent on the initial seed sequence and the design of
a generator [3]. These numbers are not truly random because if the initial value is
known, then the output can be completely predicted. There are two major categories
of random number generators, hardware random number generator, and software seedbased random number generator [4]. In earlier times, random number generators were
used in electronic video games. Later on, their applications were further expanded
to simulators [5,6]. Now, random number generators are also used for cryptographic
applications [7]. Hardware random number generators generate numbers through a
physical process, such as on the basis of thermal noise or other external factors [8].
These types of generators are useful when non-reversible random numbers have to be
generated.
Figure 1 shows a hierarchical tree diagram of the recent developments in using
chaotic maps in non-linear dynamic systems, such as, a pseudo-random number generator and an encryptor. Pseudo-random number generators can be found in both
hardware and software. Most hardware implementations are done on FPGA, but there
are some microcontroller-based hardware implementations as well, that use Arduino
and Raspberry Pi. Encryption applications are mostly used for image ciphering [9],
with very few exceptions for audio. The dotted lines represent that there are various
other applications under linear dynamic systems and also under chaotic maps. But
these applications represented by dotted lines are not covered in the scope of this
paper.
Dynamic systems are the functions in mathematics that describe a point in geometrical space with the help of time [10]. The simplest example of a dynamic system
could be a pendulum of a clock. A dynamic system has a state for a given time and can
be represented using a vector mathematical function with an appropriate state-space
model [11]. The evolution rule allows us to determine the next state of a dynamical
system using the current state and its behavior. Most of the dynamic systems are deterministic [11], however, some systems generate stochastically random events, or their
complete description is unavailable to us. A dynamic system can be completely modeled for predicting its future behavior by an analytical solution that is time dependant.
Dynamic systems can be further classified into two types, namely, linear dynamic
systems and non-linear dynamic systems [12]. A non-linear dynamic system is mathematically defined as a system whose output is not proportional to the changes made
in the input. Linear dynamic systems are the dynamic systems whose evaluation is a
linear function, i.e. changes in the output are linearly proportional to the changes in the
input [13]. Chaotic systems are a type of non-linear dynamic systems. Chaotic maps
are widely used in building pseudo-random number generators and in multimedia
encryption.
The data science field is growing day by day and hence there is a need to protect the
data. This data can be the personal information of the client or a sensor readout every
second. It is important to use pseudo-random number generators which are chaotic,
123
Annals of Data Science
Fig. 1 Hierarchical tree diagram of recent trends in applications of chaotic maps in non-linear dynamic
systems, such as, pseudo-random number generator and encryptor. Pseudo-random number generators are
implemented in hardware and software. Most of the hardware implementation is done on FPGA but there are
some microcontroller-based hardware implementations also namely, Arduino and Raspberry Pi. Encryption
applications are majorly done for image ciphering and very few are done for audio
making it difficult for any pattern recognition algorithm to breakthrough. There are
some reports on the use of random numbers in the data science field, for example,
random projection scheme [14], random forest method [15], random sampling and
random variables [16]. The chaotic function-based pseudo-random number generator
is useful for avoiding data mining for unauthorized personnel [17,18]. Pseudo-random
number generators can also be used for encryption and decryption of IoT networks,
increasing their security. [19].
Soliman et al. [14] has developed a random projection scheme to improve security
in iris detection. The pseudo-random number generator using chaotic maps can be a
seed point to gener (...truncated)