Next Article in Journal
Hox Gene Collinearity with Pulling Physical Forces Creates a Hox Gene Clustering in Embryos of Vertebrates and Invertebrates: Complete or Split Clusters
Previous Article in Journal
Combined Analysis of Neutrino and Antineutrino Charged Current Inclusive Interactions
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Novel, Fast, Strong, and Parallel: A Colored Image Cipher Based on SBTM CPRNG

1
Computer Science Department, Faculty of Information Technology, American University of Madaba, Amman 11821, Jordan
2
Cybersecurity Department, Faculty of Information Technology, American University of Madaba, Amman 11821, Jordan
3
Artificial Intelligence Research Center (AIRC), College of Engineering and Information Technology, Ajman University, Ajman P.O. Box 346, United Arab Emirates
4
Information Security Department, Faculty of Information Technology, University of Petra, Amman 11196, Jordan
*
Author to whom correspondence should be addressed.
Symmetry 2024, 16(5), 593; https://doi.org/10.3390/sym16050593
Submission received: 18 March 2024 / Revised: 22 April 2024 / Accepted: 30 April 2024 / Published: 10 May 2024
(This article belongs to the Section Computer)

Abstract

:
Smartphones, digital cameras, and other imaging devices generate vast amounts of high-resolution colored images daily, stored on devices equipped with multi-core central processing units or on the cloud. Safeguarding these images from potential attackers has become a pressing concern. This paper introduces a set of six innovative image ciphers designed to be stronger, faster, and more efficient. Three of these algorithms incorporate the State-Based Tent Map (SBTM) Chaotic Pseudo Random Number Generator (CPRNG), while the remaining three employ a proposed modified variant, SBTMPi. The Grayscale Image Cipher (GIC), Colored Image Cipher Single-Thread RGB (CIC1), and Colored Image Cipher Three-Thread RGB (CIC3) showcase the application of the proposed algorithms. By incorporating novel techniques in the confusion and diffusion phases, these ciphers demonstrate remarkable performance, particularly with large colored images. The study underscores the potential of SBTM-based image ciphers, contributing to the advancement of secure image encryption techniques with robust random number generation capabilities.

1. Introduction

The rapid progress and widespread adoption of contemporary digital communication and network technologies have revealed significant potential in improving online data storage and electronic data exchange. However, ensuring the protection of confidential information is equally essential, leading to the continuous prioritization of network security and data integrity [1]. Consequently, scientists have implemented appropriate safety measures to enhance visibility and prevent security vulnerabilities. Since a large portion of multimedia content shared and stored online consists of images, it becomes necessary to guarantee the confidentiality and authenticity of digital images through the utilization of image encryption techniques. The process of image encryption involves utilizing a mathematical algorithm to convert the original image into an intricate format, making it challenging to interpret. This transformation strengthens the image’s resistance to security attacks [2,3,4]. Image encryption finds practical applications in diverse fields such as medical imaging, telemedicine, business, biometric authentication, and military communication. To address the security demands of these applications, various image encryption techniques have been developed, including digital watermarking techniques [5], image scrambling methods [6], image steganography [7], and image cryptography [8].
In recent decades, there has been a significant rise in interest surrounding the application of chaos in cryptography. This interest stems from the fundamental property of chaos, which makes it sensitive to initial conditions and produces deterministic data sets that resemble randomness. By leveraging chaos-based cryptographic models, researchers have developed pioneering techniques for designing efficient image encryption systems. These systems showcase remarkable attributes in multiple areas, such as speed, cost-effectiveness, computational power, computational overhead, complexity, vulnerability, and more. The utilization of chaotic systems in cryptography offers notable benefits, such as sensitivity to initial values, strong randomness, and resistance to cracking [9]. Consequently, chaotic systems have gained significant attention and been extensively studied for image encryption purposes [10,11,12].
In 1989, mathematician Matthews pioneered the integration of chaos into encryption systems and introduced the concept of chaotic cryptography [13]. Compared to traditional image encryption methods, encryption techniques based on chaotic systems demonstrate higher efficiency. Consequently, researchers have proposed a multitude of image encryption schemes that leverage chaotic systems [5,14,15]. In a color image encryption (CIE) algorithm, it is common practice to encrypt the three components of R, G, and B separately and then merge them to generate a color image [16]. Alternatively, one can create a unified grayscale image by dividing and encrypting the three components, allowing for the restoration of the original size [17]. After extensive research conducted by countless scholars, the field of color image CIE has made significant progress and achieved a more refined state. The amalgamation of chaotic systems and scrambling methods within the scrambling–diffusion framework has proven effective in meeting the majority of encryption needs.
Nevertheless, there is still scope for enhancing the existing encryption algorithms. However, when it comes to proposing algorithms for image encryption, scholars have primarily utilized chaos theory, optical transformation, DNA encoding, and compressed sensing. These theories serve as the foundation for developing a wide range of image encryption algorithms that modify the positions and values of pixels. Despite the abundance of proposed image encryption algorithms, most of them concentrate on single grayscale images, raising doubts about their security and efficiency. To address these concerns, this paper introduces a new algorithm that strives to improve both the security and efficiency of image encryption. In order to enhance both security and efficiency, a novel CIE algorithm is introduced. The core contributions of this paper are outlined as follows:
  • Enhanced parallel execution: The proposed algorithms were developed to enable efficient parallel execution across all phases.
  • Innovations in confusion and diffusion techniques: The proposed algorithms incorporate original approaches within the confusion and diffusion processes, resulting in streamlined and parallel execution.
  • Robust random number generation: These algorithms make use of SBTM, which not only is highly efficient but also boasts remarkable strength in random number generation.
  • Streamlined encryption methods for grayscale and color images: The encryption and decryption processes for images have been optimized to achieve swift performance, with encryption times as low as 1 ms for small images and 1 s for larger images (100 MB).
  • Heightened sensitivity to key and image modifications: Through a single round of encryption, the cipher images exhibit extraordinary responsiveness to alterations in both the encryption key and the original image.
The structure of this paper is organized as follows: Section 2 provides a comprehensive analysis of previous studies. Section 3 introduces a new CIE algorithm. Section 4 showcases the experimental results and provides detailed analyses. Finally, Section 5 concludes the paper by summarizing the findings.

2. Related Works

In this section, a synthetic analysis of the latest colored image encryption techniques is presented. Numerous algorithms for encrypting colored images have been proposed, showcasing variations in terms of their effectiveness and robustness. The encryption of images is the procedure of securing them from unauthorized access utilizing a secret key. Digital visual data are structured in the form of rectangular frames consisting of individual elements referred to as pixels, each assigned a numerical value. With the progress of information technologies, digital images, encompassing diverse formats like medical images, grayscale images, color images, binary images, and others, have become increasingly prevalent in applications, storage, and transmission. Consequently, protecting this type of information has emerged as a crucial challenge [18]. Considering the distinctive attributes of image data, numerous encryption algorithms have been proposed, employing various technologies, including [19,20,21,22,23,24,25,26,27].
A color image encryption technique was proposed by Aqeel ur Rehman et al., utilizing an exclusive-OR operation with DNA complementary rules. The basis of this approach was the integration of chaos theory and the SHA-256 hash function to modify the initial conditions and control parameters of the chaotic system [28]. The color image’s three channels were transformed into a one-dimensional vector and sorted according to the chaotic sequence generated via the Piecewise Linear Chaotic Map. This permuted array was then divided into three parts, representing each color channel, and independently permuted using Lorenz’s chaotic system. Following the dual permutation, each pixel in every channel was encoded independently using deoxyribonucleic acid (DNA) bases in a chaotic manner. Notably, the algorithm’s novelty lies in substituting each pixel in a channel with an exclusive-OR operation based on DNA complementary rules. Multiple DNA rules were employed, repeating this operation for a random number of cycles in a cyclic fashion. The selection of DNA rules at the beginning of this cyclic operation and its continuation depended on Chen’s chaotic sequence. Extensive simulated experiments demonstrated the algorithm’s exceptional encryption performance achieved within a single round.
In their work, Seyedzadeh et al. [29] proposed an innovative image encryption algorithm that utilized chaos theory, employing a Coupled Two-Dimensional Piecewise Nonlinear Chaotic Map (CTP-NCM) and a masking process specifically designed for encrypting color images. Through computer simulations, it was demonstrated that the algorithm achieved a high level of security while maintaining exceptional speed in practical color image encryption applications. The algorithm incorporated a 256-bit external secret key to generate the initial conditions and parameters of the CTP-NCM. Experimental results substantiated the superior security performance of the proposed algorithm in comparison to other existing algorithms. Tong et al. presented a rapid algorithm for encrypting color images, utilizing a four-dimensional chaotic system as its foundation [30]. To enhance the encryption algorithm’s complexity and key space, the researchers introduced an innovative method for designing four-dimensional chaotic systems based on classical equations from three-dimensional chaotic systems. The authors proposed a new pseudo-random sequence generator. The generator utilizes bits from the four values produced via the four-dimensional chaotic systems to generate three keys instead of one, leveraging the generated sequence to enhance the speed of the image encryption process. The authors employed row-major and column-major techniques to diffuse the original image, and they employed a cat map with a parameter to scramble the image pixels and achieve the desired encryption effect. Extensive simulations and security analyses confirmed that the proposed encryption algorithm demonstrated remarkable performance in terms of security, robustness, and high encryption speed.
Li et al. introduced an image encryption algorithm that leveraged hyper-chaos, utilizing a 5D, multi-wing, hyper-chaotic system in which the key stream was derived from the original image [31]. The algorithm integrated pixel-level and bit-level permutations to enhance the cryptosystem’s security. Furthermore, a diffusion operation was employed to modify the pixels. Theoretical analysis and numerical simulations substantiated the algorithm’s ability to provide high security and reliability for image encryption. In a separate study, researchers proposed a simple and effective chaotic system by combining two existing one-dimensional chaotic maps (seed maps) [18]. Simulations and performance evaluations demonstrated that this system generated one-dimensional chaotic maps with larger chaotic ranges and improved chaotic behaviors compared to the seed maps. The chaotic system was then utilized in a novel image encryption algorithm to address multimedia security. Notably, with the utilization of the same set of security keys, the algorithm generated distinct encrypted images for the same original image in each encryption process. Experimental investigations and security analyses verified the algorithm’s exceptional performance in image encryption and its resilience against various attacks. In addition, El-Latif et al. presented an innovative scheme for encrypting color images based on a quantum chaotic system [32]. The method involved applying new substitution total automorphism in the integer wavelet transform, specifically scrambling only the Y (luminance) component of the L frequency sub-band. Subsequently, two diffusion modules were created by combining the features of horizontally and vertically adjacent pixels using a quantum chaotic map. In the final stage, a substitution/confusion process was generated by employing an intermediate chaotic key stream image derived from the quantum chaotic system. Thorough security and performance analyses were conducted through extensive experimental investigations, showcasing the exceptional characteristics of the proposed color image encryption method, including robust security and satisfactory performance. Comparative evaluations favored the proposed scheme in most cases.
Furthermore, Liu et al. proposed an image encryption scheme based on chaos using bijection [33]. In this algorithm, the entire color image was diffused using XOR operations for a random number of rounds. Each color component was separated into blocks of equal size. A bijective function, denoted as f: B→S, was established between the block set B and the S-box set S. The corresponding 8 × 8 S-box was dynamically generated via the Chen system, incorporating variable conditions. The encrypted image was obtained by substituting each block with the corresponding paired S-box. Numerical simulations and security analyses indicated that the scheme exhibited the potential for practical application in image encryption. Additionally, Mazloom et al. introduced a novel image encryption algorithm based on chaos, specifically utilizing a coupled nonlinear chaotic map (CNCM), to encrypt color images [34]. The algorithm employed symmetric key cryptography with a stream cipher structure. To enhance the security of the algorithm, a 240-bit secret key was used to generate the initial conditions and parameters of the chaotic map through algebraic transformations applied to the key. These transformations, combined with the nonlinear and coupling characteristics of the CNCM, resulted in an improved level of security within the cryptosystem. In this study, the image size and color components were incorporated to achieve higher security and complexity, thereby significantly increasing the approach’s resistance to known and chosen–plaintext attacks. The algorithm’s efficacy and security were validated through various experimental and statistical analyses, as well as key sensitivity tests, demonstrating its suitability for real-time image encryption and transmission.
Kadir et al. presented a color image encryption scheme that employed a couple of hyperchaotic Lorenz systems [35]. The scheme introduced a novel approach by injecting impulse signals randomly into the coupled Lorenz system during iterations to enhance the complexity of the trajectory. Six sequences of state variables were generated to encrypt the R, G, and B components using bitwise operations such as XOR and a left or right cyclic shift. The utilization of six initial values and multiple indeterminate impulse signals expanded the cryptosystem’s key space, providing resistance to exhaustive attacks, including those from quantum computers. Simulations demonstrated the stability of the mean encryption speed, which was influenced by the hardware equipment and the algorithm employed. Statistical analysis confirmed the high effectiveness of the proposed image encryption algorithm. Existing color image encryption techniques using chaotic techniques have several main limitations.
  • Security: Some existing algorithms are vulnerable to attacks such as brute-force, statistical, and differential attacks. These vulnerabilities can compromise the security of encrypted images.
  • Key space: Chaotic systems often have a limited key space, making them susceptible to exhaustive key search attacks. If the key space is small, it is easier for an attacker to try all possible keys and decrypt the encrypted image.
  • Robustness: Some algorithms are not robust enough to withstand common signal processing operations or geometric transformations applied to the encrypted image. This can lead to a loss of information or a decrease in the quality of the decrypted image.
  • Speed: Chaos-based encryption algorithms can sometimes be computationally intensive, leading to slower encryption and decryption speeds. This can limit their practical use in real-time applications or scenarios requiring quick processing.
  • Resistance to attacks: Existing algorithms may not provide sufficient resistance to advanced attacks such as chosen-plaintext attacks or known-plaintext attacks. These attacks exploit the algorithm’s vulnerabilities and can potentially reveal the original content of the encrypted image.
Addressing these limitations is crucial to ensuring the development of more secure and efficient color image encryption algorithms based on chaotic techniques. In addition to the limitations mentioned above, there are also other challenges that need to be addressed in order to develop more secure and efficient color image encryption algorithms using chaotic techniques. These challenges include the following:
  • Developing more secure chaotic systems with a larger key space.
  • Developing more robust chaotic-based encryption algorithms that are resistant to common signal processing operations and geometric transformations.
  • Developing more efficient chaotic-based encryption algorithms that can achieve high encryption and decryption speeds.
  • Developing chaotic-based encryption algorithms that are resistant to advanced attacks, such as chosen-plaintext attacks and known-plaintext attacks.
The development of more secure and efficient color image encryption algorithms using chaotic techniques is an active area of research. By addressing the challenges mentioned above, it is possible to develop more secure and efficient color image encryption algorithms that can be used to protect sensitive data.

3. Proposed Technique

This section provides an overview of the proposed image ciphers. A total of six versions have been developed, with three of them employing the SBTM [36] random number generator, while the other three adopt a modified version utilizing digits of PI as its state. This modification demonstrates the flexibility of SBTM, showcasing its ability to yield strong random numbers with diverse initial values. The following presents a brief description of the first three algorithms that were developed:
  • A Grayscale Image Cipher (GIC), a cipher that can only be used with grayscale images.
  • Colored Image Cipher Single Thread RGB (CIC1), a cipher that can be used with color images and uses a single thread to handle the red, green, and blue channels of a sub-image.
  • Colored Image Cipher Three Thread RGB (CIC3), a cipher that can be used with color images and that uses three threads to handle the red, green, and blue channels of a sub-image.
  • The preceding three algorithms rely on the original SBTM random number generator, while the remaining three ciphers share identical structures but implement a modified version of SBTM. All six versions adhere to a common logic; therefore, we discuss GIC in detail, and subsequently, we explore the distinctions present in the other variants. The description of a step-by-step implementation can be found in the appendices.

