4. DES (Data Encryption Standard)

  1. DES (Data Encryption Standard)

DES (Data Encryption Standard) คือ อัลกอริทึมการเข้ารหัสข้อมูล ซึ่งเป็นการเข้ารหัสแบบกุญแจสมมาตร (Symmetric - Key Cryptography) พัฒนาขึ้นในช่วงต้นทศวรรษ 1970 โดย Horst Feisel และได้รับการบรรจุเป็นกระบวนการเข้ารหัสมาตรฐานสำหรับรัฐบาลกลางสหรัฐอเมริกา (FIPS) อย่างเป็นทางการ ในปี 1977

การเผยแพร่ระบบการเข้ารหัสข้อมูลแบบ DES ที่ได้รับการรับรองจาก สำนักงานความมั่นคงแห่งชาติของสหรัฐอเมริกา (NSA) ทำให้ DES ถูกนำไปใช้ในระดับสากลอย่างรวดเร็ว ส่งผลทำให้เกิดการตรวจสอบข้อเท็จจริงเชิงวิชาการอย่างกว้างขวาง และเกิดความข้อขัดแย้งในเรื่องความไม่ปลอดภัย เนื่องจากการใช้กุญแจที่มีขนาดค่อนข้างสั้น

ตัวอัลกอริทึม DES นั้นออกแบบให้เข้ารหัสข้อมูลทีละ 64 บิต ด้วยกุญแจขนาด 56 บิต หมายความว่า หากจะทำการแฮ็คการเข้ารหัสแบบ DES จะต้องทดสอบกุญแจ 2x56 รูปแบบเพื่อหากุญแจที่ถูกต้องในการถอดรหัส ซึ่งในยุคสมัยที่คอมพิวเตอร์ยังทำงานได้ช้า ก็ถือว่า DES มีความปลอดภัยในระดับหนึ่ง และทำให้มีการพัฒนา DES ด้วยการเข้ารหัสซ้ำ ๆ จำนวน 3 รอบ กลายเป็นฟังก์ชัน 3DES หรือ Triple DES ที่มีขนาดกุญแจ 168 บิต ทุกวันนี้กระบวนการจ่ายเงินผ่านบัตรเครดิตสมาร์ตการ์ดต่าง ๆ ยังคงใช้การเข้ารหัสแบบ 3DES เป็นส่วนประกอบสำคัญในการรักษาความปลอดภัย

แต่ในยุคสมัยที่คอมพิวเตอร์มีการพัฒนาอย่างรวดเร็ว การทดสอบกุญเเจนั้นทำได้ไม่ยาก ในเดือนมกราคม ปี 1999 Distribution .net และ Electronic Frontier Foundation ได้ร่วมมือกันเพื่อแฮ็คกุญแจในการเข้ารหัสแบบ DES โดยสามารถทำได้ในเวลา 22 ชั่วโมง 15 นาที ทำให้ DES ถูกพิสูจน์ว่าไม่ปลอดภัย และถูก สถาบันมาตรฐานและเทคโนโลยีแห่งชาติ (NIST) ของสหรัฐอเมริกา เพิกถอนออกจากเป็นมาตรฐาน หลังจากนั้น DES ก็ถูกแทนที่ด้วย Advanced Encryption Standard (AES)

แม้ว่าความยาวของกุญแจในการเข้ารหัสแบบ DES จะค่อนข้างสั้น เพียง 56 บิต ทำให้ไม่ปลอดภัยสำหรับแอปพลิเคชันสมัยใหม่ แต่ก็ถือได้ว่าการเข้ารหัสแบบ DES นั้นมีอิทธิพลอย่างมากต่อความก้าวหน้าของการเข้ารหัสในปัจจุบัน

Reference


Outline

  • DES คืออะไร
  • กระบวนการทำงานของ DES
  • การพัฒนา DES เป็น Triple DES
  • ความไม่ปลอดภัยของ DES

2^56?
เหมือนเล่าเกี่ยวกับ DES แต่อ่านจบก็ยังไม่รุ้ DES คืออะไร และได้อะไรจากบทความนี้ ได้แค่ว่า DES เป็น symmetry key encrpytion, key 56 bit

มันควรที่จะมีพวกรูปภาพเหมือนที่เราอธิบาย แต่ละขั้นตอนเป็นยังไง key components ของ algorithm คืออะไร, feistel network etc