Я столкнулся с алгоритмом, который имеет дело с SPN в примере, сначала я хотел бы дать определение того, что это такое:
Позволять $л, м, $ и $N$ положительные целые числа, пусть $\pi_s: \{0,1\}^l \to \{0,1\}^l$ быть перестановкой, и пусть $\pi_p:\{1,...,lm\} \to \{1,...,lm\}$ быть перестановкой. Позволять $P = C = \{0,1\}^{lm}$ и $K \subseteq (\{0,1\}^{lm})^{N+1}$ состоят из всех возможных расписаний ключей, которые могут быть получены из исходного ключа $К$ с помощью алгоритма распределения ключей. Для ключевого расписания $(К^1, ..., К^{N+1})$, мы шифруем открытый текст $х$ используя известный алгоритм (который я не мог ввести):
Итак, я хотел бы работать над следующим примером:
Предполагать $l = m = N = 4$. Позволять $\pi_s$ определить следующим образом (с вводом $z$) и вывод (записанный в шестнадцатеричной системе счисления)$\pi_s$, ($0 \leftrightarrow(0,0,0,0)$, ..., $9 \leftrightarrow(1,0,0,1), A \leftrightarrow(1,0,1,0)$, и так далее; и разреши $\pi_p$ быть определена как:
$\пи(1)=1$, $\пи(2)=5$, $\пи(3)=9$, $\пи(4)=13$, $\пи(5)=2$, $\пи(6)=6$, $\пи(7)=10$, $\пи(8)=14$, $\пи(9)=3$, $\пи(10)=7$, $\пи(11)=11$, $\пи(12)=15$, $\пи(13)=4$, $\пи(14)=8$, $\пи(15)=12$, $\пи(16)=16$.
Предположим, что ключ $К = 0011$ $1010$ $1001$ $0100$ $1101$ $0110$ $0011$ $1111$, с открытым текстом $х = 0010$ $0110$ $1011$ $0111$, то как применить построчно (в алгоритме)?
Кроме того, я хотел бы понять, например, мы приписываем $w^{r-1} \oplus K^r $ к $u^r$, Почему $v_{<i>}\leftarrow \pi_s(u^r_{<i>})$?
Учитывая это $v_{<i>} = (x_{{(i-1)}{l-1}}, ..., x_{il})$,