3.1. Image Encryption Methods and Ciphers

In this article, we focus on a number of strategies to produce image ciphers that are very strong and efficient. In particular, we consider the following:
  • The use of strong and efficient CPRNG: Random number generators are essential components in ciphers. They determine the cipher strength and time of execution. We decided to use SBTM CPRNG for its strong sequences and speed. Details about SBTM and the proposed variant, SBTMPi, are provided in the next section.
  • Parallel processing: Currently, almost all CPUs are multi-core, even those of smartphones and tablets. Encrypting an image in a sequential fashion takes a long time. Due to the nature of random number generators and the sequences they produce, many of the ciphers operate sequentially. In this article, however, we create four arrays of random numbers in advance and use them to shuffle and encrypt an image. This method allows for parallel processing utilizing all cores of the CPU, which results in a huge speed gain.
  • Number of random numbers required: Many of the image ciphers produce as many random numbers as the number of pixels in an image. Depending on the efficiency of the PRNG used, this process requires a large amount of time, especially for large images. In this article, we only produce a small number of random numbers to encrypt the image; for example, for images of size (1000 * 1000), we produce only 4000 random numbers. The numbers are then utilized in a smart way to provide strong encryption, as evidenced by the results shown in the Implementation and Evaluation section.
  • Efficient shuffling of pixels: Another aspect of image encryption that usually consumes time is the shuffling process. Shifting and rolling columns and rows of an image is time-consuming and gets worse with large images. We utilized a clever method to calculate new indices of a plain image pixel and store the encrypted pixel in the calculated indices in the encrypted image. This method avoided the actual shifting of pixels and allowed for parallel processing as well.
  • Sensitivity to change: We developed an efficient method that provides very strong sensitivity to changes in either plain images or their keys. A change of one to any of the plain image’s pixels leads to a drastic change in the encrypted image. The method used produces a digest of the image that can be used for an integrity check as a byproduct.
As mentioned above, a total of six ciphers are proposed, namely GIC, CIC1, and CIC3, which utilize SBTM CPRNG, and another three that uilize a proposed variant of SBTM, which are discussed in the next section. The overall processes of the six ciphers are summarized below, while a description of their detailed implementation is delegated to the appendices. The main steps followed in all six ciphers are listed below:
  • Load the image.
  • Divide the image into a number of sub-images.
  • Generate strong keys: as can be seen in Figure 1, u k 1 and U S are used to initialize SBTM. Ninety-seven values are generated, and then u k 2 is used to replace the control variable of SBTM, and so on until all keys are used. The state of SBTM is now influenced by all user input. e k 1 is assigned to the next random value. Ninety-seven values are generated, and the last one is assigned to e k 2 . This step is repeated for e k 3 to e k 6 .
  • Use a number of threads to initialize the required arrays: GIC has only two arrays to hold random double values, D i f f 1 size r and D i f f 2 size c. Hence, only two threads are needed.
  • Use a number of threads to calculate a digest called E S : based on the number of sub-images, create as many threads to calculate E S . The process is basically the sum of all the elements of the image after adding a random value to it and multiplying it with the sum of two random values from D i f f 1 and D i f f 2 as shown in the equation below. This process produces a simple digest that is affected by any modification to any pixel of the original image. i = 0 , j = 0 r , c ( I [ i , j ] + D i f f 2 [ j ] ) ( D i f f 1 [ i ] + D i f f 2 [ j ] ) .
  • Use a number of threads to initialize another set of arrays utilizing the calculated digest: GIC has only two arrays to hold random integer values, R o l l 1 , size r, and R o l l 2 , size c. Hence, only two threads are needed. Note that these two arrays hold randomly ordered indices.
  • Use a number of threads to encrypt the image: based on the number of sub-images, create as many threads to encrypt the image. Each thread is assigned one sub-image. The encryption step is rather simple. It XORs pixels from the plain image with four values from the four arrays, D i f f 1 , D i f f 2 , R o l l 1 , and R o l l 2 . Shift emulation is done here, through which new indices are calculated for any given pixel in the encrypted image, and the plain image pixel at the calculated indices is encrypted.
  • Save the digest and the encrypted image to file.
Figure 2 summarizes the encryption process. A step-by-step example can be found in Appendix D.4.

3.2. SBTM and SBTMPi

SBTM is the CPRNG proposed in [36]. It was specifically designed to generate sequences with exceptional statistical properties and a high degree of security while maintaining a low computational cost. It utilizes a modified 1D chaotic tent map with enhanced attributes to produce chaotic sequences. SBTM utilizes the well-known tent map function and adds to it a circular array to serve as a state. The initial values of the state are square roots of prime numbers. The main functionality of SBTM is shown in Equation (1). With every random number generated, an element of the state is updated. An automatic reset of state values is applied to keep them within a specific range. SBTM was thoroughly tested and proved to produce extremely strong sequences with a low computational time. The size of the state array was chosen to be five. In the original article, many sizes were tested, and they all produced strong sequences. Five, however, kept the size of the generator small. The values produced from Equation (1) can be greater than one; only the fraction is returned to keep the random values between zero and one. In [36], it was stated that other well-chosen values can be used for the initial state without impacting the strength of the generator. In this article, we propose SBTMPi, which uses digits from the fraction part of PI. The digits were multiplied by 100 and then by the constant (e). The state array used is of length 13, as shown below: State of S B T M P i = {271.8281828459045, 1087.312731383618, 271.8281828459045, 1359.1409142295227, 2446.4536456131405, 543.656365691809, 1630.969097075427, 1359.1409142295227, 815.4845485377135, 1359.1409142295227, 2174.625462767236, 2446.4536456131405, 1902.7972799213317 }. GICPi, CIC1Pi, and CIC3Pi use the proposed CPRNG, namely SBTMPi.
r n + 1 = r n × μ × state [ i ] , if n < 0.5 ( 1 r n ) × μ × state [ i ] , otherwise

3.3. Image Decryption Process

The decryption process is simpler and faster than the encryption process due to the fact that the digest does not have to be calculated, as it is impeded in the encrypted file. The general procedure followed for all six ciphers can be summarized in the following steps:
  • Load E S , then load the encrypted image.
  • Divide the image into a number of sub-images.
  • Generate strong keys: a similar process as that of the encryption.
  • Use a number of threads to initialize the required arrays
  • Use a number of threads to decrypt the image, which is the opposite of the encryption step.
  • Save the decrypted image to file.
The detailed algorithms of the decryption processes are presented in the appendices.

3.4. Analytical Discussions

In this section, the reason for developing new image ciphers and the design decisions made are discussed.
Why develop a new image cipher? There are at least three reasons that can be used. (1) With the increasing number of cyber attacks and privacy issues, stronger ciphers need to be developed. (2) The current hardware used in PCs, laptops, and smartphones uses multi-core chips that need to be utilized. (3) The increasing number of images taken, and the enormous size of such images, makes a clear case for faster and more efficient ciphers.
Why use SBTM? A random number generator is an essential part of most if not all image ciphers. Many of the used PRNGs in the literature suffer from weaknesses such as a limited range of the control variable, non-uniform distribution, being slow, and/or weak sequences of random numbers. On the contrary, SBTM is a new CPRNG that is very strong and efficient, as demonstrated in [36].
Why use PI as the initial seed? Practically any value could be used. To avoid simple and suspicious values, common constants are utilized. PI and the square roots of prime numbers are irrational and very random in nature.
Why use six keys, not seven, ten, or three, for example? SBTM uses only one control variable as a key by default. The users may choose weak values such as 1 or 5 as a key. To enlarge the key space of the cipher and to make it harder for an attacker, more keys are needed. Of course, there needs to be a balance between usability and security. While using fewer keys makes it more usable it also makes it weaker. On the other hand, using more keys makes it less usable but stronger. Six keys seem to achieve such balance. This number of keys has been used in the literature as well [37].
Why generate digest E S ? There are two reasons here. (1) The user may choose a simple seed, such as 0.1 or 0.2, which makes it easy to guess. (2) Since, usually, images are encrypted pixel by pixel after being confused, a change in the original image will only impact one pixel in the encrypted image. For these two reasons, the proposed algorithms generate a strong digest dependent on the following: the user seed US, the generated Diff arrays, and the pixel value. The Diff arrays make the position of the pixel somewhat unique; i.e., if a white image were used, and only pixel values were used, changing pixel [0, 0] by adding one to it would produce the same digest as changing pixel [0, 1] or [5, 5], and so on. Utilizing a pair of random doubles will produce a different seed if the change is made to a pixel at a different location, given that all pixels have the same value. Experimental results show this impact.
Why generate encryption keys other than the user keys u k 1 through 6? The user may choose simple keys such as all zero or one, etc. Despite the fact that SBTM is very strong, it will generate the same sequence if given the same key and seed. This will definitely negatively impact the strength of the encrypted image. To avoid such a situation, the algorithm uses the user keys to generate strong and different keys E K 1 through 6 that are used to generate the random sequences.
Why do we divide the image? It is very clear that time is very important, and the current hardware is capable. Using a single thread to encrypt or decrypt an image is a waste of time and resources. The proposed algorithms give the user a choice to decide on the number of sub-images to be used and, hence, reduce time and improve hardware utilization. Experimental results show a huge gain when parallelizing the process.
Why emulate the shuffling of the image? Shuffling the image before encryption is essential in almost all image ciphers. This process takes a large amount of time, especially for large images of 10 MP and above. The goal is to make this process more efficient. A novel approach to calculate where the location of the pixel will be after shuffling, and then encrypting that pixel is proposed. It saves a large amount of time when dealing with large images, as shown in the results.

4. Implementation and Verification

All six algorithms, including SBTM and SBTMPi, were implemented in Java on a laptop equipped with an Intel Core i7 twelfth-generation processor and 16 GB of RAM, running Windows 11. Java was chosen for its concurrent programming capabilities and user-friendly nature. Numerous images were subjected to testing, but only the results for those listed in Table 1 are reported due to space constraints. Throughout all experiments, the following values were consistently used: U S = 0.3 , and u k 1 through u k 6 were 3.4, 5.6, 2.1, 7.8, 6.1, and 9.4, respectively. The time results presented are averages from 100 runs. The results were compared with those from the prior literature [37,38,39,40,41,42,43,44,45,46,47,48,49,50].
In this section, the evaluation of the proposed algorithms concerning key space, statistical analysis, sensitivity, and time complexity is explored. For statistical analysis, the histogram, correlation, and entropy are assessed. To examine sensitivity, the performances of NPCR, UACI, and BACI are calculated. Following that, the obtained results are compared with results from the prior literature [37,38,39,40,41,42,43,44,45,46,47,48,49,50].

4.1. Key Space Analysis

To effectively thwart brute force attacks, it is crucial to have a sufficiently large key space. In cryptography, a computational complexity exceeding 128 bits is considered adequately secure. In this section, we analyze the key space of the proposed algorithms to ensure that it significantly surpasses the 128-bit threshold. The secret parameters used for this analysis are the user seed ( U S ), and the six user keys, ( U K 1 U K 6 ) . Each parameter is represented as a double with 15 digits of precision, equivalent to 52 bits. Equation (2) demonstrates that the keyspace indeed spans 364 bits, far exceeding the required minimum of 128 bits. As a result, the key meets this crucial security requirement.
key length = 7 52 = 364 bits , Key space = 2 364

4.2. Statistical Analysis

In the literature, three commonly employed statistical analysis tools are typically taken into account: histograms, correlation, and entropy. Histogram analysis involves evaluating the distribution of pixel values in images. To assess the relationship between the original and encrypted images, the correlation coefficients of the horizontal, vertical, and diagonal directional features are calculated. Additionally, Shannon’s entropy is utilized to demonstrate the randomness of the encrypted images.

4.2.1. Histogram Analysis

The significance of the histogram lies in its ability to reveal crucial insights into the randomness of an encrypted image. For an encrypted image to be secure, the distribution of pixel values should be uniform, preventing adversaries from extracting any valuable information through statistical attacks. Samples of histograms of the original images, as well as those of the encrypted images, are shown in Figure 3. It is very clear that the histogram of the encrypted image is uniformly distributed, even for images with very little entropy, such as white.png and black.png, as can be seen in the following figures.

4.2.2. Correlation Analysis

In typical images, there is often a strong correlation between adjacent pixels. Nevertheless, an effective encryption scheme should generate cipher images with a minimal correlation between neighboring pixels to conceal the underlying image information. The correlation coefficient can be computed using Equation (3).
r x y = E ( x E ( x ) ) E ( y E ( y ) ) D ( x ) D ( y )
where x and y are two adjacent pixels selected for calculation. E ( x ) and E ( y ) are the expectation of x and y, while D ( x ) and D ( y ) are the variances of x and y. For both the plain and cipher images, pairs of all pixels were considered in three directions: horizontal, vertical, and diagonal. The correlation coefficient was then computed, and the outcomes are displayed in Table 2.
The analysis reveals that the plain images exhibit a significant correlation between adjacent pixels, whereas the cipher images generated via GIC, CIC1, and CIC3 demonstrate notably low correlation values. Figure 4, Figure 5, Figure 6 and Figure 7 visually illustrate the correlation between two adjacent columns in both the plain and cipher images. The figure vividly demonstrates that pixels in the cipher images appear to be randomly distributed, while those in the same columns of the plain image exhibit a pronounced correlation.

4.2.3. Information Entropy

Information entropy is a mathematical property used to measure the randomness of an information source. It is calculated based on Equation (4).
H ( s ) = i = 0 2 N 1 P ( s i ) log 2 ( P ( s i ) )
where s is the information source; N is the number of bits used to represent s; and P ( s i ) is the probability of the occurrence of symbol x i . The entropy value of a genuinely random source with 256 gray levels is expected to be 8. After calculating the information entropy for all images, the results were compiled in Table 3. The entropy values for all cipher images surpassed 7.999, while for Black.jpg, they exceeded 7.99999. This indicates that GIC, CIC1, and CIC3 effectively generate cipher images that withstand entropy analysis, ensuring robust security.

4.2.4. Sensitivity Analysis

