# Computing the Number of Affine Equivalence Classes of Boolean Functions modulo Functions of Different Degrees

Affine equivalence classes of Boolean functions has many applications in modern cryptography and circuit design. Previous publications have shown that affine equivalence on the entire space of Boolean functions can be computed up to 10 variables, but not on the quotient Boolean function space modulo functions of different degrees. Computing the number of equivalent classes of cosets of Reed-Muller code R(1,n) is equivalent to classifying Boolean functions modulo linear functions, which can be computed only when n≤ 6. In this paper, we propose a novel method to compute the number of affine equivalence classes on the quotient space of different degrees of Boolean functions B(s,n)/B(k,n), where B(s,n) is the set of Boolean functions with degree ≤ s. By constructing linear representation of the affine group AGL(n,2) on the quotient Boolean function space, we obtain a useful counting formula to classify Boolean functions on the quotient spaces. With the proposed algorithm, the number of equivalent classes of cosets of R(1,n) can be computed up to 10 variables and the results are presented in this paper. Furthermore, the number of affine equivalent classes on the quotient space B(s,n)/B(k,n) can also be computed when -1≤ k< s≤ n≤ 10, which is a major improvement and advancement comparing to previous methods.

READ FULL TEXT