For a given block size of N bits, the total number of possible permutations is (2^N)! In order to select from any one of the possible permutations, the key would have to be of length log2((2^N)!) which is typically much larger than N. Given that AES has a 128 bit block and can have a key length of 256 bits, the AES block cipher is only using a small sub-set of all possible block permutations.
My question is : How does a designer determine which subset of the permutation space is to be used?
Is there any design criteria to be applied as to how the permutation are "spaced apart"?
Some immediate, and seamingly obvious, criteria come to mind :
Eliminate the permutation that does not change anything (ie: 1 to 1 , 2 to 2 , ... , n-1 to n-1). as this would not obfuscate the plaintext.
Eliminate permutations that don't change "enough" entries (ie: 1 to 5 , 5 to 1 , and all others are n to n).
How does a designer determine the "best" sub-set of permutations to map to the key space?