Claude Shannon identified two crucial properties of a secure cipher: confusion and diffusion. Confusion involves the relationship between the cipher text and the encryption key, while diffusion pertains to the relationship between the cipher text and the plain text. In other words, any change to a character of the key or the plain text should result in multiple characters of the cipher text being altered. Contemporary cryptographic algorithms often employ a substitution–permutation (SP) network as a straightforward approach to achieving both confusion and diffusion. The S-Box used in AES is a popular method for achieving substitution. However, this type of substitution can require large memory usage or lead to high computational complexity.
To address this limitation, the proposed algorithms adopt a novel approach to computing the digest E S and another novel approach to emulating pixel shifting. Furthermore, they utilize all the cores available in the CPU in the main steps to enhance efficiency. To demonstrate that these algorithms yield cipher images satisfying Shannon’s properties, three evaluation metrics were calculated for all test images: NPCR (Number of Pixel Change Rate), UACI (Unified Average Changing Intensity), and BACI (Blocked Average Changing Intensity). NPCR and UACI were computed for all three color channels between the following pairs of images:
  • The original image and the cipher image.
  • Two cipher images: the cipher image and one generated after adding one to pixel [0, 0, 0] of the original image.
  • Two cipher images: the cipher image and one generated after adding 10 15 to the user seed U S or any of the user keys.
  • BACI values were calculated for two pairs of images, cases 2 and 3 of the above. NPCR, UACI, and BACI were calculated using Equations (5), (7), and (9).
    N P C R = j = 1 H i = 1 W D ( i , j ) W H × 100 %
    D ( i , j ) = 1 , if c 1 ( i , j ) c 2 ( i , j ) 0 , if c 1 ( i , j ) = c 2 ( i , j )
    U A C I = j = 1 H i = 1 W c 1 ( i , j ) c 2 ( i , j ) P × W H
    U A C I ( P 1 , P 2 ) = 1 m N i = 1 M j = 1 N | P 1 ( i , j ) P 2 ( i , j ) | 255 × 100 % .
    B A C I ( P 1 , P 2 ) = 1 ( M 1 ) ( N 1 ) k = 1 ( M 1 ) ( N 1 ) m k 255
The comprehensive details and expected values for the equations mentioned above, specifically when comparing the plain image with the cipher image and when comparing cipher images with each other, can be found in [51], where the expected values are shown in Table 4. The relevant results are presented in Table A1.
Table A1 demonstrates that the calculated values for the three indexes closely align with the theoretical values provided in Table 4. For NPCR, all calculated values were consistently greater than 99.6 across all three color channels. Regarding UACI between cipher images, the values were always above 33.4 for all channels, except for peppers.tiff, where it was 33.39456. However, when considering the average UACI value across all three channels, it exceeded 33.4. Furthermore, UACI between the original images and the cipher images was in close agreement with the results in Table A1, particularly for the Lenna, Peppers, White, and Black images. The BACI results were even more promising than those of UACI. According to [51], the obtained BACI values were around the theoretical value of 26.7712 for all cipher images. These findings indicate that the proposed algorithms effectively generate cipher images that exhibit a high level of randomness and sensitivity to changes in the original image or any of the keys used.

4.2.5. X 2 Test

The X 2 test is a quantitative method used to assess the extent of deviation in the pixel distribution of an image from a perfectly uniform distribution. The calculation is represented in Equation (10), where pi denotes the frequency of pixel i in the image, and p is the average frequency of all pixels, computed for ( m × n ) / 256 , where m and n represent the height and width of the image, respectively.
C 2 = i = 0 255 ( P i P ¯ ) 2 P ¯
A smaller X 2 value indicates a closer adherence of the image to a uniform distribution, signifying a more uniform pixel distribution. Table 5 displays the X 2 values for both the plain and cipher images. Notably, the X 2 values of the cipher images are significantly lower compared to those of the plain images. The X 2 values for the proposed algorithms are generally around 250, which is the expected value. Particularly, for six of the nine images, it was less than 250.

4.2.6. Digest ES Sensitivity

Each of the six algorithms produces a digest E S , which is crucial for both the encryption and the decryption processes. E S serves as a highly random and sensitive parameter used in conjunction with the user seed, U S , to seed both SBTM and SBTMPi in order to generate the random numbers used during encryption and decryption. Table A1 presents the distinct values obtained when encrypting the original image, an image with only one pixel modified, and when the encryption key is altered for all test images. Notably, the values are remarkably different even when the changes introduced to the image or the key are minimal. This highlights the robustness and sensitivity of E S , making it a vital component in ensuring the security and effectiveness of the encryption process. It is worth noting that E S is written to file. This is very safe, as no parameters can be extracted from it, and before using it, it is mixed with the user seed.

4.2.7. SBTM vs. SBTMPi-Based Ciphers

This article introduces SBTMPi as a proposed extension of SBTM, showcasing the remarkable robustness and flexibility of the original CPRNG. By carefully selecting different values for the state of SBTM, the strength of the generated sequences remains unaffected. The encryption of all test images was conducted using GICPi and CIC3Pi. The evaluation results, displayed in Table A2 and Table A3, illustrate that the generated cipher images are equally strong, if not better, compared to those produced using GIC and CIC3.
For instance, in many cases, the X 2 value of the encrypted black and white images was lower, signifying improved performance. Additionally, the entropy of many encrypted images exceeded 7.99999, further validating their robustness. Overall, all other evaluation metrics exhibited equally favorable outcomes, highlighting the efficacy of SBTMPi and its ability to produce secure and strong cipher images.

4.2.8. CIC1 vs. CIC3

CIC1 and CIC3 are two algorithms employed to encrypt colored images. The key difference between them lies in their approach to processing sub-images during encryption. CIC3 utilizes three threads to encrypt each sub-image, while CIC1 employs a single thread.
To determine which algorithm is more suitable and to illustrate the significance of dividing the image into various sub-images determined according to the values of R and C, a comprehensive experiment was conducted. Two images, one small (peppers.tiff) and one large (bernard-hermant-nHRXNv2qeDE-unsplash.jpg), were selected for testing. Each image was encrypted using both CIC1 and CIC3 with a varying number of sub-images, where R and C ranged from 1 to 10. The entire process was repeated 100 times, and the average encryption time was recorded.
A similar experiment was conducted to compare CIC1Pi and CIC3Pi. Figure 8 and Table A2 and Table A3 illustrate the results obtained from these experiments. Notably, when the number of generated sub-images was one, CIC3 performed nearly three times faster than CIC1 for both images. However, as the number of sub-images increased, the behavior differed. For the large image, the encryption time was quite similar, but CIC3 demonstrated better performance with a minimum average of 246.7 ms compared to 256.1 ms for CIC1. Conversely, for the small image, CIC1 performed better as the number of sub-images grew. The minimum average was 1.5 ms (when R = 4 and C = 1 ) for CIC1 and 2.5 ms (when R = 5 and C = 1 ) for CIC3. It is worth noting that both algorithms required more time as the number of sub-images increased.
Similar outcomes were observed when comparing CIC1Pi and CIC3Pi. In conclusion, for large images, CIC3 with a large number of sub-images is recommended, while for small images, CIC1 with few sub-images is more suitable for efficient encryption.
Figure 8 shows the encryption time vs. the number of sub-images in the following: A. SBTM-based CIC1 is compared with CIC3 for a large image. B. SBTM-based CIC1 is compared with CIC3 for a small image. C. SBTMPi-based CIC1 is compared with CIC3 for a large image. D. SBTMPi-based CIC1 is compared with CIC3 for a small image.

4.2.9. Comparisons

In this section, we compare the results obtained from various metrics with those reported by other researchers. It is crucial to acknowledge that this comparison may not be entirely accurate in many cases due to differences in the images used and the evaluation metrics employed. Nonetheless, presenting this comparison is essential to showcase how the proposed algorithms fare against those introduced by other researchers. Table 6, Table 7, Table 8 and Table 9 show comparison results between the proposed encryption techniques with state-of-the-art methods when encrypting an image, which offers valuable insights into the quality and effectiveness of the image encryption process using the proposed technique. As depicted in Table 6, the proposed technique demonstrates superior performance compared to the approach presented in [43] when encrypting the “lenna.png” colored image. This superiority is evident in several aspects, including a substantial reduction in encryption time, from 1670 ms to 2.38 ms consumed for the proposed encryption technique compared to the time consumed for [43] to encrypt the “lenna.png” colored image. Additionally, there was a notable improvement in the correlation between the original and encrypted images, as well as in the UACI and NPCR metrics for channel “0”.
Moreover, Table 7 presents a more extensive comparison with state-of-the-art encryption techniques, as proposed in ([37,38,39,40,41,44,45,46,47,48,49,50]). It is evident that the proposed encryption technique surpasses all previously mentioned encryption techniques when applied to encrypting “Lenna Gray.png”. Furthermore, when compared to the existing techniques ([39,41,43,44,45,48,52]) that have encrypted the “Peppers.png” image, Table 8 provides compelling evidence of the superior performance of the proposed encryption technique across various metrics, including encryption time, MSE, correlation, entropy, UACI, NPCR, BACI, and more. Finally, in Table 9, the comparison results with existing encryption techniques ([37,42,43,44,45,46,47,48,52]) that utilized “baboon.tiff”, “white.png”, and “black.png” images in their experiments are presented. These results further underscore the superiority of the proposed encryption technique over the existing methods.
In sum, the series of experiments conducted in this study consistently demonstrate the clear and substantial superiority of the proposed encryption techniques over existing encryption methods. Across various test scenarios, including the encryption of the “Lenna Gray.png”, “Peppers.png”, “baboon.tiff”, “white.png”, and “black.png” images, the proposed encryption technique consistently outperforms its counterparts. This superiority is evident in multiple performance metrics, such as reduced encryption times, a lower MSE, improved correlation, enhanced entropy, and better performance in metrics like UACI, NPCR, and BACI. These compelling results collectively reinforce the effectiveness and robustness of the proposed encryption techniques, making them a noteworthy advancement in the field of image encryption.

4.2.10. Time Complexity and Average Time

The time complexity of all six algorithms is linear, denoted as O(n), concerning the number of pixels in the image. For grayscale images, we generated only 2 r and 2 c random numbers. Generating a random number with SBTM or SBTMPi was constant. Subsequently, each pixel was encrypted according to step 11 of GIC, wherein all the calculations were performed in constant time. Thus, the algorithm exhibits a linear time complexity relative to the number of pixels. The average encryption time is of significant importance, albeit challenging to directly compare with other algorithms due to variations in hardware, images, and running environments. Nonetheless, it is crucial to emphasize that the proposed algorithms showcased excellent performance with the utilized hardware. Notably, encrypting a colored Lenna image of size (512, 512) took a mere 1.26 ms, while encrypting the considerably larger image Black.png (100 MB) only required 1.0825 s. The decryption results are even more impressive since the decryption algorithm does not need to calculate the digest, E S , leading to an even faster processing times.
Figure 9 shows an image in the following forms: plain, encrypted, one pixel changed, key change of 10 15 , both pixel and key changes, and decrypted.

4.2.11. Exploring the Performance and Attributes of Proposed Ciphers

In this section, we explore the attributes claimed for the proposed ciphers, namely fast, strong, and parallel. The encryption time achieved using the proposed ciphers is remarkably short compared to the existing literature, as evidenced in Table 7. Our cipher was able to encrypt the image Lenna in just 1.26 ms, whereas the reported literature ranges from 1.26 ms to over 1300 ms. Similar outcomes are observed in Table 8 and Table 9. Notably, our ciphers required only 1082.5 ms to encrypt the Black image, which consists of 100 million pixels. This exceptional speed led us to consider our ciphers to be fast. Assessing the strength of an encrypted image involves employing various statistical tests. In Section 4.2.1, Section 4.2.2, Section 4.2.3, Section 4.2.4 and Section 4.2.5, we discuss a comprehensive array of tests conducted on the encrypted images. The results closely align with the theoretical values for each test, indicating that our ciphers possess a remarkable strength, thus earning the label of strong. Our implementation prioritized parallel processing to enhance efficiency. We found no practical limit to the number of sub-images we could create, which translates to no practical limit to the number of threads operating on an image. Figure 10 illustrates this, demonstrating a nearly tenfold speedup when dividing the image into 30 sub-images compared to just one sub-image (one thread on CIC1). Although utilizing more sub-images is feasible, the overhead of managing threads becomes significant, especially considering our use of a single CPU with only 14 cores. For larger images (24 million pixels) or more, we experimented with 100 sub-images, which utilized 300 threads on CIC3, and we still observed improvements in the encryption time, as depicted in Figure 8. Therefore, we confidently affirm that the proposed ciphers utilize parallel execution to improve the encryption time by a good margin.

5. Conclusions

This paper presents a significant contribution to the field of image encryption through the development of a novel, fast, and strong cryptographic scheme. The proposed colored image cipher, built upon a state-based modified tent map and cryptographically secure pseudo-random number generators, addresses several key challenges in image encryption and security. One of the primary achievements of this work is the introduction of a parallel implementation approach. By leveraging parallel processing techniques, the encryption process is expedited, enabling the real-time encryption and decryption of colored images. This advancement is particularly relevant in today’s fast-paced digital environment, where speed and efficiency are of utmost importance. The paper also introduces a novel approach to confusion and diffusion, essential components of effective encryption algorithms. By incorporating state-based modified tent map CPRNGs, the proposed cipher achieves an enhanced level of cryptographic strength. The synergy between the CPRNG and the encryption algorithm results in a robust system that withstands various cryptanalysis techniques.
Furthermore, this research tackles the crucial aspect of random number generation. The employed cryptographically secure pseudo-random number generator ensures a high degree of randomness, making the generated keys and masks resilient to prediction and attacks. This strong foundation contributes to the overall security of the proposed image cipher. Efficiency in encryption algorithms is another hallmark of this work. The developed encryption scheme is tailored to address the unique characteristics of colored images, optimizing both security and computational efficiency. This practicality ensures that the proposed cipher is not only theoretically robust but also feasible for real-world applications. Lastly, the cipher exhibits a remarkable sensitivity to key variations and plane image modifications. This attribute enhances the security of the encrypted images by rendering unauthorized decryption attempts ineffective. The proposed scheme’s robustness against unauthorized access is a testament to its practicality in safeguarding sensitive visual information. In sum, this paper’s contributions mark a significant step forward in the realm of image encryption. The combination of a highly parallel implementation, a novel confusion and diffusion strategy, a strong CPRNG, efficient encryption algorithms for colored images, and heightened sensitivity to key and plane image modifications collectively form a comprehensive and effective image encryption scheme. As digital data security becomes increasingly paramount, the findings presented in this paper offer valuable insights and methodologies for advancing the field of image encryption and secure data communication.
Future work should encompass an exploration of adaptive encryption algorithms, an investigation of hardware implementation, an integration with cloud services, a consideration of post-quantum security, and user experience enhancement. Additionally, potential extensions to multi-modal encryption, the exploration of advanced parallelization techniques, contributions to cryptographic standardization efforts, and real-world deployment scenarios are vital directions to further strengthen and apply the proposed image cipher’s contributions.

Author Contributions

Conceptualization: A.A.-D. and Y.S.; methodology: A.A.-D., Y.S., S.F. and S.A.-E.; formal analysis: A.A.-D. and Y.S.; investigation: S.F. and S.A.-E.; writing—original draft preparation: A.A.-D. and Y.S.; writing—review and editing: S.F. and S.A.-E.; supervision: A.A.-D. and Y.S.; funding acquisition: S.F. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the Artificial Intelligence Research Center (AIRC), College of Engineering and Information Technology, Ajman University, Ajman, UAE.

Data Availability Statement

Conflicts of Interest

The authors declare no conflicts of interest.

Appendix A. GIC Detailed Implementation

