Welcome to Scribd, the world's digital library. Read, publish, and share books and documents. See more
Download
Standard view
Full view
of .
Save to My Library
Look up keyword
Like this
3Activity
0 of .
Results for:
No results containing your search query
P. 1
A Digital Image Encryption Algorithm Based On Chaotic Logistic Maps Using A Fuzzy Controller

A Digital Image Encryption Algorithm Based On Chaotic Logistic Maps Using A Fuzzy Controller

Ratings: (0)|Views: 162 |Likes:
Published by ijcsis
In this paper we will present a digital image encryption algorithm based on chaotic logistic maps and using fuzzy logic (FL-CM-EA). Many papers was published in the recent years about encryption algorithm using chaotic dynamical systems thanks to the set of very interesting properties guaranteed by these chaotic dynamical systems: high sensitivity to initial conditions, ergodicity, simplicity of implementation..., that can be used to conceive efficient cryptosystems. The main idea of this paper is the usage of a fuzzy logic set of rules to control the next iteration of our proposed iterative mechanism using a set of logistic maps. An introduction to chaotic dynamical systems and logistic map is given followed by an introduction to fuzzy logic. A complete specification of the proposed algorithm is presented with a set of security analysis tests that show the efficiency and the high security level of the algorithm.
In this paper we will present a digital image encryption algorithm based on chaotic logistic maps and using fuzzy logic (FL-CM-EA). Many papers was published in the recent years about encryption algorithm using chaotic dynamical systems thanks to the set of very interesting properties guaranteed by these chaotic dynamical systems: high sensitivity to initial conditions, ergodicity, simplicity of implementation..., that can be used to conceive efficient cryptosystems. The main idea of this paper is the usage of a fuzzy logic set of rules to control the next iteration of our proposed iterative mechanism using a set of logistic maps. An introduction to chaotic dynamical systems and logistic map is given followed by an introduction to fuzzy logic. A complete specification of the proposed algorithm is presented with a set of security analysis tests that show the efficiency and the high security level of the algorithm.

More info:

Published by: ijcsis on Apr 09, 2011
Copyright:Attribution Non-commercial

Availability:

Read on Scribd mobile: iPhone, iPad and Android.
download as PDF, TXT or read online from Scribd
See more
See less

03/10/2013

pdf

text

original

 
A digital image encryption algorithm based onchaotic logistic maps using a fuzzy controller
Mouad HAMRI
#1
, Jilali Mikram
#2
, Fouad Zinoun
&3
#
Mathematics and computer science department, Science University of Rabat-Agdal4 Avenue Ibn Battouta Rabat Morocco
&
Economical sciences and management department, University of Meknes Morocco
1
hamri.mouad@gmail.com
2
mikram@fsr.ac.ma
3
fouad.zinoun@gmail.com
Abstract
—In this paper we will present a digital image encryp-tion algorithm based on chaotic logistic maps and using fuzzylogic (FL-CM-EA). Many papers was published in the recentyears about encryption algorithm using chaotic dynamical sys-tems thanks to the set of very interesting properties guaranteedby these chaotic dynamical systems: high sensitivity to initialconditions, ergodicity, simplicity of implementation..., that canbe used to conceive efficient cryptosystems.The main idea of this paper is the usage of a fuzzy logic setof rules to control the next iteration of our proposed iterativemechanism using a set of logistic maps.An introduction to chaotic dynamical systems and logistic mapis given followed by an introduction to fuzzy logic. A completespecification of the proposed algorithm is presented with a setof security analysis tests that show the efficiency and the highsecurity level of the algorithm.
Keywords
: cryptography, logistic map, fuzzy logic, imageencryption, security analysis, dynamical systems, chaos theory.I. I
NTRODUCTION
Today the community network applications in the internetare been used by billions of people around the world and thisusage rate is growing continuously. This implies that moreand more amounts of information is being transmitted overthe internet. The data being transmitted includes all kind of information format: text, audio, video, image and a lot of other special formats.Images are used widely in our daily life in almost ourcommunications, these communications includes militarycommunications, banks transactions and many othercommunications where the security is really mandatory.This lead to conclude that image security is a very importanttopic in our internet communication world.Many algorithm have been proposed in the last yearsto solve these security issues, using the classical encryptionalgorithms such as RSA or EL-Gamal or using the ellipticcurves. The problem with the previous algorithm is that theirsecurity relies on the fact that it is not feasible with today’smachines to factorize a large number or to solve the discretelogarithm problem but this may not be true in the near futureespecially with the recent advances in machines performancesand the quantum machines that can be a reality soon.Chaotic dynamical systems present a very important tool tobuild efficient and secure cryptosystems thanks to their highsensitivity to initial conditions, their ergodicity propriety, theirsimplicity of implementation and also the very interestingexecution time that help to have a real-time applications.In this paper we propose an encryption algorithms using notonly one logistic map but a map of many logistic maps andthe iterations are defined using a set of fuzzy logic rules.The rest of this paper will be as follow: section 2 introduceschaotic dynamical systems and logistic map, section 3introduces fuzzy logic, section 4 presents the proposedalgorithm with some results, section 5 presents the securityanalysis tests and finally section 6 concludes this paper.II. C
HAOTIC DYNAMICAL SYSTEMS AND LOGISTIC MAP
Roughly speaking, a
dynamical system
([1-4],[11-12]) con-sists of two ingredients: a rule which is described by a set of equations and specify how the system evolves and an initialcondition from which the system starts. It can be definedalso as a system of equations describing the evolution of amathematical model where the model is fully determined bya set of variables.The logistic map (that will be used in our algorithm) is a veryfamous discrete dynamical system used in many researcheswhen dealing with dynamical systems and chaos. It is definedon the set
[0
,
1]
and can be written:
x
n
+1
=
rx
n
(1
x
n
)
Where
x
0
represent the initial condition,
n
N
and
r
ispositive real number.In reality, there is no universal definition for chaoticdynamical systems. The following definition tries to define achaotic dynamical system using three ingredients that almosteveryone would agree on.
Chaotic dynamical system:
Let
:
a function(
X,
R
).The dynamical system
˙
x
=
(
x
)
is said to be
chaotic
if thefollowing proprieties are satisfied:
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 9, No. 3, March 201139 http://sites.google.com/site/ijcsis/ISSN 1947-5500
 
1-
Sensitive dependance on initial conditions
:
β >
0
,
ε >
0
there exists a point
y
0
and
k >
0
, such that:
|
x
0
y
0
|
< β
|
x
k
y
k
|
> ε
.2-
Density of periodic orbits:
The ensemble of periodicorbits:
{
x
0
X,
k >
0
,x
k
=
x
0
}
is dense in X.3-
Deterministic
: means that the system has no random ornoisy inputs or parameters.The definition above is applied to both discrete andcontinuous dynamical systems.The logistic map is a chaotic dynamical system and presentsa very high sensitivity to initial conditions for
r
betweenabout 3.57 and 4 (approximatively).Fig.1 shows the bifurcation diagram of the logistic map.
Fig. 1. Bifurcation diagram of the logistic map
III. F
UZZY LOGIC
In the 1960s, LotZadeh invented fuzzy logic [16,17],which combines the concepts of crisp logic and theLukasiewicz sets by defining graded membership. One of Zadehs main insights was that mathematics can be used to link language and human intelligence. Many concepts are betterdefined by words than by mathematics, and fuzzy logic and itsexpression in fuzzy sets provide a discipline that can constructbetter models of reality.Fuzzy logic is a form of many-valued logic in the opposite of the crisp logic which is a two-valued logic (binary logic).Fuzzy logic involves linguistic variables with a truth valuein the interval
[0
,
1]
, it involves also fuzzy sets and fuzzyinference.Every fuzzy model uses fuzzy rules which are linguistic if-then statements. These rules are linking the inputs variablesto the output variables, they simply define the control logic.Two major types of fuzzy rules exist: Mandany fuzzy rules andTakagi-Sugeno (TS) fuzzy rules. An example of a Mandanyfuzzy rule for a fuzzy system with two inputs and two outputscan be described as follow:IF
x
1
in
1
and
x
2
in
1
THEN
y
1
in
3
and
y
2
in
4
For TS fuzzy rules and unlike Mandany fuzzy rules, TS fuzzyrules define the output variables as a function of the inputvariables. If we take the same example as before, a TS fuzzyrule can be described as follow:IF
x
1
in
1
and
x
2
in
1
THEN
y
1
=
(
x
1
,x
2
)
and
y
2
=
g
(
x
1
,x
2
)
Where
and
g
are two real functions of any type.In general, the steps followed to construct a fuzzy controllerare:1) Identifying and naming the fuzzy inputs and outputs.2) Creating the the fuzzy membership functions.3) Constructing the fuzzy rules (Mandany or TS rules).4) Defining the defuzzification process (convert fuzzy out-puts to crisp outputs).The figure Fig.2 shows an example of a possible fuzzycontroller.
Fig. 2. Diagram of a fuzzy controller
In the next section, we will present our encryption algorithmand we will describe all the parameters of the used fuzzycontroller.IV. T
HE ALGORITHM
The proposed algorithm (FL-CM-EA) takes as inputs aplain-image P and a 128 bits key K then generates as outputthe cipher-image C.The main idea of the algorithm was to use not only a simplelogistic map to generate the encryption (decryption key) but touse what we have called ”fuzzy-logistic-map”, which is alsoa function from the interval
[0
,
1]
to itself, using three fuzzyrules and three logistic map (we can use as many logistic mapsand fuzzy rules as we want but in this paper we will use three).
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 9, No. 3, March 201140 http://sites.google.com/site/ijcsis/ISSN 1947-5500
 
If we call the three logistic maps
LM 
1
,
LM 
2
and
LM 
3
thenthe fuzzy rules are as follow:1) IF
x
IS
1
THEN FLM(
x
)=
LM 
1
(
x
) =
r
1
x
(1
x
)
2) IF
x
IS
2
THEN FLM(
x
)=
LM 
2
(
x
) =
r
2
x
(1
x
)
3) IF
x
IS
3
THEN FLM(
x
)=
LM 
3
(
x
) =
r
3
x
(1
x
)
For the rest of this paper, we will use the following values:
r
1
= 3
.
95
,
r
2
= 3
.
9
and
r
3
= 3
.
8
.The fuzzy sets
1
,
2
and
3
membership functions
1
,
2
and
3
are defined as follow:
1
(
x
) =
2
x
+ 1 if 0
x
12
0 if 
12
x
1
2
(
x
) =
2
x
if 0
x
12
2
x
+ 2 i
12
x
1
3
(
x
) =
0 if 0
x
12
2
x
1 if 
12
x
1
For the defuzzification process, we use a center averagedefuzzifier and the crisp value of FLM(
x
) is:
FML
(
x
) =
3
i
=1
µ
i
LM 
i
(
x
)
3
i
=1
µ
i
Where
µ
i
represents the degree of membership of 
x
in
i
.Before presenting the algorithm, the following notations arepresented:
plain-imageK 128 bits key
cipher-image
i
ith pixel of P
i
(
R,GorB
)
Red, Green or Blue value of the pixel
iFLM 
i
fuzzy-logistic-map value after i iteration
L
i
(
x
0
,
)
Value of the logistic map
i
starting from
x
0
after
iterationsF A map from the set of 32 bytesnumbers to the interval
[0
,
1]
The encryption algorithm description can be summarizedas following:
Begin:
Step 1: We begin by generating an initial condition
x
0
[0
,
1]
:
x
0
=
(
)
.
Step 2: In this step we generate a key vector
K
of size
n
where
n
is the number of pixels of P using thefunction getKey:
KF 
=
getKey
(
x
0
)
.The function getKey is defined as bellow:Run the FLM generator and stop after
ITER
iterations (the initial value is
x
0
and
ITER
is aniteration parameter).For
i
in
[1
,n
]
:
KF 
i
=
(
ITERl
=1
FML
(
i
+
l
)
2
)
×
256
mod
256
.
Run the FLM generator and stop after
ITER
.
Step 3:Using the generated key, we will generate theimage
as follow:
0
(
R
) = (
0
(
R
) +
KF 
0
)
mod
256
.
0
(
G
) = (
0
(
G
) +
KF 
0
)
mod
256
.
0
(
B
) = (
0
(
B
) +
KF 
0
)
mod
256
.and:For
i
in
[2
,n
]
:
i
(
R
) = (
i
(
R
) +
KF 
i
+
i
1
(
R
))
mod
256
.
i
(
G
) = (
i,j
(
G
) +
K
i,j
+
i
1
(
G
)))
mod
256
.
i
(
B
) = (
i,j
(
B
) +
KF 
i,j
+
i
1
(
B
)))
mod
256
.
Step 4: We reverse the data of the image
:For
i
in
[1
,n
]
:
i
=
n
i
+1
Step 5: finally we construct the cipher-image
byrepeating the step 3 using the image
:
0
(
R
) = (
0
(
R
) +
K
0
)
mod
256
.
0
(
G
) = (
0
(
G
) +
K
0
)
mod
256
.
0
(
B
) = (
0
(
B
) +
K
0
)
mod
256
.and:For
i
in
[2
,n
]
:
i
(
R
) = (
i
(
R
) +
K
i
+
i
1
(
R
))
mod
256
.
i
(
G
) = (
i,j
(
G
) +
KF 
i,j
+
i
1
(
G
)))
mod
256
.
i
(
B
) = (
i,j
(
B
) +
KF 
i,j
+
i
1
(
B
)))
mod
256
.
End
The decryption algorithm is identical to the encryption algo-rithm, it receives as inputs the cipher-image C and the 128bits key K (the same used for the encryption) and returns asoutput the plain-image P.The only difference between the two algorithm is the step3 and step 5 which are defined as below for the decryptionalgorithm.
Step 3:
0
(
R
) = (
0
(
R
)
K
0
)
mod
256
.
0
(
G
) = (
0
(
G
)
K
0
)
mod
256
.
0
(
B
) = (
0
(
B
)
K
0
)
mod
256
.and:For
i
in
[2
,n
]
:
i
(
R
) = (
i
(
R
)
K
i
i
1
(
R
))
mod
256
.
i
(
G
) = (
i
(
G
)
K
i
i
1
(
G
))
mod
256
.
i
(
B
) = (
i
(
B
)
K
i
i
1
(
B
))
mod
256
.
Step 5:
0
(
R
) = (
0
(
R
)
KF 
0
)
mod
256
.
0
(
G
) = (
0
(
G
)
KF 
0
)
mod
256
.
0
(
B
) = (
0
(
B
)
KF 
0
)
mod
256
.and:For
i
in
[2
,n
]
:
i
(
R
) = (
i
(
R
)
KF 
i
i
1
(
R
))
mod
256
.
i
(
G
) = (
i
(
G
)
KF 
i
i
1
(
G
))
mod
256
.
i
(
B
) = (
i
(
B
)
KF 
i
i
1
(
B
))
mod
256
.
(IJCSIS) International Journal of Computer Science and Information Security,Vol. 9, No. 3, March 201141 http://sites.google.com/site/ijcsis/ISSN 1947-5500

You're Reading a Free Preview

Download
/*********** DO NOT ALTER ANYTHING BELOW THIS LINE ! ************/ var s_code=s.t();if(s_code)document.write(s_code)//-->