การเรียงลำดับเริ่มต้น (Initial Permutation - IP)
IP เป็นขั้นตอนแรกของการเข้ารหัส DES ทำเพียงครั้งเดียว ก่อนเข้ารอบที่ 1 ทำหน้าที่สลับตำแหน่งบิตของบล็อกข้อความต้นฉบับ 64 บิต ตามตารางคงที่
วิธีการทำงาน
- อ่านตาราง IP จากซ้ายไปขวา บนลงล่าง
- ตัวเลขในตารางบอกว่า "บิตที่เท่าไรของข้อมูลต้นฉบับ จะไปอยู่ตำแหน่งนี้"
- ตัวอย่าง: ตำแหน่งแรกของตารางคือ 58 → บิตที่ 58 ของข้อมูลต้นฉบับ จะกลายเป็นบิตที่ 1 ของผลลัพธ์ IP
- ตำแหน่งที่ 2 ของตารางคือ 50 → บิตที่ 50 ต้นฉบับ → บิตที่ 2 ผลลัพธ์
- ... จนครบ 64 บิต
ตาราง IP (อ่านแถวละ 16 คอลัมน์ รวม 4 แถว)
| 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 |
คุณสมบัติสำคัญ
- IP เป็นการเรียงลำดับแบบไม่มีกุญแจ (Keyless)
- IP และ Final Permutation (FP) เป็นกันเอง (Inverse) → หากไม่มี 16 รอบระหว่างกลาง บิตที่ 58 ที่เข้าจะออกมาเป็นบิตที่ 58 เช่นเดิม
- หลัง IP เสร็จ 64 บิตจะถูกแบ่งเป็น LPT (32 บิตซ้าย) และ RPT (32 บิตขวา) เพื่อเข้าสู่ 16 รอบ
จุดประสงค์
IP เองไม่ให้ความปลอดภัยโดยตรง (เพราะไม่มีกุญแจ) แต่ช่วยกระจายบิต (Diffusion) ให้รอบแรกทำงานได้มีประสิทธิภาพมากขึ้น และทำให้การวิเคราะห์แบบเชิงเส้น (Linear Cryptanalysis) ยากขึ้น