GIC introduces a groundbreaking strategy into the confusion phase, optimizing parallelism to its fullest potential. Additionally, it incorporates another innovative technique in the diffusion phase, enhancing efficiency and sensitivity to variations. A detailed description of this algorithm is provided below:
  • Load grayscale image.
  • Get image dimensions: r and c.
  • Allocate matrices and arrays: one matrix, I, size r c , to store the original image, another matrix, E, size r c , to store the encrypted image, two arrays, R o l l 1 and R o l l 2 , of lengths r and c of integers to store shift values, and finally, two arrays, D i f f 1 and D i f f 2 , of lengths r and c of doubles to store values in order to assist in the diffusion process.
  • Initialize variables: GIC uses six keys ( u k 1 u k 6 ) , a user-provided seed, U S , of the double type, and two integer values, R and C, to divide the image, all read from the user; a fixed initial seed, I S , holds the fraction part of PI.
  • Extract the pixel values into matrix I.
  • Divide the image: generate indices for R C sub-matrices. For example, if R = 2 , C = 2 , r = 6 , and c = 7 , the generated indices of the four sub-matrices would be as follows: s u b 1 = [ 0 , 0 , 3 , 3 ] , s u b 2 = [ 0 , 3 , 3 , 7 ] , s u b 3 = [ 3 , 0 , 6 , 3 ] , and s u b 4 = [ 3 , 3 , 6 , 7 ] . Notice that, if r does not divide R or if c does not divide C without a remainder, the extra pixels are added to the right and bottom sub-matrices.
  • Generate encryption keys: use the user-provided keys: u k 1 u k 6 and U S to generate two encryption keys, e k 1 and e k 2 , as follows:
    (a)
    Initialize an SBTM object with ( s e e d = I S / 2 + U S / 2 ) as a seed and u k 1 for the control variable.
    (b)
    Generate n random numbers; a value of 97 is used for n. Note that SBTM is extremely chaotic.
    (c)
    Set the control variable of SBTM to u k 2 ; this changes the control variable but keeps the state of the STBM object intact.
    (d)
    Repeat steps b and c for u k 3 u k 6 . At this point, the internal state of SBTM is influenced by all six user keys.
    (e)
    Generate e k 1 and e k 2 : use the next double random number, n 1 , and the 97th random number n 97 to generate e k 1 = n 1 and e k 2 = n 97 .
  • Generate D i f f 1 and D i f f 2 : create two threads, one to generate random double values for D i f f 1 and the other to generate random values for D i f f 2 . The SBTM used is initialized with s e e d = I S / 2 + U S / 2 , and the control variable is e k 1 and e k 2 , respectively.
  • Generate the digest, E S : the digest should be sensitive to any change in the original image. i.e., a change of one to any pixel of the image should produce a significantly different E S . The extremely chaotic and random behavior of SBTM is used to produce a strong and efficient digest as follows: create R C threads, one for each sub-image/sub-matrix; each thread returns S e e d k as follows:
    • S e e d k 0
    • i s u b k [ 0 ]
    • while i < subk [2] do
      • j s u b k [ 1 ]
      • while j < subk [3] do
        • S e e d k S e e d k + ( I [ i ] [ j ] + D i f f 2 [ j ] ) ( D i f f 1 [ i ] + D i f f 2 [ j ] )
        • S e e d k Fraction part of S e e d k
        • j j + 1
      • end while
      • i i + 1
    • end while
    • return S e e d k
    at this point, we have k sub-seeds S e e d k . Calculate E S as follows:
    E S 1 k S e e d k
    E S E S ( i n t ) E S
    s e e d s e e d / 2 + E S / 2
    E S is a very random digest influenced by all user variables and all pixel values of the image, I. Save E S to file. At this point, two strong keys and a strong seed are created, and the encryption process can commence.
  • Generate R o l l 1 and R o l l 2 : create two threads, one to generate random integer values for R o l l 1 and the other to generate random integer values for R o l l 2 . The SBTM used is initialized with s e e d , and the control variable is e k 1 and e k 2 , respectively. Note that R o l l 1 and R o l l 2 hold unique random values in the ranges of [0, r] and [0, c], respectively.
  • Encrypt the image: create R C threads, one for each s u b i m a g e / s u b m a t r i x . Each thread will do the following, assuming it will work on subk:
    • i s u b k [ 0 ]
    • while i < subk [2] do
      • j s u b k [ 1 ]
      • while j < subk [3] do
        • Simulate the shifting of pixels as follows:
        • Calculate new row value as r o w ( i + R o l l 2 [ j ] ) % r
        • Calculate new column value as c o l ( j + R o l l 1 [ r o w ] ) % c
    • (This will give us the coordinates of a I [ i , j ] after being shifted/rolled horizontally and vertically without actually moving the pixel value to this new location. This gives a huge performance boost and allows for the parallel encryption of the image.)
          • x D i f f 1 [ r o w ] 256
          • y D i f f 2 [ c o l ] 256
          • Encrypt pixel
    • E [ i , j ] as: E [ i , j ] I [ r o w , c o l ] ( ( R o l l 1 [ i ] R o l l 2 [ j ] ) % 256 ) ) x y
    • (This step is another performance improvement. Usually, a random number is generated and XORed with I [ r o w , c o l ] . Here, however, the random integers used to confuse the image are also used to encrypt it. An XOR and a modulus replace a function call.)
          • j j + 1
        end while
      • i i + 1
    • end while
    It is very important to understand that all threads are working on separate regions of the shared matrix, E, and hence, no locking or synchronization is needed.
  • Create an image, e n c I m a g e , from E.
  • Save e n c I m a g e to file.
  • Save the six user keys u k 1 through 6, and the user seed U S , or share them with people who will have access to decrypt the image.

Appendix B. CIC1 Detailed Implementation

This version was developed to encrypt colored images. It uses one thread to encrypt all three channels of a sub-image. It follows the same procedure as GIC. The differences are highlighted below:
  • Load colored image.
  • Get image dimensions: r and c.
  • Allocate matrices and arrays: three matrices, I R , I G , and I B , size r c , to store the original image, another three matrices, E R , E G , and E B , size r c , to store the encrypted image, three pairs of arrays, R o l l 1 and R o l l 2 of length r and c of integers to store shift values ( R o l l 1 r and R o l l 2 r are used for the red channel, R o l l 1 g and R o l l 2 g for the green channel, and R o l l 1 b and R o l l 2 b for the blue one), and three pairs of arrays, D i f f 1 and D i f f 2 of length r and c of doubles to store values to assist in the diffusion process ( D i f f 1 r and D i f f 2 r are used for the red channel, D i f f 1 g and D i f f 2 g for the green channel, and D i f f 1 b and D i f f 2 b for the blue one).
  • Initialize variables: same as step 4 in GIC.
  • Extract pixel values into matrices I R , I G , and I B
  • Divide the image: same as 6 in GIC.
  • Generate encryption keys: use the user-provided keys and seed, u k 1 u k 6 , and U S to generate six encryption keys e k 1 through e k 6 as follows:
    • a. Initialize an SBTM object with ( s e e d = I S / 2 + U S / 2 ) as a s e e d and u k 1 for the control variable
    • b. Generate n random numbers; a value of 97 is used for n. (Note that SBTM is extremely chaotic.)
    • c. Set the control variable of SBTM to u k 2 ; (this changes the control variable but keeps the state of the STBM object intact.)
    • d. Repeat b and c for u k 3 u k 6 . At this point, the internal state of SBTM is influenced by all six user keys.
    • e. Generate e k 1 through e k 6 :
    • j 1
    • while j <= 6 do
      • e k j next random number
      • generate 97 random numbers (note that 97 is a prime number. Any arbitrary number of steps can be used as SBTM produces drastically different next values.)
      • j j + 1
    • end while
  • Generate six Diff arrays: create six threads; each one generates random double values for one of the Diff arrays. The SBTM objects used are initialized with s e e d = I S / 2 + U S / 2 and one of the six keys, e k 1 e k 6 , for its control variable.
  • Generate the digest, E S : create R C threads to calculate k sub-seeds, one for each sub-image. Then, calculate E S as follows:
    • S e e d k 0
    • i s u b k [ 0 ]
    • while i < subk [2] do
      • j s u b k [ 1 ]
      • while j < subk [3] do
        • S e e d k S e e d k + ( I R [ i ] [ j ] + D i f f 2 r [ j ] ) ( D i f f 1 r [ i ] + D i f f 2 r [ j ] )
        • S e e d k Fraction part of S e e d k
        • S e e d k S e e d k + ( I G [ i ] [ j ] + D i f f 2 g [ j ] ) ( D i f f 1 g [ i ] + D i f f 2 g [ j ] )
        • S e e d k Fraction part of S e e d k
        • S e e d k S e e d k + ( I B [ i ] [ j ] + D i f f 2 b [ j ] ) ( D i f f 1 b [ i ] + D i f f 2 b [ j ] )
        • S e e d k Fraction part of S e e d k
        • j j + 1
      • end while
      • i i + 1
    • end while
    • return S e e d k
    • Follow the rest of step 9 in GIC.
    E S is a very random digest influenced by all user variables and all pixel values of image I. Save E S to file. At this point, six strong keys and a strong seed are created, and the encryption process can commence.
  • Generate six roll arrays: create six threads; each one generates random integer values for one of the Roll arrays. The SBTM objects used are initialized with s e e d and one of the six keys, e k 1 e k 6 , for its control variable. Note that R o l l 1 and R o l l 2 arrays hold unique random values in the ranges of [0, r] and [0, c], respectively.
  • Encrypt the image: create R C threads, one for each sub-image. Each thread will do the following, assuming it will work on subk:
    • i s u b k [ 0 ]
    • while i < subk [2] do
      • j s u b k [ 1 ]
      • while j < subk [3] do
        • Simulate the shifting of pixels as follows:
        • For the red channel:
        • 1. Calculate the new row value as follows: r o w ( i + R o l l 2 r [ j ] ) % r
        • 2. Calculate the new column value as follows: c o l ( j + R o l l 1 r [ r o w ] ) % c
        • 3. x D i f f 1 r [ r o w ] 256
        • 4. y D i f f 2 r [ c o l ] 256
        • 5. Encrypt pixel E R [ i , j ] as follows:
    • E [ i , j ] I R [ r o w , c o l ] ( ( R o l l 1 r [ i ] R o l l 2 r [ j ] ) % 256 ) ) x y
        • 6. Repeat 1, 2, 3, 4, and 5 using I G , E G , R o l l 1 g , R o l l 2 g , D i f f 1 g , and D i f f 2 g .
        • 7. Repeat 1, 2, 3, 4, and 5 using I B , E B , R o l l 1 b , R o l l 2 b , D i f f 1 b , and D i f f 2 b .
        • j j + 1
      • end while
      • i i + 1
    • end while
    • (Note that this thread encrypted all the pixels from the three channels of this sub-image)
  • Create an image, e n c I m a g e , from matrices E R , E G , and E B .
  • Save e n c I m a g e to file.
  • Save/share user keys and U S .

Appendix C. CIC3 Detailed Implementation

This version is a very similar to CIC1; however, in step 11, a thread working on subk creates three threads, one to encrypt the red channel of this sub-image and the other two to encrypt the green and blue channels. So, for example, if R = 2 and C = 2 , four sub-images will be created. While CIC1 will create only four threads to do the encryption step (11), CIC3 will create 12 threads to do the same step.

Appendix D. Decryption Detailed Implementation

Appendix D.1. GICD

The description of the decryption algorithm is given below:
  • Load E S from file, and then load the encrypted image.
  • Get image dimensions: r and c.
  • Allocate matrices and arrays: one matrix, E, size r c , to store the encrypted image, another matrix, D, size r c , to store the decrypted image, and two arrays, R o l l 1 and R o l l 2 , of lengths r and c of integers to store shift values. Finally, two arrays, D i f f 1 and D i f f 2 , of lengths r and c of doubles to store values are used to assist in the diffusion process.
  • Initialize variables: GICD uses six keys ( u k 1 u k 6 ) , the user seed, U S , digest E S of the double type generated in the encryption part, and two integer values, R and C, to divide the image, all read from the user. Providing different values for R and C does not affect the process.
  • Extract pixel values into matrix E.
  • Divide the image: generate indices for the R C submatrices. Same as step 6 in GIC.
  • Generate encryption keys: use the user-provided keys u k 1 u k 6 , and U S to generate two encryption keys, e k 1 and e k 2 , as in step 7 of GIC.
  • Generate Diff arrays: same as step 8 in GIC.
  • Generate R o l l 1 and R o l l 2 : same as step 10 in GIC; use s e e d = E S / 2 + s e e d / 2 as a seed for SBTM.
  • Decrypt the image: create R C threads, one for each sub-image. Each thread will do the following, assuming it will work on subk:
    • i s u b k [ 0 ]
    • while i < subk [2] do
      • j s u b k [ 1 ]
      • while j < subk [3] do
        • Simulate the shifting of pixels as follows:
        • Calculate new row value as follows: r o w ( i + R o l l 2 [ j ] ) % r
        • Calculate new column value as follows: c o l ( j + R o l l 1 [ r o w ] ) % c
        • x D i f f 1 [ r o w ] 256
        • y D i f f 2 [ c o l ] 256
        • Decrypt pixel
    • D [ r o w , c o l ] as follows: D [ r o w , c o l ] E [ i , j ] y x ( ( R o l l 1 [ i ] R o l l 2 [ j ] ) % 256 ) )
        • j j + 1
      • end while
      • i i + 1
    • end while
  • Create an image, D e c I m a g e , from matrix D.
  • Save D e c I m a g e to disk. A lossless format such as PNG is used for the ability to compare it with the original image.

Appendix D.2. CIC1D

  • Load E S from file, then load the encrypted color image.
  • Get image dimensions: r and c.
  • Allocate matrices and arrays: three matrices, D R , D G , and D B , size r c , to store the decrypted image, another three matrices, E R , E G , and E B , size r c , to store the encrypted image, three pairs of arrays, R o l l 1 and R o l l 2 of lengths r and c of integers to store shift values ( R o l l 1 r and R o l l 2 r are used for the red channel, R o l l 1 g and R o l l 2 g for the green channel, and R o l l 1 b and R o l l 2 b for the blue one), and three pairs of arrays, D i f f 1 and D i f f 2 of lengths r and c of doubles to store values to assist in the diffusion process ( D i f f 1 r and D i f f 2 r are used for the red channel, D i f f 1 g and D i f f 2 g for the green channel, and D i f f 1 b and D i f f 2 b for the blue one).
  • Initialize variables: same as step 4 in GICD.
  • Extract pixel values into matrices E R , E G , and E B
  • Divide the image: same as in step 6 in GICD. Providing different values for R and C does not affect the process.
  • Generate encryption keys: use the user-provided keys and seed, u k 1 u k 6 , and U S to generate six encryption keys, e k 1 through e k 6 , as in step 7 of CIC1.
  • Generate six Diff arrays: same as step 8 in CIC1. use s e e d = I S / 2 + U S / 2 to initialize SBTM.
  • Generate six Roll arrays: create six threads; each one generates random integer values for one of the Roll arrays. The SBTM objects used are initialized with s e e d = E S / 2 + s e e d / 2 and one of the six keys, e k 1 e k 6 , for its control variable.
  • Decrypt the image: create R C threads, one for each sub-image. Each thread will do the following, assuming it will work on subk:
    • i s u b k [ 0 ]
    • while i < subk [2] do
      • j s u b k [ 1 ]
      • while j < subk [3] do
        • Simulate the shifting of pixels as follows:
        • For the red channel:
        • 1. Calculate the new row value as follows: r o w ( i + R o l l 2 r [ j ] ) % r
        • 2. Calculate the new column value as follows: c o l ( j + R o l l 1 r [ r o w ] ) % c
        • 3. x D i f f 1 r [ r o w ] 256
        • 4. y D i f f 2 r [ c o l ] 256
        • 5. Decrypt pixel D R [ r o w , c o l ] as follows:
    • D R [ r o w , c o l ] E R [ i , j ] ( ( R o l l 1 r [ i ] R o l l 2 r [ j ] ) % 256 ) ) x y
        • 6. Repeat 1, 2, 3, 4, and 5 using D G , E G , R o l l 1 g , R o l l 2 g , D i f f 1 g , and D i f f 2 g .
        • 7. Repeat 1, 2, 3, 4, and 5 using D B , E B , R o l l 1 b , R o l l 2 b , D i f f 1 b , and D i f f 2 b .
        • j j + 1
      • end while
      • i i + 1
    • end while
    • (Note that this thread encrypted all the pixels from the three channels of this sub-image)
  • Create an image, d e c I m a g e , from matrices D R , D G , and D B .
  • Save d e c I m a g e to disk. A lossless format such as PNG is used for the ability to compare it with the original image.

