0Pricing
Cryptology Academy · บทเรียน

Triple DES: การยืดอายุ DES

เรียนรู้ว่า 3DES เพิ่มความปลอดภัยให้ DES ด้วยการเข้ารหัสหลายรอบอย่างไร และปัจจุบันยังใช้ที่ใดบ้าง

Triple DES: การยืดอายุ DES เป็นบทเรียน Cryptology Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Cryptology Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

การโจมตีแบบพบกันตรงกลางต่อ DES สองชั้น

วิธีแก้ปัญหาที่เห็นได้ชัดสำหรับความยาวคีย์ที่อ่อนแอของ DES คือการใช้ DES สองครั้ง (DES สองชั้น): C = DES_K2(DES_K1(P)) เมื่อใช้คีย์ขนาด 56 บิตสองคีย์ จำนวนคีย์ตามทฤษฎีจะเป็น 2^112

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

ความปลอดภัยของ DES สามชั้นแบบ 2 คีย์

DES สามชั้นแบบใช้สองคีย์ดำเนินการ DES สามครั้งแต่ใช้คีย์เพียงสองคีย์: C = DES_K1(DES^-1_K2(DES_K1(P))) โดยใช้ลำดับ EDE (เข้ารหัส-ถอดรหัส-เข้ารหัส) เพื่อให้เข้ากันได้กับระบบเดิม

ความปลอดภัยของ DES สามชั้นแบบสองคีย์อยู่ที่ประมาณ 112 บิตเมื่อเทียบกับการโจมตีที่รู้จัก แม้การโจมตีแบบพบกันตรงกลางจะลดความปลอดภัยนี้ลงบ้าง DES สามชั้นแบบสองคีย์ถูกใช้ในระบบธนาคารและระบบชำระเงินเดิมจำนวนมาก

DES สามชั้นแบบ 3 คีย์

DES สามชั้นแบบ 3 คีย์ใช้คีย์อิสระสามคีย์ ได้แก่ K1, K2 และ K3: C = DES_K3(DES^-1_K2(DES_K1(P))) ความยาวคีย์ตามทฤษฎีคือ 3 x 56 = 168 บิต แต่ความปลอดภัยที่มีประสิทธิผลต่อการโจมตีที่ดีที่สุดซึ่งเป็นที่รู้จักอยู่ที่ประมาณ 112 บิต

DES สามชั้นแบบ 3 คีย์ให้ความปลอดภัยสูงกว่าแบบ 2 คีย์ และเคยได้รับการแนะนำสำหรับแอปพลิเคชันใหม่ในมาตรฐานอย่าง NIST SP 800-131A ก่อนที่ DES สามชั้นจะถูกเลิกแนะนำ

อธิบายรูปแบบ EDE

โครงสร้างเข้ารหัส-ถอดรหัส-เข้ารหัส (EDE) ของ DES สามชั้นไม่ได้กำหนดขึ้นโดยบังเอิญ เมื่อ K1 = K2 = K3 การถอดรหัสตรงกลางจะย้อนผลจากการเข้ารหัสครั้งแรก และการเข้ารหัสครั้งสุดท้ายจะให้ผลลัพธ์เดียวกับ DES ชั้นเดียว

ความเข้ากันได้ย้อนหลังกับ DES ชั้นเดียวมีความสำคัญอย่างยิ่งต่อการย้ายระบบแบบค่อยเป็นค่อยไป ฮาร์ดแวร์และซอฟต์แวร์ DES ที่มีอยู่สามารถทำงานร่วมกับระบบ DES สามชั้นได้ในช่วงเปลี่ยนผ่านโดยไม่ทำให้ข้อมูลสูญหาย

ความเข้ากันได้ย้อนหลังกับ DES ชั้นเดียว

DES สามชั้นสามารถลดรูปเป็น DES ชั้นเดียวได้โดยกำหนดให้คีย์ทั้งสามคีย์เหมือนกัน นั่นหมายความว่าฮาร์ดแวร์ DES สามชั้นสามารถประมวลผลทั้งข้อมูลที่เข้ารหัสด้วย DES และข้อมูลที่เข้ารหัสด้วย DES สามชั้นโดยใช้วงจรเดียวกัน

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

