Nondegenerate functions and permutations
Luke O’Connor · Discrete Mathematics · 1997
One of the basic design criteria for a block encryption function is to ensure that for each fixed key, each ciphertext bit depends nonlinearly on each plaintext bit. When the ciphertext is represented using boolean equations depending on the key and plaintext, these equations should then be nondegenerate so that it is possible that each bit of the key and plaintext can influence each ciphertext bit. We prove that nondegeneracy in a boolean function can be verified in linear time on average. We study higher order nondegeneracy and prove that for balanced n-bit functions, on average, at least n — [log n]— 2 input bits must be held constant before a degenerate subfunction is induced. We also prove that the fraction of n-bit permutations within the symmetric group that are realized by nondegenerate boolean functions tends to one as n increases. Letting Nn, n be the set of nondegenerate permutations, we formally prove that 1 −Ln < ¦Nn,n¦2n! < 1 − Ln + Un, (1) where Un, Ln ϵ o(1).