Appendix D.3. CIC3D

This version is very similar to CIC1D; however, in step 10, a thread working on subk creates three threads, one to decrypt the red channel of this sub-image and the other two to decrypt the green and blue channels. So, for example, if R = 2 and C = 2 , four sub-images will be created. While CIC1 will create only four threads to do the decryption step (10), CIC3D will create 12 threads to do the same step. GICPiD, CIC1PiD, and CIC3PiD use the proposed CPRNG, namely SBTMPi.

Appendix D.4. Example

Figure A1 demonstrates how GIC works in a simple example. In this figure, an 8 * 8 image, I, is divided into four sub-images ( S u b 0 to S u b 3 ). First, the E S calculation is explained: Four threads are created. Assuming that T h r e a d 0 will work on S u b 0 , it will work on S e e d 0 , initially zero. Considering the pixel at I[0,0], S e e d 0 = S e e d 0 + ( I [ 0 , 0 ] + D i f f 2 [ 0 ] ) ( D i f f 1 [ 0 ] + D i f f 2 [ 0 ] ) . In numbers, S e e d 0 = S e e d 0 + ( 152 + 0.431 ) ( 0.113 + 0.431 ) = 82.922 . The fraction part is kept, so S e e d 0 = 0.922 . Then, the pixel at I[0,1] is considered, and so on. T h r e a d 1 will work on s u b 1 , starting at I[0,4]. T h r e a d 2 will work on s u b 2 , starting at I[4,0]. Finally, T h r e a d 3 will work on s u b 3 , starting at I[4,4]. Secondly, the encryption process follows. The encryption process is very simple, and it can be represented in the following steps:
  • r o w ( i + R o l l 2 [ j ] ) % r
  • c o l ( j + R o l l 1 [ r o w ] ) % c
  • x D i f f 1 [ r o w ] 256
  • y D i f f 2 [ c o l ] 256
  • E [ i , j ] I [ r o w , c o l ] ( ( R o l l 1 [ i ] R o l l 2 [ j ] ) % 256 ) ) x y
E is a matrix that holds the encrypted image. Four threads are created. Each thread works on a different sub-image. To show how E [ 0 , 0 ] is encrypted, we need to calculate a new row and column as r o w = ( 0 + 5 ) % 8 = 5 and c o l = ( 0 , 1 ) % 8 = 1. This means I[5,1] will be encrypted and stored in E[0,0]. We then calculate x and y as follows: x = D i f f 1 [ 5 ] 256 = 0.918 256 = 235 and y = D i f f 2 [ 1 ] 256 = 0.747 256 = 191 . Next, we encrypt E[0,0] as follows: E [ 0 , 0 ] = I [ 5 , 1 ] ( ( 2 5 ) % 256 ) ) 234 191 = 80 .
Figure A1. Simplified example of 8 * 8 image along with created arrays of random values.
Figure A1. Simplified example of 8 * 8 image along with created arrays of random values.
Symmetry 16 00593 g0a1

Appendix E. Sensitivity Results

Table A1. Sensitivity to change.
Table A1. Sensitivity to change.
Lenna.pngBaboon.tiffBernard-hermant-nHRXNv2qeDE-unsplash.jpg httpsWhite.pngBlack.pngPeppers.tiffJocelyn–MoralesDannyLennag.png
SBTM-Based Cipher
Original Image vs. Encrypted Image
Channel 0 UACI27.5884201931.2556936234.2101776850.0064565650.0022372933.8483533749.0073575434.0952818929.23137141
Channel 0 NPCR99.6253967399.5788574299.611537599.5914459299.61009799.6185302799.6127557299.60907154 9.96 × 10 1
Channel 1 UACI30.612855828.5879157633.7755262150.0720573949.9956248133.87297088
Channel 1 NPCR99.618148899.6265411499.6081708399.5956420999.60835899.60289001
Channel 2 UACI33.0462227629.9806273232.7611179150.0293327850.0009020429.00593776
Channel 2 NPCR99.6273040899.6284484999.6120791799.6047973699.60950299.60365295
Encrypted Image vs. One-pixel Modified Encrypted Image
CH0 UACI33.4586528733.460863933.4664497733.3983178233.4657168533.382221333.4616226433.4724030133.44539717
CH0 NPCR99.6337890699.60937599.6088666799.6250152699.60826599.60517883 9.96 × 10 1 9.96 × 10 1 9.96 × 10 1
CH1 UACI33.4452490733.5541399833.4645157533.4329133933.4627788233.45076617
CH1 NPCR99.596786599.6200561599.6091583399.6067047199.60892899.60136414
CH2 UACI33.4702001833.46767833.459464333.4747538833.4628802233.45834321
CH2 NPCR99.5906829899.6135711799.6096916799.6067047199.60908399.6131897
Encrypted Image vs. Encrypted Image with 1 bit Modified Key
CH0 UACI33.5118132933.4698097433.4724263133.5599323333.4616907233.42832079 3.35 × 10 1 3.35 × 10 1 3.34 × 10 1
CH0 NPCR99.6105194199.6028900199.6103583399.6253967399.60893399.5899200499.6111825999.6082021799.61013794
CH1 UACI33.5039026633.4382659333.4626032433.5101228633.4633026833.41574575
CH1 NPCR99.6135711799.6204376299.60747599.6112823599.6101799.60479736
CH2 UACI33.5118132933.4698097433.4724263133.5599323333.4630468233.42832079
CH2 NPCR99.6105194199.6028900199.6103583399.6253967399.61728999.58992004
Original Image vs. Encrypted Image
Channel 0 UACI27.6570817533.8091412734.2073269649.9948598849.8585689833.8563148648.987403734.0915099329.2967643
Channel 0 NPCR99.6250152699.5933532799.611687599.6265411499.6025085499.6059417799.6109405799.6079725399.61013794
Channel 1 UACI30.5900603633.9536090933.7704919950.0343741649.9783265434.00023516
Channel 1 NPCR99.5971679799.6227264499.6096041799.5986938599.6158599999.60365295
Channel 2 UACI33.0450469429.049060332.7670202949.9703590549.9938994829.0110719
Channel 2 NPCR99.605560399.6261596799.610512599.6116638299.6059417799.6257782
Encrypted Image vs. One-pixel Modified Encrypted Image
CH0 UACI33.4436394233.4471668933.4629232733.4413266633.4215740133.4774750433.4666322733.4583122433.48127926
CH0 NPCR99.6170043999.6231079199.6081833399.6013641499.6288299699.6139526499.6105291399.6084646299.59793091
CH1 UACI33.4582938433.4471010733.4666142533.4712877533.5068257633.49143533
CH1 NPCR99.613189799.5960235699.6099208399.6120452999.6227264499.5967865
CH2 UACI33.4324840533.4279692433.4519829633.4700954733.4154031833.45033683
CH2 NPCR99.6002197399.6273040899.6081208399.596786599.6162414699.59907532
Encrypted Image vs. Encrypted Image with 1 bit Modified Key
CH0 UACI33.5771448533.4470591833.4686344433.432132533.478671833.3945599733.4751768133.4553461633.56725506
CH0 NPCR99.6250152699.6047973699.6095166799.6063232499.6143341199.6143341199.6084598699.6084810399.5967865
CH1 UACI33.4833721133.4471698833.4686488633.4627488133.4708898233.55970794
CH1 NPCR99.6196746899.6002197399.610499.6036529599.6105194199.62844849
CH2 UACI33.5771448533.4470591833.4686344433.432132533.478671833.39455997
CH2 NPCR99.6250152699.6047973699.6095166799.6063232499.6143341199.61433411
BACI: Encrypted Image vs. One Pixel Modified Encrypted Image
CH00.2676721550.2678259620.2677019830.2681542750.2669540880.2679244890.2677130610.267741380.268127337
CH10.2668899220.2678326580.2676139220.2676589440.2677439930.267803635
CH20.2673467840.2673057490.2677422050.2678140980.2675096640.267944045
BACI: Encrypted Image vs. Encrypted Image with 1 bit Modified Key
CH00.2675887540.2681731280.2677194240.2677221940.2677554870.2686337960.267673930.2676543320.268329708
CH10.2681292670.2676389430.2677532720.2676168560.2670149160.26709827
CH20.2676332810.2676975710.2677433220.2680801330.2678981440.267849135

Appendix F. Ciphers Performance vs. Number of Sub-Images

