Этот ответ фокусируется на кусочек перестановки, используемые в контексте ДЕС для битовых перестановок IP, IP-1, и E. Он нумерует биты, начиная с $1$, как в ДЭС.
А битовая перестановка это функция $г$ на съемочной площадке $\{0,1\}^n$ из $n$-битовые бистроки. Он полностью определяется вектором $n$ различные целые числа $p_i$ с $1\le p_i\le n$, и свойство, что для любой битовой строки $х$ и любое целое число $я$ с $1\le i\le n$, битовое число $я$ изображения битовой строки $х$ по функции $г$ это битовое число $p_i$ из $х$.
Другими словами, каждый входной бит соответствует уникально назначенному выходному биту, а выходной бит $я$ входной бит $p_i$.
Каждая битовая перестановка биекция на съемочной площадке $\{0,1\}^n$. Эквивалентно: каждая битовая перестановка является перестановкой набора $n$-битовые бистроки. Есть $н!$ такие битовые перестановки, по сравнению с гораздо большими $(2^n)!$ такие перестановки. Подмножество битовых перестановок закрыто по функциональной композиции: применение любых двух фиксированных битовых перестановок дает битовую перестановку.
Примечание: некоторые авторы используют битовая транспозиция или даже перестановка чтобы обозначить битовую перестановку, как определено выше, и отличить ее от перестановки. Это не то, что я буду делать дальше, но это может быть то, что имеет в виду ОП.
А битовая транспозиция является конкретной битовой перестановкой $n$-bit битовые строки, полностью определяемые двумя целыми числами $\ell$ и $с$ с $n=\ell\cdot c$. Это $n$ целые числа $p_i$ находятся $p_i=1+((i-1)\bmod c)\cdot c+\lfloor (i-1)/c\rfloor$, за $1\le i\le n$.
Другими словами, когда мы записываем входные биты как $\ell=n/c$ линии и $с$ столбцы, а выходные биты как $с$ линии и $\ell$ столбцы, выходной столбец $j$ поступает из строки ввода $j$.
Например, с $\ell=3$ и $с=2$, битовая транспозиция имеет $p_1=1$, $p_2=3$, $p_3=5$, $p_4=2$, $p_5=4$, $p_6=6$, который лучше всего представить как
1 3 5
2 4 6
Иногда битовая перестановка с $p_i=\ell\cdot c-((i-1)\bmod c)\cdot c-\lfloor (i-1)/c\rfloor$ также считается альтернативной битовой транспозицией. С $\ell=3$ и $с=2$, альтернативная битовая транспозиция имеет $p_i$
6 4 2
5 3 1
Когда $n$ это квадрат и $\элл,с$ не определены, они считаются $\кв.п$, и такие транспозиции квадратных битов инволюции.
Будет ли деление исходного блока пополам и возможная замена половин перестановкой или транспозицией?
В ДЕС, преобразование (состоящее из IP с последующим делением пополам) из 64-битного ввода в LR представляет собой битовую перестановку (таким образом, перестановку множества $\{0,1\}^n$, но это гораздо менее конкретно). Это $p_i$ приведены в таблице IP:
58 50 42 34 26 18 10 2
60 52 44 36 28 20 12 4
62 54 46 38 30 22 14 6
64 56 48 40 32 24 16 8
57 49 41 33 25 17 9 1
59 51 43 35 27 19 11 3
61 53 45 37 29 21 13 5
63 55 47 39 31 23 15 7
Очень регулярная замена линий делает его
64 56 48 40 32 24 16 8
63 55 47 39 31 23 15 7
62 54 46 38 30 22 14 6
61 53 45 37 29 21 13 5
60 52 44 36 28 20 12 4
59 51 43 35 27 19 11 3
58 50 42 34 26 18 10 2
57 49 41 33 25 17 9 1
что является альтернативной транспозицией квадратного бита для $n=64$. Таким образом, IP является почти битовой транспозицией.
При работе с LR перестановка половинок представляет собой битовую перестановку, которая $p_i$ даны:
33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48
49 50 51 52 53 54 55 56
57 58 59 60 61 62 63 64
1 2 3 4 5 6 7 8
9 10 11 12 13 14 15 16
17 18 19 20 21 22 23 24
25 26 27 28 29 30 31 32
Это не битовая транспозиция, а очень регулярная битовая перестановка (как и битовые транспозиции) и инволюция (которыми являются квадратные битовые транспозиции).