When is $f(x) = g(x) \mod 2^k$ an odd permutation?

187 Views Asked by At

Let $n = 2^k$, let $[n] = \{0, \ldots, n-1\}$, and let $f: [n] \to [n]$ denote a function of the form $f(x) := p(x) \mod n$, where $p(x)$ is some polynomial with coefficients in $[n]$. Does $f(x)$ have a well-known name? Moreover, I would like to know a reference that characterizes when $f(x)$ is an odd permutation (i.e. something like $f(x)$ is an odd permutation if and only if something about $p(x)$)? What about the case when we don't require $p(x)$ to be a polynomial, but rather some arbitrary other function?

After some more research, I found the following result (due to Rivest) that characterizes when $f(x)$ is a permutation polynomial: Fix $k \geq 2$. A polynomial $p(x) = a_0 + a_1x + \ldots + a_{d}x^{d}$ with integer coefficients is a permutation polynomial modulo $2^k$ if and only if: (1) $a_1$ is odd, (2) $(a_2 + a_4 + a_6 + \ldots)$ is even, and (3) $(a_3 + a_5 + a_7 + \ldots)$ is even -- See https://people.csail.mit.edu/rivest/pubs/Riv01c.pdf. I am interested in a similar result that characterizes when this permutation is odd.

References would be appreciated!

2

There are 2 best solutions below

1
On

A partial answer. There does seem to be a pattern:

  1. Assume that the constant term is zero $(a_0=0)$. Note that if $P(x)$ is a valid permutation polynomial, then the sum of the coefficients $\sum_{i}a_i$ must be odd. (Because $a_1$ is odd and the sum of the higher terms is even.)
  2. Being an odd number, the sum of the coefficients is either one more, or one less, than a multiple of four.

  3. Consider the condition $n=2^2$. It seems that the parity of $P$ is determined by whether the sum of the coefficients is one more, or one less, than a multiple of 4.

  4. Similarly, when $n=2^1$, the condition is whether the sum of the coefficients is one more, or one less, than a multiple of 2 (i.e. even or odd). But in fact every permutation polynomial is trivially even in this case: we assume the constant term is 0, so $P(0)=0$. The only way we can have a permutation of $\{0,1\}$ is if $P(1)=1$. Hence if $P$ is a permutation of $\{0,1\}$, then $P$ is the identity on $\{0,1\}$ and hence even.

  5. The pattern apparently doesn't generalize exactly like this for higher $n$, but perhaps we can fashion a similar rule to prove by induction.