Table A2. SBTM Results.
Table A2. SBTM Results.
SBTM
Bernard-hermant-nHRXNv2qeDE-unsplash.jpgPeppers.tiff
cic1cic3cic1cic3
h,v subavg time msh,v subavg time msh,v subavg time msh,v subavg time ms
[1, 1]2553.4[1, 1]786[1, 1]14.1[1, 1]6.46
[1, 2]1009[1, 2]434[1, 2]5.5[1, 2]4.08
[1, 3]688.3[1, 3]397.1[1, 3]4.6[1, 3]3.44
[1, 4]543.1[1, 4]344.7[1, 4]3.2[1, 4]3.14
[1, 5]444.4[1, 5]316[1, 5]2.5[1, 5]3.46
[1, 6]379.1[1, 6]292.7[1, 6]3.1[1, 6]3.12
[1, 7]418.1[1, 7]286.6[1, 7]4.7[1, 7]3.22
[1, 8]397.5[1, 8]286.7[1, 8]3.2[1, 8]3.48
[1, 9]366.6[1, 9]292.2[1, 9]3.1[1, 9]3.42
[1, 10]347.2[1, 10]289.3[1, 10]3.1[1, 10]3.84
[2, 1]981[2, 1]434.2[2, 1]4.8[2, 1]3.14
[2, 2]523.4[2, 2]351.1[2, 2]3.1[2, 2]3.14
[2, 3]378.4[2, 3]290.7[2, 3]3.1[2, 3]2.9
[2, 4]388.5[2, 4]283.6[2, 4]3.2[2, 4]3.14
[2, 5]366.2[2, 5]288.7[2, 5]1.5[2, 5]3.76
[2, 6]324.1[2, 6]275.4[2, 6]3.2[2, 6]3.84
[2, 7]299.3[2, 7]265.8[2, 7]3.1[2, 7]4.4
[2, 8]288.6[2, 8]271.8[2, 8]2[2, 8]4.86
[2, 9]272.2[2, 9]266[2, 9]3.2[2, 9]5
[2, 10]261.6[2, 10]262.6[2, 10]3.1[2, 10]5.74
[3, 1]679.2[3, 1]391.5[3, 1]3.1[3, 1]2.9
[3, 2]379.7[3, 2]290.8[3, 2]3.2[3, 2]2.76
[3, 3]365.4[3, 3]291.1[3, 3]4.7[3, 3]3.52
[3, 4]331.7[3, 4]274.5[3, 4]3.1[3, 4]3.76
[3, 5]309.6[3, 5]266.1[3, 5]1.6[3, 5]4.4
[3, 6]270.6[3, 6]262.8[3, 6]4.7[3, 6]5.6
[3, 7]271.3[3, 7]261.7[3, 7]1.6[3, 7]5.76
[3, 8]274.9[3, 8]260.7[3, 8]3.1[3, 8]6.38
[3, 9]287.9[3, 9]258.1[3, 9]3.1[3, 9]7.06
[3, 10]280.2[3, 10]262.9[3, 10]4.8[3, 10]7.94
[4, 1]524.8[4, 1]343.1[4, 1]1.5[4, 1]2.82
[4, 2]386.7[4, 2]283.3[4, 2]3.1[4, 2]3.14
[4, 3]323.5[4, 3]273.3[4, 3]3.7[4, 3]3.84
[4, 4]288.8[4, 4]267.3[4, 4]1.6[4, 4]5.14
[4, 5]258.3[4, 5]261.3[4, 5]3.2[4, 5]5.28
[4, 6]274.3[4, 6]262.7[4, 6]3.1[4, 6]6.58
[4, 7]281.6[4, 7]261.2[4, 7]3.2[4, 7]7.34
[4, 8]280.5[4, 8]256.8[4, 8]3.1[4, 8]8.22
[4, 9]271.2[4, 9]256.5[4, 9]3.1[4, 9]9.18
[4, 10]263[4, 10]254.9[4, 10]4.7[4, 10]10.14
[5, 1]436.7[5, 1]316.3[5, 1]1.6[5, 1]2.5
[5, 2]357.1[5, 2]286.1[5, 2]3.1[5, 2]3.76
[5, 3]295.1[5, 3]267.4[5, 3]1.6[5, 3]4.52
[5, 4]261.9[5, 4]261[5, 4]3.2[5, 4]5.64
[5, 5]280[5, 5]257.5[5, 5]3.1[5, 5]6.68
[5, 6]280.3[5, 6]257.2[5, 6]3.1[5, 6]7.92
[5, 7]276.9[5, 7]257.5[5, 7]3.2[5, 7]8.88
[5, 8]263.3[5, 8]256.8[5, 8]3.1[5, 8]9.8
[5, 9]266.1[5, 9]253.2[5, 9]3.1[5, 9]11.04
[5, 10]266.3[5, 10]252[5, 10]5.2[5, 10]12.04
[6, 1]379.8[6, 1]289.5[6, 1]1.6[6, 1]3.14
[6, 2]318.8[6, 2]270[6, 2]3.1[6, 2]3.86
[6, 3]274.5[6, 3]263.7[6, 3]1.6[6, 3]5.02
[6, 4]276.7[6, 4]259.6[6, 4]3.1[6, 4]6.68
[6, 5]285.8[6, 5]256.6[6, 5]3.2[6, 5]7.52
[6, 6]273.2[6, 6]251.9[6, 6]3.1[6, 6]9.2
[6, 7]264[6, 7]250.2[6, 7]3.2[6, 7]10.42
[6, 8]268.2[6, 8]250.3[6, 8]4.6[6, 8]11.78
[6, 9]267.7[6, 9]250[6, 9]4.8[6, 9]12.92
[6, 10]275.6[6, 10]252.6[6, 10]4.7[6, 10]14.52
[7, 1]404.3[7, 1]283.4[7, 1]1.5[7, 1]2.92
[7, 2]302.5[7, 2]262.9[7, 2]3.1[7, 2]4.38
[7, 3]273.3[7, 3]258.1[7, 3]1.6[7, 3]5.76
[7, 4]289.5[7, 4]271.1[7, 4]3.2[7, 4]7.22
[7, 5]276.7[7, 5]266.2[7, 5]3.1[7, 5]8.86
[7, 6]263.2[7, 6]250.4[7, 6]4.2[7, 6]10.42
[7, 7]267.9[7, 7]251.8[7, 7]4.7[7, 7]12
[7, 8]266.2[7, 8]250.2[7, 8]4[7, 8]13.32
[7, 9]263.2[7, 9]248.9[7, 9]3.8[7, 9]15.12
[7, 10]263.3[7, 10]249.8[7, 10]4.7[7, 10]16.78
[8, 1]384.6[8, 1]279.6[8, 1]3.2[8, 1]3.12
[8, 2]287.9[8, 2]266.4[8, 2]1.5[8, 2]4.48
[8, 3]278.5[8, 3]258.2[8, 3]3.1[8, 3]6.58
[8, 4]284.4[8, 4]253.4[8, 4]3.2[8, 4]8.24
[8, 5]264.6[8, 5]249.5[8, 5]3.1[8, 5]9.82
[8, 6]267.1[8, 6]247.5[8, 6]3.2[8, 6]11.68
[8, 7]265[8, 7]249.4[8, 7]4.7[8, 7]13.58
[8, 8]261.2[8, 8]247.6[8, 8]4.7[8, 8]15.22
[8, 9]261.4[8, 9]250[8, 9]4.9[8, 9]17.12
[8, 10]257.3[8, 10]252.6[8, 10]4.9[8, 10]18.98
[9, 1]364.6[9, 1]280.5[9, 1]3.1[9, 1]3.46
[9, 2]273.7[9, 2]257.6[9, 2]2[9, 2]5.04
[9, 3]285.4[9, 3]253.8[9, 3]2.7[9, 3]6.94
[9, 4]270.3[9, 4]253.4[9, 4]4.7[9, 4]9.26
[9, 5]263.4[9, 5]249[9, 5]3.2[9, 5]11.06
[9, 6]264.7[9, 6]247.1[9, 6]4.7[9, 6]12.94
[9, 7]261.5[9, 7]247[9, 7]3.1[9, 7]14.9
[9, 8]260[9, 8]250.2[9, 8]6.3[9, 8]17.1
[9, 9]256.8[9, 9]246.7[9, 9]6.3[9, 9]19.2
[9, 10]263.1[9, 10]248.5[9, 10]4.7[9, 10]21.16
[10, 1]343.8[10, 1]277.5[10, 1]3.1[10, 1]3.22
[10, 2]268.2[10, 2]261.5[10, 2]1.6[10, 2]5.66
[10, 3]285.2[10, 3]258.4[10, 3]3.5[10, 3]7.62
[10, 4]273.6[10, 4]257.6[10, 4]3.1[10, 4]10.04
[10, 5]275.4[10, 5]247.4[10, 5]4.8[10, 5]12.02
[10, 6]269.9[10, 6]248.8[10, 6]3.1[10, 6]14.6
[10, 7]269.8[10, 7]246.9[10, 7]6.3[10, 7]16.58
[10, 8]259.7[10, 8]246.7[10, 8]4.7[10, 8]18.82
[10, 9]264[10, 9]247[10, 9]7.8[10, 9]21.24
[10, 10]256.1[10, 10]248.6[10, 10]6.4[10, 10]23.38
min time is256.1min time is246.7min time is1.5min time is2.5
Table A3. SBTMi Results.
Table A3. SBTMi Results.
SBTMi
Bernard-hermant-nHRXNv2qeDE-unsplash.jpgPeppers.tiff
cic1cic3cic1cic3
h,v subavg time msh,v subavg time msh,v subavg time msh,v subavg time ms
[1, 1]2504.9[1, 1]791.5[1, 1]9.9[1, 1]6.28
[1, 2]995.9[1, 2]431.4[1, 2]5.04[1, 2]4.16
[1, 3]674.5[1, 3]400.5[1, 3]3.5[1, 3]3.46
[1, 4]519[1, 4]352.5[1, 4]3.14[1, 4]3.14
[1, 5]433.5[1, 5]329[1, 5]3.14[1, 5]3.22
[1, 6]383.6[1, 6]307.9[1, 6]2.52[1, 6]3.14
[1, 7]408.7[1, 7]285.1[1, 7]2.96[1, 7]3.14
[1, 8]393[1, 8]296.4[1, 8]2.44[1, 8]3.54
[1, 9]362.6[1, 9]294[1, 9]2.82[1, 9]3.44
[1, 10]345.7[1, 10]292[1, 10]2.54[1, 10]3.76
[2, 1]980.6[2, 1]428.8[2, 1]4.16[2, 1]3.2
[2, 2]519.2[2, 2]346.9[2, 2]2.84[2, 2]2.82
[2, 3]375.5[2, 3]292.7[2, 3]2.2[2, 3]2.84
[2, 4]390.5[2, 4]291.4[2, 4]2.6[2, 4]3.22
[2, 5]343.2[2, 5]287.3[2, 5]2.5[2, 5]3.76
[2, 6]320.4[2, 6]279.3[2, 6]2.52[2, 6]4.06
[2, 7]299.4[2, 7]271.5[2, 7]2.2[2, 7]4.5
[2, 8]286.7[2, 8]280.6[2, 8]2.28[2, 8]4.7
[2, 9]274.9[2, 9]270.1[2, 9]2.52[2, 9]5.12
[2, 10]259.8[2, 10]267.4[2, 10]2.52[2, 10]5.96
[3, 1]671.2[3, 1]394.7[3, 1]3.12[3, 1]2.88
[3, 2]382.5[3, 2]295.7[3, 2]2.32[3, 2]2.84
[3, 3]362.6[3, 3]291.7[3, 3]2.52[3, 3]3.44
[3, 4]320.8[3, 4]278[3, 4]2.2[3, 4]3.84
[3, 5]295.5[3, 5]272.8[3, 5]2.54[3, 5]4.72
[3, 6]271.7[3, 6]268.8[3, 6]2.26[3, 6]5.42
[3, 7]269.5[3, 7]262.2[3, 7]2.52[3, 7]5.64
[3, 8]274.9[3, 8]263.9[3, 8]2.82[3, 8]6.6
[3, 9]279.8[3, 9]263.6[3, 9]2.52[3, 9]7.28
[3, 10]284.7[3, 10]261[3, 10]2.94[3, 10]7.84
[4, 1]517[4, 1]347[4, 1]2.82[4, 1]2.58
[4, 2]395.3[4, 2]287.5[4, 2]2.18[4, 2]3.46
[4, 3]321.6[4, 3]276.2[4, 3]2.52[4, 3]4.08
[4, 4]288.7[4, 4]273.1[4, 4]2.4[4, 4]4.8
[4, 5]260.6[4, 5]265.1[4, 5]2.4[4, 5]5.64
[4, 6]275.4[4, 6]266[4, 6]2.82[4, 6]6.36
[4, 7]282.5[4, 7]262.8[4, 7]2.82[4, 7]7.62
[4, 8]278.1[4, 8]258.3[4, 8]2.94[4, 8]8.24
[4, 9]269.3[4, 9]261.2[4, 9]3.14[4, 9]9.12
[4, 10]263.5[4, 10]257.5[4, 10]3.24[4, 10]10.1
[5, 1]432.2[5, 1]316.3[5, 1]2.5[5, 1]2.6
[5, 2]342.1[5, 2]284.5[5, 2]2.2[5, 2]3.76
[5, 3]297.2[5, 3]270[5, 3]2.52[5, 3]4.54
[5, 4]258.9[5, 4]263.7[5, 4]2.5[5, 4]5.64
[5, 5]279.5[5, 5]261.3[5, 5]2.66[5, 5]6.74
[5, 6]279.9[5, 6]260.5[5, 6]2.82[5, 6]7.92
[5, 7]269.8[5, 7]258.5[5, 7]2.82[5, 7]8.8
[5, 8]262.7[5, 8]259[5, 8]3.46[5, 8]10.12
[5, 9]261.6[5, 9]255.8[5, 9]3.54[5, 9]11.14
[5, 10]266.8[5, 10]255.4[5, 10]4.08[5, 10]12.32
[6, 1]370.4[6, 1]290.9[6, 1]2.2[6, 1]2.82
[6, 2]318.7[6, 2]276.6[6, 2]2.3[6, 2]3.76
[6, 3]272.5[6, 3]269[6, 3]2.52[6, 3]5.42
[6, 4]275.1[6, 4]262.4[6, 4]2.56[6, 4]6.34
[6, 5]284.2[6, 5]259.3[6, 5]2.76[6, 5]7.86
[6, 6]267.7[6, 6]255.2[6, 6]3.24[6, 6]9.18
[6, 7]261.4[6, 7]262.1[6, 7]3.44[6, 7]10.42
[6, 8]268.6[6, 8]259.5[6, 8]3.76[6, 8]11.68
[6, 9]263.1[6, 9]261.3[6, 9]4.04[6, 9]13.04
[6, 10]266.2[6, 10]262.1[6, 10]4.4[6, 10]14.2
[7, 1]403.5[7, 1]288.8[7, 1]2.38[7, 1]3.14
[7, 2]299.9[7, 2]270.9[7, 2]2.1[7, 2]4.22
[7, 3]272.3[7, 3]266.9[7, 3]2.52[7, 3]5.9
[7, 4]280.5[7, 4]270.5[7, 4]2.82[7, 4]7.3
[7, 5]270.2[7, 5]262.5[7, 5]3.2[7, 5]8.86
[7, 6]262.3[7, 6]259[7, 6]3.46[7, 6]10.12
[7, 7]269.7[7, 7]252.6[7, 7]3.76[7, 7]11.92
[7, 8]266.9[7, 8]255.8[7, 8]4.16[7, 8]13.58
[7, 9]259.2[7, 9]253.2[7, 9]4.78[7, 9]15.14
[7, 10]261.4[7, 10]253.4[7, 10]4.74[7, 10]16.48
[8, 1]379.5[8, 1]283.1[8, 1]2.2[8, 1]3.14
[8, 2]285.4[8, 2]268.4[8, 2]2.52[8, 2]5
[8, 3]279.4[8, 3]261.5[8, 3]2.52[8, 3]6.36
[8, 4]280.9[8, 4]259.1[8, 4]2.72[8, 4]8.24
[8, 5]266.1[8, 5]257.9[8, 5]3.46[8, 5]9.84
[8, 6]267.5[8, 6]256.9[8, 6]3.78[8, 6]11.68
[8, 7]269.3[8, 7]258.2[8, 7]4.18[8, 7]13.62
[8, 8]266.5[8, 8]259.2[8, 8]4.4[8, 8]15.24
[8, 9]266.1[8, 9]257.3[8, 9]5.12[8, 9]17.12
[8, 10]260.1[8, 10]265.7[8, 10]5.68[8, 10]18.6
[9, 1]363.3[9, 1]286.5[9, 1]2.18[9, 1]3.22
[9, 2]270.8[9, 2]272.7[9, 2]2.6[9, 2]5.32
[9, 3]281.4[9, 3]262.1[9, 3]2.52[9, 3]7
[9, 4]267.1[9, 4]260.6[9, 4]3.14[9, 4]8.86
[9, 5]260.4[9, 5]259.2[9, 5]3.54[9, 5]11.06
[9, 6]265.7[9, 6]258.6[9, 6]4.4[9, 6]12.92
[9, 7]260.5[9, 7]257[9, 7]4.5[9, 7]14.9
[9, 8]258.8[9, 8]264.3[9, 8]5.34[9, 8]17.04
[9, 9]256.3[9, 9]258.2[9, 9]5.78[9, 9]18.98
[9, 10]260.6[9, 10]258[9, 10]6.3[9, 10]21.18
[10, 1]342.8[10, 1]282.6[10, 1]2.5[10, 1]3.22
[10, 2]259.4[10, 2]263.9[10, 2]2.3[10, 2]5.64
[10, 3]279.5[10, 3]257.2[10, 3]2.92[10, 3]7.62
[10, 4]261[10, 4]252.6[10, 4]3.36[10, 4]9.8
[10, 5]271.6[10, 5]249.5[10, 5]3.54[10, 5]12
[10, 6]264.4[10, 6]250.7[10, 6]4.72[10, 6]14.26
[10, 7]268.7[10, 7]251.6[10, 7]4.82[10, 7]16.64
[10, 8]261.2[10, 8]252[10, 8]6.02[10, 8]18.84
[10, 9]268.3[10, 9]255.7[10, 9]6.06[10, 9]21.02
[10, 10]259.2[10, 10]253.2[10, 10]6.98[10, 10]23.14
min time is256.3min time is249.5min time is2.1min time is2.58

