มาตรฐานการเข้ารหัสข้อมูล
มาตรฐานการเข้ารหัสข้อมูล (DES) เป็นรหัสบล็อกคีย์สมมาตรที่เผยแพร่โดย National Institute of Standards and Technology (NIST)
DES คือการนำ Feistel Cipher มาใช้ ใช้โครงสร้าง Feistel 16 รอบ ขนาดบล็อกคือ 64 บิต แม้ว่าคีย์จะมีความยาว 64 บิต แต่ DES ก็มีความยาวคีย์ที่ใช้งานได้จริง 56 บิตเนื่องจากอัลกอริทึมการเข้ารหัส 8 จาก 64 บิตไม่ได้ใช้คีย์ (ทำหน้าที่เป็นบิตตรวจสอบเท่านั้น) โครงสร้างทั่วไปของ DES แสดงอยู่ในภาพประกอบต่อไปนี้ -
เนื่องจาก DES ขึ้นอยู่กับ Feistel Cipher สิ่งที่จำเป็นในการระบุ DES คือ -
- ฟังก์ชันกลม
- กำหนดการสำคัญ
- การประมวลผลเพิ่มเติมใด ๆ - การเปลี่ยนแปลงเริ่มต้นและขั้นสุดท้าย
การเรียงสับเปลี่ยนเริ่มต้นและขั้นสุดท้าย
การเรียงสับเปลี่ยนเริ่มต้นและขั้นสุดท้ายคือกล่องการเรียงสับเปลี่ยนแบบตรง (กล่อง P) ที่ผกผันซึ่งกันและกัน พวกเขาไม่มีความสำคัญในการเข้ารหัสใน DES การเรียงสับเปลี่ยนเริ่มต้นและขั้นสุดท้ายจะแสดงดังนี้ -
ฟังก์ชัน Round
หัวใจของตัวเลขนี้เป็นฟังก์ชั่น DES, F ฟังก์ชัน DES ใช้คีย์ 48 บิตกับ 32 บิตขวาสุดเพื่อสร้างเอาต์พุต 32 บิต
Expansion Permutation Box- เนื่องจากอินพุตด้านขวาคือ 32 บิตและคีย์กลมเป็น 48 บิตก่อนอื่นเราต้องขยายอินพุตด้านขวาเป็น 48 บิต ตรรกะการเรียงสับเปลี่ยนแสดงเป็นภาพกราฟิกในภาพประกอบต่อไปนี้ -
ตรรกะการเรียงสับเปลี่ยนที่แสดงเป็นภาพโดยทั่วไปอธิบายไว้ในตารางในข้อกำหนดของ DES ที่แสดงดังที่แสดง -
XOR (Whitener).- หลังจากการเปลี่ยนรูปแบบการขยาย DES จะดำเนินการ XOR บนส่วนขยายด้านขวาและปุ่มกลม ปุ่มกลมจะใช้ในการดำเนินการนี้เท่านั้น
Substitution Boxes.- กล่อง S ดำเนินการผสมจริง (สับสน) DES ใช้ 8 S-box แต่ละอันมีอินพุต 6 บิตและเอาต์พุต 4 บิต ดูภาพประกอบต่อไปนี้ -
กฎ S-box แสดงอยู่ด้านล่าง -
มีทั้งหมดแปดตาราง S-box เอาท์พุตของ s-box ทั้งแปดจะรวมกันเป็นส่วน 32 บิต
Straight Permutation - จากนั้นเอาต์พุต 32 บิตของ S-box จะอยู่ภายใต้การเปลี่ยนรูปแบบตรงตามกฎที่แสดงในภาพประกอบต่อไปนี้:
การสร้างคีย์
ตัวสร้างคีย์กลมสร้างคีย์ 48 บิตสิบหกคีย์จากคีย์การเข้ารหัส 56 บิต ขั้นตอนการสร้างคีย์แสดงอยู่ในภาพประกอบต่อไปนี้ -
ตรรกะสำหรับ Parity drop, shifting และ Compression P-box มีให้ในคำอธิบาย DES
การวิเคราะห์ DES
DES ตอบสนองทั้งคุณสมบัติที่ต้องการของการเข้ารหัสบล็อก คุณสมบัติทั้งสองนี้ทำให้การเข้ารหัสแข็งแกร่งมาก
Avalanche effect - การเปลี่ยนแปลงเพียงเล็กน้อยในข้อความธรรมดาส่งผลให้เกิดการเปลี่ยนแปลงที่ยิ่งใหญ่มากในการเข้ารหัส
Completeness - การเข้ารหัสแต่ละบิตขึ้นอยู่กับข้อความธรรมดาหลายบิต
ในช่วงสองสามปีที่ผ่านมาการเข้ารหัสลับพบจุดอ่อนบางอย่างใน DES เมื่อคีย์ที่เลือกเป็นคีย์ที่อ่อนแอ จะต้องหลีกเลี่ยงคีย์เหล่านี้
DES ได้พิสูจน์แล้วว่าเป็นรหัสบล็อกที่ออกแบบมาอย่างดี ไม่มีการโจมตีด้วยการเข้ารหัสลับอย่างมีนัยสำคัญบน DES นอกเหนือจากการค้นหาคีย์ที่ละเอียดถี่ถ้วน