Paper 12-Application of The Tabu Search Algorithm
Paper 12-Application of The Tabu Search Algorithm
Abstract—Tabu search is a powerful algorithm that has been This design is based on the enrichment of the search space
applied with great success to many difficult combinatorial and the application of a well-defined model during the process
problems. In this paper, we have designed and implemented a of Tabu search. We notice that the random aspect used in our
symmetrical encryption algorithm whose internal structure is algorithm is crucial to the success of the method, especially if
mainly based on Tabu search algorithm. This heuristic performs the number of iterations is relatively small.
multiple searches among different solutions and stores the best
solutions in an adaptive memory. First of all, we coded the In the next section of this article, we describe the general
encryption problem by simulating a scheduling problem. Next, algorithm of TABU search and we present a detailed
we have used an appropriate coding for our problem. Then we description of our encryption algorithm entitled Symmetrical
used the suitable evaluation function. Through the symmetric Tabu Search Ciphering (STSC). Then, we will analyze the
key generated by our algorithm, we have illustrated the principle security of our approach, and we will compare it with same
of encryption and decryption. The experimentations of our kind of systems SEC (Symmetrical Evolutionist-based
approach are given at the end of this paper, from which we Ciphering) and SMC (Symmetrical Memetic Ciphering).
examined our new system strengths and the elements that could
be improved. II. DESCRIPTION OF TABU SEARCH
Keywords—Symmetric encryption; heuristic; Tabu search; A. Definition
algorithm; scheduling problem; combinatorial problems Tabu search was proposed by F.Glover in 1986. The
algorithm is called Tabu because there is prohibition from
I. INTRODUCTION resuming recently visited solutions [8]. Since then, the method
Since the invention of writing, men expressed the need to has become very popular, thanks to its successes to solve many
transmit information securely making it unintelligible to problems. This algorithm introduces a notion of memory in the
anyone outside the exchange. Indeed the messages cannot be strategy of the search space exploration [9]. Tabu search uses
understood by the enemy, even if they are intercepted. At the local or neighborhood iterative procedures to move from
current time, information in all its form circulates in digital solution x to a solution x' (in the vicinity of x) until the
format throughout the world in a split second on the networks. stopping conditions are met [10].
This information is exchanged every day from one point to
another either by telephone, cable, optical fiber or satellite. It is B. Principle of Tabu Search
likely to be read, deleted or falsified. Cryptography is a science The principle of Tabu search is based on a method of
in full operation and meets the needs of today’s information moving on the space of the solutions, while continually seeking
security [1]. Metaheuristics are a family of optimization to improve the current best solution and by storing in memory
algorithms that are designed to solve general classes of the list of previous moves [11], thus guiding the research
mathematical problems by combining research procedures to outside the previously traveled zones.
quickly find the best solution [2]. Tabu search is an example of
The basic idea is inspired by the research techniques used
such a heuristic. It starts from an initial solution and attempts to
in artificial intelligence. That is to keep the track of the past
improve it by transforming it iteratively. At each iteration, the
path of the research process in one or more memories and to
neighborhood of the current solution is generated and the best
use this information in order to orient future development. In
solution in this neighborhood is chosen. To avoid circling, a
practice, we will not memorize all the displacement (very
Tabu list is defined to prohibit revisiting of the solutions
costly in memory), but we will prevent only the access to some
already examined [3], [4].
solutions during a certain number of iterations.
We will apply the Tabu search in the main phase of
The neighborhood of a solution is defined by an elementary
cryptography. To start, we have transformed the problem of
transformation (movement) permitting the switch from a
encrypting a message M to an optimization problem like to
solution to another solution nearby with a slight modification
Evolutionary Ciphering System [5]-[7]. Then, we coded this
of the structure of the solution.
problem in a particular way to bring us back to scheduling
problems. The Tabu search is based on:
82 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 8, No.7, 2017
The use of flexible memory structures (short, medium Put T ← and s* ← s;
and long term) allowing the full exploration of the Repeat
evaluation criteria and the search history. Choose s' that minimizes f (s') in NT (s)
A control mechanism based on alternating between the If f (s') <f (s*) then put s * ← s'
conditions that restrict (restriction Tabu) and those that Put s ← s' and update T
liberate (aspiration criterion) the search process. Until the termination criterion is satisfied
End
The incorporation of the strategies of intensification and
diversification of the search: III. DESCRIPTION OF OUR ALGORITHM
o Intensification strategy uses the medium term A. Problem formalization
memory, and serves to strengthen the search in the
regions of the best solutions found recently. We denote by M , the binary encoding of the message M0:
o Diversification strategy uses the long term We represent the message to be encrypted by the lists
memory, and serves to search in new regions. which are the elements of a partition of the set {1, 2, ..., m}.
The lists are composed by the different positions of each binary
C. General Algorithm of Tabu Search block. Let B1, B2, ..., Bm the different blocks of M.
We present below the general algorithm of Tabu search: Let Li (1 ≤ i ≤ m) a list containing the different positions
1) Get an initial solution (initialization). of the block Bi and card (Li) the number of occurrences of Bi.
2) Create a list of candidates’ movements. Note. This breakdown only takes place for larger size
3) Choose the best candidate. This choice is based on messages.
Tabu restrictions and the aspiration criteria.
We note that Li ∩ Lj = ø if i ≠ j, ∀ i, j ∈ {1,2,..., m}.
This provides an alternative, which will not be registered
only if it is better than the previous solution [12]. The message M may be represented by the following
vector:
4) Apply the stopping criterion.
(B1,L1) (B2,L2) … (Bm,Lm)
Continue: change the candidates of eligibility (Tabu
restriction and aspiration criterion). Go to 2. Our algorithm seeks to create a maximum disorder in the
Stop: Go to strategies of intensification and positions of the blocks. For this, we iteratively change the
diversification. distribution of lists Li (1 ≤ i ≤ m) on the different blocks of B
(without changing the content of the lists) so that the difference
The flowchart of Tabu search method is shown in Fig. 1. between the cardinal of the new list assigned to each block Bi
The general algorithm can be represented with the and the cardinal of the original list Li is maximal [13].
following pseudo-code: Therefore, we are faced with a problem of optimization and we
can use the Tabu search method, including that used in
Let NT (s) be all candidate solutions, T the tabu list, N(s) scheduling problems. The latter has several versions, the most
the neighborhood of solutions and s* the current optimal used is the one described below:
solution:
NT (s) = {s' N (s) such as s' T or f (s') <f (s*)} Definition of variables
Process Tabu_method (initial solution s) i: the current solution
i’: the next solution achieved (neighbor solution)
N(i): the space of neighboring solutions at i (the set of
i')
m: movement from i to i'
Best_Sol: the global optimal solution that minimizes
the objective function f(i).
i*: the current optimal solution f(i*)
T: list of Tabu movements. There can be multiple lists
simultaneously. The elements of the list are t(i, m).
a (i, m): criterion for aspiration. Determines when it is
advantageous to undertake m, despite its status Tabu.
B. Skeleton of the Algorithm
To represent this, we have:
Fig. 1. Flowchart of Tabu search method.
83 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 8, No.7, 2017
T=0 Let Best_Sol (the global optimal solution) the final solution
given by STSC. We create our encryption key (Tabu-key) from
Step 2: k = k +1 and generate a neighborhood of solutions Original_Sol and Best_Sol, Then, using the Tabu-key generated
in N (i, k): by our algorithm we set the corresponding cipher text block by
The neighborhood of the solutions will be generated by the changing the distribution lists on the various characters of the
application of permutations on the positions of the lists. message M. Then, we concatenate the encrypted blocks
Precisely, we apply random permutation on the positions of the (obtained by different processes). Thus, we obtain the
current solution in order to generate neighboring solutions. encrypted message M from the original message M0.
The Tabu movements are not selected. C. Decryption
Decryption must begin by looking for the reciprocal
An aspiration criteria a (i,m) is applicable.
operation of the last encryption one. The message M will be
Step 3: Choose the best solution i' from the set of neighboring broken down again into m blocks Bi that have the same size.
Because of the Tabu-key the blocks are going to recover their
solutions N (i, k) lists of corresponding positions [22].
i = i' The principle of encryption and decryption can be
Let i’ be a solution of N (i, k) in which the lists are L’j1, L'j2 summarized by the scheme in Fig. 3.
... L'jm, and let f be the evaluation function on the set of
solutions i'
by:
f (i') = -∑ –
Step 4: If f (i) ≤ f (i *), a better solution was found
i*= i
Step 5: Update the list T and the criteria aspiration.
Add the best solution in Tabu list (it is Tabu for the next r
iterations).
Step 6: If a stop condition is reached, stop.
Alternatively, return to Step 2.
The flowchart of STSC algorithm is shown in Fig. 2. Fig. 3. Scheme of our encryption system.
84 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 8, No.7, 2017
Size of NL KN PA
blocks
5 25 32! 3 ,80 e-36
85 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 8, No.7, 2017
TABLE. III. RECAPITULATIVE PRESENTION OF THE RESULTS OF THE KEYS TABLE. IV. VALUES OF PARAMETERS RELATING TO SEC, SMC AND STSC
SIZE GENERATED BY STSC AND THE COMPLEXITY OF THE BRUTE-FORCE SYSTEMS
ATTACK
Parameters SEC SMC STSC
Size of blocks Population size 30 30 -
Size of
Data
Plaintext 5 6 7 9 10 11 Probability of crossover 0.7 0.7 -
NDB 26 55 109 297 310 485
Probability of mutation 0.03 0.03 -
1000 STSC Key
216 448 880 2384 2488 3888 Size of neighborhood - 10 50
characters (bit)
Complexity 216 448 880 2384 2488 3888 Size of the tabu list - - 100
2 2 2 2 2 2
of BFA
Aspiration Criterion - - 50
NDB 27 59 115 315 324 599
STSC Key Nombre d’itérations Max 100 100 200
3000 224 480 928 2528 2600 4800
characters (bit)
Complexity TABLE. V. SIMULATION RESULTS OBTAINED BY SEC, SMC AND STSC
2224 2480 2928 22528 22600 24800
of BFA SYSTEMS
NDB 30 68 116 335 378 629
Memetic
STSC Key Optimization Evolutionary Tabu search
6000 248 552 936 2688 3032 5040 algorithm
(bit) methods algorithm (SEC) (STSC)
characters (SMC)
Complexity
2248 2552 2936 22688 23032 25040 Number of
49 28 88
of BFA iterations
We calculate the number of different blocks existing in the Optimum Global 5 20 50
texts to determine the size of the encryption STSC key.
Execution time (ms) 69 55 47
In the case of keys used by the system STSC the length is Time for a single
1,40 1,96 0,53
given in bits. In this case, the number of possibility to explore iteration (ms)
for a brute force attack (BFA) is in the order of 2N where N is They actually present the best configuration for which the
key length in bit, since the key is randomly generated. global minimum is obtained.
Table 3 summarizes the results of the key size generated by
STSC and the complexity of the brute-force attack.
With the current technology a 128-bit key length is already
a limit impossible to achieve. If we compare the minimum key
length of our system with the recommended size for symmetric
systems that ensure a basic security, we can deduce that our
system is able to resist against the brute-force attacks more
than most other existing systems. The attacker must consider
other cryptanalysis strategies if they exist. It should
nevertheless take into account that the power of computers is
increasing every day and an indecipherable message today can
be decipherable in the future.
D. Comparison Between the Performances of STSC System
with Existing Systems
To illustrate the effectiveness and performance of the new
Fig. 5. Evolution of the cost by applying the SEC algorithm.
STSC system compared to older systems, we tested our
program on multiple messages with different sizes and we
recorded the number of iterations required for the system to
converge.
The comparison is based not only on the quality of the
results but also on the speed of convergence and computation.
Table 4 summarizes the values of the parameters used by
the SEC, SMC and STSC systems to encrypt a text whose size
is 6000 characters.
Table 5 presents the results obtained by applying the three
precited algorithms.
Fig. 5 to 7 shows graphs of different values of the
evaluation function.
Fig. 6. Evolution of the cost by applying the SMC algorithm.
86 | P a g e
www.ijacsa.thesai.org
(IJACSA) International Journal of Advanced Computer Science and Applications,
Vol. 8, No.7, 2017
87 | P a g e
www.ijacsa.thesai.org