Comparison of a Chaotic Cryptosystem with Other Cryptography Systems

The keyspace of a cryptography system must be long enough in order to protect it from brute force attacks. The OneTime Pad (OTP) encryption is unconditionally secure because of its truly random keystream that is used only once. This paper proposes a new chaotic symmetric cryptosystem approach, comparable to OTP. The proposed system utilizes two Lorenz generators, a main and an auxiliary, where the aim of the second one is to make one of the main Lorenz generator’s parameters to vary continually with time in a chaotic manner. This technique was built on digitizing two Lorenz chaotic models to increase the security level. The scrambling scheme was developed and the Lorenz stream cipher binary stream successfully passed the NIST randomness test. The cryptosystem showed a high degree of security, as it had a keyspace of 2, and it was compared with existing symmetric key cryptography systems, such as DES, 3DES, AES, Blowfish, and OTP. Keywords-chaotic; AES; one-time pad; keyspace; Lorenz system; NIST; DES


INTRODUCTION
Cryptography and cryptanalysis are two primary techniques for facilitating secure communications. Cryptography is used in building secure systems to prevent transmitted data (plaintext, the key, or both) from being intercepted by unauthorized people. Such a system is called a cryptosystem, and cryptanalysis is the process to evaluate it. Furthermore, cryptanalysis is used to recover the data transmitted by detecting weaknesses in a cryptosystem. Cryptanalysis is an important step for evaluating the components of a new cryptosystem, such as its security and reliability [1][2][3]. Two types of cryptosystems exist: symmetric and asymmetric. A symmetric key cryptosystem uses the same private key in both the transmitter and the receiver to quickly encrypt and decrypt a plaintext, which is suitable for applications requiring high data rates, such as video encryption. Furthermore, symmetric key cryptography is divided into two types: block cipher and stream cipher. The block cipher always encrypts and decrypts the plaintext in the same way by using a fixed binary key. The block cipher is widely used in applications, such as triple Data Encryption Standard (3DES), Advanced Encryption Standard (AES), and Rivest Cipher (RC5) [4][5]. On the other hand, a stream cipher is generated using a random binary stream as a secret key to encrypt plaintext to output known as a keystream.
The stream cipher key length is based on cryptosystem's features, and it could range from 32 to 256 bits. The most popular stream cipher cryptosystems are Encryption Algorithm (A5/2), RC4, and Software-Optimised Encryption Algorithm (SEAL). A cryptosystem is asymmetric when it uses two different keys for encryption and decryption, where the first key is publicly distributed and the second key is private. Such cryptosystems are primarily used for small amounts of data, such as authentication, secret key agreement, and digital signature, because they are slower. The public key length could range from 1024 to 4096 bits. A widely used public key algorithm is the Rivest-Shamir-Adleman (RSA) [6]. Evaluating security and performance of a communication system is not an easy task. However, many guidelines exist for enhancing a system's robustness and security. These guidelines introduce many cryptographic requirements for building up and analyzing a new chaos-based cryptosystem. The major cryptographic requirements and analysis for a chaos-based cryptography system are discussed in this paper. Furthermore, the system should pass the tests for confusion and diffusion, randomness of bit stream sequence, encryption speed and sensitivity of mismatched key [7][8][9][10][11][12][13][14][15][16][17][18][19][20][21][22][23][24]. According to [22], the conditions for characterizing an algorithm as safe are: • The time required for breaking an algorithm is longer than the time the encrypted information must be kept secret.
• The cost required to break the algorithm is greater than the value of the encrypted information.
• The amount of data encrypted using one key is less than the amount of data required to break the algorithm.
Unconditionally secure and computationally secure are two terms used to describe an algorithm. In an unconditionally secured algorithm the cryptanalyst does not have complete information to retrieve the plaintext, no matter how much of the cipher text is present. A computationally secure algorithm is hard to break with the available or even future resources [24]. According to [25] the breaking of an algorithm is categorized as: • Total break: the cryptanalyst finds the key.
• Global deduction: the cryptanalyst determines a different algorithm that decrypts the cipher text without the key.
www.etasr.com Alshammari: Comparison of a Chaotic Cryptosystem with Other Cryptography Systems • Local deduction: the cryptanalyst extracts a plaintext from the received cipher text.
• Information deduction: the cryptanalyst finds some information from the key or the plaintext.
II. THE PROPOSED CRYPTOSYSTEM Figure 1 displays a block diagram of the proposed cryptosystem. One of the main Lorenz generator's parameter varies with time based on the auxiliary Lorenz output signal. The plaintext is encrypted by the key stream generated from the main Lorenz generator using the multiplication block. The cipher text is generated and transmitted to the receiver. The receiver system has identical main and auxiliary Lorenz generators with the transmitter. The decryption process is started by multiplying the keystream with the cipher text to retrieve the plaintext. The first step is to synchronize the clocks of the transmitter and the receiver. In order to decrypt the cipher text, the receiver and the transmitter must have identical chaotic generators. This means that any intruder must have complete knowledge of the chaotic system's parameters and initial conditions in order to be able to decipher the message. The encryption technique utilizes the output of the main Lorenz generator to encrypt the data stream, while both the main and the auxiliary Lorenz Generators are based on (1). The Lorenz system is described by the following state equations, written in differential equation form, where A, B, and C are system parameters, and ‫ݔ‬ሶ , ‫ݕ‬ሶ , and ‫ݖ‬ሶ are state variables.
The A parameter of the main system is continuously varied by the auxiliary generator. Furthermore, the parameters and initial conditions of the cryptosystem are changing in every usage to satisfy the third condition of OTP. The constant block was used to manipulate the 32 bit length. Thus, the last 12 bits, starting from the least significant bit, of the x-state keystream were extracted. The variable selector block is used to extract a subject of rows from each matrix. The same operation is used for the y-state keystream. However, the 20 bits are extracted from the y-state of 32 bits, starting from the least significant bit.
After that, 12 bits and 20 bits are concatenated using the matrix concatenation block to produce 32 bits. Then, the 32 bits are serialized using the buffered block. The auxiliary Lorenz generator was pre-configured with a different set of initial conditions and system parameters. This system continuously varies the A parameter of the main Lorenz generator. Intensive care was taken to ensure that the main generator always remains in the chaotic region, and the output of the auxiliary Lorenz generator (A[n]) remains within the range (7≤x[n]≤11). Therefore, the signal response of the main Lorenz generator changes continually in a chaotic manner, based on the parameter supplied by the auxiliary. Figure 2 shows the results from SIMULINK of the Lorenz state variables, x, y, and z.

