Am intrat în contact cu un algoritm care se ocupă de SPN într-un exemplu, mai întâi aș dori să dau o definiție a ceea ce este:
Lăsa $l, m, $ și $N$ fie numere întregi pozitive, fie $\pi_s: \{0,1\}^l \la \{0,1\}^l$ fii o permutare și lasă $\pi_p:\{1,...,lm\} \la \{1,...,lm\}$ fi o permutare. Lăsa $P = C = \{0,1\}^{lm}$ și $K \subseteq (\{0,1\}^{lm})^{N+1}$ constau din toate programele de cheie posibile care ar putea fi derivate dintr-o cheie inițială $K$ folosind algoritmul de programare a cheilor. Pentru un program cheie $(K^1, ..., K^{N+1})$, criptăm textul simplu $x$ folosind un algoritm cunoscut (pe care nu l-am putut introduce):
Așadar, aș dori să lucrez la următorul exemplu:
Presupune $l = m = N = 4$. Lăsa $\pi_s$ fi definit după cum urmează (cu intrare $z$), și ieșire (scrisă cu notație hexazecimală)$\pi_s$, ($0 \leftrightarrow(0,0,0,0)$, ..., $9 \leftrightarrow(1,0,0,1), A \leftrightarrow(1,0,1,0)$, și așa mai departe; si lasa $\pi_p$ fi definit ca:
$\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$.
Să presupunem că cheia este $K = 0011 $ $1010$ $1001$ $0100$ $1101$ $0110$ $0011$ $1111$, cu text simplu $x = 0010$ $0110$ $1011$ $0111$, atunci cum se aplică linie cu linie (în algoritm)?
În plus, aș dori să înțeleg, de exemplu, atribuim $w^{r-1} \oplus K^r $ la $u^r$, De ce $v_{<i>}\leftarrow \pi_s(u^r_{<i>})$?
Dat fiind $v_{<i>} = (x_{{(i-1)}{l-1}}, ..., x_{il})$,