DES สามชั้นในธนาคารและ EMV

DES สามชั้นยังคงถูกใช้อย่างแพร่หลายในโครงสร้างพื้นฐานของธนาคาร แม้จะเลิกแนะนำสำหรับแอปพลิเคชันใหม่แล้ว บัตรชำระเงินแบบชิป EMV ใช้ DES สามชั้นสำหรับการยืนยันตัวตนของบัตรและการเข้ารหัสธุรกรรม

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

การเลิกแนะนำ DES สามชั้นโดย NIST (2023)

NIST เลิกแนะนำ DES สามชั้นอย่างเป็นทางการในปี 2023 ผ่าน SP 800-131A ฉบับปรับปรุงครั้งที่ 2 การใช้งาน DES สามชั้นทั้งหมดถือว่าเลิกแนะนำแล้วในขณะนี้ หมายความว่าไม่ควรใช้กับระบบใหม่ และควรย้ายออกจากระบบเดิม

เออีเอสเป็นสิ่งทดแทนที่แนะนำ เออีเอสทำงานได้เร็วกว่า ใช้บล็อกขนาดใหญ่กว่า (128 บิตเทียบกับ 64 บิต) รองรับความยาวคีย์ 128, 192 หรือ 256 บิต และไม่มีจุดอ่อนที่ใช้งานได้จริงซึ่งเป็นที่รู้จัก

การโจมตีแบบวันเกิดสวีต32

สวีต32 ซึ่งเผยแพร่ในปี 2016 แสดงให้เห็นการโจมตี DES สามชั้นในเอชทีทีพีเอสที่ทำได้จริง ขนาดบล็อก 64 บิตหมายความว่าเมื่อมีข้อมูลครบ 2^32 บล็อก (ประมาณ 32GB) การชนกันตามปฏิทรรศน์วันเกิดในรูปแบบ CBC จะเริ่มรั่วไหลข้อมูลเกี่ยวกับข้อความธรรมดา

สำหรับเซสชันเอชทีทีพีเอส สวีต32 ต้องใช้ปริมาณข้อมูลประมาณ 785GB ภายใต้คีย์เดียวกัน ซึ่งทำได้ด้วยเซสชันที่ผ่านการยืนยันตัวตนและทำงานเป็นเวลานาน การโจมตีนี้ทำให้เบราว์เซอร์จัดลำดับความสำคัญให้เออีเอส-GCM และนำ DES สามชั้นออกจากชุดรหัสลับเริ่มต้น

ข้อเสียด้านประสิทธิภาพของ DES สามชั้น

DES สามชั้นดำเนินการ DES สามครั้งต่อบล็อก DES เองทำงานช้าบนฮาร์ดแวร์สมัยใหม่ เพราะได้รับการออกแบบมาสำหรับฮาร์ดแวร์ในทศวรรษ 1970 ซึ่งมีรูปแบบการดำเนินการระดับบิตแตกต่างจาก CPU สมัยใหม่

เออีเอสได้รับการออกแบบให้มีประสิทธิภาพด้านซอฟต์แวร์และใช้ประโยชน์จากฮาร์ดแวร์สมัยใหม่ที่มีคำสั่งเออีเอส-NI จึงทำงานในซอฟต์แวร์ได้เร็วกว่า DES สามชั้น 10-100 เท่า คำสั่งเออีเอส-NI ใน CPU สมัยใหม่ของอินเทล/เอเอ็มดีสามารถเข้ารหัสข้อมูลได้หลายกิกะไบต์ต่อวินาที ขณะที่ DES สามชั้นทำความเร็วได้ยากถึงระดับ 100MB/s

ขนาดบล็อกยังคงอยู่ที่ 64 บิต

แม้จะใช้การดำเนินการ DES สามครั้งและคีย์ที่ยาวขึ้น 3DES ยังคงรักษาขนาดบล็อก 64 บิตของ DES ไว้ ขนาดบล็อกเป็นองค์ประกอบพื้นฐานของโครงสร้างฟีเซล และไม่สามารถเปลี่ยนแปลงได้หากไม่ออกแบบอัลกอริทึมใหม่

