Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

การเรียงลำดับเริ่มต้น (Initial Permutation) ใน DES คืออะไร?

การเรียงลำดับเริ่มต้น (Initial Permutation - IP)

IP เป็นขั้นตอนแรกของการเข้ารหัส DES ทำเพียงครั้งเดียว ก่อนเข้ารอบที่ 1 ทำหน้าที่สลับตำแหน่งบิตของบล็อกข้อความต้นฉบับ 64 บิต ตามตารางคงที่

วิธีการทำงาน

  • อ่านตาราง IP จากซ้ายไปขวา บนลงล่าง
  • ตัวเลขในตารางบอกว่า "บิตที่เท่าไรของข้อมูลต้นฉบับ จะไปอยู่ตำแหน่งนี้"
  • ตัวอย่าง: ตำแหน่งแรกของตารางคือ 58 → บิตที่ 58 ของข้อมูลต้นฉบับ จะกลายเป็นบิตที่ 1 ของผลลัพธ์ IP
  • ตำแหน่งที่ 2 ของตารางคือ 50 → บิตที่ 50 ต้นฉบับ → บิตที่ 2 ผลลัพธ์
  • ... จนครบ 64 บิต

ตาราง IP (อ่านแถวละ 16 คอลัมน์ รวม 4 แถว)

585042342618102605244362820124
625446383022146645648403224168
57494133251791595143352719113
615345372921135635547393123157

คุณสมบัติสำคัญ

  • IP เป็นการเรียงลำดับแบบไม่มีกุญแจ (Keyless)
  • IP และ Final Permutation (FP) เป็นกันเอง (Inverse) → หากไม่มี 16 รอบระหว่างกลาง บิตที่ 58 ที่เข้าจะออกมาเป็นบิตที่ 58 เช่นเดิม
  • หลัง IP เสร็จ 64 บิตจะถูกแบ่งเป็น LPT (32 บิตซ้าย) และ RPT (32 บิตขวา) เพื่อเข้าสู่ 16 รอบ

จุดประสงค์

IP เองไม่ให้ความปลอดภัยโดยตรง (เพราะไม่มีกุญแจ) แต่ช่วยกระจายบิต (Diffusion) ให้รอบแรกทำงานได้มีประสิทธิภาพมากขึ้น และทำให้การวิเคราะห์แบบเชิงเส้น (Linear Cryptanalysis) ยากขึ้น