ay inAnalyzing Cryptosystems by Using Artificial Intelligence
Faez Hassan Ali, Al-Mustansiria University, College of Science Math. Dept.
Abstract
This paper aims to apply the Bees Algorithm (BA) for solving System of Equations (SoE). The SoE may be linear or nonlinear for number of unknowns. As an application of SoE we can implement cryptanalysis attack algorithms on stream cipher systems using plaintext attack (or part from it). We consider the Geffe System (which has nonlinear combining function) to be our study case, which is depend on set of Linear Feedback Shift Registers (LFSR's), as a model of stream cipher systems, in the performance of Bees Algorithm (BA) by solving SoE's for any number of variables of the output of LFSRs.
The application divided into two stages, first, constructing SoE's for the suggested cryptosystem, and the second, is attacking the variables of SoEs which they are also represent the initial key values of the combined of LFSRs.
Keywords: Bees Algorithm, Cryptography, Stream Cipher Systems, Linear Feedback Shift Register, Nonlinear Equations System.
1. Introduction
Cryptanalysis is the science to study the methods of breaking ciphers. It is a system to identify the problem, and the aim of Cryptography is to construct systems that are hard to identify [1]. To able to attack a cryptosystem successfully the cryptanalysis is forced to be based on some approaches, such as knowledge of a part of the text encrypted, knowledge of characteristic features of the used language,…, with some luck. The Cryptosystems are the systems which use the encryption and decryption processes.
Swarm Intelligence (SI) is an Artificial Intelligence (AI) technique involving the study of collective behavior in decentralized systems. Such SI are made up by one population of simple agents interacting locally with one other and with their environment. Although there is no centralized control dictating the behavior of the agents or particles, local interactions among the agents often cause some global pattern to emerge. There are many examples of systems like this can be found in nature, including bird flocking, ant colonies, animal herding, honey bees, bacteria, and many more. Swarm-like algorithms, such as Bees Algorithm (BA), Particle Swarm Optimization (PSO), and Ant Colony Optimization (ACO), have already been applied successfully to solve real world optimization problems in economy, engineering and telecommunication [2].
Ismail K. Ali., (2009) [3], in his thesis shows that PSO is a good tool for breaking simple transposition and simple substitution ciphers as long as bigram and trigram are used to find the fitness of each particle.
Ahmed T., et al. (2014) [4], introduce an improved cuckoo search algorithm for automata cryptanalysis of transposition ciphers. This algorithm is search algorithm is done by adding a procedure to cuckoo search steps analyzing the similarities between population strings to calculate the global maxima of a cost function to find the secret encryption (decryption) key.
Hameed F. A. (2017) [5] in her thesis, implements cryptanalysis system on stream cipher cryptosystems called PSO Cryptsnslysis System using probable word plaintext attack, choosing three study cases, single Linear Feedback Shift Register (LFSR), which considered as a basic unit of stream cipher systems, and Linear cryptosystem and Threshold generator (as nonlinear cryptosystem) and she obtain good cryptanalysis results.
2. Modern Cryptosystems
There are basically two different kinds of cryptographic systems (cryptosystems), these cryptosystems are: secret key and public cryptosystems [6]. First lets redefined some important notations:
• P is the Plaintext message and C is the Ciphertext message.
• Key space K: a set of strings (keys) related to some alphabet, which includes the encryption key ek and the decryption key dk.
• The Encryption algorithm (process) E: Eek(P) = C.
• The Decryption algorithm (process) D: Ddk(C) = P.
• The two algorithms E and D must have the property that: Ddk(C)=Ddk(Eek(P))= P.
As known the public key cryptosystem also called asymmetric cryptosystems. In a public key (non-secret key) cryptosystem, the encryption key ek and decryption key dk are not same, that is ek≠dk. The secret Key Cryptosystems may also called symmetric cryptosystems. In a classical secret-key cryptosystem, the same key (ek=dk=kK), called secret key, are used in both encryption and decryption; our aim is this type of cryptosystems. The stream cipher cryptosystems is one of the important types of the secret key cryptosystems [7].
3. Stream Cipher systems
Stream ciphers are an important class of encryption algorithms. They encrypt individual characters (usually binary digits) of a plaintext message one at a time, using an encryption transformation which varies with time [8].
In stream ciphers, the message units are may be bits (or digits), and the key is usual produced by a random bit generator, as shown in Figure (1). The plaintext is encrypted on a bit-by-bit basis.
The secret key is fed into random bit generator to create a high long sequence of binary signals. This key-stream, k is mixed with plaintext m, usually by a bit wise Exclusive-OR modulo 2 addition (XOR) to produce the ciphertext stream, using the same random bit generator and seed.
3.1 Linear Feedback Shift Registers (LFSR's) are used widely in stream cipher systems field. A LFSR consists of two main basic units. First, is the LFSR function and the initial state values. The second one is, the Combining Function (CF), which is a boolean function. Most of the stream cipher systems are depend on these two basic units. Most practical stream-cipher designs center around LFSR. In the early days of electronics, they were very easy to construct. A shift register is an array of bit memories and the feedback sequences are just a series of XOR gates. A LFSR-based stream cipher can give a high security with only a few logic gates [9],[10].
4. Bees in Nature
Each bee belonging to a colony looks for the feed individually. A colony of bees can extend itself over long distances and in multiple directions simultaneously to exploit very large number of food sources. A colony prospers by deploying its foragers to good fields. In basic, flower patches with plentiful amounts of nectar or pollen that may be able to be collected with less effort should be visited by more bees, whereas patches with nectar or pollen should receive fewer bees. The foraging process begins in a colony by bees called scout bees being sent to search for promising flower patches. The scout bees move randomly from one patch to another. During the harvesting season, the colony continues its exploration, keeping a percentage of the population as scout bees [11].
4.1 Bees Algorithm (BA)
The challenge is to adapt the self-organization behavior of the chosen colony for solving the problems [12]. The BA is an optimization algorithm inspired by the natural foraging behavior of honey bees to calculate the optimal solution. The pseudo code for the algorithm in its simplest form [13].
The algorithm requires a number of parameters to be set, namely:
a. Number of scout bees (n).
b. Number of sites selected out of n visited sites (m).
c. Number of best sites out of m selected sites (e).
d. Number of bees recruited for best e sites (nep).
e. Number of bees recruited for the other (m-e) selected sites (nsp).
f. Initial size of patches (ngh) which includes site and its neighborhood and stopping criterion.
Bees Algorithm (BA)
Input: Number of (scout bees (n), sites selected out of n visited sites (m).
best sites out of m selected sites (e).
bees recruited for best e sites (nep).
bees recruited for the other (m-e) selected sites (nsp). Initial size of patches (ngh) which includes site and its neighborhood and stopping criterion. Maximum of iterations).
Output: Optimal solutions.
step1. Initialize population with random solutions.
step2. Evaluate fitness of the population.
step3. Repeat.
step4. Select sites for neighborhood search.
step5. Recruit bees for selected sites (more bees for best e sites) and evaluate fitness’s.
step6. Select the fittest bee from each patch.
step7. Assign remaining bees to search randomly and evaluate their fitness’s.
step8. Until stopping criterion is met.
The algorithm starts with the "n" scout bees being placed randomly in the key search space. The fitness’s of the sites are visited by the scout bees are evaluated in step 2. In step 4, bees that have the best fitness’s are chosen as “selected bees” and sites are visited by them are chosen for neighborhood search. Then, in steps 5 and 6, the BA conducts searches in the neighborhood of the selected sites, assigning more bees to search beside or near to the best "e" sites. The bees can be chosen directly according to the good fitness’s associated with the sites they are visiting. Alternatively, the high fitness values are used to find the probability of the bees being selected.
Searches in the local or global neighborhood of the best "e" sites which represent more promising solutions are made more detailed by recruiting more bees to follow them than the other selected good bees. Together with scouting, this differential recruitment is a good key operation of the BA. However, in step 6, for each patch, only the bee with the best fitness will be selected to form the next good bee population. In nature, there is no such a restriction. This restriction is introduced here to decrease the number of points to be explored.
In step 7, the remaining bees in the population are must be assigned randomly around the search space scouting for new potential solutions. These steps are must be repeated until a stopping criterion is met. At the end of search iterations, the colony will have two parts to its new population representatives from each chosen patch and other scout bees assigned to conduct random searches [14].
4.2 The Coefficients of BA
From our experience, the following coefficients are adopted to be used: Number of Bees (N_Bee=20,30), Number of Jobs (n), Number of selected sites (mm=3-5), Number of elite sites out of mm selected sites (e=2), Number of bees for elite sites (nep=5), Number of bees other selected points (nsp=3) and some hundreds number of generations (NG).
5. Constructing System of Equations
Suppose that the tested LFSR is maximum LFSR (m-LFSR), then its period is P=2r-1, where r is LFSR length. Let SRr be a single LFSR with length r, let A0=(a-1,a-2,…,a-r) be the initial value vector of SRr, s.t. a-j, 1jr, be the component j of the vector A0, in another word, a-j is the initial bit of stage j of SRr, let C0T=(c1,…,cr) be the feedback vector, cj{0,1}, if cj=1 that means the stage j is connected else its not. Let S= be the sequence (or S=(s0,s1,…,sm-1) read “S vector”) with length m generated from SRr. The generation of S depending on the following equation:
si =ai = i=0,1,… …(1)
Equation (1) represents the linear recurrence formula [10].
The objective is finding A0, where r, C0 and S are known vectors. Let M be a rr matrix, which is describes the initial phase of SRr:
M=(C0|I rr-1), where M0=I.
Let A1 be the new initial of SRr after one shift, s.t.
A1=A0M=(a-1,a-2,…,a-r) ,a-1,…,a1-r).
In general,
Ai=Ai-1M, i=0,1,2,… …(2)
Equation (2) can be considered as a recurrence relation, so we have:
Ai=Ai-1M=Ai-2M2=…=A0Mi …(3)
The matrix Mi performs the i phase of SRr.
notice that:
M2=[C1C0|Irr-2] and so on until get Mi=[Ci-1…C0|Irr-i], where 1 i < r.
When CP=C0 then MP+1=M.
Now To calculate Ci s.t.
Ci=MCi-1, i=1,2,… …(4)
Equation (1) can be rewritten as:
A0Ci=si , i=0,1,..,r-1 …(5)
if i=0 then A0C0=s0 is the 1st equation of the LES,
if i=1 then A0C1=s1 is the 2nd equation of the LES, and
if i=r-1 then A0Cr-1=sr-1 is the rth equation of the LES.
In general:
A0Ψ=S …(6)
Where Ψ be the matrix of all Ci vectors s.t.
Ψ = (C0C1…Cr-1) …(7)
The LES can be represented as:
A = [ΨT|ST] …(8)
So A be the extended (augmented) matrix of the SoE.
Example (1)
Let the SR4 has C0T=(0,0,1,1) and S=(1,0,0,1), by using Equation (4), we get:
C1=MC0= , by the same way, C2= ,C3=
From Equation (6) we have:
A0 =(1,0,0,1), this system can be written as equations:
a-3+a-4= 1
a-2+a-3 = 0
a-1+a-2 = 0
a-1+ a-3+a-4= 1
Then the SoE’s after using formula (8) is:
A= …(9)
6. Use BA to Attack Stream Cipher System
The BA will be used to solve SoE’s of Geffe system with length m equations are needed to solve the SoE.
6.1 Problem Definition
In this manner, the SoE of Geffe cryptosystem, which needs m =r1*r2+r1*r3+ r3, where ri is length of register i, to solve the system.
6.2 Coding Scheme
For the purpose of this study, SoE is decoded by binary representation. As an example, the equation a1+a7=1 of single LFSR with length 7 decoded by the equation string (1000001-1), where the absolute value (right side) of the equation is the real key of the cryptosystem. The equations can be constructed and stored in data base file, since these equations are constant for fixed LFSR’s length, connection function and combining function (if it exist). As this representation indicates, the size of the equations space is 2m-1 (ignoring the zero string). When m as large as possible, then a purely random search is not acceptable.
6.3 Initial Population
For the initialization process we can initialize the population by a random sample of combinations of 0 and 1 with m-string length represents the probable initial values LFSR’s. The creation of the population must submit to what we called non-zero initial condition. By this condition we can avoid the zero initial of LFSR’s. For example, we wish to initiate initial values of LFSR with length 7, we ignore the initial value 0000000 for single LFSR or other cryptosystems. Another example the string 010011001000 is ignored for linear cryptosystem consists of three LFSR’s with lengths 5, 4 and 3 respectively, since the initial of the third register 000. The Initial Population Algorithm shown below describes the initial population process.
Initial Population Algorithm (IPA)
INPUT : read NumParts, m ; {Number of Bees}, {size of Population}
OUTPUT : Population of Bees.
PROCESS : for i = 1: NumParts
for j = 1 :m
sj = RANDOM(2);
end;
Beei = (s1,s2,…,sm);
end;
END.
6.4 Evaluation Function (Fitness Function)
This function is used to determine the “best” representation. The process of the evaluation function selection is as follows:
From Population, a Bee k, k=1,…,m initial string of length m bits, so we get the string Xk=(Xk1,Xk2,…,Xkm).
The string bit Xkj product with corresponding equation string bit Yij, where 1≤j≤m s.t. the equation string is Yi=(Yi1,Yi2,…,Yim) and calculate the observed value:
Oki=Xk1*Yi1Xk2*Yi2…Xkm*Yim= …(10)
Compare the observed value Oki with key value Ki which represents the known output value of the cryptosystem, by using mean absolute error (MAE) s.t.
MAEk = …(11)
The Fitness value is
Fitnessk = 1-MAEk = 1- …(12)
where
m : The size of the bee string or equation string.
Xkj: is the initial value j in String Xk.
Yij: is the equation variable j in the string Yi.
Oki: is the observed value i of string Xk calculated from Equation (10).
Ki: is the key bit (actual value) i.
When the measured (observed) value Oki matches the key bit Ki, for all 1≤i≤m, then the summation terms MAEk in Equation (11) evaluate to 0 so the fitness value is 1. The fact that a fitness value of 0 is never achieved does not affect the algorithm since high fitness values are more important than low fitness values. As a result, the search process is always moving towards fitness values closer to or equal 1. The steps of the Fitness Algorithm are as follows:
Fitness Algorithm (FA)
INPUT : read X vector; {Initial string with size m from Population}
read Y vector; {Equation string from data base file}
read K vector ;{ Actual key=absolute value of SoE}
OUTPUT : Fitness value;
PROCESS : for i = 1 : m
Oi = ; {XOR sum, Oi is observed key}
Difi = |Oi-Ki|;
end;
MAE= ;{ MAE is the Mean Absolute Error}
Fitness = 1-MAE;
END.
6.5 Evolution Function
In this part we attempt to make evolution to the population of Bees to improve the fitness values by modified the bees with good fitness in the population. The main steps of the Evolution Population Algorithm are as follows:
Evolution Population Algorithm (EPA)
INPUT : read Bees Population;
OUTPUT : New Population;
PROCESS : sort (population) {by descanting fitness order}
N=[1 e;e+1 m]; V=[nep nsp];
h=1,2;
for i = N(h,1) : N(h,2)
for j = 1:V(h)
Tmp=random(Bee);
Fit=CALL FA;
if Pop.fit(i) < Fit
Pop(i) = Tmp;
Pop.fit(i)=Fit;
end;
end;
end;
CALL FPA (m+1:size of population);
END;
6.6 Constructing a SoE for Geffe Cryptosystem
Two stopping criterions are be used to stop the BA cryptanalysis system, first criterion, some hundred generations are enough to reach this level of fitness. The second, when the fitness value reaches (1.0), so no need to reach the high number of generation. The algorithm was fast enough that this took less than few minutes.
Let’s have n of with length rj, j=1,2,…,n, with following feedback vector:
C0j=
and has unknown initial value vector A0j=(a-1j,…,a-rj), so has Mj=(C0j| )
By using recurrence Equation (4),
Cij=MjCi-1,j, i=1,2,… …(13)
by using eEquation (5):
A0jCij=sij, i=0,1,…,r-1 and Sj=(s0j,s1j,…,sm-1,j).
Sj represents the output vector of , which of course, is unknown too. m represents the number of variables produced from the LFSR’s with consider to CF, in the same time its represents the number of equations which are be needed to solve the SoE. Of course, there is n of SoE (one LES for each with unknown absolute values).
Now, let A0 be the extended vector for m variables, which consists of initial values from all LFSR’s and Ψ is the matrix of all Ci vectors considering the CF, Ci represents the extended vector of all feedback vectors Cij, then A0Ψ = S.
Now we apply this construction process to Geffe Cryptosystem, using Equations (4), (5) and (13).
The CF of this generator is [11]:
F(x1,x2,x3) = x1x2 x2x3 x3 …(14)
for this reason m=r1r2+r2r3+r3.
The initial value of this cryptosystem is:
A0=A01A02+A02A03+A03=(d0,d1,…,dm-1), (+ is concatenation to the vectors) s.t.
d0=a-11a-12, d1=a-11a-22,…,dm-1= .
(this arrangement is not standard so it can be changed according to the researcher requirements).
In the same way, Equation (14) can be applied on the feedback vector Cij:
Ci=Ci1Ci2+Ci2Ci3+Ci3.
And the sequence S will be:
S=S1S2+S2S3+S3 s.t. si=si1si2 si2si3 si3,
si is the element i of S.
So the SoE which be changed to SoE can be gotten by Equation (7).
Figure (2) shows the sequence S which is generated from Geffe Generator [11].
Example(3)
Let’s use the same information of example (2), then:
m=26, S=(1,0,1,1,0,1,1,1,1,1,0,1,1,0,1,0,0,1,1,0,0,1,0,1,0,1,1,0)
C01=C31=C61=C91=C12,1=C15,1=C18,1=C21,1=C24,1= ,
C11=C41=C71=C10,1=C13,1=C16,1=C19,1=C22,1=C25,1= ,
C21=C51=C81=C11,1=C14,1=C17,1=C20,1=C23,1= .
C02=C72=C14,2=C21,2= , C12=C82=C15,2=C22,2= , C22=C92=C16,2=C23,2= , C32=C10,2=C17,2=C24,2= ,C42=C11,2=C18,2=C25,2= ,C52=C12,2=C19,2= ,C62=C13,2=C20,2= .C03=C15,3= ,C13=C16,3= ,C23=C17,3= ,C33=C18,3= ,C43=C19,3= ,C53=C20,3= , C63=C21,3= , C73=C22,3= , C83=C23,3= , C93=C24,3= ,C10,3=C25,3= , C11,3= , C12,3= , C13,3= , C14,3= .
by applying Equation (5), C0T will be:
C0T=(1,0,1,1,0,1,1,0,0,1,1,0,0,1,1,0,0,1,0,0,0,0,1,0,0,1).
Therefore,
A= …(15)
7. Design of BA Cryptanalysis System
The BA cryptanalysis system can be view as two main parts, first, is the SoE constructing which described SoE constructing algorithm which is as follows:
SoE Constructing Algorithm (SoECA)
INPUT : read C0T vector, A0; { initial value of LFSR }
Calculate M = (C0|Irr-1);
read A0 vector; { Initial values of LFSR}
OUTPUT : Augmented matrix A;{store in a file}
PROCESS : for i = 0 : m-1
Ci = MCi-1;
si = A0Ci;
end;
S = (s0, s1,…,sm-1);
Ψ= (C0, C1,…, Cm-1);
A = [Ψ T,ST];
END.
The second part is the BA cryptanalysis part, which illustrated in BA cryptanalysis algorithm, as shown below:
BA Cryptanalysis Algorithm
INPUT : read Equation Information File of LFSRs;
read Actual Key of LFSR;
read G; {Number of Generations }
INITILIZE : CALL IPA;
OUTPUT :Best Bee which has highest Best.Fit;
PROCESS : CALL SoECA;
for i =1 : G
CALL FA; { Fitness }
CALL EPA; { Evolution }
if Best.Fit = 1.0 STOP
end;
END.
8. Experimental Results
Geffe Cryptosystem
Three LFSR’s are used, each has the following information:
1. First LFSR with length 3, has 1+x+x3 as characteristic polynomial with initial key values 001.
2. Second LFSR with length 5, has 1+x2+x5 as characteristic polynomial with initial key values 00001.
3. Third LFSR with length 7, has 1+x+x7 as characteristic polynomial with initial key values 0000001.
When the SoE changed, we get 57 (=3*5+5*7+7) equations with 57 variables of SoE for the Geffe cryptosystem are shown in Table (1).
Table (1) The 1st (7) Equations of SoE for Geffe Cryptosystem.
i Separating equations Binary. Representation. of real equations
1 a1+a3=1,b2+b5=1,c1+c7=1 (010010000001001000000010000010000000000000010000011000001)-1
(101)(01001)(1000001)
2 a1+a2+a3=1,b1+b4=0,c1+c6+c7=0 (100101001010010100001100000000000000100001100000001000011)-1
(111)(10010)(1000011)
3 a2+a3=1, b2+b3+b4=1, c1+c5+c6+c7=1 (000000111001110000000010001111000111100011100000001000111)-1
(011)(01110)(1000111)
4 a1+a2=0,b1+b2+b4=0, c1+c4+c5+c6+c7=0 (110101101000000100111110011110000000100111100000001001111)-0
(110)(11010)(1001111)
5 a3=1,b1+b2+b3+b5=1, c1+c3+c4+c5+c6+c7=1 (000000000011101101111110111111011111000000010111111011111)-1
(001)(11101)(1011111)
6 a2 =0,b1+b4+b5=1, c1+c2+c3+c4+c5+c6+c7=1 (000001001100000111111100000000000000111111111111111111111)-1
(010)(10011)(1111111)
7 a1=0,b2+b3+b5==1, c2+c3+c4+c5+c6+c7=1 (011010000000000000000001111110111111000000001111110111111)-1
(100)(01101)(0111111)
For this example, only 10 initial keys were in the population. The system began by generating 10 random initial key as shown in Table (2).
Table (2): 10 random initial keys in the Bees population.
Key Random Initial Individuals Fitness
1 -0.81 0.30 0.66 0.48 -0.69 -0.02 0.72 -0.47 0.85 -0.85 0.74 -0.38 0.5263
0 1 1 1 0 0 1 0 1 0 1 0
2 0.22 0.20 0.24 0.80 0.81 0.03 0.03 0.34 0.55 -0.94 0.50 0.80 0.5439
1 1 1 1 1 1 1 1 1 0 1 1
3 0.78 -0.25 0.78 0.69 0.23 0.66 0.71 -0.67 -0.71 -0.33 -0.27 0.63 0.6316
1 0 1 1 1 1 1 0 0 0 0 1
4 0.04 -0.20 -0.94 -0.03 -0.20 0.03 -0.10 -0.89 -0.15 -0.73 -0.88 -0.23 0.6491
1 0 0 0 0 1 0 0 0 0 0 0
5 -0.88 -0.14 0.30 -0.28 0.20 -0.81 -0.51 -0.19 -0.47 -0.75 -0.78 0.54 0.5614
0 0 1 0 1 0 0 0 0 0 0 1
6 -0.23 0.57 -0.68 0.78 0.56 -0.93 0.18 -0.85 0.02 0.28 0.08 -0.24 0.3860
0 1 0 1 1 0 1 0 1 1 1 0
7 -0.73 -0.15 -0.93 0.35 0.84 -0.22 0.06 -0.12 -0.49 -0.99 0.66 -0.12 0.4035
0 0 0 1 1 0 1 0 0 0 1 0
8 -0.33 -0.62 -0.34 -0.56 -0.48 0.85 0.70 0.40 0.59 -0.49 0.70 0.11 0.4737
0 0 0 0 0 1 1 1 1 0 1 1
9 -0.01 0.12 0.97 -0.97 0.73 0.32 0.63 0.54 0.06 -0.22 0.53 -0.63 0.5789
0 1 1 0 1 1 1 1 1 0 1 0
10 0.50 -0.61 0.32 0.95 -0.16 0.90 -0.04 -0.68 0.86 -0.12 -0.38 0.48 0.5088
1 0 1 1 0 1 0 0 1 0 0 1
Av. 0.5263
As we expected that none of the random keys are close to the actual key which is reflected in the fact that the average fitness for these keys is 0.5263. The best of these 10 random keys, (key4) has a fitness value of only 0.6491.
Table (3) shows the improvement in the results of finding the real initial key for Geffe cryptosystem.
Table (3) Results for 1000 Generations for Geffe Cryptosystem.
Gen Fit. Av. Key no. T/s Best Initial Key
1 0.6491 0.5263 1 0.33 000111011100
4 0.7895 0.5319 9 0.46 000000001010
22 0.8070 0.5491 12 1.22 000000101011
35 0.8596 0.5605 19 1.78 000000101010
124 0.9123 0.6495 20 5.47 000000001110
623 1.000 0.6918 11 24.66 000000000000
The best initial keys after (623) generations was: 001 for the 1st LFSR, 00001 for the 2nd LFSR and 0000001 for 3rd LFSR, which they are equal to the real initial keys. Figure (3) shows the results developing of Table (3).
Figure (3) The results developing of Table (3).
9. Conclusions
This research concludes the following aspects:
1. Although the proposed system is employed for sum of shift registers length (sum≤12), it was provide the base of building BA cryptanalysis system valid for shift registers with high length attacking.
2. As a logical mathematical situation, if the proposed system gives a fitness value less than 1.0, this mean, no results obtained so we must run the system a gain, since the SoE must has unique solution for fixed absolute values, no another solution gives fitness equal 1.0.
3. Percentages reported are based on number of tests and different numbers of the tests must be always used, and that what will done in this research.
References
[1] . Ekdhal P., “On LFSR based Stream Ciphers Analysis and Design”, Ph.D. Thesis, Dept. of Economics, West Virginia University, Nov., 2003.1.
[2] . Yang Liu and Kevin M. Passino, “Swarm Intelligence: Literature Overview”, Dept. of Electrical Engineering The Ohio State University March 30, 2000.16.
[3] . Ismail K. Ali, "Intelligent Cryptanalysis Tool using Particle Swarm Optimization", Ph.D. Thesis, University of Technology, Department of Computer Science, 2009.17.
[4] . Ahmed T., Laith A., and Hashim K., “Attacking Transposition Cipher Using Improved Cuckoo Search”, Journal of Advanced Computer Science and Technology Research, Vol.4 No.1, pp.22-32, March 2014.18.
[5] . Hameed, F. A., “Using Swarm Intelligence in Cryptanalysis of Nonlinear Stream Cipher Cryptosystem” M. Sc., Department of Mathematics, College of Science, University of Baghdad, 2017.19.
[6] . Yan, S. Y., “Number Theory for Computing”, Springer-Verlag Berlin, 2000.5.
[7] . Schneier B., “Applied Cryptography”, John Wiley & Sons, 1997.6.
[8] . Mohammed M. S, Mohammad G. S. Al-Safi and Faiaz H. A., "Dynamic Stream Ciphering Algorithm", IOSR Journal of Computer Engineering (IOSR-JCE), V. 16, Issue 2, Ver. VIII (Mar-Apr. 2014), PP 72-78. www.iosrjournals.org.
[9] . Juntao G., Xuelian L. and Yupu H., “Fault Attack on the Balanced Shrinking Generator”, Wuhan University Journal of Natural Science Vol.11 No.6 P.1773-1776, 2006.7.
[10] . Golomb, S.W., “Shift Register Sequences” San Francisco: Holden Day 1967, (Reprinted by Aegean Park Press in 1982).14.
[11] . Juan Z., "Swarm Intelligence", Version 2, March 2007.20.
[12] . Chong C., Low M. Yoke H., Sivakumar A., and Gay K., “A Bee Colony Optimization Algorithm to Job Shop Scheduling”, Proceedings of the 2006 Winter Simulation Conference, N.J., USA. WSC, PP. 1954-196, 2006.21.
[13] . Ashraf A., Michael P., and Marco C., "Bees Algorithm", Manufacturing Engineering Center, Cardiff University, Wales,UK,2009.22.
[14] . Pham D. T., Ghanbarzadeh A., Koc E., Otri S., and Zaidi M. “The Bee's Algorithm – a Novel Tool for Complex Optimization Problems”. In: Pham D.T., Eldukhri E., Soroka A. J. ed(s) 2nd Virtual International Conference on Intelligence Production Machines and Systems. Elsevier, Oxford, 2006, pp 454-459.2006.23.