
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