Previous Article in Journal
Autopotency and Conjugacy of Non-Diagonalizable Matrices for Challenge–Response Authentication
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

On Tabu Search for Block Cyphers Cryptanalysis

by
Adrian Donatien-Charon
1,
Mijail Borges-Quintana
1,
Miguel A. Borges-Trenard
2,
Omar Rojas
3 and
Guillermo Sosa-Gómez
3,4,*
1
Departamento de Matemática, Facultad de Ciencias Naturales y Exactas, Universidad de Oriente, Av. Patricio Lumumba s/n, Santiago de Cuba 90500, Cuba
2
Doctorate Programm in Mathematics Education, Universidad Antonio Nariño, Bogotá 111321, Colombia
3
Facultad de Ciencias Económicas y Empresariales, Universidad Panamericana, Álvaro del Portillo 49, Zapopan 45010, Jalisco, Mexico
4
Laboratory for Reputation Management in Education, HSE University in Saint Petersburg, Griboedova Embankment, Saint Petersburg 190068, Russia
*
Author to whom correspondence should be addressed.
Cryptography 2026, 10(1), 8; https://doi.org/10.3390/cryptography10010008
Submission received: 11 December 2025 / Revised: 12 January 2026 / Accepted: 20 January 2026 / Published: 27 January 2026

Abstract

This article presents general methodologies for plaintext attacks on block ciphers using the Tabu Search algorithm. These methods treat the cipher as a black box, with the objective of finding the session key. The primary innovation of our approach is the division of the key space into subsets based on a divisor, enabling the attack to focus on a specific portion of the total space. The following investigation demonstrates the successful application of these methods to a member of a block cipher family that includes the Advanced Encryption Standard (AES) cipher. One of the proposed methodologies, the subregions path attack, enables navigation of the key session space by applying specific predetermined strategies within these subregions.

1. Introduction

Cryptography is an ancient science originally developed to protect the confidentiality of information, particularly in military and political contexts. In the contemporary era, however, its applications have expanded significantly beyond these traditional domains to encompass any area where safeguarding information is of paramount importance. This includes preserving database confidentiality and securing data transmitted over insecure channels, such as computer networks (both private and public). The Internet is a primary example of such channels, along with telephone, radio, and television communications. Block ciphers are among the most widely used cryptographic primitives in symmetric cryptography today, and their robustness enables their deployment in a variety of cryptographic protocols.
Cryptography and cryptanalysis, the former being the art of creating ciphers and the latter the science of breaking their security, have emerged as closely intertwined fields of study. Numerous cryptanalysis methods (also referred to as “attacks”) have been developed, including Differential Cryptanalysis, Algebraic Cryptanalysis, and Linear Cryptanalysis. However, the design of new block ciphers has made them increasingly resistant to these known attacks, making successful outcomes progressively more challenging to achieve. These attacks typically require traversing key spaces or other large structures containing vast numbers of elements to identify a solution. In this context, heuristic techniques have emerged as a promising alternative. Such methods have been applied in the cryptanalysis of block ciphers to search for potential keys without exhaustively exploring the entire key space. Heuristic techniques are optimization methods based on searching for solutions within the space of possible candidates.
The enduring resilience of modern symmetric cryptographic primitives forms the technological foundation of contemporary information security systems. Central to this architecture are block ciphers, which mathematically transform fixed-size plaintext blocks into unintelligible ciphertext using a secret key K. Following Claude Shannon’s seminal work, the security of these algorithms relies critically on the design principles of confusion and diffusion. Confusion is achieved through nonlinear elements, such as Substitution Boxes (S-boxes), which are primary targets of structured cryptanalytic efforts. The objective of cryptanalysis is to compromise the cipher’s confidentiality, typically seeking a total break by recovering the secret key K. For ciphers employing key sizes of 128 bits or more, the sheer magnitude of the key space ( 2 128 ) renders brute-force attacks intractable, compelling cryptographers to focus on identifying intelligent search strategies [1]. Consequently, research has focused on specialized mathematical attacks, such as Differential Cryptanalysis (DC) and Linear Cryptanalysis, which exploit statistical biases inherent in cryptographic structures [2]. A fundamental limitation of these classical methodologies arises when analyzing modern, high-round ciphers: the probability of a successful differential characteristic decreases exponentially with the number of rounds [3]. This deterioration in high-round ciphers effectively exceeds the practical limits of classical statistical techniques, resulting in weak or limited security assurances. Similarly, although algebraic attacks transform the cipher structure into systems of multivariate polynomial equations, these systems are often too large or complex to be efficiently solved using conventional methods. This intractability necessitates a paradigm shift, framing cryptanalysis not merely as a statistical analysis problem but as a complex combinatorial optimization challenge [3].
In modern cryptanalysis, certain methodologies, particularly those related to key recovery attacks on robust block ciphers, are regarded as constituting an exhaustive search task within vast combinatorial domains. This characteristic has led to their classification as NP-hard problems in contemporary cryptography. Ciphers are deliberately designed with high nonlinearity and low auto-correlation [4,5,6], properties that significantly limit the effectiveness of traditional techniques, including brute-force and classical statistical methods [7,8,9]. This inherent complexity, characterized by high dimensionality and multimodal search landscapes, necessitates the use of optimization tools known as metaheuristics [10]. These algorithms provide robust means to approximate optimal or near-optimal solutions in large-scale, nonlinear environments, offering a crucial technical response to the increasing strength of cryptographic systems. Thus, the adoption of metaheuristics is a methodological imperative driven by the intrinsic complexity of modern ciphers.
For a metaheuristic to succeed in key cryptanalysis, it is essential to formally define the search problem as an optimization one. This involves delineating the solution space, denoted by S (the set of all possible keys, K), and establishing an objective or fitness function, f ( K ) . The objective of the study transitions from systematically enumerating all possible values of f ( K ) to minimizing (or maximizing) f ( K ) . This approach aims to identify the optimal key, denoted by K o p t . The design of the fitness function is critical to the success of any metaheuristic attack, including Tabu Search (TS). This function quantifies the “goodness”of a candidate key by measuring its proximity to a known plaintext (in a Known Plaintext Attack) or by evaluating statistical properties of the decrypted output. Poorly designed fitness functions can create flat or deceptive search landscapes, causing local search algorithms to become prematurely trapped in suboptimal solutions. This issue has been observed in Genetic Algorithms (see [11,12]), and for TS (see [13]). For the metaheuristic-based exploration of block cipher key spaces, particularly in the context of complex state-space modeling and search strategy design, the works in [14,15] systematically demonstrate, from the perspective of discrete memristive systems and chaotic dynamics, the construction and application of complex search spaces and highly nonlinear structures in information security. These findings are intrinsically consistent with the approach presented in this paper.
Tabu Search (TS), a metaheuristic formalized by Fred W. Glover, is a memory-guided local search method tailored for combinatorial optimization problems. Its application in cryptanalysis is justified because key recovery is precisely such a high-dimensional combinatorial problem [16]. This article explores a Tabu Search (TS) attack on block ciphers. A black-box attack is a type of cryptographic attack in which the attacker does not require any knowledge of the block cipher’s structure. The adversary only needs access to the block cipher’s encryption and decryption mechanisms, in addition to at least one plaintext-ciphertext pair. This scenario constitutes a known plaintext attack. It is well established that the key space of a real block cipher is sufficiently large to prevent brute-force attacks. Therefore, TS must address the challenge of efficiently searching this space. Although the search is heuristic, the size of the key space remains a critical factor. In [17], the key space is partitioned according to a specific arithmetic congruence, enabling the attack to focus on selected subsets of the partition and thereby reducing the set of keys to be examined. The use of arithmetic congruence in cryptanalysis is noteworthy because it allows complex problems to be solved with relatively simple tools. This technique is also employed in other works; for example, in [18], the author demonstrates that a certain public key exchange protocol can be broken with a man-in-the-middle attack, which fundamentally relies on arithmetic congruence.
This article addresses two key points discussed above: the size of the key space and the need to combine strategies and approaches. We analyze the design of a cryptanalysis methodology for the A E S ( 3 ) block cipher, which uses TS combined with a key space partitioning strategy. In Section 2.3, the different key space partitioning strategies are explained, while Section 3 and Section 4 present the methodologies developed for block cipher cryptanalysis and the experimental results, respectively. However, the main contribution of this work lies in the organization of search strategies and methodological frameworks, rather than in a structural cryptanalytic attack on AES itself or other practically used ciphers. In Section 3.2, we demonstrate how the standard variant of the Deep First Tabu Search methodology results in a more efficient way of performing Simple Tabu Search. Additionally, Section 4 outlines the general design of the Subregion Path Attack methodology, which is based on partitioning the key space into subregions and describes how to move between these subregions. In this approach, one methodology is required to move between subregions and another to evaluate them. In Section 4.1, we present the specialization of this technique combined with Tabu Search, along with the experimental results.