References

  1. Zia, U.; McCartney, M.; Scotney, B.; Martinez, J.; AbuTair, M.; Memon, J.; Sajjad, A. Survey on image encryption techniques using chaotic maps in spatial, transform and spatiotemporal domains. Int. J. Inf. Secur. 2022, 21, 917–935. [Google Scholar] [CrossRef]
  2. Shah, P.; Ayoade, J. An Empricial Study of Brute Force Attack on Wordpress Website. In Proceedings of the 2023 5th International Conference on Smart Systems and Inventive Technology (ICSSIT), Tirunelveli, India, 23–25 January 2023; pp. 659–662. [Google Scholar]
  3. Hurley, N.; Cheng, Z.; Zhang, M. Statistical attack detection. In Proceedings of the Third ACM Conference on Recommender Systems, New York, NY, USA, 23–25 October 2009; pp. 149–156. [Google Scholar]
  4. Pal, D.; Ali, M.; Das, A.; Roy Chowdhury, D. A cluster-based practical key recovery attack on reduced-round AES using impossible-differential cryptanalysis. J. Supercomput. 2023, 79, 6252–6289. [Google Scholar] [CrossRef]
  5. Attaullah Shah, T.; Jamal, S. An improved chaotic cryptosystem for image encryption and digital watermarking. Wirel. Pers. Commun. 2020, 110, 1429–1442. [Google Scholar] [CrossRef]
  6. Zhang, X.; Hu, Y. Multiple-image encryption algorithm based on the 3D scrambling model and dynamic DNA coding. Opt. Laser Technol. 2021, 141, 107073. [Google Scholar] [CrossRef]
  7. Zhang, X.; Hu, Y. An overview of digital audio steganography. IETE Tech. Rev. 2020, 37, 632–650. [Google Scholar]
  8. Bhowmik, S.; Acharyya, S. Image cryptography: The genetic algorithm approach. In Proceedings of the 2011 IEEE International Conference on Computer Science and Automation Engineering, Shanghai, China, 10–12 June 2011; Volume 2, pp. 223–227. [Google Scholar]
  9. Wang, X.; Su, Y.; Liu, C.; Li, J.; Li, S.; Cai, Z.; Wan, W. Security enhancement of image encryption method based on Fresnel diffraction with chaotic phase. Opt. Commun. 2022, 506, 127544. [Google Scholar] [CrossRef]
  10. Chen, Y.; Xie, S.; Zhang, J. A hybrid domain image encryption algorithm based on improved henon map. Entropy 2022, 24, 287. [Google Scholar] [CrossRef] [PubMed]
  11. Zhou, W.; Wang, X.; Wang, M.; Li, D. A new combination chaotic system and its application in a new Bit-level image encryption scheme. Opt. Lasers Eng. 2022, 149, 106782. [Google Scholar] [CrossRef]
  12. Lai, Q.; Zhang, H.; Kuate, P.; Xu, G.; Zhao, X. Analysis and implementation of no-equilibrium chaotic system with application in image encryption. Appl. Intell. 2022, 52, 11448–11471. [Google Scholar] [CrossRef]
  13. Matthews, R. On the derivation of a “chaotic” encryption algorithm. Cryptologia 1989, 13, 29–42. [Google Scholar] [CrossRef]
  14. Bin Faheem, Z.; Ali, A.; Khan, M.A.; Ul-Haq, M.; Ahmad, W. Highly dispersive substitution box (S-box) design using chaos. ETRI J. 2020, 42, 619–632. [Google Scholar] [CrossRef]
  15. Niu, Y.; Zhou, Z.; Zhang, X. An image encryption approach based on chaotic maps and genetic operations. Multimed. Tools Appl. 2020, 79, 25613–25633. [Google Scholar] [CrossRef]
  16. Hosny, K.M.; Kamal, S.T.; Darwish, M.M. Novel encryption for color images using fractional-order hyperchaotic system. J. Ambient Intell. Humaniz. Comput. 2022, 13, 973–988. [Google Scholar] [CrossRef] [PubMed]
  17. Patel, S.; Thanikaiselvan, V.; Pelusi, D.; Nagaraj, B.; Arunkumar, R.; Amirtharajan, R. Colour image encryption based on customized neural network and DNA encoding. Neural Comput. Appl. 2021, 33, 14533–14550. [Google Scholar] [CrossRef]
  18. Zhou, Y.; Bao, L.; Chen, C.P. A new 1D chaotic system for image encryption. Signal Process. 2014, 97, 1172–1182. [Google Scholar] [CrossRef]
  19. Chen, J.; Horng, S. Novel SCAN-CA-based image security system using SCAN and 2-D von Neumann cellular automata. Signal Process. Image Commun. 2010, 25, 413–426. [Google Scholar] [CrossRef]
  20. Maniccam, S.; Bourbakis, G. Lossless image compression and encryption using SCAN. Pattern Recognit. 2001, 34, 1229–1245. [Google Scholar] [CrossRef]
  21. Shyu, S. Image encryption by multiple random grids. Pattern Recognit. 2009, 42, 1582–1596. [Google Scholar] [CrossRef]
  22. Chen, T.; Li, K. Multi-image encryption by circular random grids. Inf. Sci. 2012, 189, 55–265. [Google Scholar] [CrossRef]
  23. Li, L.; Abd El-Latif, A.; Niu, X. Elliptic curve ElGamal based homomorphic image encryption scheme for sharing secret images. Signal Process. 2012, 92, 1069–1078. [Google Scholar] [CrossRef]
  24. Zhou, Y.; Panetta, K.; Agaian, S.; Chen, C.P. (n, k, p)-Gray code for image systems. IEEE Trans. Cybern. 2013, 43, 515–529. [Google Scholar] [CrossRef]
  25. Liao, X.; Lai, S.; Zhou, Q. A novel image encryption algorithm based on self-adaptive wave transmission. Signal Process. 2010, 90, 2714–2722. [Google Scholar] [CrossRef]
  26. Chen, T.; Wu, C. Compression-unimpaired batch-image encryption combining vector quantization and index compression. Inf. Sci. 2010, 180, 1690–1701. [Google Scholar] [CrossRef]
  27. Bhatnagar, G.; Wu, Q.; Raman, B. A new fractional random wavelet transform for fingerprint security. IEEE Trans. Syst. Man Cybern. Part A Syst. Humans 2011, 42, 262–275. [Google Scholar] [CrossRef]
  28. ur Rehman, A.; Liao, X.; Ashraf, R.; Abdullah, S.; Wang, H. A color image encryption technique using exclusive-OR with DNA complementary rules based on chaos theory and SHA-2. Optik 2018, 159, 348–367. [Google Scholar] [CrossRef]
  29. Seyedzadeh, M.; Mirzakuchaki, S. A fast color image encryption algorithm based on coupled two-dimensional piecewise chaotic map. Signal Process. 2012, 92, 1202–1215. [Google Scholar] [CrossRef]
  30. Tong, J.; Zhang, M.; Wang, Z.; Liu, Y.; Xu, H.; Ma, J. A fast encryption algorithm of color image based on four-dimensional chaotic system. J. Vis. Commun. Image Represent. 2015, 33, 219–234. [Google Scholar] [CrossRef]
  31. Li, Y.; Wang, C.; Chen, H. A hyper-chaos-based image encryption algorithm using pixel-level permutation and bit-level permutation. Opt. Lasers Eng. 2017, 90, 238–246. [Google Scholar] [CrossRef]
  32. Abd El-Latif, A.; Li, L.; Wang, N.; Han, Q.; Niu, X. A new approach to chaotic image encryption based on quantum chaotic system, exploiting color spaces. Signal Process. 2013, 93, 2986–3000. [Google Scholar] [CrossRef]
  33. Liu, H.; Kadir, A.; Niu, Y. Chaos-based color image block encryption scheme using S-box. AEU-Int. J. Electron. Commun. 2014, 68, 676–686. [Google Scholar] [CrossRef]
  34. Mazloom, S.; Eftekhari-Moghadam, A. Color image encryption based on coupled nonlinear chaotic map. Chaos Solitons Fractals 2009, 42, 1745–1754. [Google Scholar] [CrossRef]
  35. Kadir, A.; Aili, M.; Sattar, M. Color image encryption scheme using coupled hyper chaotic system with multiple impulse injections. Optik 2017, 129, 231–238. [Google Scholar] [CrossRef]
  36. Al-Daraiseh, A.; Sanjalawe, Y.; Al-E’mari, S.; Fraihat, S.; Bany Taha, M.; Al-Muhammed, M. Cryptographic Grade Chaotic Random Number Generator Based on Tent-Map. J. Sens. Actuator Netw. 2023, 12, 73. [Google Scholar] [CrossRef]
  37. Daoui, A.; Yamni, M.; Chelloug, S.; Wani, M.; El-Latif, A. Efficient image encryption scheme using novel 1D multiparametric dynamical tent map and parallel computing. Mathematics 2023, 7, 1589. [Google Scholar] [CrossRef]
  38. Choi, J.; Seok, S.; Seo, H.; Kim, H. A fast ARX model-based image encryption scheme. Multimed. Tools Appl. 2016, 75, 14685–14706. [Google Scholar] [CrossRef]
  39. Li, C.; Luo, G.; Li, C. A parallel image encryption algorithm based on chaotic Duffing oscillators. Multimed. Tools Appl. 2018, 77, 19193–19208. [Google Scholar] [CrossRef]
  40. Yuan, H.; Liu, Y.; Lin, T.; Hu, T.; Gong, L.H. A new parallel image cryptosystem based on 5D hyper-chaotic system. Signal Process. Image Commun. 2017, 52, 87–96. [Google Scholar] [CrossRef]
  41. You, L.; Yang, E.; Wang, G. A novel parallel image encryption algorithm based on hybrid chaotic maps with OpenCL implementation. Soft Comput. 2020, 24, 12413–12427. [Google Scholar] [CrossRef]
  42. He, Y.; Zhang, Y.; He, X.; Wang, X. A new image encryption algorithm based on the OF-LSTMS and chaotic sequences. Sci. Rep. 2021, 11, 6398. [Google Scholar] [CrossRef]
  43. Wang, X.; Su, Y. Color image encryption based on chaotic compressed sensing and two-dimensional fractional Fourier transform. Sci. Rep. 2020, 10, 18556. [Google Scholar] [CrossRef]
  44. Lee, W.; Phan, R.; Yap, W.; Goi, B. SPRING: A novel parallel chaos-based image encryption scheme. Nonlinear Dyn. 2018, 92, 575–593. [Google Scholar] [CrossRef]
  45. Luo, Y.; Zhou, R.; Liu, J.; Cao, Y.; Ding, X. A parallel image encryption algorithm based on the piecewise linear chaotic map and hyper-chaotic map. Nonlinear Dyn. 2018, 93, 1165–1181. [Google Scholar] [CrossRef]
  46. Wang, X.; Feng, L.; Zhao, H. Fast image encryption algorithm based on parallel computing system. Inf. Sci. 2019, 486, 340–358. [Google Scholar] [CrossRef]
  47. Wang, X.; Zhao, H. Fast image encryption algorithm based on parallel permutation-and-diffusion strategy. Multimed. Tools Appl. 2020, 79, 19005–19024. [Google Scholar] [CrossRef]
  48. Nkandeu, Y.; Mboupda Pone, R.; Tiedeu, A. Image encryption algorithm based on synchronized parallel diffusion and new combinations of 1D discrete maps. Sens. Imaging 2020, 21, 55. [Google Scholar] [CrossRef]
  49. Zhu, S.; Deng, X.; Zhang, W.; Zhu, C. Image encryption scheme based on newly designed chaotic map and parallel DNA coding. Mathematics 2023, 11, 231. [Google Scholar] [CrossRef]
  50. Mozaffari, S. Parallel image encryption with bitplane decomposition and genetic algorithm. Multimed. Tools Appl. 2018, 77, 25799–25819. [Google Scholar] [CrossRef]
  51. Zhang, Y. Statistical test criteria for sensitivity indexes of image cryptosystems. Inf. Sci. 2021, 550, 313–328. [Google Scholar] [CrossRef]
  52. Chaudhary, N.; Shahi, T.; Neupane, A. Secure image encryption using chaotic, hybrid chaotic and block cipher approach. J. Imaging 2022, 8, 167. [Google Scholar] [CrossRef]
