J. Software Engineering & Applications, 2010, 3: 50-57
doi:10.4236/jsea.2010.31006 Published Online January 2010 (http://www.SciRP.org/journal/jsea)
Copyright © 2010 SciRes JSEA
Cryptanalysis of TEA Using Quantum-Inspired
Genetic Algorithms
Wei Hu
Department of Computer Science, Houghton College, One Willard Avenue, Houghton, NY, USA.
Email: wei.hu@houghton.edu
Received September 10th, 2009; revised October 9th, 2009; accepted October 16th, 2009.
ABSTRACT
The Tiny Encryption Algorithm (TEA) is a Feistel block cipher well known for its simple implementation, small memory
footprint, and fast execution speed. In two previous studies, genetic algorithms (GAs) were employed to investigate the
randomness of TEA output, based on which distinguishers for TEA could be designed. In this study, we used quan-
tum-inspired genetic algorithms (QGAs) in the cryptanalysis of TEA. Quantum chromosomes in QGAs have the advan-
tage of containing more information than the binary counterpart of the same length in GAs, and therefore generate a
more diverse solution pool. We showed that QGAs could discover distinguishers for reduced cycle TEA that are more
efficient than those found by classical GAs in two earlier studies. Furthermore, we applied QGAs to break four-cycle
and five-cycle TEAs, a considerably harder problem, which the prior GA approach failed to solve.
Keywords: Cryptanalysis, Distinguisher, Feistel Block Cipher, Genetic Algorithms, Optimization, Quantum Computing, TEA
1. Introduction
The Tiny Encryption Algorithm (TEA), a Feistel block
cipher notable for its simplicity of description and im-
plementation, was developed by David Wheeler and
Roger Needham at the Computer Laboratory of Cam-
bridge University and was first presented at the Fast
Software Encryption workshop at Cambridge in 1994 [1].
Its design goal was to minimize the memory footprint
and maximize the speed. There is an excellent article on
TEA by Shepherd [2].
The following code presents the TEA encode routine
in C language:
void code(long* v, long* k) {
unsigned long y = v[0], z = v[1], sum = 0, /* set up */
delta = 0x9e3779b9, n = 32 ;
while (n-->0) { /* basic cycle start */
sum += delta ;
y += (z<<4)+k[0] ^ z+sum ^ (z>>5)+k[1] ;
z += (y<<4)+k[2] ^ y+sum ^ (y>>5)+k[3] ;
}
v[0] = y ; v[1] = z ; }
where the 128-bit key is stored in four 32-bit blocks k =
(k[0], k[1], k[2], k[3]) and data of 64 bits are stored in v
= (v[0] ,v[1]).
The quantity delta in the C code is used to ensure that
encryption/decryption in each cycle is different. A cycle
in TEA is defined as two Feistel rounds. The SHIFT,
ADD, and XOR operations in TEA provide the necessary
diffusion of the statistics of the plaintext in the ciphertext
and confusion between the ciphertext and key value for a
secure encryption algorithm.
The simplicity of TEA’s key schedule algorithm made
itself susceptible to the related-key attacks; in [3] three
such attacks were suggested. Soon after this discovery,
the original authors of TEA created a revised version of
TEA called XTEA to address this weakness [4].
Differential cryptanalysis is a commonly used crypt-
analytic technique introduced by Biham and Shamir [5].
It explores the correlations between the difference in an
input and the resultant difference at the output of the en-
cryption. The goal is to discover the non-randomness, in
the form of differential characteristics, of the cipher,
based on which the information about the secret key used
in encryption can be uncovered. In a differential crypt-
analysis, a large number of plaintext pairs need to be
generated following the patterns of differential charac-
teristics of a specific problem. A random selection me-
thod will not be the best technique for this purpose. In
[4,6,7], genetic algorithms [8] were employed to improve
the search process for effective plaintext pairs to attack
Data Encryption Standard (DES) [19]. In [9], authors
suggested differential attacks on 17-cycle TEA and 23-
cycle XTEA.
Cryptanalysis of TEA Using Quantum-Inspired Genetic Algorithms 51
The impossible differential cryptanalysis proposed in
[10] is a special case of differential cryptanalysis. Dif-
ferential cryptanalysis seeks out the differential charac-
teristics of a cipher with greater than expected probabil-
ity, but the impossible differential cryptanalysis looks for
differential characteristics with probability zero (impos-
sible). In [11] authors conducted the impossible differen-
tial cryptanalysis of 12-cycle TEA and 14-cycle XTEA.
It is interesting to note that XTEA is more vulnerable to
this kind of attacks than TEA, although the original im-
provement was aimed at the key-related attacks.
In the study of the block cipher RC6 [12], a candidate
for the Advanced Encryption Standard (AES), authors
noticed that block ciphers such as TEA and XTEA that
use shifting tended to display some non-random distribu-
tions in the least significant bits of their output words. For
a secure encryption algorithm, the bits patterns of the out-
put are expected to be uniform, i.e., truly random. They
employed the chi-square statistic x2 to measure the devia-
tion of the observed distributions in the least significant
bits of the output from a uniform distribution. Their results
showed that RC6 with 128-bit blocks could be distin-
guished from a random permutation with up to 15 rounds,
and for some weak keys up to 17 rounds.
In [13] authors were the first to make use of a genetic
algorithm (GA) with x2 statistic and two customized fit-
ness functions to study the same issue with TEA. More
specifically, they studied the bit patterns of the least sig-
nificant eight bits of the first output word of TEA, i.e.,
v[0] & 255. Their goal was to search bitmasks for the
input, both the input data blocks and the input key, which
produces a chi-square statistic value as far as possible
from the expected ones. They were successful with one-
cycle, two-cycle, and three cycle TEAs, but not with the
four-cycle TEA, which is a much harder problem.
In [14] authors corrected one of the two fitness func-
tions in [13] and used a meta-GA [15] to optimize the
parameters in each GA, including population size and
mutation rate, to improve the results in [13], but were
unable to tackle the four-cycle TEA. Consequently, to
find a means to attack TEA of greater than three-cycles
remains challenging. Solving this problem calls for a
different approach such as designing more effective fit-
ness functions since the performance of GAs heavily
depends on the structure of its fitness function or using
other evolutionary computation techniques.
2. Quantum-Inspired Genetic Algorithms
2.1 Some Basic Concepts in Quantum Mechanics
In quantum mechanics, particles move from one point to
another as if they are waves, reflecting the dual nature of
both waves and particles. The shape of these waves de-
pends on the particle’s angular momentum and energy
level. Particles are in a low energy state on one observa-
tion, and in a high energy state on the next. There is no
transition at all. The location of quantum particles, such
as electrons and photons, can be described by a quantum
state vector
, a weighted sum which in the case of
two possible locations equals 01
, where
and
are two weights influencing the particle being in
locations 0 or 1, respectively.
represents a
linear superposition of the particle given individual
quantum state vectors. However, in the act of observing a
quantum state, it collapses to a single state [16]. This fact
will be important when we introduce the quantum-inspired
genetic algorithms in Subsection 2.5.
2.2 Quantum Bit
The basic unit of information in quantum computing is
not a traditional bit but a quantum system with two states
such as a photon that has two polarized directions. This
quantum system is called qubit. A qubit, quantum bit, is
represented as
01

where and are complex numbers and ||2+||2=1. ||2
defines the probability that the qubit will be found in
state “0” and ||2 defines the probability that the qubit
will be found in state “1”. A qubit may be in the state “0”,
state “1”, or a linear superposition of the two.
2.3 Quantum Chromosome
Like the other evolutionary algorithms, the quantum-
inspired genetic algorithms have a representation of indi-
vidual or chromosome. An m-qubit chromosome is de-
fined as:
12
12
...
...
m
m


where ||2+||2=1,=1,2,…,. This expression has the
capability to represent a linear superposition of states,
from which all possible combinations of different values
can be derived. Let us look at one such example of 3-
qubit chromosome:
131
2
22
111
2
22
The states of this chromosome can be represented as
3311 3
000001010 011100
44444
311
101110 111
444



C
opyright © 2010 SciRes JSEA
Cryptanalysis of TEA Using Quantum-Inspired Genetic Algorithms
52
The above expression induces a probability distribu-
tion such that the probabilities that the chromosome is
seen to be in the 8 states 000 ,000 ,001,010 ,
011 ,100,101 ,110 and 111 are the squares of
the weights. This 3-qubit chromosome is capable of rep-
resenting 8 states, and 8 3-bit classical binary chromo-
somes are required to represent 8 states (000), (001),
(010), (011), (100), (101), (110), and (111). A qubit
represents probabilities of being in state “0”, “1”, or a
superposition of both, whereas a classical bit must be in
either state “0” or “1”. It is evident that a qubit contains
more information than a classical bit.
2.4 Quantum Mutation and Crossover
The mutation operation of a bit in a binary chromosome
is flipping that bit. We made use of two types of muta-
tions, rotational mutation and point mutation, in the
quantum genetic algorithms used in this work. The rota-
tional mutation operation of a qubit proposed in [17] is
defined by a quantum rotation matrix which satisfies 
= = I, where is the Hermitian adjoint matrix of
matrix and I is an identity matrix. In this paper, we
only used the following real-valued quantum rotation
matrix:

cos sin
sin cos
U




where
represents the angle of counterclockwise rota-
tion.
The point mutation is to switch the values of
and
in a qubit, and the crossover operation of a
quantum chromosome is defined similarly to that of a
binary chromosome. The original version of quantum-
inspired evolutionary algorithm proposed in [17] did not
contain such operations. We observed in our experiments
that our solutions tended to be trapped at local maxima,
so we introduced these two operations to increase the
diversity of our solution pool. Other similar definitions of
mutation and crossover could be found in the literature.
2.5 Quantum Genetic Algorithms
Encouraged by the excellent performance of the quan-
tum-inspired evolutionary algorithm in [17], we adapted
the following quantum-inspired genetic algorithm (QGA)
for our current study. The structure of QGA is described
in the following pseudo code:
QGA:
Begin
t0
1) initialize quantum population Q(t) of N qubit
chromosomes
2) make binary population P(t) by observing the states
of Q(t)
3) evaluate P(t)
4) store the best solutions among P(t) into b
while( t < T)
tt+1
1) evaluate P(t-1)
2) select the top 50% of Q(t-1) to undergo rotational
mutation, point mutation, and crossover to produce
N/2 new qubit chromosomes
3) Q(t)= (the top 50% of Q(t-1)) + (N/2 new qubit
chromosomes)
4) make P(t) by observing the states of Q(t)
5) store the best solutions among P(t) into b
end while
End
In our implementation of QGA, we chose
1
2
for all qubits in each chromosome when t = 0, so that
each qubit had equal probability to be in state “0” or “1”.
The quantum rotation angle
was chosen according to
Table 1 as in [18], where 0.001
.
3. Results
The input of TEA is 128 bits long, which is made of 64
bit blocks of data and a 128 bit key, and the output of
TEA is the encrypted 64 bit data stored in v[0] and v[1],
where v[0] and v[1] are defined in the C code introduced
at the beginning of this paper.
We used a qubit chromosome to represent a bitmask.
To evaluate each bitmask in a QGA, a logical AND op-
eration between the bitmask and a randomly generated
input pair, data-key, of 128 bits was performed. The re-
sultant values were then passed to TEA to yield the out-
put. There were 211 such randomly generated data-key
pairs for each bitmask.
The focus of our work is studying the distribution of
the bit patterns of v[0] & 255 in the output of TEA. We
recorded the counts of different values of v[0] & 255
from the outputs of TEA. The important question is
whether the observed counts were significantly different
from the expected ones. There are a variety of ways to
assess this difference including Pearson’s chi-square, G
test, and Fisher’s exact test. We utilized the chi-square
statistic in this work as in [13] and [14]. The Pearson’s
chi-square is
X2
1i
In this equation, N is the number of observations, is
the observed counts and is the expected counts. In the
current study, the expected counts follow a uniform dis-
tribution, which implies the bit patterns are truly random.
N
ii
i
OE
E
There are 256 possible values from v[0] & 255, therefore
the maximum value of the chi-square is 522,240 with
255 degrees of freedom and 211 observations (See [14]
for detailed calculation).
C
opyright © 2010 SciRes JSEA
Cryptanalysis of TEA Using Quantum-Inspired Genetic Algorithms
Copyright © 2010 SciRes JSEA
53
Table 1. Rotation angle
updating rules
i
x
i
best f(x)>f(best) i
ii
>0 ii
<0 i
=0 i
=0
0 0 false 0 0 0 0 0
0 0 true 0 0 0 0 0
0 1 false 0 0 0 0 0
0 1 true ε -1 +1 ±1 0
1 0 false ε -1 +1 ±1 0
1 0 true ε +1 -1 0 ±1
1 1 false ε +1 -1 0 ±1
1 1 true ε +1 -1 0 ±1
3.2 Two-Cycle TEA
where f is the fitness function, x and best are a solution and
the best solution respectively, x
i and besti are the i-th bit com-
ponent of x and best. Since the two-cycle TEA is more difficult than one-cycle
TEA, no bitmasks of heavy enough weights can produce
the maximal deviation of 522,240. In [13] and [14], authors
In this section, we will compare different bitmasks
found in each cycle of TEA using QGAs in our study and
using GAs in [13] and [14]. modified the fitness function in Equation (1) to create the
following fitness function to break the two-cycle TEA,
3.1 One-Cycle TEA
42
3
3
1, 403.4579
1,
wifx
w
fitness
otherwise
w