2. Preliminaries

Let E : { 0 ,   1 } m × { 0 ,   1 } n { 0 ,   1 } n be a block cipher, T be the plaintext, K be the key, and C be the corresponding ciphertext, C = E ( K , T ) . K is said to be a key consistent with E , T and C if C = E ( K , T ) . Let C o n s E denote the set of keys consistent with E , T and C. The problem investigated in this work is as follows: Given E , T and C, Compute a key in C o n s E . Therefore, this is a known plaintext attack. Individuals in the population are keys that are candidates to be consistent keys. Below, we provide our specification of the fitness function.
Let F ( K ) = E ( K , T ) * C n be the fitness function, where B 1 * B 2 means the number of equal components between blocks B 1 and B 2 . In other words, B 1 * B 2 = n d H ( B 1 , B 2 ) , where d H is the Hamming distance. Therefore, K 1 is better suited than K 2 if F ( K 1 ) > F ( K 2 ) . This function takes into account the correlation between the known ciphertext and the ciphertext generated by the random keys. This fitness function is used in [19].

2.1. The Block Cipher Family AES(t)

In this section we present a cipher that we have called AES ( t ) , because it is a family of block ciphers quite similar to AES (Advanced Encryption Standard), that depends on a parameter t in a sense that will be clear later. This family was introduced in [20]. We now give a description of this family.
Let GF m ( 2 t ) be the Galois field with 2 t elements given by the polynomials in the following table.
In Table 1, the block and key length of the members of AES ( t ) , for each value of t, where t is the corresponding word length, is also given. In particular, AES is AES ( 8 ) . All the polynomials m ( x ) are irreducible over GF ( 2 ) , as the author said in [20], these polynomials were chosen at random. On the other hand, the S-boxes for each t, are listed in the appendix of that paper. The AES ( t ) ’s round operations AddRoundKey, SubBytes, ShiftRows, and MixColumns are in essence the same as in AES, but on a reduced scale. In particular, for MixColumns, the coefficients of the MDS matrices are the t least significant bits of the corresponding coefficients of the original AES matrix. The same approach holds for constants used in the key schedule. The number of rounds is the same as those used in AES, even for different key sizes.

2.2. The Tabu Search Heuristic Method

TS is a mathematical optimization method that falls into the category of local search techniques. TS enhances the performance of local search by leveraging memory structures. Specifically, once a potential solution is identified, it is marked as tabu to prevent the algorithm from revisiting that solution. A TS algorithm is a metaheuristic designed to circumvent the potential entrapment in local optima by facilitating flexible movements and temporarily prohibiting the evaluation of previously visited solutions through the implementation of a tabu list.
The technique is based on two fundamental concepts: neighborhood and forbidden move, hereafter referred to as a tabu move. In the first concept, it is assumed that a neighborhood N ( x ) of points can be constructed. Each point corresponds to a generally distinct feasible solution. Therefore, N ( x ) represents the set of all feasible solutions that can be obtained from x, where x is any point in the domain of a function F to be maximized. On the other hand, we define the Tabu status as the prohibition against using a specific point in the function’s domain to find a feasible solution. This status is assigned for a predetermined number of iterations. The forbidden moves are managed by an array T, called the tabu list. It is important to note that this status persists even when the feasible solution obtained from that point is better than others already found. The construction of the neighborhood depends on the specific problem being solved; however, it is recommended that it be generated randomly. At each step of the iterative process, we move randomly, attempting to find the best solution x in N ( x ) , regardless of whether F ( x ) is better (where maximizing or minimizing the function) than F ( x ) . If the neighborhood N ( x ) is very large or the evaluation of the objective function is computationally expensive, only a subset of it, for example V ( x ) , may be analyzed. The size of this sub-neighborhood depends on the specific problem. The process involves simple movements between points in the neighborhood, thereby generating different feasible solutions.

2.3. Methodology for Key Space Partitioning

The key space is too large for an exhaustive search; it may even be suitable for a form of heuristic search. Therefore, it could be beneficial to divide the key space into subsets so that the method is applied to only one of the subsets at a time. To this end, the following methodology is proposed in [17]: It is well known that if the key length is k 1 , then the key space K has cardinality 2 k 1 and there is a one-to-one correspondence between K and the integers in the range [ 0 , 2 k 1 1 ] . If an integer k 2 , ( 1 < k 2 k 1 ) is set, then the key space can be represented by the numbers q · 2 k 2 + r , where q [ 0 , 2 k 1 k 2 1 ] and r [ 0 , 2 k 2 1 ] . In this way, the key space is divided into 2 k 1 k 2 blocks (determined by the quotients in the partitioning algorithm dividing by 2 k 2 ), and within each block, the corresponding key is determined by its position in the block, which is given by the residual r. This is called k 2 , the key length for movement or the group key length. The key point is then to move with the method for cryptanalysis only in one of the partitions (given q), which is called the block of the partition, but to calculate the corresponding fitness in the entire real space, that is, to move around r but to calculate the fitness of the keys given by q · 2 k 2 + r .
The following functions are thus defined. num : N × Z 0 2 Z 0 such that ( k 2 , q , r ) q · 2 k 2 + r , db and bd are the functions that convert decimal to binary and vice versa (we will use big endian notation, i.e., the most significant bit appears on the left and goes towards the least significant digit, on the right). It is also possible to generate an arbitrary subinterval of length 2 k 2 . We will also refer to this subset as the partition. To do end, it is sufficient to generate a random P 0 with ( 0 P 0 2 k 1 2 k 2 + 1 ) that represents the left end of the interval. Then, the working partition will be given by the interval [ P 0 , P 0 + 2 k 2 1 ] . In [21] it is shown how to generate a partition by fixing k 1 k 2 components of the key space to work with the subset of the remaining k 2 unknown components. Thus, given any element z in the subregion S R ( P 0 , k 2 ) represents the element e x t ( z , P 0 , k 2 ) = db ( P 0 + bd ( z ) ) in the key space of length 2 k 1 .

3. Tabu Search for Block Cipher Cryptanalysis

In this case, the population of possible individuals (solutions) corresponds to the set of keys. An iteration is one step of the Algorithm TS, and the set of neighbors in any step corresponds to the neighbors of the selected individual x current (see Algorithm 1). When working with a partition of that space, the population is restricted to a subset within that partition. The methodology aims to employ key space partitioning strategies and transition between partitions, rather than working with excessively large population sets. This is why population sizes are chosen such that it is possible to label all individuals within the space, allowing for the identification of all individuals included in the Tabu list and the avoidance of their repetition. Furthermore, in the context of block cipher cryptanalysis, the neighbors of an individual x consist of the m individuals obtained by changing one component of x while keeping the others unchanged, where m is the cipher key length in the partition or a subset of the partition. Since this number of neighbors is relatively small, it is feasible to generate and evaluate all neighbors during the step when an individual is selected as x current . In this way, once x current has been analyzed by generating all its neighbors, the algorithm will not need to revisit this point. For example, the neighbors of ( 1 ,   0 ,   0 ) are ( 0 ,   0 ,   0 ) , ( 1 ,   1 ,   0 ) , ( 1 ,   0 ,   1 ) .
Algorithm 1: Tabu Search
Cryptography 10 00008 i001
In this work, we do not focus on studying various fitness functions; instead, we concentrate solely on the fitness function based on the Hamming distance. The issue of a “flat fitness landscape” in high-round ciphers is discussed in [22,23]. The primary objective of the different strategies with the TS is to generate new population elements by creating new neighbors. Fitness functions play a crucial role in this process by guiding the selection of different paths and identifying individuals with a fitness value equal to 1.

3.1. Simple TS (STS) Methodology

A random initial individual is chosen as a potential key. Its neighbors are then examined, and the fitness values of these neighbors are calculated. The neighbor with the best fitness that is not on the Tabu list is selected, and this process is repeated until a stopping condition is met or the fitness reaches 1. A common stopping condition is reaching a predetermined maximum number of iterations.

3.1.1. Description of the Experiments and Analysis

We work with the A E S ( 3 ) block cipher, with key length k 1 = 48 . The same fitness function as in [17], described in Section 2, was used. We also set the group key length k 2 = 16 , so the number of neighbors obtained in each TS iteration is 16. The key space, restricted to the partition, has a cardinality of 2 16 = 65,536. A maximum number of iterations equal to 1000 is performed (stopping condition). Therefore, we will be sampling 16,000 individuals at most, which represents 24.4 % of the total number of elements. Thus, 50 experiments were performed, each of which was created by randomly generating a key (K) in the partition S R ( P 0 , k 2 ) and a plaintext T ( P 0 and T randomly generated for each experiment), from which the ciphertext was generated. The individuals of the experiments were labeled by a number from 1 to 50 and represented by the corresponding key K. The objective was to see if the method is capable of finding the key by performing the known plaintext attack procedure described in Section 3 and Section 3.1.
The selection of the group key k 2 is a crucial factor influenced by the available computing architecture, the specific characteristics of the block cipher, and the fact that, for this key size, the method’s results on a subset of the population of size 2 k 2 are satisfactory. Specifically, in a high percentage of experimental trials, the method successfully recovers the key. However, a smaller k 2 does not always guarantee proportionally better results. For A E S ( 3 ) , acceptable behavior with the GA for k 2 = 16 has been studied [17,24]. In this work, it has been confirmed that for the proposed methodologies with TS, this group key size is also appropriate, and the results are even better than those obtained with Genetic Algorithms.
To generate an initial individual (the seed) for T S , a size of m = 100 is taken to generate an initial population of individuals randomly generated in the partition and the one with the highest fitness is selected. We use for the experiments of this work a computer machine with the following characteristics: Intel(R) Core(TM) i9-13900H @ 2.60 GHz.

3.1.2. Discussion of the Results of the Experiments

The obtained results can be summarized as follows: of the 50 experiments performed, the key was found in 40, representing an 80% success rate. The longest execution time was 373.7 s, with an average time of 188.348 s (3.139 min). As demonstrated in [24] for the Genetic Algorithm, it is possible to estimate execution time using this methodology. On the computer, an individual is generated, and the time required to perform 100 iterations is measured. This allows for estimating the time the methodology would take on that computer to complete 100 iterations, providing a fairly accurate procedure for predicting the actual execution time. This approach is very useful for planning and estimating the necessary resources and appropriate parameters for cryptanalysis on a specific architecture. In the experiments conducted, the average estimated time was 184.947 s, with a difference of 3.4 s; the estimate for the experiment with the longest execution time was 348.6 s, with a difference of 25.1 s. In terms of both effectiveness and execution time, the results surpass those obtained in [17,24] using the Genetic Algorithm methodologies.
Figure 1 presents the sequence of iterations, execution time, and estimated time for the 50 experiments. The failed experiments were those labeled 5, 6, 7, 8, 9, 15, 16, 31, 32, and 33. For these 10 cases, the seed was discarted, and the next highest fitness individual was selected from a randomly generated population of 100 individuals. However, none of these 10 experiments succeeded. Additionally, for each of these failed experiments, 10 new random seeds were generated. The key was found only in experiments 6 (on four occasions) and 31 (on two occasions), indicating that in these failed cases, the outcome depends more heavily on the key and plaintext than on the initial seed when using the STS method.
A better result was obtained by increasing the number of STS iterations (see Table 2). It should be noted that, in this case, since the length of the subregion is 2 16 , each individual has 16 neighbors; therefore, 4096 = 2 12 TS iterations correspond to analyzing a number of individuals equivalent to the size of the partition. Experiments 6, 7, 9, and 32 ended before reaching 2000 STS iterations, while experiments 8, 15, and 16 concluded between 2289 and 2805 iterations. This means that 7 of the 10 failed experiments with up to 1000 iterations ended before 4096 iterations, which is less than 3000 in this case.

3.2. Deep First TS Methodology

The Deep First TS methodology (DFTS), also known as the New Neighbors Control TS methodology, represents a family of TS algorithms distinguished by their novel approach to controlling the generation of neighbors. Since neighbors determine the possible paths from the beginning to the end of the procedure, this control is crucial. At various steps of the TS process, levels are generated with respect to the initial node; within these levels, individuals may be repeated. Consequently, a neighbor of the current individual at step k (level k) may either be a new individual that the algorithm has not previously generated or an individual that was generated as a neighbor in an earlier step but has not yet been chosen.
There are two primary motivations for formulating the Deep First strategy. First, to generate a path distinct from that produced by the STS; second, to prioritize the selection of new individuals at each step of the algorithm. This approach is based on the idea that once neighbors are generated, their fitness is known, regardless of whether they have been added to the Tabu list. While this may seem to restrict access to paths involving individuals that are not new, the neighbor generation process is repetitive, allowing elements to be generated again at different levels as neighbors of other individuals.
Depending on the size of the partition where the method is applied and the available computational resources, we propose two variants. In the first variant, it is possible to label all individuals, allowing control over when they are generated as neighbors and enabling the determination of whether they are new neighbors at a given level. The second variant involves performing this neighbor generation control up to a predetermined number l of levels. In this case, it would be necessary to store, for each individual, the ancestral path by which it was generated. This path would be represented as a list of length l + 1 associated with each generated individual. In both variants, when an individual is generated as a neighbor by the TS, it is checked to determine whether it is new. If it is new, its fitness value is calculated and stored; if it has been generated previously, the stored fitness value is retrieved and recalculation is avoided. In this work, we use the first variant for DFTS.
In this algorithm, a horizontal search refers to applying the STS criterion without differentiating between neighbors based on whether they have been previously generated. In contrast, a depth-first search prioritizes, at the current step, neighbors that have not been previously obtained and applies the STS criterion exclusively to this subset. Two parameters govern the process: one controls the extent of the horizontal search ( C N D e e p ) and the other prioritizes the depth-first search ( C D e e p ). Consequently, depth-first search continues as long as the following condition is satisfied:
( C C N d e e p C N d e e p )   and   ( C C d e e p < C d e e p ) ,
where C C N d e e p and C C d e e p are initialized to 0 and increment based on the number of horizontal or depth-first steps executed in the algorithm; when they reach their maximum values ( C N d e e p , C d e e p ) are restarted.
In this way, DFTS becomes a family of TS algorithms, depending on the combination of parameters ( C N d e e p , C d e e p ). Within this family, two distinctive cases of TS algorithms can be identified: Deep First DFTS (DFTS(0,1)): C N d e e p = 0 , C d e e p = 1 , prioritizes depth-first search at every step of the TS, that is, selecting the next element exclusively from the subset of new neighbors at the current level. Standard TS with DFTS (DFTS(N,0)): Where N represents an upper bound on the number of individuals in the population, the key is that C d e e p = 0 means that the condition (1) for prioritizing depth-first search is never satisfied. This causes this variant of the DFTS to behave identically to the STS, with the difference that the generation of new neighbors is controlled.

Experiments with DFTS Methodology

For the 10 failed STS experiments, the DFTS methodology was applied, and the results are presented in Table 3. The columns labeled “Vec”represent the number of individuals generated as neighbors by the TS algorithm.
Some comments on the experimental results: DFTS(0,1) found the key for experiments 6 and 15 in fewer than 1000 iterations, demonstrating how DFTS provides an alternative approach to improving the method’s performance. The DFTS standard allows for evaluating the behavior of STS in terms of generating new neighbors and comparing it with other parameter variants. It can be observed that in all cases where the DFTS failed, the number of neighbors generated by DFTS(0,1) exceeded the number generated by the standard. Note that the more neighbors generated, the greater the likelihood of finding the key among them. The data structure used in DFTS to track new neighbors and prevent reevaluating individuals’ fitness ensures that DFTS variants can operate faster than STS, while also benefiting from the additional information provided. Specifically, the standard DFTS is faster than STS.
Table 4 presents the results of executing DFTS(0,1) and standard DFTS over 1000 iterations for the 10 failed experiments, except 6 and 15, although we will include them for comparison purposes. We want to point out that the standard DFTS completes one iteration earlier than the STS because, by controlling the generation of new neighbors, it detects the individual with fitness 1 at the moment it is generated. This eliminates the need to wait for the next iteration (as in the STS) to select the next element of the Tabu list from the set of neighbors of the previous individual.
After an integrated evaluation of the results in Table 3 and Table 4, we conclude that the key can be found before 1000 iterations in two more experiments (6 and 15). Only two of the ten failed experiments in Section 3.1 do not obtain the key before 4096 iterations, neither by DFTS(0,1) nor by STS (experiments 5 and 33). While DFTS(0,1) generates a larger number of distinct individuals up to a given level, it cannot be claimed that it generally produces better results than STS. What is true is that it provides a different search path in cases where STS fails. Additionally, it should be emphasized that the standard DFTS is a more efficient way to execute the STS method, provided that the size of the subregion and the infrastructure used support the implementation of the data structures and procedures required by DFTS to control the generation of the set of neighbors.

4. The Subregion Path Attack Methodology

The SPA (Subregion Path Attack) methodology is composed of two integrated approaches, which we refer to as SPA1 (external methodology) and SPA2 (internal methodology). The domain D 1 of SPA is a subset of length 2 k 2 of the key space of length 2 k 1 , determined by a specific partitioning criterion. The division-with-remainder algorithm applied to the decimal representation of the individuals of the key space with divisor 2 k 2 , with the possible quotients and residues of the division, offers two variants for defining such domains D 1 (see [17,24]). Additionally, in [21,25], the construction of this domain is done by fixing k 1 k 2 components of the key.
Then SPA1 operates on D 1 as if it were the entire space, and D 1 is partitioned by a specific procedure into subregions S i of length 2 k 3 . In such a way that D 1 is partitioned into a set S consisting of 2 k 2 k 3 subregions, each of size 2 k 3 . Let c denote an individual in the key space, while r and r represent the individual as an element in D 1 and in the corresponding subregion S j respectively, with j [ 1 , 2 k 2 k 3 ] , 0 r 2 k 2 1 , 0 r 2 k 3 1 . On the other hand, the SPA2 methodology operates within the subregions S j . In SPA1, individuals are associated with different subregions S j , whereas in SPA2, individuals are the elements within a subregion. For each methodology, the corresponding operations must be internal to its domain; the only external operation is the fitness calculation, which requires obtaining the representation of the individual in the key space. We denote this operation by E x t 1 and E x t 2 , such that c = E x t 1 ( r ) and r = E x t 2 ( r ) (see Table 5). In this way, any individual is connected to its different representations according to the working domain.
Since SPA1 works with subregions, a way to measure fitness ( F 1 ) is needed. If we denote the fitness function of SPA2 as F 2 , then we define the fitness of SPA1 as
F 1 ( S j ) = F 2 ( Output   of   SPA 2   in   S j ) .
The SPA methodology involves traversing the subregions S j using the SPA1 approach, where each subregion corresponds to one and only one j with 0 j 2 k 2 k 3 . The SPA1 method, in turn, employs SPA2 to evaluate each individual based on Equation (2). Therefore, it is crucial to assess SPA2 during the design tests to maximize its effectiveness. This evaluation should consider the characteristics of the block cipher, the available computational resources, and the relationship among the parameters k 1 , k 2 and k 3 . Note that in particular, SPA2 could be implemented as an efficient exhaustive search within each subregion S j , guaranteeing 100% effectiveness in finding the key if it lies within that subregion.

4.1. SPA Experiments Using STS

We will use the SPA methodology, integrating STS for SPA1 and SPA2. We will work with the 10 failed experiments from Section 3. Below, we show how the method is adapted for this case, see Table 5 to see the representation of the individuals in the three possible domains. In this article, the domain of individuals corresponding to the experiments consists of intervals D 1 = [ P 0 , P 0 + 2 k 2 1 ] (see Section 2.3).
Table 5. SPA with STS for the experiments: individual representation.
Table 5. SPA with STS for the experiments: individual representation.
The Key SpaceThe Domain ( D 1 )The Subregion j
cr r
c = E x t 1 ( r ) = P 0 + r r = E x t 2 ( r ) = ( j 1 ) 2 k 3 + r r
With respect to the computation of the fitness function
F 1 ( j :   the   subregion   j ) = F ( Output   of   STS   in   the   subregion   j ) ,
where F is the fitness function defined on the key space. If the optimal solution of the STS in the subregion j is r , then
F 1 ( j :   the   subregion   j ) = F ( d b ( c ) ) = F ( d b ( P 0 + ( j 1 ) 2 k 3 + r ) ) .
For each experiment, the SPA methodology is applied, where SPA1 works with the STS in a space of 16 = 2 4 individuals, each individual corresponding to a subregion of length 2 12 , in the subregions of length 2 12 the STS is applied as SPA2. For each experiment, in Table 6 is shown the representation of each individual according to this scheme.
In the STS for SPA2, up to 300 iterations are performed; in this case, traversing a number of elements equivalent to an exhaustive search would require 341 iterations. The number of iterations is increased relative to the total number of elements because with SPA2 method is intended to be as effective as possible. The results obtained in the experiments are shown in Table 7. The number of subregions traversed to find the key, the number of iterations in which the key is found in the corresponding subregion, the computer on which they were executed, and the execution time are indicated.
In 7 of the 10 experiments, the SPA successfully identifies the key. In the implemented SPA scheme, traversing up to 10 subregions is equivalent to examining fewer than 300 × 12 × 10 = 36,000 individuals, which corresponds to performing up to 2000 iterations of the STS or DFTS algorithms. Therefore, the superior effectiveness of this methodology in the 10 experiments, compared to both previous methods, can be assessed. However, these are not absolute criteria for all cases; the important aspect is to have multiple options available. Note that experiment 33 is the only case in which the key was not found using any of the techniques presented in this work so far. However, if we refine SPA2 and use exhaustive search (ES) instead of STS, let us examine the results for experiments 7, 32, and 33. For these three experiments, Table 8 shows the seed that serves as the starting point for each methodology used. Each seed is then compared with the corresponding key in relation to the parameters of the SPA methodology.
In the last two columns of the table above, we show, in the first column, the maximum number of subregions that SPA1 would execute before reaching the subregion containing the key, and in the second column, the maximum number of individuals that SPA would traverse to find the key. Note that in experiment 7, the seed and the key are in the same subregion (the seed node for SPA1), whereas in experiments 32 and 33, the key is a neighbor of the seed node. This explains why at most five subregions would be traversed from the seed node to the subregion containing the key. As shown in Table 8, the SPA method with ES as SPA2 finds the key in experiments 5, 32, and 33 by traversing at most 20,480 individuals (31.25% of the population), which is equivalent to 1.280 iterations of STS or DFTS. This represents a better result for experiments 5 and 33; however, in experiment 32, STS finds the key in 1.041 iterations.
We will explain experiment 32 in greater detail, as presented in Table 8. The individual corresponding to experiment 32 is the key generated for it, which, in the partition, is represented as 20012 in decimal form. By considering the first four most significant digits, the region to which it belongs is determined among the 16 possible subregions. In this case, the subregion is 4 ( [ 0 ,   1 ,   0 ,   0 ] ). Then, with the SPA, the same seed is taken as for the previous experiments, which is located in the subregion corresponding to 5 ( [ 0 ,   1 ,   0 ,   1 ] ). It can be observed that the subregion [ 0 ,   1 ,   0 ,   0 ] is a neighbor of the subregion [ 0 ,   1 ,   0 ,   1 ] , so the subregion of the key would be obtained as one of the four possible neighbors of [ 0 ,   1 ,   0 ,   1 ] . Therefore, the SPA algorithm would traverse (with SPA1) a maximum of five subregions. Furthermore, each of these subregions would be analyzed with SPA2, which, if the entire population is traversed at each node, would result in a maximum of 2 12 = 4096 elements. Therefore, the maximum number of individuals analyzed when traversing 5 subregions would be at most 5 × 2 12 = 20,480.

About the Different Methods with TS

In the STS experiments, up to 24% of a partition of size 2 16 is explored, since k 2 = 16 and the maximum number of iterations of the STS is 1000 and the number of neighbors of an individual is 16. The STS with these characteristics has demonstrated acceptable behavior given that in 40 of the 50 experiments carried out, the randomly generated key was found within the partition. These results are relatively superior compared to a similar context using the genetic algorithm, as reported in [17,24]. For each cipher, it is important to find a suitable value for k 2 . Although certain architectures may allow it, we do not recommend excessively increasing k 2 . Instead, if the experiments are unsuccessful, consider performing repetitions with other variants such as DFTS or SPA, or increase the maximum number of iterations of the STS. A moderate size of k 2 also allows better tracking of the Tabu list, helping to avoid repetitions of individuals.
The design of DFTS enables the implementation of a more efficient variant of STS, allowing the algorithm to count the number of distinct individuals it labels through the DFTS neighbor generation control mechanism. Additionally, it avoids evaluating the fitness function multiple times for the same individual once it has been previously calculated. This is particularly important because computing the fitness function is the most computationally expensive step of the algorithm. DFTS represents a family of options that, beyond the advantages described above, also guarantees exploration of alternative search paths through TS.
SPA enables the combination of a cryptanalysis method within a moderately sized partition (of size 2 k 2 ), offering an improved efficiency–time trade-off during the process. Subsequently, another method can be applied to explore different partitions, treating each as an individual entity. This work presents the experimentation and results obtained by combining SPA with STS; however, SPA can be integrated with other heuristic algorithms. The key is to adapt these algorithms to operate effectively within closed partitions. Therefore, this work does not claim that the proposed methods are superior to other heuristic approaches. Instead, it develops a methodology for applying TS in various ways for cryptanalysis, while also considering potential actions to address failed experiments.

5. Conclusions

In this article, we present several methodological proposals for the cryptanalysis of block ciphers based on the Tabu Search metaheuristic, yielding satisfactory results in experiments conducted on moderate-sized spaces (subsets of the AES(3) key space). We demonstrate how to effectively interact with the different methods and appropriately consider the relevant parameters. The Deep First Tabu Search (DFTS) approach offers a family of options for performing Tabu search, providing various heuristic pathways to explore the key space. Even the Simple Tabu Search can be implemented using the DFTS method in an optimized manner, as it controls not only the elements marked in the Tabu list but also the generation of new individuals during the neighbor set creation process. The Subregion Path Attack (SPA) proposal constitutes a general methodology that can be combined with multiple heuristics. This work illustrates the specialization of SPA with Tabu Search, which enhances effectiveness in the cryptanalysis of AES(3) in the conducted experiments. However, it is important to emphasize that for block ciphers such as AES, the implications of this work for “practical AES security” are methodological in nature rather than representing a concrete practical threat.

Author Contributions

Conceptualization, A.D.-C., M.B.-Q., M.A.B.-T. and G.S.-G.; formal analysis, A.D.-C. and M.B.-Q.; investigation, A.D.-C., M.B.-Q., M.A.B.-T., O.R. and G.S.-G.; methodology, M.B.-Q. and M.A.B.-T.; project administration, O.R. and G.S.-G.; supervision, O.R.; validation, A.D.-C., M.B.-Q. and G.S.-G.; writing—original draft, A.D.-C., M.B.-Q. and M.A.B.-T.; writing—review and editing, M.B.-Q., O.R. and G.S.-G. All authors have read and agreed to the published version of the manuscript.

Funding

The research associated with the results presented in this publication received funds from Red CYTED 522RT0131 “Nuevas Herramientas Criptográfias para la E-comunidad”.

Data Availability Statement

The original contributions presented in this study are included in the article. Further inquiries can be directed to the corresponding author.

Conflicts of Interest

The authors declare no conflicts of interest.

