ฉันได้สัมผัสกับอัลกอริทึมที่เกี่ยวข้องกับ SPN ในตัวอย่าง ก่อนอื่นฉันต้องการให้คำจำกัดความว่ามันคืออะไร:
อนุญาต $l, เมตร, $ และ $N$ เป็นจำนวนเต็มบวก ให้ $\pi_s: \{0,1\}^l \ถึง \{0,1\}^l$ เป็นการเปลี่ยนแปลงและปล่อยให้ $\pi_p:\{1,...,lm\} \to \{1,...,lm\}$ เป็นการเปลี่ยนแปลง อนุญาต $P = C = \{0,1\}^{lm}$ และ $K \subseteq (\{0,1\}^{lm})^{N+1}$ ประกอบด้วยกำหนดการสำคัญที่เป็นไปได้ทั้งหมดซึ่งอาจได้รับมาจากคีย์เริ่มต้น $K$ โดยใช้อัลกอริทึมการตั้งเวลาคีย์ สำหรับกำหนดการที่สำคัญ $(K^1, ..., K^{N+1})$เราเข้ารหัสข้อความธรรมดา $x$ ใช้อัลกอริทึมที่รู้จัก (ซึ่งฉันไม่สามารถพิมพ์ได้):
ฉันต้องการทำงานกับตัวอย่างต่อไปนี้:
สมมติ $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$ กำหนดเป็น:
$\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$.
สมมติว่ากุญแจสำคัญคือ $K = 0011 $ $1010$ $1001$ $0100$ $1101$ $0110$ $0011$ $1111$ด้วยข้อความธรรมดา $x = 0010$ $0110$ $1011$ $0111$แล้วจะสมัครทีละบรรทัด (ในอัลกอริทึม) ได้อย่างไร?
นอกจากนี้ ฉันต้องการที่จะเข้าใจ เช่น เราแอตทริบิวต์ $w^{r-1} \oบวก K^r $ ถึง $u^r$, ทำไม $v_{<i>}\leftarrow \pi_s(u^r_{<i>})$?
กำหนดว่า $v_{<i>} = (x_{{(i-1)}{l-1}}, ..., x_{il})$,