Tôi đã tiếp xúc với một thuật toán liên quan đến SPN trong một ví dụ, trước tiên tôi muốn đưa ra định nghĩa về nó là gì:
Để cho $l, m, $ và $N$ là số nguyên dương, đặt $\pi_s: \{0,1\}^l \to \{0,1\}^l$ là một hoán vị, và để cho $\pi_p:\{1,...,lm\} \to \{1,...,lm\}$ là một hoán vị. Để cho $P = C = \{0,1\}^{lm}$ và $K \subseteq (\{0,1\}^{lm})^{N+1}$ bao gồm tất cả các lịch trình khóa có thể được lấy từ khóa ban đầu $K$ sử dụng thuật toán lập lịch khóa. Đối với một lịch trình quan trọng $(K^1, ..., K^{N+1})$, chúng tôi mã hóa bản rõ $x$ sử dụng thuật toán đã biết (mà tôi không thể gõ):
Vì vậy, tôi muốn làm việc với ví dụ sau:
Giả sử $l = m = N = 4$. Để cho $\pi_s$ được định nghĩa như sau (với đầu vào $z$) và đầu ra (được viết bằng ký hiệu thập lục phân)$\pi_s$, ($0 \leftrightarrow(0,0,0,0)$, ..., $9 \leftrightarrow(1,0,0,1), A \leftrightarrow(1,0,1,0)$, và như thế; và để cho $\pi_p$ được định nghĩa là:
$\pi(1)=1$, $\pi(2)=5$, $\pi(3)=9$, $\pi(4)=13$, $\pi(5)=2$, $\pi(6)=6$, $\pi(7)=10$, $\pi(8)=14$, $\pi(9)=3$, $\pi(10)=7$, $\pi(11)=11$, $\pi(12)=15$, $\pi(13)=4$, $\pi(14)=8$, $\pi(15)=12$, $\pi(16)=16$.
Giả sử khóa là $K = 0011 $ $1010$ $1001$ $0100$ $1101$ $0110$ $0011$ $1111$, với bản rõ $x = 0010$ $0110$ $1011$ $0111$, thì áp dụng từng dòng một (trong thuật toán) như thế nào?
Ngoài ra, tôi muốn hiểu, ví dụ, chúng tôi quy $w^{r-1} \oplus K^r $ đến $u^r$, tại sao $v_{<i>}\leftarrow \pi_s(u^r_{<i>})$?
Cho rằng $v_{<i>} = (x_{{(i-1)}{l-1}}, ..., x_{il})$,