arXiv - CS - Discrete Mathematics Pub Date : 2018-11-11 , DOI: arxiv-1811.04421
Valentin Bakoev

The problem "Given a Boolean function $f$ of $n$ variables by its truth table vector. Find (if exists) a vector $\alpha \in \{0,1\}^n$ of maximal (or minimal) weight, such that $f(\alpha)= 1$." is considered here. It is closely related to the problem of fast computing the algebraic degree of Boolean functions. It is an important cryptographic parameter used in the design of S-boxes in modern block ciphers, PRNGs in stream ciphers, at Reed-Muller codes, etc. To find effective solutions to this problem we explore the orders of the vectors of the $n$-dimensional Boolean cube $\{0,1\}^n$ in accordance with their weights. The notion of "$k$-th layer" of $\{0,1\}^n$ is involved in the definition and examination of the "weight order" relation. It is compared with the known relation "precedes". Several enumeration problems concerning these relations are solved and the corresponding comments were added to 3 sequences in the On-line Encyclopedia of Integer Sequences (OEIS). One special order (among the numerous weight orders) is defined and examined in detail. The lexicographic order is a second criterion for an ordinance of the vectors of equal weights. So a total order called Weight-Lexicographic Order (WLO) is obtained. Two algorithms for generating the WLO sequence and two algorithms for generating the characteristic vectors of the layers are proposed. Their results were used in creating 2 new sequences: A294648 and A305860 in the OEIS. Two algorithms for solving the problem considered are developed--the first one works in a byte-wise manner and uses the WLO sequence, and the second one works in a bitwise manner and uses the characteristic vector as masks. The experimental results after many tests confirm the efficiency of these algorithms. Some other applications of the obtained algorithms are also discussed--for example, when representing, generating and ranking other combinatorial objects.

down
wechat
bug