1. Introduction
With the rapid progress being made in science and internet technologies, the security requirement for information confidentiality is continually increasing. Against this backdrop, many theories, including chaos theory [
1], have been used to address such information security issues. Chaos properties, such as broadband noise-like waveform, which depend sensitively on the system’s precise initial conditions (Butterfly effect) have been generally studied and these properties offer some advantages for solving and enhancing information security issues [
2,
3,
4,
5]. Another method is symmetric key encryption and public key encryption in modern cryptography. The common algorithms include RSA [
6], El-Gamal [
7], and ECC [
8] among others [
9,
10]. In addition, the existant cryptographic systems are growing in number and diversity, and many reports have proposed improved encryption algorithms. However, operation speed is a neglected issue in proposed encryption topics. Therefore, in this paper, we will discuss the problems encountered in existing cryptosystems, and then design an improved El-Gamal cryptosystem based on chaotic synchronization in order to solve these problems.
So far, the El-Gamal encryption algorithm is still a popular public-key encryption algorithm. Its security depends upon the discrete logarithm difficult problem. However, in 2014, Wu [
11] pointed out that the El-Gamal encryption algorithm has some shortcomings including its long cipher text and the time-consuming calculation. Many studies have proposed to propose the improved versions of the El-Gamal algorithm. The ElGamal-like [
12,
13] encryption methods enhance the complexity by adding exclusive operations; the MCEA [
14] method defines the new element and uses the dual modulus to increase its complexity. Although the above methods can enhance the overall security, the speed is much slower than the traditional El-Gamal encryption system. Thus, it cannot solve the heavy operation problems.
Motivated by the aforementioned observations, we will discuss the synchronization controller design in master-slave chaotic systems, then use the random dynamic and unpredictable characteristics of synchronized chaotic signals to propose an improved El-Gamal cryptosystem. In this design, the random positive integers generated by the random synchronized chaotic signals do not appear in the public channel. Since we can obtain these random and dynamic keys at the transmitter and receiver by chaos synchronization, the long key is no longer necessary to resist attack in this improved algorithm. Thus, this proposed improved El-Gamal cryptosystem can balance speed and security.
The rest of this paper is organized as follows: In
Section 2, we first formulate the problem of chaos synchronization. The discrete sliding mode controller (DSMC) design for synchronization of chaotic systems and the experimental simulations are proposed. In
Section 3, we introduce traditional El-Gamal cryptosystem and our proposed cryptosystem and perform preliminary validation. In
Section 4, we analyze the performance of the proposed cryptosystem and compare it with other methods. Finally, conclusions are presented in
Section 5.
2. Problem Formulation of Chaos Synchronization
In this paper, we consider the design of an improved El-Gamal cryptosystem based on the chaos synchronization. Before constructing the improved El-Gamal algorithm, the first problem undertaken here is to solve the synchronization problem of master-slave chaotic systems. Now we first aim to propose a DSMC to solve the chaos synchronization problem. The discrete Lorenz system considered in this paper is directly introduced from the discrete-time dynamics of UCS (unified chaotic systems) with
and sample time
[
15]. In fact, the DSMC approach developed in this paper can also be applied to other discrete chaotic systems, including lower/higher order ones, as long as the controller can be modified to achieve synchronization. To simplify our discussion, we consider the following master and slave discrete Lorenz systems.
Master discrete Lorenz system:
Slave discrete Lorenz system:
where
and
are the state variables of the master and slave systems, respectively.
is the control input to ensure the synchronization between the master and slave systems.
To achieve the synchronization control, we define the error state as:
According to (1)–(3), we can obtain the dynamic equation of the error system as follows:
Form the error dynamics (4), it is clear that the problem of chaos synchronization is to discuss the stabilization problem of the system (4). As mentioned above, the aim of this work is firstly to propose a discrete controller
u(
k) such that the state error response of the given master (1) and slave (2) chaotic systems is stable. Accordingly, to achieve the control goal based on the DSMC technique, we need to construct an appropriate switching surface for the error dynamics (4) to result in a stable sliding motion. That is,
Then, we need to design a DSMC law which can guarantee the attraction of the sliding manifold. Now, we begin to discuss the design of the switching surface and the sliding mode synchronization controller. First, we select the switching surface as follows:
where
and
is the chosen parameter to satisfy
. Therefore, when the system enters the sliding mode,
, we have
Since is selected to satisfy , so will converge to zero, and because during the sliding motion , then will also converge to zero, and from (4c), we can find when converges to zero, the system will degenerate to ; therefore, will converge to zero, that is, the system can reach chaos synchronization.
In order to make the error system (4) successfully enter the sliding mode,
, the sliding mode controller design is as follows:
where
Theorem 1: In order to guarantee the occurrence of the sliding manifold, we consider the chaotic system as shown in (1) and (2), and the control input designed as shown in (8) and (9). The state trajectory will converge to and remain in the sliding mode. However, the state response of the master and slave systems will be synchronized.
Proof: Using (4), (6) and (8), we have
From (10), we can obtain , and because is selected satisfying , we can ensure that the system will enter the sliding mode, . Also the state response of the master and slave systems will be synchronized as discussed above. ☐
In the following, we give an example to demonstrate the effectiveness of the proposed control method. The simulation tool of MATLAB is used. In the simulation test, first, the initial conditions are selected as
. Then,
is chosen such that
. Therefore, the switching surface,
, can be designed as follows:
At the same time, the controller can be designed as follows:
The simulation results are shown in
Figure 1,
Figure 2,
Figure 3 and
Figure 4.
Figure 1 shows the state responses of master and slave systems corresponding to the proposed control inputs in (12). It shows that the master and slave systems can reach synchronization. Furthermore,
Figure 2 and
Figure 3, respectively, show the response of the error state
and switching surface
simulated by the system with the controller (12). In addition, the control input
response is shown in
Figure 4. From the simulation results, it can be observed that the master–slave system state is quickly controlled and enters sliding mode,
, while the master–slave chaotic system error, as expected, converges to zero, and reaches synchronization.
After solving the synchronization problem of chaos systems, in the following, we will introduce the improved El-Gamal cryptosystem based on chaos synchronization.
3. The Design of Improved El-Gamal Cryptosystem
As is well known, El-Gamal encryption is one of the most famous public key cryptosystems. Its security depends on the discrete logarithm problem in Diffie-Hellman key exchange [
16]; however, in [
11], Wu points out that El-Gamal encryption algorithm has some shortcomings, including its long cipher text and the time-consuming calculation. Many studies in [
12,
13,
14] show the problems of security and speed cannot be improved together. However, in this improved design, we firstly synchronize the master and slave chaotic systems in the transmitter (master system) and the receiver (slave system). Then, according to these synchronized random dynamic signals, the transmitter and the receiver simultaneously generate the same random dynamic positive integer and hidden public key. In addition, the hidden public key is dynamic and not necessary to be public in the public channel. Furthermore, the receiver can advance-calculate the dynamic private key, that improves the long cipher text and time-consuming calculation and increases its security. Before formulating the improved cryptosystem in detail, we briefly introduce the traditional and proposed El-Gamal encryption algorithms.
3.1. Traditional El-Gamal Encryption Algorithm
The main property of the El-Gamal asymmetric encryption algorithm, as shown in
Figure 5, is in the operation process; it uses the different public key and private key for data encryption and decryption. Where the public key is used for encryption processing, the private key is used for decryption processing. The public key is open and private key is kept by individuals. In this paper, we will turn the public key further into dynamic private key or invisible public key based on the chaos dynamic synchronization. The encryption method of the traditional El-Gamal encryption algorithm [
4] is as follows:
First, the public key and the private key are defined by steps 1–5:
Step 1: Get a random prime number , (Let be a cyclic multiplicative group)
Step 2: Calculate in finite domain and get generator (The results of must be different from each other)
Step 3: Select private key
Step 4: Calculate public key
Step 5: Let be the public key of the receiver, then adopt as the private key of the receiver.
After completing the definition of the public and the private key, the encryption and decryption algorithms are defined as steps 6–8:
Step 6: Select plaintext , and select random positive integer
Step 7: Encryption function: ciphertext , we could get ciphertext by calculating and
Step 8: Decryption function: plaintext , we could get plaintext by calculating
As shown in
Figure 5, the traditional El-Gamal algorithm needs to generate the prime number
, the primitive roots
, and the private key
, and the public key
, by the slave system and then form the public key
, and transmit
to the master system. However, the ciphertext
can be obtained by computing the plaintext
, the public key
, and the random positive integer
at the master system. Then, the ciphertext will be sent to the slave system by the master system and use private key
and the public key
, and finally, we obtain the recovered plaintext
through the decryption computation. In addition, it can be seen that the encryption signal
of the El-Gamal algorithm includes a random positive integer
, so that it has a random characteristic. That is, the same plaintext can be encrypted to generate many kinds of cipher text.
3.2. The Improved El-Gamal Encryption Algorithm
As mentioned, Wu [
11] demonstrated that the method of attack resistance is to require the key of a sufficient length; at the same time, to operate encryption and decryption easily, we must choose the key of shorter length. In practice, the key of longer length can actually resist attack but will slow the encryption speed, as well as the long ciphertext and the time-consuming calculation and other issues in the traditional El-Gamal algorithm. Thus, in this paper, we will improve the El-Gamal algorithm. We remove the public key in the public channel to avoid the factorization concerning the public key
Consequently, it is along with reducing the length of the ciphertext to improve the integral operation speed and ensure the security of El-Gamal. The random positive integers
in this proposed improved El-Gamal algorithm is generated by the synchronization of master and slave chaotic systems. Its encryption and decryption process is shown in
Figure 6.
The master-slave chaotic systems are synchronized by the synchronization controller presented in
Section 2. Hence, the transmitter and receiver can simultaneously obtain the same random signal by the master-slave chaotic system. However, the El-Gamal algorithm requires two positive integers
as encryption and decryption parameters, but the random signal generated by the chaotic system belongs to the floating-point number and cannot immediately obtain a positive integer. Therefore, in the master-slave system, we will use the numerical correction mechanism-that is, first amplify its signal and then take the absolute value so that we can achieve the purpose of eliminating the floating-point number of the random signal. Obviously, the master-slave chaos system can get the same random signals after synchronization, which are defined as
and
, respectively. In addition, other related parameters left can be obtained based on the traditional El-Gamal way, so the public key
does not have to appear on the public channel and prevent the probability of being attacked, but also to achieve high-security features. Thus, the encryption and decryption function of the improved El-Gamal algorithm are given as follows:
Encryption function: ,
Decryption function: ,
where , , , , are random positive integers obtained by the numerical correction mechanism for the master-slave chaotic random signal, is the dynamic private key, and is the invisible public key. Since the synchronization controller is designed, we can ensure synchronization of the master-slave chaotic systems-that is, and . Therefore, the master and slave systems can dynamically generate the same key and make sure that in encryption and decryption processes.
Here, we use an example to test the above preliminary results. In the simulation test, the parameters are defined as
, where
are random positive integers obtained by the numerical correction mechanism for the master-slave chaotic random signal,
are calculated by the above formula, and then the original signal
, into the encryption function to obtain the encrypted signal
, and finally, we will operate the decryption function to obtain the recovered signal
, as shown in
Figure 7,
Figure 8 and
Figure 9.
From the above results in the simulation of the MATLAB platform, it proves that the inference method and the result of improved El-Gamal cryptosystem are feasible.