# On the Cryptanalysis of Two Cryptographic Algorithms That Utilize Chaotic Neural Networks

Authors: Ke Qin; B. John Oommen
Journal: Mathematical Problems in Engineering
 (2015)

---

## Abstract

This paper deals with the security and efficiency issues of two cipher algorithms which utilize the principles of Chaotic Neural Networks (CNNs). The two algorithms that we consider are (1) the CNN-Hash, which is a one-way hash function based on the Piece-Wise Linear Chaotic Map (PWLCM) and the One-Way Coupled Map Lattice (OCML), and (2) the Delayed CNN-Based Encryption (DCBE), which
is an encryption algorithm based on the delayed CNN. Although both of these cipher algorithms have their own salient characteristics, our analysis shows that, unfortunately, the CNN-Hash is not secure because it is neither Second-Preimage resistant nor collision resistant. Indeed, one can find a collision with relative ease, demonstrating that its potential as a hash function is flawed. Similarly, we show that the DCBE is also not secure since it is not capable of resisting known plaintext, chosen plaintext, and chosen ciphertext attacks. Furthermore, unfortunately, both schemes are not efficient either, because of the large number of iteration steps involved in their respective implementations.


---

## Body

## 1. Introduction

Over the last few decades, the phenomenon of chaos has been widely investigated and applied in a variety of domains including social networks, control systems, and prediction. A chaotic system is characterized by salient phenomena such as its sensitivity to initial values, its pseudorandomness, and ergodicity, rendering it to be quite similar to a cryptographic system. The characteristics that render chaotic systems to be akin to cryptographic algorithms are listed below.(1) Chaotic Maps versus Encryption/Decryption Algorithms. The form of a chaotic system is usually iterative, when the system is discrete, or it involves differential equations when it is continuous. As opposed to this, an encryption/decryption algorithm is usually a nonlinear mapping from the plaintext space to the ciphertext space, and this mapping is, often, not complex. The similarity between the two is that both of them can yield, as their outputs, results that appear to be random, by virtue of the underlying algorithm repeating certain steps.(2) Iterations versus Rounds. For a chaotic system, each of the steps mentioned above that are “repeated” constitute a so-called “iteration.” As opposed to this, a cryptographic system involves a sequence of “rounds.” Only long-term chaotic iterations can yield sequences that appear to be random [1].(3) Controlling Parameters versus Keys. If a chaotic system starts from a given initial value, different control parameters can yield different output sequences at each iteration. This, in turn, is analogous to the role of keys in a cryptographic system. The similarity between the two lies in the fact that it is computationally infeasible to deduce the initial input without knowing the controlling parameters or the keys, respectively.(4) Sensitivity to Initial Values versus Diffusion and Confusion. When it concerns a chaotic system, a slightly different initial value may result in a significant difference in the output generated after a sufficiently large number of iterations. Analogously, in a cryptographic system, the change of even a single bit (whether it is in the key or the plaintext) should affect most of the ciphertext bits. Furthermore, the statistics relating the plaintext and the key should be “as complicated as possible.” Thus, if we regard the plaintext or the key as the initial value, the ciphertext should be highly sensitive to these.(5) Pseudorandom and
Ergodic. The sequence of outputs generated by a chaotic system should be able to fill the entire range in a random-like manner. Analogously, a good encryption algorithm requires that the ciphertexts be randomly distributed in the cipher space.Brief Survey of the Field. As a result of the above observations, chaos has also been widely applied in the field of information security since Matthews proposed the first chaotic encryption algorithm [2] in 1984. Later, Baptista and Alvarez reported two cryptographic algorithms based on the phenomenon of chaotic searching in [3–5], respectively. While Erdmann and Murphy described a stream cipher based on the so-called Henon maps [6], Kanso and his coauthors illustrated a novel hash function [7] and showed how one could achieve digital image encryption based on chaotic maps [8]. Kocarev and Tasev presented a public-key encryption [9] and random number generators [10] based on chaotic maps. A detailed list of articles that advocate the use of chaotic principles in cryptographic systems can also be found in [11, 12], and systematic reviews about chaos-based ciphers are found in [13, 14].Now that chaoticmaps have been proven to be useful in encryption; researchers have attempted to use Chaotic Neural Networks (CNNs), which are characterized by much more complicated dynamics than chaotic maps, to develop cryptosystems. The authors of [15–17] proposed different one-way hash functions based on different CNNs. Similarly, Yu and Cao proposed an encryption algorithm based on delayed CNNs [18]. Our present paper concerns some of these results.Motivation of This Paper. Although the latter above-mentioned authors have affirmed that their schemes are secure and efficient, in this paper, we shall demonstrate that the security levels guaranteed by them are weak and that they are inefficient. For example, most chaos-based ciphers require an excessive number of iterations, without which the ciphertexts are not sensitive to plaintexts. As opposed to these, traditional ciphers, for example, the AES, only require a 10-round calculation if one utilizes a key of 128 bits. Further, since chaotic equations are typically specified on the set of real numbers, the associated accuracy of implementing these schemes using digital computations is also problematic. Indeed, when we implement the associated computations numerically, we observe that some of the significant digits will be automatically truncated, and the consequence of this is that the original system which was chaotic within the domain of “real” numbers is no longer chaotic [13]! Also, the improvement brought about by increasing the accuracy using higher-precision software entails a larger computational cost.In this paper, we analyze two typical CNN-based cipher systems, the first of which is a one-way hash function and the second is an encryption method. However, we believe that our analysis is also valid for other CNN-based schemes.


## 2. The CNN-Based Hash Function

### 2.1. The Description of the CNN-Based Hash Function

