Journal of Computer Science 4 (12): 999-1002, 2008
ISSN 1549-3636
© 2008 Science Publications
Corresponding Author: Abdelfatah A. Yahya, Faculty of Science and Information Technology,
Al-Zaytoonah University of Jordan, Queen Alia Airport Road, Amman 11733, Jordan
999
A Shuffle Image-Encryption Algorithm
Abdelfatah A. Yahya and Ayman M. Abdalla
Department of Computer Science, Al-Zaytoonah University of Jordan,
Amman 11733, Jordan
Abstract: Problem statement: Image encryption needs to be secure by resisting statistical attacks and
other types of attacks. Approach: The new algorithm, call it the Shuffle Encryption Algorithm (SEA),
applies nonlinear s-box byte substitution. Then, it performed a shuffling operation partially dependent
on the input data and uses the given key. Results: SEA was implemented and tested with different
data, mainly consisting of images. Results confirmed its security, shown through statistical analysis
using histograms, correlation and covariance. Conclusion: New algorithm was suited for encrypting
images and other types of data.
Key words: Cryptography, image encryption, s-box, rijndael
INTRODUCTION
The study of cryptography has become
increasingly important, as progressively more
information is stored and transmitted in electronic form.
This led to the creation of many encryption algorithms
and standards. One of the most popular standards today
is the Advanced Encryption Standard (AES), also
known as Rijndael. This standard is the cipher of choice
for many official and commercial organizations around
the world and it is used in encrypting many forms of
electronic data.
A detailed explanation of the design of AES is
available
[5]
. The AES uses byte substitution using a
table called an s-box. More s-box construction methods
were developed later
[1,4]
. AES may also be implemented
efficiently on smart cards
[9]
. Some studies were made
on image encryption using AES
[2,7]
and using matrix
transformation
[10,11]
. The security of AES was
demonstrated by its resistance to attacks when it was
applied with ten or more rounds using a key of at least
128 bits
[3,8,12-14]
. Other encryption algorithms based on
AES were also developed
[6,12,13]
.
A new encryption algorithm is presented. The new
algorithm, called the Shuffle Encryption Algorithm
(SEA), uses a nonlinear byte-substitution step using an
s-box and a shuffle operation. This new algorithm is
reasonably secure, as shown by the implementation
results.
MATERIALS AND METHODS
The new SEA algorithm starts with nonlinear byte
substitution using a lookup table (s-box) and then it
performs linear shuffling of the result. These two steps
are performed for k rounds, where the key consists of k
numbers, k≥1. The shuffling step is both key dependent
and data dependent.
Let the bytes of an (n×m)-byte image be numbered
left to right, row by row, starting with number (j = 1)
for the first byte of the first row and ending with
number (j = nm) for the last byte of the last row. The
encryption algorithm using SEA is as follows:
Generate s-box
For i = 1 to k
fixBit = Key[i]
D = Vector where D[j] is the value of bit (fixBit)
of the j
th
byte of the current image
S0 = Vector containing numbers of current image
bytes (j) that have (D[j] = = 0)
S1 = Vector containing numbers of current image
bytes (j) that have (D[j] = = 1)
Shuffle = Concatenation of S0 with S1
Substitute the bytes of the current image so that the
new location of byte (j) is byte (Shuffle[j])
Substitute the bytes of the resulting image using the
s-box table
End For
This algorithm takes an image (or another data
item) and a key consisting of k numbers as input and it
works as follows. First, an s-box substitution table is
constructed to perform two transformations:
multiplicative inverse and affine transformation. The
algorithm takes k rounds, where k≥1. Each round takes