  A Particle Swarm Optimizer for the search of balanced Boolean functions with
good cryptographic properties is proposed in this paper. The algorithm is a
modified version of the permutation PSO by Hu, Eberhart and Shi which preserves
the Hamming weight of the particles positions, coupled with the Hill Climbing
method devised by Millan, Clark and Dawson to improve the nonlinearity and
deviation from correlation immunity of Boolean functions. The parameters for
the PSO velocity equation are tuned by means of two meta-optimization
techniques, namely Local Unimodal Sampling (LUS) and Continuous Genetic
Algorithms (CGA), finding that CGA produces better results. Using the
CGA-evolved parameters, the PSO algorithm is then run on the spaces of Boolean
functions from $n=7$ to $n=12$ variables. The results of the experiments are
reported, observing that this new PSO algorithm generates Boolean functions
featuring similar or better combinations of nonlinearity, correlation immunity
and propagation criterion with respect to the ones obtained by other
optimization methods.