The authors of [15] proposed a novel one-way hash function based on a special CNN. The structure of the network (more details about PWLCM’s dynamics and analysis can be found in [19] and omitted here to avoid repetition.) is shown in Figure 1.Figure 1
The structure of the network used for the CNN-Hash.More specifically, they used two chaotic maps, namely, the Piece-Wise Linear Chaotic Map (PWLCM; see (1)) and the Logistic map:
(1)
f
(
x
)
=
x
Q
,
0
≤
x
<
Q
x
-
Q
0.5
-
Q
,
Q
≤
x
<
0.5
1
-
Q
-
x
0.5
-
Q
,
0.5
≤
x
<
1
-
Q
1
-
x
Q
1
-
Q
≤
x
≤
1
,
where Q is a control parameter, which is a real number between 0 and 0.5.The network has a single input layer with8 neurons and a single output layer with 4 neurons. Each of the input neurons can receive 4 external inputs p
i
,
j
,
i
=
0,1
,
…
,
7
;
j
=
0,1
,
2,3, where each p
i
,
j consists of 8 bits. If P
i
=
p
i
,
0
,
p
i
,
1
,
p
i
,
2
,
p
i
,
3
T, we see that the CNN can receive a 256-bit external input sequence. Each of the output neurons can now generate a 32-bit output sequence, where the One-Way Coupled Map Lattice (OCML), specified by (2), is used to control the output neurons. The associated weights w
i
j
,
i
=
0,1
,
…
,
7
;
j
=
0,1
,
2,3 for each connection is a constant, W
1
=
[
1
/
2
8
,
1
/
2
16
,
1
/
2
24
,
1
/
2
32
]. Further, the internal state of the input neuron u
i is given by W
1
P
i. Let U
=
u
1
,
u
2
,
…
,
u
7
T be the internal state vector.In brief, we remark that the CNN compresses a256-bit sequence to yield a 128-bit sequence:
(2)
x
0
t
+
1
=
1
-
ɛ
g
x
0
t
+
ɛ
g
x
3
t
+
1
,
x
1
(
t
+
1
)
=
(
1
-
ɛ
)
g
(
x
1
(
t
)
)
+
ɛ
g
(
x
0
(
t
+
1
)
)
,
x
2
(
t
+
1
)
=
(
1
-
ɛ
)
g
(
x
2
(
t
)
)
+
ɛ
g
(
x
1
(
t
+
1
)
)
,
x
3
t
+
1
=
1
-
ɛ
g
x
3
t
+
ɛ
g
x
2
t
+
1
,
where g
(
x
) is the Logistic map and ɛ is a coupling factor between 0 and 1.We now present the process involved in the hash function as follows.(1) Data Preparation. Divide the given plaintext into small blocks P
i, where each block is 4
×
8 bits long. All together, there are 8 such blocks. Thus, the network is able to accept a 256-bit length input sequence at a time.(2) Data Formatting. Format the input integer numbers to be real number between [
0,1
] by means of the PWLCM. To be specific, this is achieved by using u
i
=
f
τ
(
W
1
P
i
,
Q
), where τ is the number of iterations that is enforced so as to yield the required “diffusion” and “confusion,” and Q
∈
(
0,0.5
) is the control parameter. The authors of [15] have suggested to set τ
=
40 and Q
=
1
/
3.(3) Key Preparation. For the given 128-bit key K, divide it into 4 32-bit sequences K
0
,
K
1
,
K
2
,
K
3. Using these, compute k
i
=
K
i
/
2
32, i
=
0,1
,
2,3. The four values of {
k
i
} are used as the initial values of the OCML. The authors suggested to set the value of ε as ε
=
1
/
3.(4) Hash Computing. For every 30 iterations, record a vector X
0
=
[
x
0
0
,
x
1
0
,
x
2
0
,
x
3
0
] and repeat this until we have gathered 10 vectors. The vectors X
0
,
X
1
,
…
,
X
7 are used as the connection weights W
2 between the input and output neurons, W
=
X
0
T
,
X
1
T
,
…
,
X
7
T
4
×
7. Θ
=
[
x
0
8
,
x
1
8
,
x
2
8
,
x
3
8
] is set as the threshold, and Q
=
[
x
0
9
,
x
1
9
,
x
2
9
,
x
3
9
] is used as the PWLCM’s control parameter.(5) Output Preparation. The output of each neuron is given by
(3)
c
i
=
f
τ
(
mod
⁡
(
W
i
2
U
+
Θ
i
,
1
)
,
Q
i
)
,
where W
i
2 means the ith row of W
2.(6) Loop. Repeat the above steps until all message blocks have been processed.(7) Assembling. Transform the output of each neuron of the last CNN to be a 32-bit sequence and then combine the four 32-bit sequences to be the final 128-bit hash value, as shown in Figure 2.Figure 2
The CBC mode hashing process.Summary. The entire process of the CNN-Hash can be summarized by the following equations:
(4)
u
i
=
f
τ
(
W
1
P
i
,
Q
)
,
c
i
=
f
τ
(
mod
⁡
(
W
2
U
+
Θ
i
,
1
)
,
Q
i
)
,
H
=
G
C
,
where W
2
,
Θ
,
Q are computed according to the CNN, W
1
,
τ are given constants, and P
i is transformed from the plaintext.


### 2.2. The Analysis of the CNN-Based Hash Function

Although the authors of [15] claimed that this CNN-Hash has good properties such as its sensitivity to the plaintext and the key, its one-way computation power, and its anti-birthday attack, our analysis below proves that it is not secure.As is well known, a good one-way hash function (both keyed or unkeyed) must satisfy the following conditions [20].(1) Efficiency. For a given key k and message m, it must be easy to compute the Message Authentication Code (MAC): H
(
m
,
k
).(2) Preimage Resistance. For a given value H
*, it must be computationally infeasible to find x such that H
(
x
,
k
)
=
H
*.(3) Second-Preimage Resistance. For a given message x, it must be computationally infeasible to find a different message y such that H
(
x
,
k
)
=
H
(
y
,
k
).(4) Collision Resistance. It must be computationally infeasible to find two different messages x and y such that H
(
x
,
k
)
=
H
(
y
,
k
), where the two inputs x and y can be freely chosen.We now evaluate the properties of the CNN-Hash by using the above metrics.(1) Analysis on Efficiency. As explained above, the computations needed for the CNN-Hash are done on the elements of the real numbers in [
0
,
1
], which is, unarguably, much slower than the corresponding computations executed on the set of integers. Besides, according to Step (4), we have to do at least 300 iterations to compute the first output C
0, which is thereafter used as the input for hashing the second block. Therefore, for hashing a message of 1 MB, we need at least 1024
×
1024
×
8
×
300
/
256
=
9
,
830
,
400 iterations, which is a computationally intensive task. The authors of [15] have stated that their algorithm is not competitive against MD5 or SHA and said that it requires almost twice as much computation as both of them. Our analysis and experiments, however, show that the performance is even worse than they claimed. To confirm this, we mention that we conducted a simulation on an Intel Celeron CPU E1500 (2.20 GHz) with 4 G main memory and the time involved for the CNN-Hash for a 1 MB input of text was almost 59.83 s, which is much more expensive than the cost of both the MD5 and the SHA.(2) Analysis on Preimage Resistance. Because chaotic maps have ergodic and stochastic properties, it is, indeed, not possible to find the inverse of a given value. This is especially true for the CNN-Hash which uses two different chaotic systems. From this perspective, we agree with the fact that the CNN-Hash is Preimage resistant even when the key K is known.(3) Analysis on Second-Preimage Resistance. Although the CNN-Hash is Preimage resistant, it isnot Second-Preimage resistant. The reason for this is quite straightforward. Consider (4) from which we see that the final hash value only depends on the initial value P
i and the key K. Thus, if we are able to find another different P
i
* such that f
τ
(
W
1
P
i
*
,
Q
)
=
f
τ
(
W
1
P
i
,
Q
), we can conclude that the subsequent intermediate/final results are exactly the same if the system uses the same key. For example, consider (1) and the iteration trajectories of the PWLCM as shown in Figure 3. From examining these, we see that we can determine four different values:
(5)
x
1
=
0.3
,
x
2
=
0.475
,
x
3
=
0.525
,
x
4
=
0.7
,
sharing the same iteration trajectories yielding the final result f
τ
(
x
)
=
0.39887. Thus, if we let v
=
W
1
P
i and f
(
v
,
Q
)
=
F (where F is some specified value), by examining (1), we see that we can have at least four solutions for {
v
}:
(6)
v
1
=
F
Q
,
v
2
=
F
(
0.5
-
Q
)
+
Q
,
v
3
=
(
1
-
Q
)
-
F
(
0.5
-
Q
)
,
v
4
=
1
-
F
Q
.
We can thus have four different {
P
i
*
} each of which is the solution of W
1
P
i
*
=
v
i, whence we see that the CNN-Hash isnot Second-Preimage resistant.Figure 3
An example of the PWLCM’s iteration trajectories. The four red bold lines make up the image of the PWLCM. The liney
=
x and vertical and horizontal lines indicate the iteration process. In this figure, an iteration begins at starting point (
0.3,0.75
) (marked with *) and ends at (
0.84,0.40
) (marked with a “square”). The reader should note that associated with the line y
=
0.75 (marked with dash-dot line), there are at least four starting points that share the same trajectory. These are, namely, the points (
0.3,0.75
), (
0.475,0.75
), (
0.525,0.75
), and (
0.7,0.75
), which, in turn, implies that there is a collision for at least four different initial inputs.(4) Analysis on Collision Resistance. The analysis on collision resistance is quite similar to the analysis on Second-Preimage resistance and is omitted here in the interest of brevity.Besides the above four conclusions, we can also claim the following.(1) The OCML Component Has Many “Weak Keys.” According to Step (3), the initial values of the OCML come from the initial key K. Based on the above, one can see thatthose keys which lead to the four equal parts are necessarily weak keys. Further, the reader should observe that since the CNN is a fully connected network, if k
0
=
k
1
=
k
2
=
k
3, we can conclude that no matter how many iterations have been done, the condition x
0
(
t
)
=
x
1
(
t
)
=
x
2
(
t
)
=
x
3
(
t
) always holds, which implies that a message of length 256 bits compresses to be 32 bits long instead of being 128 bits long. Thus, in this case, we see that it is feasible to find a collision since the ciphertext space is contracted.(2) Hash Values Do Not Obey a Uniform Distribution. The OCML employs the Logistic chaotic map, whose values are not uniformly distributed in [
0,1
]. To demonstrate this, we have computed the statistics of the distribution, and these are shown in Figures 4(a) and 4(b). We can clearly see from the two figures that most of the values fall into the intervals close to unity. This will cause the distribution of the hash values to also be nonuniform, further implying that the probability of collision is high in certain parts of the interval [21].The distribution of the values of the OCML. (a) Trajectories of 300 points. (b) The distributions of the 300 points in ten intervals from 0 to 1. The four figures in (a) and (b) are forx
0
(
t
), x
1
(
t
), x
2
(
t
), and x
3
(
t
), respectively.
(a)
(b)


## 2.1. The Description of the CNN-Based Hash Function

The authors of [15] proposed a novel one-way hash function based on a special CNN. The structure of the network (more details about PWLCM’s dynamics and analysis can be found in [19] and omitted here to avoid repetition.) is shown in Figure 1.Figure 1
The structure of the network used for the CNN-Hash.More specifically, they used two chaotic maps, namely, the Piece-Wise Linear Chaotic Map (PWLCM; see (1)) and the Logistic map:
(1)
f
(
x
)
=
x
Q
,
0
≤
x
<
Q
x
-
Q
0.5
-
Q
,
Q
≤
x
<
0.5
1
-
Q
-
x
0.5
-
Q
,
0.5
≤
x
<
1
-
Q
1
-
x
Q
1
-
Q
≤
x
≤
1
,
where Q is a control parameter, which is a real number between 0 and 0.5.The network has a single input layer with8 neurons and a single output layer with 4 neurons. Each of the input neurons can receive 4 external inputs p
i
,
j
,
i
=
0,1
,
…
,
7
;
j
=
0,1
,
2,3, where each p
i
,
j consists of 8 bits. If P
i
=
p
i
,
0
,
p
i
,
1
,
p
i
,
2
,
p
i
,
3
T, we see that the CNN can receive a 256-bit external input sequence. Each of the output neurons can now generate a 32-bit output sequence, where the One-Way Coupled Map Lattice (OCML), specified by (2), is used to control the output neurons. The associated weights w
i
j
,
i
=
0,1
,
…
,
7
;
j
=
0,1
,
2,3 for each connection is a constant, W
1
=
[
1
/
2
8
,
1
/
2
16
,
1
/
2
24
,
1
/
2
32
]. Further, the internal state of the input neuron u
i is given by W
1
P
i. Let U
=
u
1
,
u
2
,
…
,
u
7
T be the internal state vector.In brief, we remark that the CNN compresses a256-bit sequence to yield a 128-bit sequence:
(2)
x
0
t
+
1
=
1
-
ɛ
g
x
0
t
+
ɛ
g
x
3
t
+
1
,
x
1
(
t
+
1
)
=
(
1
-
ɛ
)
g
(
x
1
(
t
)
)
+
ɛ
g
(
x
0
(
t
+
1
)
)
,
x
2
(
t
+
1
)
=
(
1
-
ɛ
)
g
(
x
2
(
t
)
)
+
ɛ
g
(
x
1
(
t
+
1
)
)
,
x
3
t
+
1
=
1
-
ɛ
g
x
3
t
+
ɛ
g
x
2
t
+
1
,
where g
(
x
) is the Logistic map and ɛ is a coupling factor between 0 and 1.We now present the process involved in the hash function as follows.(1) Data Preparation. Divide the given plaintext into small blocks P
i, where each block is 4
×
8 bits long. All together, there are 8 such blocks. Thus, the network is able to accept a 256-bit length input sequence at a time.(2) Data Formatting. Format the input integer numbers to be real number between [
0,1
] by means of the PWLCM. To be specific, this is achieved by using u
i
=
f
τ
(
W
1
P
i
,
Q
), where τ is the number of iterations that is enforced so as to yield the required “diffusion” and “confusion,” and Q
∈
(
0,0.5
) is the control parameter. The authors of [15] have suggested to set τ
=
40 and Q
=
1
/
3.(3) Key Preparation. For the given 128-bit key K, divide it into 4 32-bit sequences K
0
,
K
1
,
K
2
,
K
3. Using these, compute k
i
=
K
i
/
2
32, i
=
0,1
,
2,3. The four values of {
k
i
} are used as the initial values of the OCML. The authors suggested to set the value of ε as ε
=
1
/
3.(4) Hash Computing. For every 30 iterations, record a vector X
0
=
[
x
0
0
,
x
1
0
,
x
2
0
,
x
3
0
] and repeat this until we have gathered 10 vectors. The vectors X
0
,
X
1
,
…
,
X
7 are used as the connection weights W
2 between the input and output neurons, W
=
X
0
T
,
X
1
T
,
…
,
X
7
T
4
×
7. Θ
=
[
x
0
8
,
x
1
8
,
x
2
8
,
x
3
8
] is set as the threshold, and Q
=
[
x
0
9
,
x
1
9
,
x
2
9
,
x
3
9
] is used as the PWLCM’s control parameter.(5) Output Preparation. The output of each neuron is given by
(3)
c
i
=
f
τ
(
mod
⁡
(
W
i
2
U
+
Θ
i
,
1
)
,
Q
i
)
,
where W
i
2 means the ith row of W
2.(6) Loop. Repeat the above steps until all message blocks have been processed.(7) Assembling. Transform the output of each neuron of the last CNN to be a 32-bit sequence and then combine the four 32-bit sequences to be the final 128-bit hash value, as shown in Figure 2.Figure 2
The CBC mode hashing process.Summary. The entire process of the CNN-Hash can be summarized by the following equations:
(4)
u
i
=
f
τ
(
W
1
P
i
,
Q
)
,
c
i
=
f
τ
(
mod
⁡
(
W
2
U
+
Θ
i
,
1
)
,
Q
i
)
,
H
=
G
C
,
where W
2
,
Θ
,
Q are computed according to the CNN, W
1
,
τ are given constants, and P
i is transformed from the plaintext.


## 2.2. The Analysis of the CNN-Based Hash Function

Although the authors of [15] claimed that this CNN-Hash has good properties such as its sensitivity to the plaintext and the key, its one-way computation power, and its anti-birthday attack, our analysis below proves that it is not secure.As is well known, a good one-way hash function (both keyed or unkeyed) must satisfy the following conditions [20].(1) Efficiency. For a given key k and message m, it must be easy to compute the Message Authentication Code (MAC): H
(
m
,
k
).(2) Preimage Resistance. For a given value H
*, it must be computationally infeasible to find x such that H
(
x
,
k
)
=
H
*.(3) Second-Preimage Resistance. For a given message x, it must be computationally infeasible to find a different message y such that H
(
x
,
k
)
=
H
(
y
,
k
).(4) Collision Resistance. It must be computationally infeasible to find two different messages x and y such that H
(
x
,
k
)
=
H
(
y
,
k
), where the two inputs x and y can be freely chosen.We now evaluate the properties of the CNN-Hash by using the above metrics.(1) Analysis on Efficiency. As explained above, the computations needed for the CNN-Hash are done on the elements of the real numbers in [
0
,
1
], which is, unarguably, much slower than the corresponding computations executed on the set of integers. Besides, according to Step (4), we have to do at least 300 iterations to compute the first output C
0, which is thereafter used as the input for hashing the second block. Therefore, for hashing a message of 1 MB, we need at least 1024
×
1024
×
8
×
300
/
256
=
9
,
830
,
400 iterations, which is a computationally intensive task. The authors of [15] have stated that their algorithm is not competitive against MD5 or SHA and said that it requires almost twice as much computation as both of them. Our analysis and experiments, however, show that the performance is even worse than they claimed. To confirm this, we mention that we conducted a simulation on an Intel Celeron CPU E1500 (2.20 GHz) with 4 G main memory and the time involved for the CNN-Hash for a 1 MB input of text was almost 59.83 s, which is much more expensive than the cost of both the MD5 and the SHA.(2) Analysis on Preimage Resistance. Because chaotic maps have ergodic and stochastic properties, it is, indeed, not possible to find the inverse of a given value. This is especially true for the CNN-Hash which uses two different chaotic systems. From this perspective, we agree with the fact that the CNN-Hash is Preimage resistant even when the key K is known.(3) Analysis on Second-Preimage Resistance. Although the CNN-Hash is Preimage resistant, it isnot Second-Preimage resistant. The reason for this is quite straightforward. Consider (4) from which we see that the final hash value only depends on the initial value P
i and the key K. Thus, if we are able to find another different P
i
* such that f
τ
(
W
1
P
i
*
,
Q
)
=
f
τ
(
W
1
P
i
,
Q
), we can conclude that the subsequent intermediate/final results are exactly the same if the system uses the same key. For example, consider (1) and the iteration trajectories of the PWLCM as shown in Figure 3. From examining these, we see that we can determine four different values:
(5)
x
1
=
0.3
,
x
2
=
0.475
,
x
3
=
0.525
,
x
4
=
0.7
,
sharing the same iteration trajectories yielding the final result f
τ
(
x
)
=
0.39887. Thus, if we let v
=
W
1
P
i and f
(
v
,
Q
)
=
F (where F is some specified value), by examining (1), we see that we can have at least four solutions for {
v
}:
(6)
v
1
=
F
Q
,
v
2
=
F
(
0.5
-
Q
)
+
Q
,
v
3
=
(
1
-
Q
)
-
F
(
0.5
-
Q
)
,
v
4
=
1
-
F
Q
.
We can thus have four different {
P
i
*
} each of which is the solution of W
1
P
i
*
=
v
i, whence we see that the CNN-Hash isnot Second-Preimage resistant.Figure 3
An example of the PWLCM’s iteration trajectories. The four red bold lines make up the image of the PWLCM. The liney
=
x and vertical and horizontal lines indicate the iteration process. In this figure, an iteration begins at starting point (
0.3,0.75
) (marked with *) and ends at (
0.84,0.40
) (marked with a “square”). The reader should note that associated with the line y
=
0.75 (marked with dash-dot line), there are at least four starting points that share the same trajectory. These are, namely, the points (
0.3,0.75
), (
0.475,0.75
), (
0.525,0.75
), and (
0.7,0.75
), which, in turn, implies that there is a collision for at least four different initial inputs.(4) Analysis on Collision Resistance. The analysis on collision resistance is quite similar to the analysis on Second-Preimage resistance and is omitted here in the interest of brevity.Besides the above four conclusions, we can also claim the following.(1) The OCML Component Has Many “Weak Keys.” According to Step (3), the initial values of the OCML come from the initial key K. Based on the above, one can see thatthose keys which lead to the four equal parts are necessarily weak keys. Further, the reader should observe that since the CNN is a fully connected network, if k
0
=
k
1
=
k
2
=
k
3, we can conclude that no matter how many iterations have been done, the condition x
0
(
t
)
=
x
1
(
t
)
=
x
2
(
t
)
=
x
3
(
t
) always holds, which implies that a message of length 256 bits compresses to be 32 bits long instead of being 128 bits long. Thus, in this case, we see that it is feasible to find a collision since the ciphertext space is contracted.(2) Hash Values Do Not Obey a Uniform Distribution. The OCML employs the Logistic chaotic map, whose values are not uniformly distributed in [
0,1
]. To demonstrate this, we have computed the statistics of the distribution, and these are shown in Figures 4(a) and 4(b). We can clearly see from the two figures that most of the values fall into the intervals close to unity. This will cause the distribution of the hash values to also be nonuniform, further implying that the probability of collision is high in certain parts of the interval [21].The distribution of the values of the OCML. (a) Trajectories of 300 points. (b) The distributions of the 300 points in ten intervals from 0 to 1. The four figures in (a) and (b) are forx
0
(
t
), x
1
(
t
), x
2
(
t
), and x
3
(
t
), respectively.
(a)
(b)


## 3. The Delayed CNN-Based Cryptography

### 3.1. The Description of the Delayed CNN-Based Cryptography

Delayed CNNs have been widely investigated in the past decades. The authors of [18] proposed a cryptographic system based on a special type of the delayed CNN. The model used in [18] is also a Hopfield-like NN which exhibits chaotic phenomenon and which obeys the following equation:
(7)
d
x
i
(
t
)
d
t
=
-
c
i
x
i
(
t
)
+
∑
j
=
1
n
‍
a
i
j
f
(
x
j
(
t
)
)
+
∑
j
=
1
n
‍
b
i
j
f
(
x
j
(
t
-
τ
i
j
(
t
)
)
)
+
I
i
(
t
)
,where(1)
ndenotes the number of units in the CNN,
(2)
x
(
t
)
=
{
x
1
(
t
)
,
x
2
(
t
)
,
…
,
x
n
(
t
)
}
∈
R
n is the state vector associated with the neurons,
(3)
I
=
{
I
1
,
I
2
,
…
,
I
n
}
∈
R
n is the external input vector,
(4)
f
(
x
(
t
)
)
=
{
f
1
(
x
1
(
t
)
)
,
f
2
(
x
2
(
t
)
)
,
…
,
f
n
(
x
n
(
t
)
)
}
∈
R
n are the neurons' activation functions,
(5)
τ
(
t
)
=
τ
i
j
(
t
)
(
i
,
j
=
1,2
,
…
,
n
) are the time delays,
(6)
C
=
diag
(
c
1
,
c
2
,
…
,
c
n
) is a diagonal matrix,
(7)
A
=
a
i
j
n
×
n and B
=
b
i
j
n
×
n are the connection weight matrix and the delayed connection weight matrix, respectively.The dynamics of (7) have been well studied and it is reported that it can exhibit rich chaotic phenomenona [22, 23]. As demonstrated in [18, 23], if the parameters are
(8)
h
h
A
=
2.0
-
0.1
-
5.0
3.0
,
B
=
-
1.5
-
0.1
-
0.5
-
2.5
,
h
h
h
h
h
h
h
h
h
h
h
h
h
h
C
=
1
0
0
1
,
and
if
f
i
x
i
t
=
tanh
x
i
t
,
τ
t
=
1
+
0.1
sin
t
,
I
=
0
,
the trajectories of (7) are shown in Figure 5.Figure 5
The trajectories of (7). In this figure, the values of x
(
t
) and y
(
t
) are calculated by means of the fourth-order Runge-Kutta method. The time span is from 0 to 200 with a total of 30,000 steps.The encryption and decryption schemes proposed in [18] are based on (7) and can be summarized as follows.(i)
Initialization. Obtain the starting point x
0 from the last N
0 transient time iterations as x
0
=
x
1
(
N
0
h
) where h is the discretized time step.
(ii)
Data Preparation. Divide the plaintext m into subsequences m
j of length l bytes, for example, l
=
4. That is, any message m can be digitized as
(9)
m
=
p
0
,
p
1
,
…
,
p
l
-
1
︸
m
0
p
l
,
p
l
+
1
,
…
,
p
2
l
-
1
︸
m
1
⋯
,where p
i is an 8-bit binary string. Then combine four p
i to form a 32-bit binary block, implying that P
j
=
p
j
,
p
j
+
1
,
p
j
+
2
,
p
j
+
3.The following steps constitute the core process of encryption.(1) Dynamic Parameter Computing. Iterate the initial value x
k  38 times and to yield x
k
+
1
,
x
k
+
2
,
…
,
x
k
+
38. Extractone bit from the 38 numbers and to obtain a 38-bit random binary sequence,
(10)
B
i
=
B
i
k
+
1
B
i
k
+
2
⋯
B
i
k
+
38
,
where B
i
k
=
b
i
(
x
k
) is computed as per
(11)
b
i
(
x
k
)
=
∑
r
=
1
2
i
-
1
‍
-
1
r
-
1
Θ
(
e
-
d
)
(
r
/
2
i
)
+
d
(
x
k
)
,
and where e and d are the upper and lower bounds of x
k, respectively,
(12)
Θ
threshold
(
x
k
)
=
0
,
x
k
<
threshold
1
,
x
k
≥
threshold
.
Denote
(13)
A
j
=
B
i
1
B
i
2
⋯
B
i
32
,
A
j
1
=
B
i
33
B
i
34
⋯
B
i
37
,
A
j
2
=
B
i
38
.
Also, let D
j denote the decimal value of A
j
1.(2) Permutation. Permute the message block P
j with left cyclic shift D
j bits and the message block A
j with right cyclic shift D
j bits, to obtain P
j
* and A
j
*. If A
j
2
=
0, the x
(
t
) is used for the successive block iteration illustrated in Step (1). Otherwise, y
(
t
) is used as the initial value of the next iteration.(3) Encryption by XOR. Encrypt the message block P
j by XOR operations (represented by ⊕) to yield
(14)
C
j
=
P
j
*
⊕
A
j
*
.(4) Loop. Reset the initial value by x
(
0
)
=
x
(
38
+
D
j
) (or x
(
0
)
=
y
(
38
+
D
j
); this depends on the value of A
j
2) and repeat the above steps; till all blocks are encrypted.As for the decryption, the steps are very similar to the encryption process except in the case of Step (3), where(15)
P
j
*
=
C
j
⊕
A
j
*
.
The plaintext P
j can be recovered by performing inverse permutations with right cyclic shifts of D
j bits.


### 3.2. The Analysis of the Delayed CNN-Based Cryptography

We now proceed to analyze the security and performance of the delayed CNN-based cryptography. Our goal is to demonstrate that this cryptography has several weaknesses as follows.(1) Nonrandomness. x and y are not uniformly distributed, which causes the “random” bits generated in Step (1) to be nonrandom. To illustrate this, we present the frequency statistics of the value of x
(
t
) and y
(
t
). The parameters used here are exactly the same as those used in Figure 5. We categorize the combination of x
(
t
) and y
(
t
) into 4 classes:(a)
x
≥
0 AND y
≥
0: 1801,
(b)
x
≥
0 AND y
<
0: 15618,
(c)
x
<
0 AND y
≥
0: 10781,
(d)
x
<
0 AND y
<
0: 1800.We can clearly see from the statistics that more than a half (52.06%) of the x
(
t
) and y
(
t
) gather in the first quadrant, while only 48.94% distribute in the other three quadrants. This phenomenon is confirmed from Figure 5. Furthermore, as demonstrated in Step (1), we can normalize x
(
t
) and y
(
t
) into [
0,1
] by
(16)
g
x
=
x
-
d
e
-
d
=
0
.
b
1
x
b
2
x
⋯
b
i
x
⋯
b
n
x
,
where e and d are the upper and lower bounds of x, respectively. We can thus generate the “random” binary bits according to g
(
x
). Indeed, the new counts are(a)
b
(
x
)
=
0 AND b
(
y
)
=
0: 2769,
(b)
b
(
x
)
=
0 AND b
(
y
)
=
1: 11573,
(c)
b
(
x
)
=
1 AND b
(
y
)
=
0: 14379,
(d)
b
(
x
)
=
1 AND b
(
y
)
=
1: 1279.Clearly, the bits generated by (12) are not “random.”(2) Trajectory Behavior. The authors of [18] did not use the trajectories as shown in Figure 5 directly. Instead, the random bits were generated according to the 38 successive iterations, as demonstrated in Step (1). We should thus carefully check the randomness of the corresponding sequences. According to Step (2) in Section 3.1, if A
j
2
=
0, x
(
t
) is used for the successive iteration; otherwise, it is y
(
t
). In this case, we swap the value of x
(
t
) and y
(
t
) every 38 iterations. As shown in Figure 6 we can see that the value of x
(
t
) and y
(
t
) is very close during the 38 iterations, which means the random bits B
i
1
B
i
2
⋯
B
i
38 are almost identical.Figure 6
The controlled trajectories of (7). For a better view, we have used a larger step 0.05 yielding a lesser number of points. The points contained in rectangles are marked as 1 and 3, 2 and 4 are symmetric pairs along the axis given by the line y
=
x.In spite of the above, the authors of [18] attempted to use this sequence to achieve the goals of “diffusion” and “confusion.” It is well known that a sequence possessing poor randomness properties cannot be used in any cryptographic algorithm [21], because it would otherwise lead to a more predictable ciphertext. Consequently, we argue that this algorithm is not secure.(3) Resistance to Attacks. This cryptographic system cannot resist known plaintext attacks, chosen plaintext attacks, and chosen ciphertext attacks. To demonstrate this, assume that an attacker has some plaintext-ciphertext pairs (
M
1
,
C
1
), (
M
2
,
C
2
), and (
M
3
,
C
3
), where {
M
i
} are the first 4 bytes of different plaintexts. If they are all encrypted by the same key, according to the algorithm, then A
j
*, D
j and some other intermediate iteration results should be the same. Thus
(17)
C
1
=
M
1
≪
D
j
⊕
A
j
*
,
C
2
=
M
2
≪
D
j
⊕
A
j
*
,
where ≪ denotes the cyclic left shift operation. Thus,
(18)
C
1
⊕
C
2
=
(
M
1
≪
D
j
)
⊕
(
M
2
≪
D
j
)
=
(
M
2
⊕
M
2
)
≪
D
j
.
Since (
M
1
,
C
1
) and (
M
2
,
C
2
) are known, it is quite easy to find the value of D
j. After that, we can solve the equation C
1
⊕
C
3
=
(
M
1
⊕
M
3
)
≪
D
j and thereafter determine M
3 successfully. Observe that during the whole process, we did not need any knowledge about the delayed CNN. The reason why we are able to proceed with such attacks is that the authors did not introduce the concept of theInitial Vector to the scheme.(4) Efficiency. Although the authors of [18] claimed that the algorithm is efficient, this is not really the case. Actually, this conclusion is also true for many other cryptosystems such as those algorithms presented in [8, 24], which involve time delays in their equations. It is well known that the Runge-Kutta method is one of the best ways to solve differential equations where the initial values are provided. However, this method is still far too expensive when compared to traditional block ciphers such as the DES or AES. Indeed, the computation of these traditional ciphers involves a finite field and only makes use of simple operations such as permutation. As opposed to this, solving differential equations involves the set of real numbers. For example, to encrypt a plaintext with size 1 M bytes, we have to divide the message into 1024
×
1024
/
4
=
262
,
144 blocks, where each block is of length 4 bytes. According to the encryption phase, at least N
0
+
38 iterations are involved to encrypt a single block. If we assume that N
0
=
62, we see that we have to thus do approximately 262
,
144
×
100
=
26
,
214
,
400 iterations to encrypt the entire file, which is, really, prohibitively large. More specifically, on an Intel Celeron CPU E1500 (2.20 GHz) with 4 G main memory, this encryption time using Matlab was about 7 minutes, which is unacceptable when compared to the “real time” operation of traditional block ciphers.(5) Statistical Attacks. The reader should take note of the fact that the block size was increased from 64 bits in DES to 128 bits in AES in order to avoid statistical attacks. Thus, it is not recommended that one uses blocks whose sizes are less than 128 bits in modern block ciphers [25]. Consequently, the fact that the Delayed CNN-based cryptography still relies on Exclusion OR operations involving strings of length 32 bits renders it more susceptible to statistical attacks.


## 3.1. The Description of the Delayed CNN-Based Cryptography

Delayed CNNs have been widely investigated in the past decades. The authors of [18] proposed a cryptographic system based on a special type of the delayed CNN. The model used in [18] is also a Hopfield-like NN which exhibits chaotic phenomenon and which obeys the following equation:
(7)
d
x
i
(
t
)
d
t
=
-
c
i
x
i
(
t
)
+
∑
j
=
1
n
‍
a
i
j
f
(
x
j
(
t
)
)
+
∑
j
=
1
n
‍
b
i
j
f
(
x
j
(
t
-
τ
i
j
(
t
)
)
)
+
I
i
(
t
)
,where(1)
ndenotes the number of units in the CNN,
(2)
x
(
t
)
=
{
x
1
(
t
)
,
x
2
(
t
)
,
…
,
x
n
(
t
)
}
∈
R
n is the state vector associated with the neurons,
(3)
I
=
{
I
1
,
I
2
,
…
,
I
n
}
∈
R
n is the external input vector,
(4)
f
(
x
(
t
)
)
=
{
f
1
(
x
1
(
t
)
)
,
f
2
(
x
2
(
t
)
)
,
…
,
f
n
(
x
n
(
t
)
)
}
∈
R
n are the neurons' activation functions,
(5)
τ
(
t
)
=
τ
i
j
(
t
)
(
i
,
j
=
1,2
,
…
,
n
) are the time delays,
(6)
C
=
diag
(
c
1
,
c
2
,
…
,
c
n
) is a diagonal matrix,
(7)
A
=
a
i
j
n
×
n and B
=
b
i
j
n
×
n are the connection weight matrix and the delayed connection weight matrix, respectively.The dynamics of (7) have been well studied and it is reported that it can exhibit rich chaotic phenomenona [22, 23]. As demonstrated in [18, 23], if the parameters are
(8)
h
h
A
=
2.0
-
0.1
-
5.0
3.0
,
B
=
-
1.5
-
0.1
-
0.5
-
2.5
,
h
h
h
h
h
h
h
h
h
h
h
h
h
h
C
=
1
0
0
1
,
and
if
f
i
x
i
t
=
tanh
x
i
t
,
τ
t
=
1
+
0.1
sin
t
,
I
=
0
,
the trajectories of (7) are shown in Figure 5.Figure 5
The trajectories of (7). In this figure, the values of x
(
t
) and y
(
t
) are calculated by means of the fourth-order Runge-Kutta method. The time span is from 0 to 200 with a total of 30,000 steps.The encryption and decryption schemes proposed in [18] are based on (7) and can be summarized as follows.(i)
Initialization. Obtain the starting point x
0 from the last N
0 transient time iterations as x
0
=
x
1
(
N
0
h
) where h is the discretized time step.
(ii)
Data Preparation. Divide the plaintext m into subsequences m
j of length l bytes, for example, l
=
4. That is, any message m can be digitized as
(9)
m
=
p
0
,
p
1
,
…
,
p
l
-
1
︸
m
0
p
l
,
p
l
+
1
,
…
,
p
2
l
-
1
︸
m
1
⋯
,where p
i is an 8-bit binary string. Then combine four p
i to form a 32-bit binary block, implying that P
j
=
p
j
,
p
j
+
1
,
p
j
+
2
,
p
j
+
3.The following steps constitute the core process of encryption.(1) Dynamic Parameter Computing. Iterate the initial value x
k  38 times and to yield x
k
+
1
,
x
k
+
2
,
…
,
x
k
+
38. Extractone bit from the 38 numbers and to obtain a 38-bit random binary sequence,
(10)
B
i
=
B
i
k
+
1
B
i
k
+
2
⋯
B
i
k
+
38
,
where B
i
k
=
b
i
(
x
k
) is computed as per
(11)
b
i
(
x
k
)
=
∑
r
=
1
2
i
-
1
‍
-
1
r
-
1
Θ
(
e
-
d
)
(
r
/
2
i
)
+
d
(
x
k
)
,
and where e and d are the upper and lower bounds of x
k, respectively,
(12)
Θ
threshold
(
x
k
)
=
0
,
x
k
<
threshold
1
,
x
k
≥
threshold
.
Denote
(13)
A
j
=
B
i
1
B
i
2
⋯
B
i
32
,
A
j
1
=
B
i
33
B
i
34
⋯
B
i
37
,
A
j
2
=
B
i
38
.
Also, let D
j denote the decimal value of A
j
1.(2) Permutation. Permute the message block P
j with left cyclic shift D
j bits and the message block A
j with right cyclic shift D
j bits, to obtain P
j
* and A
j
*. If A
j
2
=
0, the x
(
t
) is used for the successive block iteration illustrated in Step (1). Otherwise, y
(
t
) is used as the initial value of the next iteration.(3) Encryption by XOR. Encrypt the message block P
j by XOR operations (represented by ⊕) to yield
(14)
C
j
=
P
j
*
⊕
A
j
*
.(4) Loop. Reset the initial value by x
(
0
)
=
x
(
38
+
D
j
) (or x
(
0
)
=
y
(
38
+
D
j
); this depends on the value of A
j
2) and repeat the above steps; till all blocks are encrypted.As for the decryption, the steps are very similar to the encryption process except in the case of Step (3), where(15)
P
j
*
=
C
j
⊕
A
j
*
.
The plaintext P
j can be recovered by performing inverse permutations with right cyclic shifts of D
j bits.


## 3.2. The Analysis of the Delayed CNN-Based Cryptography

We now proceed to analyze the security and performance of the delayed CNN-based cryptography. Our goal is to demonstrate that this cryptography has several weaknesses as follows.(1) Nonrandomness. x and y are not uniformly distributed, which causes the “random” bits generated in Step (1) to be nonrandom. To illustrate this, we present the frequency statistics of the value of x
(
t
) and y
(
t
). The parameters used here are exactly the same as those used in Figure 5. We categorize the combination of x
(
t
) and y
(
t
) into 4 classes:(a)
x
≥
0 AND y
≥
0: 1801,
(b)
x
≥
0 AND y
<
0: 15618,
(c)
x
<
0 AND y
≥
0: 10781,
(d)
x
<
0 AND y
<
0: 1800.We can clearly see from the statistics that more than a half (52.06%) of the x
(
t
) and y
(
t
) gather in the first quadrant, while only 48.94% distribute in the other three quadrants. This phenomenon is confirmed from Figure 5. Furthermore, as demonstrated in Step (1), we can normalize x
(
t
) and y
(
t
) into [
0,1
] by
(16)
g
x
=
x
-
d
e
-
d
=
0
.
b
1
x
b
2
x
⋯
b
i
x
⋯
b
n
x
,
where e and d are the upper and lower bounds of x, respectively. We can thus generate the “random” binary bits according to g
(
x
). Indeed, the new counts are(a)
b
(
x
)
=
0 AND b
(
y
)
=
0: 2769,
(b)
b
(
x
)
=
0 AND b
(
y
)
=
1: 11573,
(c)
b
(
x
)
=
1 AND b
(
y
)
=
0: 14379,
(d)
b
(
x
)
=
1 AND b
(
y
)
=
1: 1279.Clearly, the bits generated by (12) are not “random.”(2) Trajectory Behavior. The authors of [18] did not use the trajectories as shown in Figure 5 directly. Instead, the random bits were generated according to the 38 successive iterations, as demonstrated in Step (1). We should thus carefully check the randomness of the corresponding sequences. According to Step (2) in Section 3.1, if A
j
2
=
0, x
(
t
) is used for the successive iteration; otherwise, it is y
(
t
). In this case, we swap the value of x
(
t
) and y
(
t
) every 38 iterations. As shown in Figure 6 we can see that the value of x
(
t
) and y
(
t
) is very close during the 38 iterations, which means the random bits B
i
1
B
i
2
⋯
B
i
38 are almost identical.Figure 6
The controlled trajectories of (7). For a better view, we have used a larger step 0.05 yielding a lesser number of points. The points contained in rectangles are marked as 1 and 3, 2 and 4 are symmetric pairs along the axis given by the line y
=
x.In spite of the above, the authors of [18] attempted to use this sequence to achieve the goals of “diffusion” and “confusion.” It is well known that a sequence possessing poor randomness properties cannot be used in any cryptographic algorithm [21], because it would otherwise lead to a more predictable ciphertext. Consequently, we argue that this algorithm is not secure.(3) Resistance to Attacks. This cryptographic system cannot resist known plaintext attacks, chosen plaintext attacks, and chosen ciphertext attacks. To demonstrate this, assume that an attacker has some plaintext-ciphertext pairs (
M
1
,
C
1
), (
M
2
,
C
2
), and (
M
3
,
C
3
), where {
M
i
} are the first 4 bytes of different plaintexts. If they are all encrypted by the same key, according to the algorithm, then A
j
*, D
j and some other intermediate iteration results should be the same. Thus
(17)
C
1
=
M
1
≪
D
j
⊕
A
j
*
,
C
2
=
M
2
≪
D
j
⊕
A
j
*
,
where ≪ denotes the cyclic left shift operation. Thus,
(18)
C
1
⊕
C
2
=
(
M
1
≪
D
j
)
⊕
(
M
2
≪
D
j
)
=
(
M
2
⊕
M
2
)
≪
D
j
.
Since (
M
1
,
C
1
) and (
M
2
,
C
2
) are known, it is quite easy to find the value of D
j. After that, we can solve the equation C
1
⊕
C
3
=
(
M
1
⊕
M
3
)
≪
D
j and thereafter determine M
3 successfully. Observe that during the whole process, we did not need any knowledge about the delayed CNN. The reason why we are able to proceed with such attacks is that the authors did not introduce the concept of theInitial Vector to the scheme.(4) Efficiency. Although the authors of [18] claimed that the algorithm is efficient, this is not really the case. Actually, this conclusion is also true for many other cryptosystems such as those algorithms presented in [8, 24], which involve time delays in their equations. It is well known that the Runge-Kutta method is one of the best ways to solve differential equations where the initial values are provided. However, this method is still far too expensive when compared to traditional block ciphers such as the DES or AES. Indeed, the computation of these traditional ciphers involves a finite field and only makes use of simple operations such as permutation. As opposed to this, solving differential equations involves the set of real numbers. For example, to encrypt a plaintext with size 1 M bytes, we have to divide the message into 1024
×
1024
/
4
=
262
,
144 blocks, where each block is of length 4 bytes. According to the encryption phase, at least N
0
+
38 iterations are involved to encrypt a single block. If we assume that N
0
=
62, we see that we have to thus do approximately 262
,
144
×
100
=
26
,
214
,
400 iterations to encrypt the entire file, which is, really, prohibitively large. More specifically, on an Intel Celeron CPU E1500 (2.20 GHz) with 4 G main memory, this encryption time using Matlab was about 7 minutes, which is unacceptable when compared to the “real time” operation of traditional block ciphers.(5) Statistical Attacks. The reader should take note of the fact that the block size was increased from 64 bits in DES to 128 bits in AES in order to avoid statistical attacks. Thus, it is not recommended that one uses blocks whose sizes are less than 128 bits in modern block ciphers [25]. Consequently, the fact that the Delayed CNN-based cryptography still relies on Exclusion OR operations involving strings of length 32 bits renders it more susceptible to statistical attacks.


## 4. Conclusion

Chaotic Neural Networks have been widely used in various fields such as pattern recognition, dynamic associate memory, and optimization. Recently, cryptography based on chaos or CNNs has drawn great attention. In this paper, we present a detailed analysis of two typical cipher schemes: the CNN-Hash and Delayed CNN-Based Encryption. The former compresses a plaintext onto a 128-bit sequence, which is similar to MAC. The latter encrypts plaintext so that an eavesdropper will not be able to decrypt the message without the key, which is analogous to common cipher algorithms. Although the authors have affirmed that their schemes are secure and efficient, our investigation proves that these claims are not valid. We have proven that the CNN-Hash is not Second-Preimage resistant and collision resistant. The DCBE has also been shown to not be secure since an attacker can partially recover the plaintext by using a known plaintext attack, a chosen plaintext attack, or chosen ciphertext attack. We have also concluded that the two schemes are not computationally efficient.



---

*Source: 468567-2015-02-28.xml*