Generating S boxes that satisfy Coppersmith's criteria? I'd like to generate all possible 6-bit to 4-bit S-Boxes that satisfy the criteria for S-Box design given by Coppersmith, but I have a few doubts:


How many such S-Boxes are possible?
Is there any existing implementation of said boxes?
What would be the most efficient way to implement them?


Any help is appreciated, thanks!
For each of the $2^6$ possible inputs, there are $2^4$ possible outputs. Thus, there are $(2^4)^{2^6} = 2^{256}$ possible S-Boxes mapping 6 bits to 4 bits: you cannot exhaust this many possibilities.

You need to construct S-Boxes which satisfies all the criteria directly, in contrast to looking at all S-Boxes and then testing for the criteria.

You may have a look at "affine equivalence" to divide the search space (see e.g. [1]) and at DESL [2], a variant of DES which uses a unique S-Box satisfying most of the Coppersmith criteria as well as other ones [2].


[1] On the Classification of 4 Bit S-Boxes, Arithmetic of Finite Fields (2007)
[2] New Lightweight DES Variants, Fast Software Encryption (2007)