(2)
We used the following fitness function as in [13] and
[14],
42
2
,522, 240
,
wifx
fitness xotherwise
(1)
The idea behind this fitness function is to divide the-
search process of GA into two steps. The first step is to
find bitmasks with weights above the thresholdvalue
403.4579, which is about 0.5 percentile of all x2 values
where w represents the weight, the number of 1’s, of the
bitmask. This fitness function was first introduced in [6],
but incorrectly used 522,480 in place of 522,240. This
piece-wisely defined fitness function aims to find bit-
masks that have maximal deviation from a uniform
probability distribution.
and has a P-value of 5*10-9. The second is to in-
crease the weights of those bitmasks.
For one-cycle TEA, we found bitmasks that had max-
imal deviation from the random distribution with x2 =
522.240. In [13], the authors found their best solution at
weight 153, and [14] found their best solutions to be at
weights 154 and 155.
Table 2. Our results of QGA on one-cycle TEA
Bitmask x2 Weight
{0xFFFFFF00,0xFFFFE000,
0xFFFFFF00,0xFFFFFF00,
0xFFFFFFFF, 0xFFFFFFFF}
522,240 155
{0xFFFFFF00,0xFFFFE000,
0xFFFFFF00,0xFFFEFF00,
0xFFFFFFFF, 0xFFFFFFFF}
522,240 154
{0xFFFFFF00,0xDFFFE000,
0xFFFFFF00,0xFFFEFF00,
0xFFFFFFFF, 0xFFFFFFFF}
522,240 153
{0xFFFFFF00,0xDFFFE000,
0xFFFFFF00,0xFFFEFF00,
0xFFFFFFFE, 0xFFFFFFFF}
522,240 152
{0xFFFFFF00,0xDFFFE000,
0xFFFFFF00,0xFFFEFF00,
0xFFFFFFFF, 0xFF7FFFDF}
522,240 151
The bitmasks of higher weight are preferred since they
permit a bigger set of inputs to be used for the test. In [13]
authors used a GA with a population size of 100 to find
the best bitmask of weight 153 and in [14] authors used a
GA with a population size of 185 to find the best bit-
masks of weights 154 and 155. To provide a baseline for
comparison of different GA techniques, we ran our QGA
with a population size of 100 to find the best bitmasks of
weights ranging from 151 to 155, which are listed in Ta-
ble 2. The two bitmasks of weights 151 and 152 in Table
2 were not reported in [13] and [14]. Because one-cycle
TEA is relatively easier to break, all the bitmasks in Ta-
ble 2 have their x2= 522.240, which is the maximal value
for this statistic.
Cryptanalysis of TEA Using Quantum-Inspired Genetic Algorithms
54
Table 3. Results of GA on two-cycle TEA in [14]
Weight x2
157 459.6417
155 483.6
158 474.8167
145 486.2333
159 451.3917
158 415.8583
160 422.475
157 435.6833
162 488.3333
159 413.8417
Table 4. Our results of QGA on two-cycle TEA
Bitmask x2 Weight
{0xFFFFD7FF,0xFFDFFBFF,0xFFFCADF9,
0xFFFFFBCF, 0xFFFFFF5E, 0xFFFFFB8B} 611.925170
{0xFFFFD7FF, xFFDFFBFF,0xFFFCAC75,
0xFFFFDFCF, 0xFFFFFF5E, 0xFFFFFFCB} 606.725170
{0xFFFFD7F7, 0xFF9FFBFF, 0xFFFEAFF1,
0xFFFFFFCF, 0xFFFFFF5E, 0xFFFFFF8B} 588.875171
{0xFFFFD7F7,0xFF9FFBFF,0xFFFCBD7B,
0xFFFFFFCF, 0xFFFFFF5E, 0xFFFFFB8F} 572.375171
{0xFFFFD7FF,0xFF9FFBFF, 0xFFFCAD75,
0xFFFFFBEF, 0xFFFFFF5E, 0xFFFFFF9B} 538.5 171
{0xFFFFD7F7, 0xFF9FFBFF, 0xFFFFAC77,
0xFFFFDFCF, 0xFFFFFF7E, 0xFFFFFF8B} 578.4 171
{0xFFFFD7FF,0xFF9FFBFF, 0xFFFEBDF1,
0xFFFFFBCF, 0xFFFFFF5E, 0xFFFFFB9B} 662.075171
{0xFFFFD7FF,0xFF9FFBFF, 0xFFFCAD75,
0xFFFFFBEF, 0xFFFFFF5E, 0xFFFFFF9B} 628.125172
{0xFFFFF7FF,0xFF9FFBFF, 0xFFFCAD73,
0xFFFFFBCF, 0xFFFFF5DE, 0xFFFFFFBF} 635.725172
{0xFFFFF7F7,0xFFDFFBFF,0xFFFCADF7,
0xFFFFFBCF,0xFFFFFFDF, 0xFFFFFB8B} 598.075173
In [13], authors employed the fitness function defined
in Equation (2) to find the following best bitmask with a
weight of 155 and an average x2 statistic of 508.15 on 30
random input-key datasets:
{0xBFFFF0FA, 0xFFFE7388, 0xFFFFF7F8,
0xFFFFF3F8, 0xFFFFEF85, 0xFFFFEF8C}
In [14] authors found ten bitmasks using the fitness
function in Equation (2) and calculated the average x2
statistic across 30 different random input-key datasets,
each having 211 input-key pairs. Their results are summa-
rized in Table 3.
In [13] and [14], both authors used the same threshold
in the fitness function as in Equation (2) for two-cycle,
three-cycle, and four-cycle TEAs, and the bitmasks
found for four-cycle TEA were not usable due to their
low weights. We suspected that using a different thresh-
old in the fitness function for each cycle might be more
appropriate since the average x2 values of various cycles
are different. Based on this belief, we selected different
thresholds in the fitness function for each different cycle.
We used the following fitness function for two-cycle TEA,
42
2
, >1100
,
wifx
fitness
x
otherwise
(3)
The idea behind this fitness function is to ensure the
minimum value for x2 first, then find a bitmask of large
weight.
Our QGA discovered ten bitmasks whose average x2
statistic across 30 different random input-key datasets
and weight are included in Table 4.
In Table 4, the average x2 statistic was 602 and the av-
erage bitmask weight was 171, whereas the results from
[14] in Table 3 had corresponding values of 453.3875
and 157 respectively.
Our results in Table 4 demonstrated a big improve-
ment over those in [13] and [14]. As the cycles of TEA
increase, our QGAs show their apparent advantage over
GAs as illustrated in the following sections. In all the
subsequent experiments below, we used a QGA with
population size of 100, generation number of 200, and
0.001
in rotational mutation.
3.3 Three-Cycle TEA
For three-cycle TEA, authors in [14] used the same fit-
ness function defined in Equation (2) as for the two-cycle
TEA to find ten bitmasks. Their average x2 statistic
across 30 different random input-key datasets and weight
are presented in Table 5.
In [13], authors used fitness function defined in Equa-
tion (2) to get the following best bitmask with a weight
of 116 and an average x2 statistic of 466.5 on 30 random
input-key datasets:
{0xFFE1F040, 0x FCE70446, 0x FFEFF06E,
0x FFE7F42A, 0x FFBF1825, 0x FFFA0064}
We identified ten bitmasks using the following fitness
function for three-cycle TEA,
42
2
,>90
,
wifx
fitness 0
x
otherwise
(4)
The only difference between this function and that in
Equation (3) is the threshold employed in the function
definition. The information about these bitmasks is
summarized in Table 6. The average X2 statistic was
530.756 and the average bitmask weight was 117.8 in
Table 6, while the results from [14] in Table 5 had cor-
responding values of 420.8242 and 100.2 respectively.
C
opyright © 2010 SciRes JSEA
Cryptanalysis of TEA Using Quantum-Inspired Genetic Algorithms 55
Table 5. Results of GA on three-cycle TEA in [14]
Weight x2
99 427.0
100 432.675
105 413.0417
109 437.7333
104 423.025
93 445.1333
100 396.1917
105 420.7333
79 437.2667
108 375.4417
For two-cycle and three-cycle TEAs, we obtained bet-
ter bitmasks than those found in [13] and [14] in terms of
both chi-square statistic and weight.
3.4 Four-Cycle TEA
The task of finding efficient bitmasks becomes more
complicated as the cycles of TEA increase. The ap-
proaches in [13] and [14] were sufficient to find efficient
bitmasks for TEA of cycles less than four, but failed to
attack TEA of cycles greater than or equal to four.
In [13], using the fitness function in Equation (2) au-
thors found bitmasks of relatively low weights, less than
47. They then took up a different approach. Instead of
using chi-square statistic, they used Strict Avalanche
Criterion (SAC), a more sensitive measure, to assess the
deviation of the output of TEA from randomness. The
best bitmask they found was
{0x96922A0C, 0x42C06402, 0x35B11001,
0x97000000, 0xF0000001, 0xBEB00001}
with a weight of 50 and an average x2 statistic of 673.40
on 30 random input-key datasets. Since TEA takes input
data of 64 bits, any bitmask of weight less than 64 cannot
be useful for different cryptanalysis of TEA.
In [14], authors were unable to find any useful bit-
masks for four-cycle TEA. They suspected that with
more rounds of calculations in their GA, it might be pos-
sible to discover some adequate bitmasks.
Based on the principle that we should approach each
cycle differently, the following fitness function was ap-
plied to four-cycle TEA,
42
2
,>80
,
wifx
fitness 0
x
otherwise
(5)
Our QGA uncovered five bitmasks. For each of these
bitmask, we computed the average x2 statistic across 30
random input-key datasets. The results are listed in Table 7.
All these x2 statistic values have a P-value less than 5*10-9.
Table 6. Our results of QGA on three-cycle TEA
Bitmask x2 Weight
{0xF7D65CE6, 0x10FCA894,0xF2ABBFDD,
0xFF0557BB, 0xFF867C02, 0xFFD7E73D} 554.3120
{0x77D65CE6, 0x10FCA894, 0xF2ABBFDD,
0xFF0557BB, 0xFF867C02, 0xFFD7E73D} 518.74119
{0x77D65CE6, 0x10FCA894, 0xF2ABBFDD,
0xDF0557BB, 0xFF867C02, 0xFFD7E73D} 536.51118
{0x77D65CE6, 0x10FCA894, 0xE2ABBFDD,
0xFF0557BB, 0xFF867C02, 0xFBD7E73D} 540.11117
{0x77D65CE6, 0x10FCA894, 0xE2ABBFDD,
0xDF0557BB, 0xFF867C02, 0xFBD7E73D} 547.80116
{0xF1729F86, 0x97B6EC6F, 0xFB5A1EE0,
0xFFD328F4, 0xFFE4408C, 0xFFB1FDEA} 542.23117
{0xF1729F86, 0x97B6EC6F, 0xFB5A1EE0,
0xFFD328F4, 0xFDE4408C, 0xFFB1FDEA} 540.65116
{0xF38FA5FB, 0xF7E44E4B, 0xF483FB22,
0xF23FE071, 0xFFE1C64D, 0xFFCF5074} 559.45116
{0xF77C99E2, 0xD157C8BC, 0x7C79BF35,
0x9555D5F2, 0xFFFECA55, 0xCDDDABE5} 482.56120
{0x773C98EF, 0xD92FCEBC, 0x5C79BF15,
0x955D55F2, 0xFFFECA45, 0xCDDDABC5} 485.21119
Table 7. Our results of QGA on four-cycle TEA
Bitmask x2 Weight
{0x504007C7, 0xB03C5091, 0x84AE8212,
0x026029C7, 0x411BA198, 0xC81074B8} 740.2269
{0xF407DC1C, 0x7A123211, 0x8F1042AE,
0x8040A0BE, 0x90017A89, 0x20C204C0} 749.1269
{ 0x4520B630, 0x0A36E920, 0x0D051868,
0x0AEC3868, 0x2312C768, 0x2460F804} 721.3369
{0x54D3A2C4, 0x901722EC, 0xE02B0591,
0x21D00283, 0x57848409, 0x49114082} 735.2667
{0x3E2C642A, 0x80443210, 0xB446B064,
0x87250417, 0x0C93E181, 0x12040508} 767.2364
The output v[0] & 255 of the first bitmask in Table 7,
from two separate sample runs of TEA on one random
input-key dataset of 211 pairs, is displayed in the form of
histograms in Figure 1. As illustrated in Figure 1, there is
a clear peak or bias at the same position 152 for both
runs although the frequencies at all other positions are
relatively the same. The x2 statistic values produced by
these two sample runs of TEA were 927 and 941 respec-
tively. The significance of these x2 statistic values, which
measure the deviation of TEA output from randomness,
can be evaluated by their P-value. We thought it is more
helpful if the plots like those in Figure 1 can be exhib-
ited.
3.5 Five-Cycle TEA
In both [13] and [14], no results were reported for
five-cycle TEA. We used the following fitness function
in this case,
C
opyright © 2010 SciRes JSEA
Cryptanalysis of TEA Using Quantum-Inspired Genetic Algorithms
56
Figure 1. The two plots show the histograms of the output
of the first bitmask in Table 7. The x-axis represents the
possible 256 positions, and the y-axis represents the fre-
quencies of the bit patterns of TEA output at various positions
42
2
,>70
,
wifx
fitness 0
x
otherwise
(6)
We found the following bitmask:
{0xE4822346, 0x830CA317, 0xCE9522DC,
0x3E13C130, 0x33C18B0A, 0x128A11A0}
This bitmask has a weight of 76, an average x2 statistic
of 631.74 on 30 random input-key datasets, and a P-value
less than 5*10-9.
For five-cycle TEA, we only reported one bitmask that
has a high chi-square statistic and a high weight. It was
not the intent of our current study to conduct an exhaus-
tive search of all bitmasks of interest, but rather to dem-
onstrate the effectiveness of QGAs in the cryptanalysis
of TEA.
4. Conclusions
In this paper, QGAs were utilized in the cryptanalysis of
TEA. We not only significantly improved the results in
[13] and [14] in terms of both bitmask chi-square statistic
and weight, but also were able to break TEA of cycles
greater than or equal to four, a challenge previous studies
could not resolve. With these improved bitmasks, effi-
cient distinguishers for TEA can be constructed. These
distinguishers require few inputs to get high distinguish-
ing probability [13]. Our success, we believed, was based
on designing new fitness functions and the fact that the
qubit chromosomes in QGAs are more informative than
the bit chromosomes of same length in traditional GAs.
5. Acknowledgments
We thank Houghton College for its financial support and
Dr. Aaron Garrett of Jacksonville State University for
helpful discussion.
REFERENCES
[1] D. Wheeler, and R. Needham, “TEA, a tiny encryption
algorithm,” Proceedings of the 1995 Fast Software En-
cryption Workshop, Springer-Verlag, pp. 97–110, 1995.
[2] S. J. Shepherd, “The tiny encryption algorithm,” Journal
of Cryptologia, Vol. 31, No. 3, pp. 233–245, July 2007.
[3] D. Wagner, J. Kelsey, and B. Schneier, “Related-key
cryptoanalysis of 3-WAY, Biham-DES, CAST, DES-X,
NewDES, RC2 and TEA,” Proceedings of the IClCS’97
Conference, Springer-Verlag, pp. 233–246, 1997.
[4] F. Yang, J. Song, and H. Zhang, “Quantitative cryptana-
lysis of six-round DES using evolutionary algorithms,”
Proceedings of the 3rd International Symposium on Ad-
vances in Computation and Intelligence, LNCS Vol. 5370,
Springer-Verlag, pp. 134–141, 2008.
[5] E. Biham and A. Shamir, “Differential cryptanalysis of
DES-like cryptosystems,” CRYPTO’90, LNCS 537,
Springer-Verlag, pp. 2–21, 1991.
[6] J. Song, H. Zhang, Q. Meng, and Z. Wang, “Cryptanaly-
sis of two-round DES using genetic algorithms,”
ISICA’07: International Symposium on Intelligence
Computation and Applications, LNCS, Springer-Verlag,
Vol. 4683, pp. 583–590, 2007.
[7] J. Song, H. Zhang, Q. Meng, and Z. Wang, “Cryptanalysis
of four-round DES based on genetic algorithms,” Pro-
ceedings of the International Conference on Wireless
Communications, Networking and Mobile Computing,
Springer-Verlag, LNCS, Vol. 4683, pp. 583–590, 2007.
[8] J. Holland, “Adaptation in natural and artificial systems,”
Ann Arbor, MI: University of Michigan Press, 1975.
[9] S. Hong, D. Hong, Y. Ko, D. Chang, W. Lee, and S. Lee,
“Differential cryptanalysis of TEA and XTEA,” ICISC
2003, LNCS 2971, Springer-Verlag, pp. 402–417, 2004.
[10] E. Biham, A. Biryukov, and A. Shamir, “Cryptanalysis of
skipjack reduced to 31 rounds using impossible differen-
tials,” Advances in Cryptology – EUROCRYT’99, LNCS,
Springer-Verlag, Vol. 1592, pp. 12–23, 1994.
[11] D. Moon, K. Hwang, W. Lee, S. Lee, and J. Lim, “Im-
possible differential cryptanalysis of reduced round
XTEA and TEA,” Fast Software Encryption, LNCS,
Springer-Verlag, Vol. 2365. pp. 49–60, 2002.
C
opyright © 2010 SciRes JSEA
Cryptanalysis of TEA Using Quantum-Inspired Genetic Algorithms
Copyright © 2010 SciRes JSEA
57
[12] L. Knudsen and W. Meier, “Correlations in RC6 with a
reduced number of rounds,” Proceedings of the Seventh
Fast Software Encryption Workshop, Springer-Verlag, 2000.
[13] J. C. Hernandez and P. Isasi, “Finding efficient distin-
guishers for cryptographic mappings, with an application
to the block cipher TEA,” Proceedings of the 2003 Con-
gress on Evolutionary Computation CEC2003, pp.
341–348, IEEE Press, 2003.
[14] A. Garrett, J. Hamilton, and G. Dozier, “Genetic algorithm
techniques for the cryptanalysis of TEA,” International
Journal on Intelligent Control and Systems Special Session
on Information Assurance. Vol. 12, pp. 325–330, 2007.
[15] J. J. Grefenstette, “Optimization of control parameters for
genetic algorithms,” IEEE Transactions on Systems, Man ,
and Cybernetics, Vol. 16, No. 1, pp. 122–128, 1986.
[16] R. Penrose, “Shadows of the mind,” Oxford University
Press, 1994.
[17] K. H. Han and J. H. Kim, “Introduction of quantum-inspired
evolutionary algorithm,” in Proceedings of the 2002 FIRA
Robot World Congress, pp. 243–248, May 2002.
[18] S. Y. Yang and L. C. Jiao, “The quantum evolutionary
programming,” Proceedings of the 5th International Con-
ference on Computational Intelligence and Multimedia
Applications (ICCIMA’03), pp. 362–367, 2003.
[19] National Bureau of Standards, Data Encryption Standard,
U.S. Department of Commerce, FIPS, Vol. 46, January
1977.