Figure 1. Key generation process.
Figure 1. Key generation process.
Symmetry 16 00593 g001
Figure 2. CIC1 encryption process.
Figure 2. CIC1 encryption process.
Symmetry 16 00593 g002
Figure 3. baboon.tiff (512, 512) colored: (a) original image, (b) encrypted image, (c) correlation of two adjacent columns in (b), (d) correlation of two adjacent columns in (a), (e) histogram of (a), and (f) histogram of (b).
Figure 3. baboon.tiff (512, 512) colored: (a) original image, (b) encrypted image, (c) correlation of two adjacent columns in (b), (d) correlation of two adjacent columns in (a), (e) histogram of (a), and (f) histogram of (b).
Symmetry 16 00593 g003
Figure 4. Lenna.png colored: (a) original image, (b) encrypted image, (c) correlation of two adjacent columns in (b), (d) correlation of two adjacent columns in (a), (e) histogram of (a), and (f) histogram of (b).
Figure 4. Lenna.png colored: (a) original image, (b) encrypted image, (c) correlation of two adjacent columns in (b), (d) correlation of two adjacent columns in (a), (e) histogram of (a), and (f) histogram of (b).
Symmetry 16 00593 g004
Figure 5. bernard-hermant-nHRXNv2qeDE-unsplash.jpg (6000 * 4000): (a) original image, (b) encrypted image, (c) correlation of two adjacent columns in (b), (d) correlation of two adjacent columns in (a), (e) histogram of (a), and (f) histogram of (b).
Figure 5. bernard-hermant-nHRXNv2qeDE-unsplash.jpg (6000 * 4000): (a) original image, (b) encrypted image, (c) correlation of two adjacent columns in (b), (d) correlation of two adjacent columns in (a), (e) histogram of (a), and (f) histogram of (b).
Symmetry 16 00593 g005
Figure 6. white.png: (a). original image, (b) encrypted image, (c) correlation of two adjacent columns in (b), (d) correlation of two adjacent columns in (a), (e) histogram of (a), and (f) histogram of (b). (512 * 512).
Figure 6. white.png: (a). original image, (b) encrypted image, (c) correlation of two adjacent columns in (b), (d) correlation of two adjacent columns in (a), (e) histogram of (a), and (f) histogram of (b). (512 * 512).
Symmetry 16 00593 g006
Figure 7. BLACK.png (10,000 * 10,000): (a) original image, (b) encrypted image, (c) correlation of two adjacent columns in (b), (d) correlation of two adjacent columns in (a), (e) histogram of (a), and (f) histogram of (b).
Figure 7. BLACK.png (10,000 * 10,000): (a) original image, (b) encrypted image, (c) correlation of two adjacent columns in (b), (d) correlation of two adjacent columns in (a), (e) histogram of (a), and (f) histogram of (b).
Symmetry 16 00593 g007
Figure 8. CIC1 and CIC3 performance against the number of sub-images used. h and v represent the horizontal and vertical numbers of sub-images.
Figure 8. CIC1 and CIC3 performance against the number of sub-images used. h and v represent the horizontal and vertical numbers of sub-images.
Symmetry 16 00593 g008
Figure 9. Result of MODPI on Peppers.tiff: (a). Plain, (b). Encrypted, (c). Encrypted/one pixel changed, (d). Encrypted/key change of 10 15 , (e). Encrypted/both pixel and key changes, and (f). Decrypted.
Figure 9. Result of MODPI on Peppers.tiff: (a). Plain, (b). Encrypted, (c). Encrypted/one pixel changed, (d). Encrypted/key change of 10 15 , (e). Encrypted/both pixel and key changes, and (f). Decrypted.
Symmetry 16 00593 g009
Figure 10. Speedup: This figure shows that a speedup of nearly 10 is obtained as the number of threads increases from 1 to [30 in CIC1, 90 in CIC3] to encrypt a 24M-Pixel colorful image. Note that the number of cores is constant (14 cores).
Figure 10. Speedup: This figure shows that a speedup of nearly 10 is obtained as the number of threads increases from 1 to [30 in CIC1, 90 in CIC3] to encrypt a 24M-Pixel colorful image. Note that the number of cores is constant (14 cores).
Symmetry 16 00593 g010
Table 1. Used images and their sources. Sources were accessed on 2 May 2024.
Table 1. Used images and their sources. Sources were accessed on 2 May 2024.
NameSizeSource
1Colored Lenna.png512 * 512https://en.wikipedia.org/wiki/Lenna
2Colored Peppers.tiff512 * 512https://sipi.usc.edu/database/
3Colored Baboon.tiff512 * 512https://sipi.usc.edu/database/
4bernard-hermant-nHRXNv2qeDE-unsplash.jpg6000 * 4000https://unsplash.com
5White.png512 * 512Created
6Black.png10,000 * 10,000Created
7Gray jocelyn-morales-ybDvbCvh9Ro-unsplash.jpg2918 * 2832https://unsplash.com
8Gray danny-M7l0CS4yBsY-unsplash.jpg4032 * 3024https://unsplash.com
9Gray Lenna.png512 * 512Created from original
Table 2. Correlation values produced by GIC, CIC1, and CIC3.
Table 2. Correlation values produced by GIC, CIC1, and CIC3.
Lenna.pngBaboon.tiffBernard-hermant-nHRXNv2qe DEunsplash.jpg httpsWhite.pngBlack.pngPeppers.tiffJocelyn–MoralesDannyLennag.png
Correlation of Original
Horizontal Correlation Coefficient0.9719283770.8665431030.968008701110.9767709140.9823483340.9997131970.976212614
Vertical Correlation Coefficient0.9850296040.7587301540.959743177110.979205180.9876388860.999734310.986572767
Diagonal Correlation Coefficient0.9593311160.7261886780.935853441110.9639348130.9743568120.9995378990.964138041
Correlation of Encrypted—SBTM
Horizontal Correlation Coefficient 2.439 × 10 3 4.979 × 10 3 2.219 × 10 4 5.78 × 10 4 1.48 × 10 5 3.734 × 10 3 2.234 × 10 4 6.27 × 10 5 1.17 × 10 3
Vertical Correlation Coefficient 6.538 × 10 4 4.314 × 10 3 2.83 × 10 5 1.483 × 10 4 5.86 × 10 5 2.07 × 10 3 3.103 × 10 4 1.855 × 10 4 1.805 × 10 3
Diagonal Correlation Coefficient 4.148 × 10 3 2.290 × 10 3 4.36 × 10 5 7.277 × 10 4 2.995 × 10 4 1.56 × 10 3 3.118 × 10 4 5.35 × 10 6 1.15 × 10 3
Correlation of Encrypted—SBTMPi
Horizontal Correlation Coefficient 4.553 × 10 4 0.976770914 1.238 × 10 4 4.374 × 10 4 1.719 × 10 3 2.653 × 10 3 3.986 × 10 4 2.153 × 10 4 3.239 × 10 3
Vertical Correlation Coefficient 1.143 × 10 3 0.97920518 3.24 × 10 5 9.716 × 10 4 7.546 × 10 4 2.852 × 10 3 4.177 × 10 4 3.295 × 10 4 2.597 × 10 3
Diagonal Correlation Coefficient 1.291 × 10 3 0.963934813 1.506 × 10 4 6.831 × 10 4 1.050 × 10 3 5.539 × 10 4 2.19 × 10 5 1.609 × 10 4 3.304 × 10 4
Table 3. Entropy of original images vs. encrypted images.
Table 3. Entropy of original images vs. encrypted images.
Lenna.pngBaboon.tiffBernard-hermant-nHRXNv2qeD Eunsplash.jpg httpsWhite.pngBlack.pngPeppers.tiffJocelyn–MoralesDannyLennag.png
Entropy of Original
Red Channel6.9684269467.7522171727.784196631007.0583055791.0726293417.7621093227.457123508
Green Channel7.5940379167.4744315867.765855155007.496253345
Blue Channel7.2531023577.7066718437.81265644007.338826961
Entropy of Encrypted—SBTM
Red Channel7.9992923637.9993619617.9999927517.9992903057.9999980567.9992657017.9999815737.9999855037.999312018
Green Channel7.9992626447.9993481417.9999922057.9993190747.9999981527.999383295
Blue Channel7.9992939017.9992937197.9999928497.9992788837.9999981857.999368216
Entropy of Encrypted—SBTMPi
Red Channel7.9992881487.0583055797.9999923687.9993113267.9992927317.999268487.9999792017.999985527.999227501
Green Channel7.9992532197.4962533457.9999922967.9993221627.9993417887.999290724
Blue Channel7.9993114617.3388269617.9999922047.9994100487.9992384747.99924015
Table 4. Theoretical values of NPCR, UACI, and BACI indexes.
Table 4. Theoretical values of NPCR, UACI, and BACI indexes.
ImagesImage SizeNPCR (%)UACI (%)BACI (%)
Between two random images256 ∗ 25699.609433.43526.7712
Between Lena and random image256 ∗ 25699.609428.592321.3268
Between Mandrill and random image256 ∗ 25699.609427.421020.1118
Between Peppers and random image256 ∗ 25699.609429.568522.1874
Between All-black and random image256 ∗ 25699.609450.000033.4635
Between All-white and random image256 ∗ 25699.609450.000033.4635
Table 5. X 2 values.
Table 5. X 2 values.
SBTMSBTMi
Image X 2 Original X 2 Encrypted X 2 Original X 2 Encrypted
Lenna.png236,580.67259.6582236,580.67[259.0983]
Baboon.tiff100,859.73240.7334100,859.73[248.74544]
Bernard-hermant-nHR
XNv2qeDE-unsplash.jpg https7,984,348244.859427,984,348[256.04306]
White.png261,120254.85449261,120[236.34863]
Black.png 2.55 × 10 10 258.76398 2.55 × 10 10 [256.9603]
Peppers.tiff339,975.53210.97806339,975.53[266.7067]
Jocelyn-morales 1.7 × 10 9 239.7806 1.7 × 10 9 [237.87653]
Danny4,219,045.5243.0403219,045.5[244.72905]
Lennag.png159,456.94245.01074159,456.94[280.40234]
Table 6. The results of running CIC1 on “Colored Lenna.png” compared to Ref. [43].
Table 6. The results of running CIC1 on “Colored Lenna.png” compared to Ref. [43].
CIC1Ref. [43] (256,256)
Time in ms2.381670
seed0.407910552
seedp0.320717184
seedk0.238859246
MSE Original vs. Encrypted
ch17094.403336
ch29068.194191
ch310655.87563
PSNR
ch19.621644852
ch28.555595491
ch37.854912181
X 2 Original236580.67
X 2 ENC259.6582
Correlation of Original
Horizontal Correlation Coefficient0.971928377
Vertical Correlation Coefficient0.985029604
Diagonal Correlation Coefficient0.959331116
Correlation of Encrypted
Horizontal Correlation Coefficient0.0024396810.0027
Vertical Correlation Coefficient−0.000653871−0.0027
Diagonal Correlation Coefficient−0.0041476420.0003
Entropy of Original
Red Channel6.968426946
Green Channel7.594037916
Blue Channel7.253102357
Original vs. Encrypted
Channel 0 UACI27.5884201933.4531
Channel 0 NPCR99.6253967399.6078
Channel 1 UACI30.6128558
Channel 1 NPCR99.6181488
Channel 2 UACI33.04622276
Channel 2 NPCR99.62730408
Encrypted vs. One-Pixel Modified Encryption
CH0 UACI33.4586528733.4531
CH0 NPCR99.6337890699.6078
CH1 UACI33.44524907
CH1 NPCR99.5967865
CH2 UACI33.47020018
CH2 NPCR99.59068298
Encrypted vs. Key Modified Encrypted
CH0 UACI33.51181329
CH0 NPCR99.61051941
CH1 UACI33.50390266
CH1 NPCR99.61357117
CH2 UACI33.51181329
CH2 NPCR99.61051941
BACI Encryption vs. Pixel Modified Encrypted
CH00.267705363
CH10.26795032
CH20.267637681
BACI Encrypted vs. Key Modified Encrypted
CH00.267943492
CH10.267892948
CH20.267742368
Table 7. The results of running GIC on “Gray Lenna.png” compared to results from a number of articles.
Table 7. The results of running GIC on “Gray Lenna.png” compared to results from a number of articles.
GIC[38] 6_Rounds[39][40] 256 * 256[41] CPU Size Only[41] GPU[44] Single Core[44] Multi_Cores[44] GPU[45] GPU[37] Gray Avg[37] Color Avg[46][47][48][49][50]
Time in ms1.266.7391.26 103.411.40.9126 * 40.4832 * 40.0862 * 43.4365450.71353.380 ms 402600.7 (256, 256)1100
seed0.573094037
seedp0.469779666
seedk0.442810324
MSE of Original vs. Encrypted
ch18087.48698
PSNR
ch19.052667663
X 2 Original159456.94
X 2 Encrypted245.01074 230265 248.875
Correlation of Original
Horizontal Correlation Coefficient0.976212614
Vertical Correlation Coefficient0.986572767
Diagonal Correlation Coefficient0.964138041
Correlation of Encrypted
Horizontal Correlation Coefficient 0.00117 0.003 0.0021 0.0052 0.0149 0.0022 0.00730.00190.00240.00246 0.002359 0.0010.0090266 0.00058
Vertical Correlation Coefficient 0.001804761 0.003 0.00190.00310.0151 0.0015 0.0090.00360.00280.001340.0013850.003 0.0059255 0.0048
Diagonal Correlation Coefficient 0.00115 0.009 0.00060.00030.0113 0.0025 0.00530.00330.0020.00132 0.000238 0.0060.0055227 0.0243
Entropy of Original
Red Channel7.4571235086.43834544 7.9457
Entropy of encrypted
Red Channel7.9993120187.819824649 7.9973 7.9991 7.9993827.99987.99977.999297.999267.99947.99928567.7.9968
Original vs. Encrypted
Channel 0 UACI29.2313714128.61734577 33.457333.28 33.51 33.49934.04855933.5233.419933.08
Channel 0 NPCR99.6763299.63645935 99.612299.65 0.9962 99.61699.79553299.6399.61799.58
Encrypted vs. one-pixel Modified Encrypted
CH0 UACI33.44539717
CH0 NPCR99.631732
Encrypted vs. Key Modified Encrypted
CH0 UACI33.4 33.45 33.691 33.51
CH0 NPCR99.61013794 0.9961 99.6399 99.63
BACI of Encrypted vs. Pixel Modified Encrypted
CH00.267822753
BACI Encrypted vs. Key Modified Encrypted
CH00.267919803
Table 8. The results of running CIC1 on “Colored Peppers.tiff” compared to results from a number of articles.
Table 8. The results of running CIC1 on “Colored Peppers.tiff” compared to results from a number of articles.
CIC1[39][41] CPU Size Only[41] GPU[43][44][45][48][52]
Time in ms2.21.26103.411.45130 1756
seed0.41079142
seedp0.323598052
seedk0.188286409
MSE Original vs. Encryption
ch111168.92522
ch211205.73839
ch38015.177773
PSNR
ch17.650689775 11.89
ch27.636398818
ch39.091672016
X 2 Original339975.53
X 2 Encryption239.7806
Correlation of Original
Horizontal Correlation Coefficient0.976770914
Vertical Correlation Coefficient0.97920518
Diagonal Correlation Coefficient0.963934813
Correlation of Encrypted
Horizontal Correlation Coefficient0.0037346910.0021 0.00350.00380.0092
Vertical Correlation Coefficient-2.07E-030.0019 −0.00540.00070.0068
Diagonal Correlation Coefficient-1.56E-030.0006 0.00120.00320.0084
Entropy of Original
Red Channel7.058305579
Green Channel7.496253345
Blue Channel7.338826961
Entropy of Encrypted
Red Channel7.999265701 7.9472 7.99597.99987.999283
Green Channel7.999383295
Blue Channel7.999368216
Original vs. Encrypted
Channel 0 UACI33.84835337
Channel 0 NPCR99.61853027
Channel 1 UACI33.87297088
Channel 1 NPCR99.60289001
Channel 2 UACI29.00593776
Channel 2 NPCR99.60365295
Encrypted vs. One Pixel Modified Enc
CH0 UACI33.382221338.57233.5 33.362633.4833.434933.4534.35
CH0 NPCR99.6051788399.62999.85 99.58180.966299.624499.6499.98
CH1 UACI33.45076617
CH1 NPCR99.60136414
CH2 UACI33.45834321
CH2 NPCR99.6131897
Encrypted vs. Key Modified Encrypted
CH0 UACI33.42832079 33.37
CH0 NPCR99.58992004 0.9958
CH1 UACI33.41574575
CH1 NPCR99.60479736
CH2 UACI33.42832079
CH2 NPCR99.58992004
BACI Encrypted vs. Pixel Modified Encrypted
CH00.267719515
CH10.26752743
CH20.267476458
BACI Encrypted vs. Key Modified Encrypted
CH00.267598371
CH10.267275973
CH20.267223026
Table 9. The results of running CIC3 on “Colored Baboon.tiff”, “white.png”, and “black.png” compared to results from a number of articles.
Table 9. The results of running CIC3 on “Colored Baboon.tiff”, “white.png”, and “black.png” compared to results from a number of articles.
CIC3: BaboonCIC3: WhiteCIC3: Black[42] Baboon[42] White[42] Black[43] Baboon (256, 256)[44] Baboon[45] Baboon[37] Baboon[46] Baboon[47] Baboon[48] Baboon[52]
Time in ms2.51.61.0825 × 103925 avg 1.65 × 103 2.456 × 103
seed0.2231529190.3832659680.269633424
seedp0.6359595510.6175746740.356997044
seedk0.2787551130.4945792280.575921297
MSE Original vs. Encrypted
ch19485.67964221709.1822121718.32024 6.80 × 10 3 2.17 × 10 4 2.18 × 10 4
ch27743.15784521761.8254521714.44178
ch38642.98252121722.6337721717.76086
PSNR
ch18.3601190774.7643689724.7625412839.80674.76074.7503 13.08
ch29.2416224844.7538503824.763316915
ch38.7641672624.7616788054.762653142
X 2 Original100859.73261120 2.55 × 10 10
X 2 Encrypted240.7334254.85449258.76398 258250
Correlation Original
Horizontal Correlation Coefficient0.86654310311
Vertical Correlation Coefficient0.75873015411
Diagonal Correlation Coefficient0.72618867811
Correlation of Encrypted
Horizontal Correlation Coefficient0.004979382 5.78 × 10 4 1.48 × 10 5 2.00 × 10 4 2.50 × 10 3 1.90 × 10 3 2.128 × 10 3 2.00 × 10 3
Vertical Correlation Coefficient 0.004313788 0.000148297 5.86 × 10 5 1.00 × 10 4 0.00520.0074 1.812 × 10 3 0.004
Diagonal Correlation Coefficient 0.002290213 0.000727736 0.000299487 0.00270.00180.0005 1.473 × 10 3 0.008
Entropy of Original
Red Channel7.75221717200
Green Channel7.47443158600
Blue Channel7.70667184300
Entropy of Encrypted
Red Channel7.9993619617.9992903057.999998056 7.99597.99997.99928 7.999257.999317.9993
Green Channel7.9993481417.9993190747.999998152
Blue Channel7.9992937197.9992788837.999998185
Original vs. Encrypted
Channel 0 UACI31.2556936250.0064565650.0022372933.5493933.5416433.5302433.337333.4233.435433.47 33.62068 26.67
Channel 0 NPCR99.5788574299.5914459299.61009799.5979399.6044299.6192999.62460.99699.613299.63 99.666976 99.98
Channel 1 UACI28.5879157650.0720573949.99562481
Channel 1 NPCR99.6265411499.5956420999.608358
Channel 2 UACI29.9806273250.0293327850.00090204
Channel 2 NPCR99.6284484999.6047973699.609502
Encrypted vs. One-pixel Modified Encrypted
CH0 UACI33.460863933.3983178233.46571685 33.51
CH0 NPCR99.60937599.6250152699.608265 0.9961
CH1 UACI33.5541399833.4329133933.46277882
CH1 NPCR99.6200561599.6067047199.608928
CH2 UACI33.46767833.4747538833.46288022
CH2 NPCR99.6135711799.6067047199.609083
Encrypted vs. Key Modified Encrypted
CH0 UACI33.4698097433.5599323333.46169072
CH0 NPCR99.6028900199.6253967399.608933
CH1 UACI33.4382659333.5101228633.46330268
CH1 NPCR99.6204376299.6112823599.61017
CH2 UACI33.4698097433.5599323333.46304682
CH2 NPCR99.6028900199.6253967399.617289
BACI Encrypted vs. Pixel Modified Encrypted
CH00.2676422740.2675263240.267686784
CH10.2675461250.2678699380.267712745
CH20.2674246580.2679024750.267707479
BACI Encrypted vs. Key Modified Encrypted
CH00.2680036970.2673897230.267668858
CH10.2679006050.2680496080.267694917
CH20.2676385050.2676428450.267700614
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Al-Daraiseh, A.; Sanjalawe, Y.; Fraihat, S.; Al-E’mari, S. Novel, Fast, Strong, and Parallel: A Colored Image Cipher Based on SBTM CPRNG. Symmetry 2024, 16, 593. https://doi.org/10.3390/sym16050593

AMA Style

Al-Daraiseh A, Sanjalawe Y, Fraihat S, Al-E’mari S. Novel, Fast, Strong, and Parallel: A Colored Image Cipher Based on SBTM CPRNG. Symmetry. 2024; 16(5):593. https://doi.org/10.3390/sym16050593

Chicago/Turabian Style

Al-Daraiseh, Ahmad, Yousef Sanjalawe, Salam Fraihat, and Salam Al-E’mari. 2024. "Novel, Fast, Strong, and Parallel: A Colored Image Cipher Based on SBTM CPRNG" Symmetry 16, no. 5: 593. https://doi.org/10.3390/sym16050593

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop