In this algorithm, the genetic operations used are
1-point crossover with probability pc=1.0, and
terminal node mutation with probability pm=0.1.
The mutation operation used to replaces a randomly
selected one gene from a LFSR feedback function
with a new one. The function library includes the
functions: LFSR, XOR, AND, OR. The terminal
nodes are strings of characters (which are converted
to Binary digits during the process of fitness
evaluation) that represent the linear feedback
functions of LFSRs.
For example, the following population individual
(chromosome):
"& SR adfe SR ddeab" is an expression of two
shift registers combined by AND function, and
"adfe" and "ddeab" are feedback functions of the
LFSRs in the expressions.
3 MUTATION OPERATION
DESCRIPTIONS
Different types of mutation operation are applied in
SAP algorithm. The descriptions of theses
operations are given bellow.
3.1 Terminal Node Mutation
This operation randomly changes a point (terminal
node) in the individual. The point is the feedback
function of a LFSR. Three variations of this
operation are considered in this study, as follows.
I. GA-Based Terminal Node Mutation
Here, Genetic Algorithm (GA) is used to find the
best LFSR feedback function to replace a randomly
selected terminal node (LFSR feedback function) of
an individual. The description of this operation is as
follows.
The population chromosomes in GA are
represented as fixed length Binary strings. The
lengths of these strings are equal to the length of the
randomly selected terminal node S of SAP
individual, where S is the Binary feedback function
of a LFSR. Each chromosome in GA population is a
mask used to modify S, by Xoring GA chromosome
with S. The probability of generating the gene "1" in
the GA initial population is 0.2, while the
probability of the gene "0" is 0.8.
The fitness value is a measurement of the
goodness of the keystream generator, and it is used
to control the application of the operations that
modify a population. The fitness function used in
SAP is also used in GA. After modifying S, the SAP
program is executed to generate the keystream. The
generated keydtream is then evaluated as described
in (Awad, 2011). Eqs. (1), (2), and (3) are used to
evaluate the GA chromosomes. Eq. (1) is used for
the evaluation of keystream randomness using the
frequency and serial tests, in which, nw is the
frequency of w (where w = 00, 01, 10, or 11) in the
generated binary sequence.
4
1
10
size
nwnnf
(1)
There is another randomness requirement which
is: (1/2
i
* n
r
) of the runs in the sequence are of
length i, where n
r
is the number of runs in the
sequence. Thus, we have eq. (2).
M
i
ir
i
nn
f
1
2
1
2
(2)
where M is maximum run length, and n
i
is the
desired number of runs of length i. Thus, the fitness
function used to evaluate the chromosome x will be
as given by eq. (3), where wt is a constant and size is
the keystream period length:
)(211
)(
xlength
wt
ff
size
xfit
(3)
The parameters used in this work were set based
on the experimental results, the parameter value that
show the highest performance was chosen to be used
in the implementation of the algorithm. Thus, the
genetic operations used to update the population are
1-point crossover with probability pc=1.0. The
selection strategy, used to select chromosomes for
the genetic operations, is the 2- tournament
selection. The old population is completely replaced
by the new population which is generated from the
old population by applying the genetic operations.
The run of GA is stopped after a fixed number of
generations. The solution is the best chromosome of
the last generation.
II. Random Terminal Node Mutation
Using this operation, S is replaced by randomly
generated LFSR feed back function.
III. GA-Based Semantic Terminal Node Mutation
GA is used to find the best LFSR feed back function,
in term of the big differences in the generated
keystreams, to replace a randomly selected terminal
node (LFSR feed back function) of an individual.
The description of this operation is as follows.
The population chromosomes GA are
represented as fixed length Binary strings. The
TheEffectofMutationOperationonGP-basedStreamCiphersDesignAlgorithm
447