References

  1. Boura, C.; Naya-Plasencia, M. Symmetric Cryptography 1: Design and Security Proofs, 1st ed.; Wiley: Hoboken, NJ, USA, 2024. [Google Scholar] [CrossRef]
  2. Boura, C.; Naya-Plasencia, M. Symmetric Cryptography 2: Cryptanalysis and Future Directions, 1st ed.; Wiley: Hoboken, NJ, USA, 2024. [Google Scholar] [CrossRef]
  3. Gladush, A.; Gribanova, I.; Kondratiev, V.; Pavlenko, A.; Semenov, A. Measuring the Effectiveness of SAT-Based Guess-and-Determine Attacks in Algebraic Cryptanalysis. In Parallel Computational Technologies; Sokolinsky, L., Zymbler, M., Eds.; Springer International Publishing: Cham, Switzerland, 2022; Volume 1618, pp. 143–157. [Google Scholar] [CrossRef]
  4. Carlet, C. Boolean Functions for Cryptography and Error Correcting Codes. In Boolean Models and Methods in Mathematics, Computer Science, and Engineering; Crama, Y., Hammer, P.L., Eds.; Cambridge University Press: Cambridge, UK, 2010; pp. 257–397. [Google Scholar] [CrossRef]
  5. Budaghyan, L. Construction and Analysis of Cryptographic Functions; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar] [CrossRef]
  6. Alabduallah, B.; Banga, A.; Iqbal, N.; Ikram, A.; Diab, H. Advancing cryptographic security with a new delannoy-derived chaotic S-box. IEEE Access 2024, 12, 82926–82937. [Google Scholar] [CrossRef]
  7. Gohr, A. Brute Force Cryptanalysis. IACR Cryptology ePrint Archive 2022. Available online: https://eprint.iacr.org/2022/053 (accessed on 12 January 2026).
  8. Barwick, S.G.; Jackson, W.-A. A characterization of translation ovals in finite even order planes. Finite Fields Their Appl. 2015, 33, 37–52. [Google Scholar] [CrossRef]
  9. Tezcan, C.; Leander, G. GPU Assisted Brute Force Cryptanalysis of GPRS, GSM, RFID, and TETRA. IACR Trans. Symmetric Cryptol. 2025, 2025, 309–327. [Google Scholar] [CrossRef]
  10. Wang, C.H.; Hu, K.; Wu, X.; Ou, Y. Rethinking Metaheuristics: Unveiling the Myth of “Novelty” in Metaheuristic Algorithms. Mathematics 2025, 13, 2158. [Google Scholar] [CrossRef]
  11. Eiben, A.E.; Smith, J.E. Introduction to Evolutionary Computing, 2nd ed.; Springer: Berlin/Heidelberg, Germany, 2015. [Google Scholar]
  12. Cinar, A.C. A comprehensive comparison of accuracy-based fitness functions of metaheuristics for feature selection. Soft Comput. 2023, 27, 8931–8958. [Google Scholar] [CrossRef]
  13. Beausoleil, R.P. Associative classification with multiobjective tabu search. Rev. Matemática Teoría Apl. 2020, 27, 333–356. [Google Scholar] [CrossRef]
  14. Gao, S.; Iu, H.H.C.; Erkan, U.; Simsek, C.; Toktas, A.; Cao, Y.; Wu, R.; Mou, J.; Li, Q.; Wang, C. A 3D memristive cubic map with dual discrete memristors: Design, implementation, and application in image encryption. IEEE Trans. Circuits Syst. Video Technol. 2025, 35, 7706–7718. [Google Scholar] [CrossRef]
  15. Gao, S.; Zhang, Z.; Li, Q.; Ding, S.; Iu, H.H.C.; Cao, Y.; Xu, X.; Wang, C.; Mou, J. Encrypt a story: A video segment encryption method based on the discrete sinusoidal memristive rulkov neuron. IEEE Trans. Dependable Secur. Comput. 2025, 22, 8011–8024. [Google Scholar] [CrossRef]
  16. Chambers, J.B. A Review of: “Tabu Search” Fred Glover and Manuel Laguna, Kluwer Academic Publishers, 1997, 408 pp., US$140, ISBN 0-7923-9965-X. IIE Trans. 1998, 30, 858–859. [Google Scholar] [CrossRef]
  17. Borges-Trenard, M.A.; Borges-Quintana, M.; Monier-Columbié, L. An application of genetic algorithm to cryptanalysis of block ciphers by partitioning the key space. J. Discret. Math. Sci. Cryptogr. 2022, 25, 325–334. [Google Scholar] [CrossRef]
  18. Valluri, M.R. Cryptanalysis of Xinyu et al.’s NTRU-lattice based key exchange protocol. J. Inf. Optim. Sci. 2018, 39, 475–479. [Google Scholar] [CrossRef]
  19. Vimalathithan, R.; Valarmathi, M. Cryptanalysis of simplified-DES using computational intelligence. WSEAS Trans. Comput. 2011, 10, 210–219. [Google Scholar]
  20. Nakahara, J.; Santana de Freitas, D. Mini-ciphers: A reliable testbed for cryptanalysis? In Symmetric Cryptography. Dagstuhl Seminar Proceedings; Schloss Dagstuhl–Leibniz-Zentrum für Informatik: Wadern, Germany, 2009; pp. 1–13. [Google Scholar] [CrossRef]
  21. Donatien-Charón, A.; Borges-Trenard, M.A.; Borges-Quintana, M. Ataque al PRESENT-80 con el Algoritmo Genético mediante aproximaciones sucesivas de componentes fijas. Rev. Cuba. Cienc. Inform. 2023, 17, 1–15. [Google Scholar]
  22. Seeven Amic, K.M.; Sunjiv Soyjaudah, G.R. Fitness Landscape Analysis of Block Ciphers for Cryptanalysis using Metaheuristics. Int. J. Eng. Trends Technol. 2022, 70, 257–271. [Google Scholar] [CrossRef]
  23. Marochok, S.; Zajac, P. Algorithm for generating s-boxes with prescribed differential properties. Algorithms 2023, 16, 157. [Google Scholar] [CrossRef]
  24. Tito-Corrioso, O.; Borges-Trenard, M.A.; Borges-Quintana, M.; Rojas, O.; Sosa-Gómez, G. Study of Parameters in the Genetic Algorithm for the Attack on Block Ciphers. Symmetry 2021, 13, 806. [Google Scholar] [CrossRef]
  25. Borges-Quintana, M.; Borges-Trenard, M.A.; Tito-Corrioso, O.; Rojas, O.; Sosa-Gómez, G. Combined and General Methodologies of Key Space Partition for the Cryptanalysis of Block Ciphers. Cryptography 2024, 8, 45. [Google Scholar] [CrossRef]