ขนาดบล็อก 64 บิตนี้เป็นต้นเหตุหลักของช่องโหว่ Sweet32 ขนาดบล็อก 128 บิตของ AES ทำให้การโจมตีแบบวันเกิดต้องใช้บล็อกจำนวน 2^64 บล็อก (~18 เอกซะไบต์) ซึ่งไม่สามารถทำได้จริงในทางปฏิบัติเนื่องจากต้องใช้การคำนวณมหาศาล

เส้นทางการย้ายจาก 3DES ไปยัง AES ของ NIST

NIST SP 800-131A มีคู่มือการย้ายระบบโดยละเอียดสำหรับการเปลี่ยนจาก 3DES ไปเป็น AES โดยแนะนำให้ใช้ AES ที่มีคีย์ขนาด 128, 192 หรือ 256 บิตแทนการใช้งาน 3DES ทั้งหมด ตั้งแต่ชุดการเข้ารหัส TLS ไปจนถึงการเข้ารหัสข้อมูลที่จัดเก็บไว้

การย้ายระบบนี้ได้รับการรองรับเป็นอย่างดี ไลบรารีการเข้ารหัสและแพลตฟอร์มฮาร์ดแวร์สมัยใหม่ทุกแห่งรองรับ AES และมักมีการเร่งความเร็วด้วยฮาร์ดแวร์ องค์กรต่าง ๆ ควรมองว่าการย้ายระบบนี้เป็นการปรับปรุงการตั้งค่าซอฟต์แวร์ ไม่ใช่โครงการเปลี่ยนฮาร์ดแวร์

แบบทดสอบการกำหนดค่าของ DES สามชั้น

ทดสอบความรู้เกี่ยวกับการกำหนดค่าของ DES สามชั้น

ประเด็นสำคัญ: DES สามชั้น

DES สามชั้นถูกสร้างขึ้นเพื่อยืดอายุการใช้งานของ DES โดยใช้โครงสร้าง EDE การโจมตีแบบพบกันตรงกลางทำให้ Double DES ไม่สามารถเพิ่มความปลอดภัยเป็นสองเท่าได้ ส่วน 3DES ที่ใช้คีย์เดียวกันจะลดรูปเป็น DES เดี่ยว ทำให้ยังเข้ากันได้กับระบบรุ่นก่อน

NIST เลิกแนะนำ 3DES ในปี 2023 เนื่องจากช่องโหว่จากขนาดบล็อก 64 บิต (Sweet32) และประสิทธิภาพที่ด้อยกว่า AES 3DES ยังคงพบในโครงสร้างพื้นฐานด้านการธนาคารและ EMV ในฐานะระบบดั้งเดิม

คำถามที่พบบ่อย

บทเรียน “Triple DES: การยืดอายุ DES” ฟรีหรือไม่

ใช่ — ข้อความเต็มของ “Triple DES: การยืดอายุ DES” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Cryptology Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Cryptology Academy มีบทเรียนทั้งหมด 4 บทเรียน

คุณจะเรียนรู้อะไรในบทเรียน “Triple DES: การยืดอายุ DES”

เรียนรู้ว่า 3DES เพิ่มความปลอดภัยให้ DES ด้วยการเข้ารหัสหลายรอบอย่างไร และปัจจุบันยังใช้ที่ใดบ้าง คุณปฏิบัติ Cryptology Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน

คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Cryptology Academy หรือไม่

ไม่จำเป็นต้องมีประสบการณ์มาก่อน Cryptology Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 3 จากทั้งหมด 4 บทเรียน

บทเรียน “Triple DES: การยืดอายุ DES” ใช้เวลานานแค่ไหน

บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย

ฉันเขียนและรันโค้ดในบทเรียน Cryptology Academy นี้ได้ไหม

ได้ บทเรียน Cryptology Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. การออกแบบ DES และรหัสลับลูซิเฟอร์
  2. DES ถูกถอดรหัสได้อย่างไร
  3. Triple DES: การยืดอายุ DES
  4. บทเรียนจาก DES: สิ่งที่เราเรียนรู้
← กลับไปที่ Cryptology Academy