Another note: Permutation polynomials $P(x)$ with constant $a_0=0$ correspond to a very special subset of all permutations. Specifically, $P(x)$ always sends even numbers to even numbers and odd numbers to odd numbers— the permutation can be factored into a permutation on odd numbers and a permutation on even numbers. (Proof: if $z$ is even, then $z^k$ and $a_kz^k$ are even for $k>1$, so $P(z)$ is even. If $z$ is odd, then $a_kz^k$ has the same parity as $a_k$, so the parity of $P(z)$ is the parity of $\sum_{k=0}^d a_k$, which is odd because of Rivest's criteria.)


Conjecture. Put $n=2^k$ with $k>2$. For every exponent $e \geq 2$, we can define the permutation polynomial $Q(x) \equiv x + 2\cdot x^e \pmod{n}$. Then $Q$ is even if $e$ is odd, or odd if $e$ is even.


Here is a table for $n=8$. Each row is a permutation polynomial. The coefficients of the polynomial are listed first, in order $[a_0, \ldots, a_d]$. Then the set $[n]$ is listed (it's the same in every row). Then the permutation $P(n)$ is listed. The X and O values indicate (1) whether the permutation is even or odd (first X/O), and (2) whether the sum of the coefficients is one more or one less than a multiple of four (second X/O). The pairs go through periodic patterns of matching/difference, which suggests a slightly more complicated variation may capture the behavior.

----------------
0       X X     [0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
1       O O     [0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
2       X X     [0, 5] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
3       O O     [0, 7] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
4       O O     [0, 1, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
5       X X     [0, 3, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
6       O O     [0, 5, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
7       X X     [0, 7, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
8       X X     [0, 1, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
9       O O     [0, 3, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
10      X X     [0, 5, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
11      O O     [0, 7, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
12      O O     [0, 1, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
13      X X     [0, 3, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
14      O O     [0, 5, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
15      X X     [0, 7, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
----------------
16      X O     [0, 1, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
17      O X     [0, 3, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
18      X O     [0, 5, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
19      O X     [0, 7, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
20      O X     [0, 1, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
21      X O     [0, 3, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
22      O X     [0, 5, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
23      X O     [0, 7, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
24      X O     [0, 1, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
25      O X     [0, 3, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
26      X O     [0, 5, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
27      O X     [0, 7, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
28      O X     [0, 1, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
29      X O     [0, 3, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
30      O X     [0, 5, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
31      X O     [0, 7, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
----------------
32      X X     [0, 1, 0, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
33      O O     [0, 3, 0, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
34      X X     [0, 5, 0, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
35      O O     [0, 7, 0, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
36      O O     [0, 1, 2, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
37      X X     [0, 3, 2, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
38      O O     [0, 5, 2, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
39      X X     [0, 7, 2, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
40      X X     [0, 1, 4, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
41      O O     [0, 3, 4, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
42      X X     [0, 5, 4, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
43      O O     [0, 7, 4, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
44      O O     [0, 1, 6, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
45      X X     [0, 3, 6, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
46      O O     [0, 5, 6, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
47      X X     [0, 7, 6, 4] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
----------------
48      X O     [0, 1, 0, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
49      O X     [0, 3, 0, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
50      X O     [0, 5, 0, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
51      O X     [0, 7, 0, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
52      O X     [0, 1, 2, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
53      X O     [0, 3, 2, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
54      O X     [0, 5, 2, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
55      X O     [0, 7, 2, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
56      X O     [0, 1, 4, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
57      O X     [0, 3, 4, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
58      X O     [0, 5, 4, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
59      O X     [0, 7, 4, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
60      O X     [0, 1, 6, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
61      X O     [0, 3, 6, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
62      O X     [0, 5, 6, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
63      X O     [0, 7, 6, 6] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
----------------
64      X O     [0, 1, 1, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
65      O X     [0, 3, 1, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
66      X O     [0, 5, 1, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
67      O X     [0, 7, 1, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
68      O X     [0, 1, 3, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
69      X O     [0, 3, 3, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
70      O X     [0, 5, 3, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
71      X O     [0, 7, 3, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
72      X O     [0, 1, 5, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
73      O X     [0, 3, 5, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
74      X O     [0, 5, 5, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
75      O X     [0, 7, 5, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
76      O X     [0, 1, 7, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
77      X O     [0, 3, 7, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
78      O X     [0, 5, 7, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
79      X O     [0, 7, 7, 0, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
----------------
80      X X     [0, 1, 1, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
81      O O     [0, 3, 1, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
82      X X     [0, 5, 1, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
83      O O     [0, 7, 1, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
84      O O     [0, 1, 3, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
85      X X     [0, 3, 3, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
86      O O     [0, 5, 3, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
87      X X     [0, 7, 3, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
88      X X     [0, 1, 5, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
89      O O     [0, 3, 5, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
90      X X     [0, 5, 5, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
91      O O     [0, 7, 5, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
92      O O     [0, 1, 7, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
93      X X     [0, 3, 7, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
94      O O     [0, 5, 7, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
95      X X     [0, 7, 7, 2, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
----------------
96      X O     [0, 1, 1, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
97      O X     [0, 3, 1, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
98      X O     [0, 5, 1, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
99      O X     [0, 7, 1, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
100     O X     [0, 1, 3, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
101     X O     [0, 3, 3, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
102     O X     [0, 5, 3, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
103     X O     [0, 7, 3, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
104     X O     [0, 1, 5, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
105     O X     [0, 3, 5, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
106     X O     [0, 5, 5, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
107     O X     [0, 7, 5, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
108     O X     [0, 1, 7, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
109     X O     [0, 3, 7, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
110     O X     [0, 5, 7, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
111     X O     [0, 7, 7, 4, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
----------------
112     X X     [0, 1, 1, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
113     O O     [0, 3, 1, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
114     X X     [0, 5, 1, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
115     O O     [0, 7, 1, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
116     O O     [0, 1, 3, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
117     X X     [0, 3, 3, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
118     O O     [0, 5, 3, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
119     X X     [0, 7, 3, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
120     X X     [0, 1, 5, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
121     O O     [0, 3, 5, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
122     X X     [0, 5, 5, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
123     O O     [0, 7, 5, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
124     O O     [0, 1, 7, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
125     X X     [0, 3, 7, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
126     O O     [0, 5, 7, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
127     X X     [0, 7, 7, 6, 1] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
----------------
128     O O     [0, 1, 0, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
129     X X     [0, 3, 0, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
130     O O     [0, 5, 0, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
131     X X     [0, 7, 0, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
132     X X     [0, 1, 2, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
133     O O     [0, 3, 2, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
134     X X     [0, 5, 2, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
135     O O     [0, 7, 2, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
136     O O     [0, 1, 4, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
137     X X     [0, 3, 4, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
138     O O     [0, 5, 4, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
139     X X     [0, 7, 4, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
140     X X     [0, 1, 6, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
141     O O     [0, 3, 6, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
142     X X     [0, 5, 6, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
143     O O     [0, 7, 6, 0, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
----------------
144     O X     [0, 1, 0, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
145     X O     [0, 3, 0, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
146     O X     [0, 5, 0, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
147     X O     [0, 7, 0, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
148     X O     [0, 1, 2, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
149     O X     [0, 3, 2, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
150     X O     [0, 5, 2, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
151     O X     [0, 7, 2, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
152     O X     [0, 1, 4, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
153     X O     [0, 3, 4, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
154     O X     [0, 5, 4, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
155     X O     [0, 7, 4, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
156     X O     [0, 1, 6, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
157     O X     [0, 3, 6, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
158     X O     [0, 5, 6, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
159     O X     [0, 7, 6, 2, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
----------------
160     O O     [0, 1, 0, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
161     X X     [0, 3, 0, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
162     O O     [0, 5, 0, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
163     X X     [0, 7, 0, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
164     X X     [0, 1, 2, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
165     O O     [0, 3, 2, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
166     X X     [0, 5, 2, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
167     O O     [0, 7, 2, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
168     O O     [0, 1, 4, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
169     X X     [0, 3, 4, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
170     O O     [0, 5, 4, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
171     X X     [0, 7, 4, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
172     X X     [0, 1, 6, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
173     O O     [0, 3, 6, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
174     X X     [0, 5, 6, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
175     O O     [0, 7, 6, 4, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
----------------
176     O X     [0, 1, 0, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
177     X O     [0, 3, 0, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
178     O X     [0, 5, 0, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
179     X O     [0, 7, 0, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
180     X O     [0, 1, 2, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
181     O X     [0, 3, 2, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
182     X O     [0, 5, 2, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
183     O X     [0, 7, 2, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
184     O X     [0, 1, 4, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
185     X O     [0, 3, 4, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
186     O X     [0, 5, 4, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
187     X O     [0, 7, 4, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
188     X O     [0, 1, 6, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
189     O X     [0, 3, 6, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
190     X O     [0, 5, 6, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
191     O X     [0, 7, 6, 6, 2] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
----------------
192     O X     [0, 1, 1, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
193     X O     [0, 3, 1, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
194     O X     [0, 5, 1, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
195     X O     [0, 7, 1, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
196     X O     [0, 1, 3, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
197     O X     [0, 3, 3, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
198     X O     [0, 5, 3, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
199     O X     [0, 7, 3, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
200     O X     [0, 1, 5, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
201     X O     [0, 3, 5, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
202     O X     [0, 5, 5, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
203     X O     [0, 7, 5, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
204     X O     [0, 1, 7, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
205     O X     [0, 3, 7, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
206     X O     [0, 5, 7, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
207     O X     [0, 7, 7, 0, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
----------------
208     O O     [0, 1, 1, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
209     X X     [0, 3, 1, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
210     O O     [0, 5, 1, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
211     X X     [0, 7, 1, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
212     X X     [0, 1, 3, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
213     O O     [0, 3, 3, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
214     X X     [0, 5, 3, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
215     O O     [0, 7, 3, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
216     O O     [0, 1, 5, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
217     X X     [0, 3, 5, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
218     O O     [0, 5, 5, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
219     X X     [0, 7, 5, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
220     X X     [0, 1, 7, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
221     O O     [0, 3, 7, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
222     X X     [0, 5, 7, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
223     O O     [0, 7, 7, 2, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
----------------
224     O X     [0, 1, 1, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
225     X O     [0, 3, 1, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
226     O X     [0, 5, 1, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
227     X O     [0, 7, 1, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
228     X O     [0, 1, 3, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
229     O X     [0, 3, 3, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
230     X O     [0, 5, 3, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
231     O X     [0, 7, 3, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
232     O X     [0, 1, 5, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 7, 4, 1, 2, 3]
233     X O     [0, 3, 5, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 5, 4, 3, 6, 1]
234     O X     [0, 5, 5, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 3, 4, 5, 2, 7]
235     X O     [0, 7, 5, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 1, 4, 7, 6, 5]
236     X O     [0, 1, 7, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 1, 4, 3, 2, 5]
237     O X     [0, 3, 7, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 7, 4, 5, 6, 3]
238     X O     [0, 5, 7, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 5, 4, 7, 2, 1]
239     O X     [0, 7, 7, 4, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 3, 4, 1, 6, 7]
----------------
240     O O     [0, 1, 1, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
241     X X     [0, 3, 1, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
242     O O     [0, 5, 1, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
243     X X     [0, 7, 1, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
244     X X     [0, 1, 3, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
245     O O     [0, 3, 3, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
246     X X     [0, 5, 3, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
247     O O     [0, 7, 3, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
248     O O     [0, 1, 5, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 6, 5, 4, 3, 2, 1]
249     X X     [0, 3, 5, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 2, 3, 4, 5, 6, 7]
250     O O     [0, 5, 5, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 6, 1, 4, 7, 2, 5]
251     X X     [0, 7, 5, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 2, 7, 4, 1, 6, 3]
252     X X     [0, 1, 7, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 1, 6, 7, 4, 5, 2, 3]
253     O O     [0, 3, 7, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 3, 2, 5, 4, 7, 6, 1]
254     X X     [0, 5, 7, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 5, 6, 3, 4, 1, 2, 7]
255     O O     [0, 7, 7, 6, 3] [0, 1, 2, 3, 4, 5, 6, 7] [0, 7, 2, 1, 4, 3, 6, 5]
0
On

This is only a partial answer for the case of single-cycle permutations. I found the following characterization due to Wang and Qi (Linear Equations on Polynomial Single-Cycle T-functions). For convenience, let $\Delta_1 = a_2 + a_4 + \ldots$ and let $\Delta_2 = a_3 + a_5 + \ldots$. A polynomial $p(x) = \sum_{i = 0}^d a_i x^i \mod{2^k}$ is a single-cycle permutation if and only if the following conditions hold: (1) $a_0$ and $a_1$ are odd, (2) $\Delta_1$ and $\Delta_2$ are even, (3) $\Delta_1 +\Delta_2 + 2[a_1]_1 \equiv 0 \mod{4}$, and (4) $\Delta_1 + 2[a_2]_0 + 2[a_1]_1 \equiv 0 \mod 4$. Here, the notation $[x]_j$ is used to denote the $(j+1)$-th least-significant bit of $x$. So $[a_2]_0$ is the least significant bit of $a_2$ and $[a_1]_1$ is the second least significant bit of $a_1$.

Single-cycle permutations can also be characterized in the following way, due to Anashin (Uniformly Distributed Sequences of p-adic Integers). The permutation polynomial $p(x) \mod 2^k$ has a single cycle if and only if it has a single cycle modulo 8.