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

Expansion Permutation ในความปลอดภัยข้อมูล

Expansion Permutation (การสลับตำแหน่งขยาย) คืออะไร?

ขยาย Right Half (R) จาก 32 บิต → 48 บิต พร้อมเปลี่ยนลำดับบิตและซ้ำบิตบางตัว เรียกว่า Expansion Permutation

วัตถุประสงค์ 2 ข้อ

  1. ทำให้ Right Half ขนาดเท่ากับ Key สำหรับ XOR Operation
  2. ให้ผลลัพธ์ยาวขึ้น เพื่อบีบอัดระหว่าง Substitution Operation ทำให้ 1 บิต Input ส่งผลต่อ 2 Substitutions → Dependency ของ Output Bits บน Input Bits กระจายเร็วขึ้น = Avalanche Effect

กระบวนการ

  • 32-bit RPT → แบ่ง 8 Blocks ละ 4 บิต
  • แต่ละ 4-bit Block → ขยายเป็น 6-bit Block (เพิ่ม 2 บิต: บิตแรกและบิตที่ 4 ซ้ำ)
  • บิตที่ 2,3 เขียนเหมือนเดิม บิตแรก → Output Position 2 และ 48 บิตที่ 32 → Output Position 47 และ 1
  • ผล: Expansion + Permutation พร้อมกัน First Input Bit → Output Positions 2 และ 48

Expansion Permutation Table

3212345456789
8910111213121314151617
161718192021202122232425
24252627282928293031321

การเชื่อมต่อกับขั้นตอนถัดไป

Key Transformation: 56-bit Key → Compress → 48 bits Expansion Permutation: 32-bit RPT → Expand → 48 bits 48-bit Key XOR 48-bit RPT → Output → S-box Substitution