III. RANDOMNESS TEST OF THE KEYSTREAM
The keystream must satisfy the randomness test to avoid any weaknesses in system's security. In this experiment, 100 binary sequences each sized 1,000,000 bits were generated by the Lorenz Generator. The cryptosystem was evaluated using a NIST randomness test, and the chaotic keystream of the proposed generator passed all NIST 800-22 statistical randomness tests .The results are shown in Table I. Since the Lorenz system generates an analog signal, an Analog-to-Digital Converter (ADC) is necessary for digital applications. Figure 3 shows the simulation results of the ADC.  IV. KEYSPACE OF THE PROPOSED CRYPTOSYSTEM The transmitter has two Lorenz generators, and each of them has three constants, three initial conditions, and three frequency multipliers. Thus, the total number of the parameters is 18. The word length is 32-bits.The key space of the system is 2 (18*32) =2 576 . As suggested in [2], the keyspace of a secure cryptosystem should be greater than 2 100 . Thus, the cryptosystem's keyspace is enough to resist any brute force attack. Table II shows the properties' comparison of the proposed chaotic and five other cryptosystems.

V. CONCLUSION
This paper presented a new cryptosystem based on Lorenz chaotic generators. The system used a stream cipher and the encryption key varied continuously. Furthermore, one Lorenz generator parameter was controlled by an auxiliary chaotic generator for increasing security. This technique was built on digitizing two Lorenz chaotic models, increasing security. The scrambling scheme was developed and Lorenz stream cipher binary stream successfully passed the NIST randomness test. Data encryption used a symmetric cipher with a 576-bit key, and system's keyspace was 2 576 . The proposed cryptosystem was compared with some existing symmetric cryptography systems such as DES, 3DES, AES, blowfish and OTP in terms of key length and keyspace. Security analysis showed that the system has a high degree of security compared to the other communication systems. The proposed approach is comparable to OTP.