Figure 1. Iterations, time and estimated time of the 50 experiments.
Figure 1. Iterations, time and estimated time of the 50 experiments.
Cryptography 10 00008 g001
Table 1. Polynomials, block and key length for AES.
Table 1. Polynomials, block and key length for AES.
t (Bits) m ( x ) Block LengthKey Length
3 x 3 + x + 1 4848, 72, 96
4 x 4 + x + 1 6464, 96, 128
5 x 5 + x 4 + x 3 + x 2 + 1 8080, 120, 160
6 x 6 + x 5 + x 3 + x 2 + 1 9696, 144, 192
7 x 7 + x 6 + x 5 + x 4 + x 3 + x 2 + 1 112112, 168, 224
8 x 8 + x 4 + x 3 + x + 1 128128, 192, 256
Table 2. Computation of STS up to 4096 iterations (stopping condition).
Table 2. Computation of STS up to 4096 iterations (stopping condition).
ExperimentIterationsTime (s)
54096 1303.460
61109 362.939
71529 490.899
82289 797.872
91949 618.032
152805 835.679
162720 656.997
314096 1420.572
321042 281.619
334096 1832.365
Table 3. Comparison between DFTS and STS.
Table 3. Comparison between DFTS and STS.
Exp.DFTS(0,1)DFTS( 2 16 ,0)STS
No.IndivIterT (s)VecIterT (s)VecIterT (s)Vec
527,9421000199.512,9171000242.012,7371000323.6-
643,137558152.075001000242.212,6441000332.7-
744,4011000231.812,8631000192.612,7211000324.3-
842,3111000190.912,8481000176.012,5461000373.7-
954,3871000206.412,8901000226.912,6771000321.4-
1522,676524124.070121000185.312,5501000330.1-
1647,6811000195.512,8051000191.412,7321000324.9-
3162,1911000245.112,8751000181.812,7521000326.0-
3220,0121000200.712,8271000243.912,7141000356.6-
3334,1861000193.612,8501000154.712,6761000324.3-
Table 4. Computation of DFTS up to 4096 iterations (stopping condition).
Table 4. Computation of DFTS up to 4096 iterations (stopping condition).
Exp.DFTS(0,1)DFTS( 2 16 ,0)
No.IndivIterT (s)VecIterT (s)Vec
527,9424096816.71141,1554096991.19739,776
643,137558152.00575001108268.37513,947
744,4012388553.56827,7551528294.36518,406
842,3114096781.77641,0492288402.55125,924
954,3871460301.28318,2581948442.00122,441
1522,676524124.01570122804519.30230,388
1647,6814096800.97941,1232719520.26829,712
3162,1911377337.35217,1574096744.30739,853
3220,0123793761.37112,8271041253.92513,209
3334,1864096792.67341,2334096633.91839,927
Table 6. Representation of the individuals for the SPA.
Table 6. Representation of the individuals for the SPA.
Exp.SPA
No.Indiv ( r )SPA1 Indiv ( j 1 )SPA2 Indiv ( r )
DecimalBinaryDecimalBinary
527,9426 [ 0 ,   1 ,   1 ,   0 ] 3366 [ 1 ,   1 ,   0 ,   1 ,   0 ,   0 ,   1 ,   0 ,   0 ,   1 ,   1 ,   0 ]
643,13710 [ 1 ,   0 ,   1 ,   0 ] 2177 [ 1 ,   0 ,   0 ,   0 ,   1 ,   0 ,   0 ,   0 ,   0 ,   0 ,   0 ,   1 ]
744,40110 [ 1 ,   0 ,   1 ,   0 ] 3441 [ 1 ,   1 ,   0 ,   1 ,   0 ,   1 ,   1 ,   1 ,   0 ,   0 ,   0 ,   1 ]
842,31110 [ 1 ,   0 ,   1 ,   0 ] 1351 [ 0 ,   1 ,   0 ,   1 ,   0 ,   1 ,   0 ,   0 ,   0 ,   1 ,   1 ,   1 ]
954,38713 [ 1 ,   1 ,   0 ,   1 ] 1139 [ 0 ,   1 ,   0 ,   0 ,   0 ,   1 ,   1 ,   1 ,   0 ,   0 ,   1 ,   1 ]
1522,6765 [ 0 ,   1 ,   0 ,   1 ] 2196 [ 1 ,   0 ,   0 ,   0 ,   1 ,   0 ,   0 ,   1 ,   0 ,   1 ,   0 ,   0 ]
1647,68111 [ 1 ,   0 ,   1 ,   1 ] 2625 [ 1 ,   0 ,   1 ,   0 ,   0 ,   1 ,   0 ,   0 ,   0 ,   0 ,   0 ,   1 ]
3162,19115 [ 1 ,   1 ,   1 ,   1 ] 751 [ 0 ,   0 ,   1 ,   0 ,   1 ,   1 ,   1 ,   0 ,   1 ,   1 ,   1 ,   1 ]
3220,0124 [ 0 ,   1 ,   0 ,   0 ] 3628 [ 1 ,   1 ,   1 ,   0 ,   0 ,   0 ,   1 ,   0 ,   1 ,   1 ,   0 ,   0 ]
3334,1868 [ 1 ,   0 ,   0 ,   0 ] 1418 [ 0 ,   1 ,   0 ,   1 ,   1 ,   0 ,   0 ,   0 ,   1 ,   0 ,   1 ,   0 ]
Table 7. Experiments of SPA with STS.
Table 7. Experiments of SPA with STS.
Exp.SPA with STS
No.IndivIterT (s)No. of Subregions
527,9422731073.9016
643,13729276.305
744,4013001147.44-
842,311368.911
954,38748831.5316
1522,67680290.724
1647,68155604.829
3162,1911069.722
3220,0123001079.52-
3334,1863001108.98-
Table 8. Exp. 7, 32, 33 with ES as SPA2.
Table 8. Exp. 7, 32, 33 with ES as SPA2.
Exp.SPA
No.Indiv ( r )SPA1 Indiv ( j 1 )SPA1 Seed ( j 1 )SPA2 ES
DecimalBinaryDecimalBinaryNo. SubregionsNo. Indivuals
744,40110 [ 1 ,   0 ,   1 ,   0 ] 10 [ 1 ,   0 ,   1 ,   0 ] 1 2 12 = 4096
3220,0124 [ 0 ,   1 ,   0 ,   0 ] 5 [ 0 ,   1 ,   0 ,   1 ] 5 5 × 2 12 = 20,480
3334,1868 [ 1 ,   0 ,   0 ,   0 ] 0 [ 0 ,   0 ,   0 ,   0 ] 5 5 × 2 12 = 20,480
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Donatien-Charon, A.; Borges-Quintana, M.; Borges-Trenard, M.A.; Rojas, O.; Sosa-Gómez, G. On Tabu Search for Block Cyphers Cryptanalysis. Cryptography 2026, 10, 8. https://doi.org/10.3390/cryptography10010008

AMA Style

Donatien-Charon A, Borges-Quintana M, Borges-Trenard MA, Rojas O, Sosa-Gómez G. On Tabu Search for Block Cyphers Cryptanalysis. Cryptography. 2026; 10(1):8. https://doi.org/10.3390/cryptography10010008

Chicago/Turabian Style

Donatien-Charon, Adrian, Mijail Borges-Quintana, Miguel A. Borges-Trenard, Omar Rojas, and Guillermo Sosa-Gómez. 2026. "On Tabu Search for Block Cyphers Cryptanalysis" Cryptography 10, no. 1: 8. https://doi.org/10.3390/cryptography10010008

APA Style

Donatien-Charon, A., Borges-Quintana, M., Borges-Trenard, M. A., Rojas, O., & Sosa-Gómez, G. (2026). On Tabu Search for Block Cyphers Cryptanalysis. Cryptography, 10(1), 8. https://doi.org/10.3390/cryptography10010008

Article Metrics

Article metric data becomes available approximately 24 hours after publication online.
Back to TopTop