Searching for Cryptographically Significant Rotation Symmetric Boolean Functions by Designing Heuristic Algorithms
Algorithm 1
GA-reset.
(1)
Initialization. To be balanced.
(2)
Fitness function. Let the fitness function be
(3)
Genetic operatorsTwo-point crossover. The two crossover points (potential solution) are chosen randomly on the parent truth tables of the rotation symmetric functions (RSTTs). All bits between these two points are swapped between the parents, rendering two child RSTTs.Mutation. The purpose of mutation in GAs is introducing diversity. According to the mutation probability , we chose some orbits of the RSTT and complete it. We checked the efficiency of the algorithm for the mutation probability of 0.2, 0.1, and 0.05 and found that when , the output is optimum.Selection. The fitness function is evaluated for each individual and then the fitness values are normalized. For the th individual with fitness value , then its probability of being selected is , where is the number of individuals in the population. Compute the cumulative probability distribution and generate a uniform random number ranging in ; then, the th individual is selected if .
(4)
Resetting. As in [9], we add the resetting step to the traditional GAs. That is, if the fitness of the best solution cannot be improved after a number of iterations, then we retain the best solution and randomly generate balanced RSBFs.
(5)
Termination. Because of the randomness of GAs, there must be enough iterations so that the solutions can be convergent. Thus, we assign the number of iterations to be 100,000.