3. Chaos and Cryptography
3.4 Chaos Applications in Cryptography
3.4.3 Random Number Generators Based on Chaotic Maps
Since chaotic systems generate unpredictable results, many researchers have been attracted by chaotic systems to design pseudorandom number generators [34, 62, 68, 90-117]. Pseudorandom number generators’ (PRNGs) results are mainly used on stream cipher algorithms as key streams that simply XOR with plaintext to generate the correspondence ciphertext using any mode of operation [108].
3
- Chaos and Cryptography74
Moreover, it is very important to generate the secret keys and initialization variables by PRNGs [272]. In the literature, many cipher algorithms have been implemented based on chaotic pseudorandom number generators (CPRNGs) to generate the keystream. In CPRNGs, many chaotic systems have been utilized including Piecewise non-linear chaotic map, Logistic map, Tent map, and Henon attractor. Some researchers have proposed using multiple chaotic systems to enhance the PRNG security[105].
Over the past two decades, many researchers have utilized chaotic systems to design pseudorandom number generators to provide high security [34, 62, 68, 90-117]. Unfortunately, some of the proposed generators are described as insecure and/or slow algorithms [118, 120, 121, 136, 147-155, 270]. Therefore, further research is still needed to design fast and secure chaotic pseudorandom number generators. In this section, we will review chaotic pseudorandom number generators and give brief details of insecure and slow algorithms.
As we mentioned before, the first published paper on ciphers based on a dynamical system was that of Wolfram in 1985; this was a stream cipher algorithm based on cellular automation [105]. Cellular automation is used to generate a random binary sequence that is XORed with the plaintext to produce the correspondence ciphertext. In 1989, Matthews published the first chaos-based stream cipher algorithm, which attracted the attention of many researchers [103]. He suggested using a chaotic function to generate a random sequence as system keys instead of pads. Matthews utilized chaotic system characteristics to generate a random (unpredictable) sequence with sensitivity to any change in the initial conditions or system parameters.
In 1999, E. Alvarez et al. presented a new symmetric block cipher encryption approach based on chaotic systems [62]. The proposed algorithm explained the use of a tent map as a chaotic system. They used chaotic systems to generate a pseudorandom sequence from its orbit using a certain threshold. Then, they searched for the position of the plaintext in the generated sequence and took its information to represent the correspondence ciphertext. A few months later, G. Alvarez et al. [121]
3
- Chaos and Cryptography75
pointed out that E. Alvarez et al.’s method with a tent map can be easily broken by four different methods, and also found certain other weaknesses.
In 2001, Shujuna et al. proposed a pseudorandom binary sequence generator based on coupled chaotic systems (see Figure 3-11) [108]. They claimed that they were using two different chaotic systems instead of one just to provide higher security. In the same year, another new stream cipher based on a logistic map was proposed [110]. This uses two or more chaotic systems to generate pseudorandom sequences. The authors used two nearby logistic map trajectories to generate the pseudorandom sequence with high complexity. The plaintext is XORed with the generated sequence to give the ciphertext. In 2007, Skrobek showed how to break the proposed system and pointed out that using binary representation of some chaotic systems with XOR operation would help the attacker to predicate the ciphertext [151].
Figure 3-11: Pseudorandom number generator based on couple chaotic systems [108]
In 2003, Lee et al. proposed a chaotic stream cipher based on the composition of multiple chaotic systems [106]. The proposed algorithm generates pseudorandom bytes sequences based on a chaotic system, and then applies certain permutations using a two-dimensional chaotic map. Thus far, there have been no successful attacks on this algorithm. In the same year, new chaos-based pseudorandom number generators were proposed for cryptography applications [91]. In 2005, another research group proposed a pseudorandom number generator derived from a discrete chaotic map that defined over long interval [116].
3
- Chaos and Cryptography76
In 2006, three chaotic pseudorandom number generators were proposed for cryptography applications [34, 109, 111]. Wang et al. proposed a new pseudorandom binary generator based on n-dimensional non-linear digital filter and chaotic systems [109]. They used this filter to increase the randomness and security of the proposed generator. In the same year, Xiang proposed a cipher encryption algorithm based on a logistic map combined with XOR operation, which can be considered an improved version of Baptista’s scheme [34]. They used a combination of XOR and circular bit shift in the encryption and the decryption processes. A modified version of Xiang’s scheme was proposed by Yu and Cao; they replaced the logistic map with a chaotic neural network with time-varying delay and some other modifications [111]. They generated a pseudorandom sequence using a chaotic neural network.
In 2007, Li et al. showed how to break Yu and Cao’s scheme and Yiang’s scheme using chosen-plaintext attack and differential known-plaintext attack [155]. The core of the two schemes’ security is the pseudorandom number generator. They proved that the pseudorandom number generator does not have uniform distribution and sufficient randomness. In 2007, chaotic image encryption was proposed based on high-dimensional cat map and tent map as chaotic systems to generate a pseudorandom key stream with stream cipher architecture [113]. Thus far, there have been no successful attacks on this algorithm.
In 2008, a new chaotic stream cipher for digital communication was proposed using one-dimensional chaotic systems such as Tent map and Logistic map [112]. This scheme utilized the symbolic dynamics of chaotic system-based synchronization to generate a pseudorandom sequence as a keystream based on the value of the secret key. The plaintext is encrypted using the symbolic dynamics of the logistic map or tent map with certain values of its parameters and initial conditions. In 2011 [153], a research group analyzed the proposed stream cipher encryption scheme. They were able to deduce and estimate chaotic systems’ parameters with low error rate, and pointed out that a tent map is not a good source for a pseudorandom number
3
- Chaos and Cryptography77
generator and that the logistic map key stream has to be generated from a positive Lyapunov exponent.
Later on, researchers proposed two pseudorandom number generators based on a logistic map to generate pseudorandom binary sequence for cryptography stream cipher [117]. The first generator is based on one logistic map and the second is based on two logistic maps. In the second generator, the initial conditions of the two maps should be independent (r0≠r0, x0≠y0), where x0, y0
(0, 1) and r0, r0
(3.99996, 4].They calculate the remainder by dividing the sum of the two output values (xn+1,
yn+1) by 1 (see equation 3-12). The algorithm generates the binary pseudorandom
sequences based on equation 3-13. They tested their proposed pseudorandom number generator using Beker and Piper’s suite [273] and FIPS 140-1 suite [274]. They claimed that the proposed random number generator passed all FIPS 140-1 and Beker and Piper’s suites with sequence length of 100,000 bits and significance level α = 0.05. In this thesis, we refer to logistic map pseudorandom number generator as LPRNG. The randomness of this generator is analyzed in this research in chapter 8. yn1 ryn(1 yn). (3-11) 1 mod ) ( i i i y y Sum . (3-12) 5 . 0 , 0 5 . 0 , 1 ) ( i i i i Sum if Sum if Sum F Z (3-13)
In 2009 [114], Patidar et al. proposed a novel chaos-based cryptosystem with simple mixing operation. Intermediate chaotic keystreams are generated based on a logistic map and chaotic standard map to provide high confusion and diffusion properties. In 2010 [154], Rhouma et al. analyzed Patidar et al.’s chaotic cryptosystem with only one pair of plaintext or ciphertext. In the same year [115], Patidar et al. proposed a modified version of the proposed algorithm. They claimed to have overcome the security problems in the original algorithm. In 2011 [155], Li et al. analyzed the modified version and showed that it is still insecure to known-plaintext and known-
3
- Chaos and Cryptography78
ciphertext attack. They showed that the generated sequence based on logistic map is not random and very weak.
In 2011, a new encryption algorithm based on a tent map was proposed [68]. As the tent map does not has Stability Island, it was chosen as a chaotic map to generate a sequence of pseudorandom bits in this algorithm. The tent map was scaled to [0, 2n] to have a higher precision and easier computer implementation; this means that, with a bigger value of n, a better encryption approach will be given. This approach encrypts blocks of 64-bit length, which is divided into 4 equal sub-blocks. The encryption process consists of r rounds of chaotic map using encryption key. The result will be assigned to variables xi+1,0, xi+1,1,xi+1,2,xi+1,3. The result of the proposed
chaotic pseudorandom number generator was tested using NIST statistical test suite, and it confirmed its randomness by passing all the tests.