The Data Encryption Standard (DES) is a cryptographic algorithm, designed by IBM, that was selected to be the national standard in 1977 by the National Bureau of Standards. The algorithm itself was entirely published, but the design criteria were kept secret until 1994 when Coppersmith, one of the designers of DES, published them. He stated that the IBM team already knew about the attack called differential cryptanalysis during the design of the algorithm and that it had an effect on choosing the S-boxes. To be more specific, he mentioned eight design criteria that all the S-boxes of DES are based on. How the S-boxes were generated is a mystery, as the legend says this was outsourced to the NSA. Indeed, building a set of S-boxes respecting these criteria is not a trivial task.
In this article, the authors present an efficient S-box generator respecting all criteria and more. Coppersmith’s design criteria served as a basis, but were strengthened for better resistance to linear cryptanalysis. While other researchers have already proposed S-box generators for DES satisfying either non-linearity or good diffusion, our generator offers both. Moreover, apart from suggesting a new set of eight S-boxes, it can also very quickly produce a large pool of S-boxes to be used in further research.