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

การพบกันในการโจมตีระดับกลางบน Double DES ทำงานอย่างไร


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

รับข้อความธรรมดา P และคีย์การเข้ารหัสสองคีย์ K1 และเค2 , ciphertext C ถูกสร้างเป็น C =Ek2 (Ek1 , (m)) การถอดรหัสจำเป็นต้องใช้คีย์ในลำดับที่กลับกัน -

P =Dk1 (Dk2 , (C))

การโจมตีแบบ Meet-in-the-Middle (MitM) เป็นการโจมตีแบบเข้ารหัสซึ่งผู้โจมตีต้องการพื้นที่หรือการแลกเปลี่ยนเวลาบางประเภทเพื่อรองรับการโจมตี ความพยายามของ MITM สามารถลดจำนวนความยากที่จำเป็นในการโจมตีให้อยู่ในสถานะเดิมได้

Merkle และ Hellman ได้แนะนำเงื่อนไขของการโจมตีแบบพบตรงกลาง การโจมตีนี้มีการเข้ารหัสจากปลายด้านหนึ่งและการถอดรหัสจากปลายอีกด้านหนึ่งและการเชื่อมต่อผลลัพธ์ที่อยู่ตรงกลาง จึงเป็นชื่อที่อยู่ตรงกลาง

MITM สามารถสร้างรูปแบบการแบ่งการเชื่อมต่อเป้าหมายออกเป็นสองส่วน เพื่อให้แต่ละองค์ประกอบสามารถระบุได้อย่างอิสระ อาจหมายถึงการเปลี่ยนการโจมตีที่ต้องใช้เวลา X เป็นเวลา 1 ครั้งและช่องว่าง Z เป้าหมายคือลดความพยายามในการโจมตีด้วยกำลังเดรัจฉานลงอย่างมาก

ศัตรูที่อยู่ตรงกลางจะพยายามประนีประนอมกับปัญหาที่มีอยู่ในการโจมตีด้วยการเข้ารหัสลับระดับสูงโดยการประชุมตรงกลางหรือลดพื้นที่ของสิ่งที่พวกเขากำลังวิเคราะห์ลงครึ่งหนึ่งเพื่อสร้างความพยายามที่เหมาะสมหรือสมเหตุสมผลในมุมมองของพวกเขา

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

ข้อมูลที่ได้รับระหว่างการโจมตีสามารถนำมาใช้สำหรับเป้าหมายต่างๆ เช่น การขโมยข้อมูลประจำตัว การโอนเงินที่ไม่ได้รับการอนุมัติ หรือการเปลี่ยนรหัสผ่านที่ผิดกฎหมาย

มีสองคีย์รวมถึง K1 และเค2 ใช้สำหรับเข้ารหัสข้อความธรรมดา P เป็นข้อความเข้ารหัส C และ K1 . ที่คล้ายกัน และเค2 ใช้สำหรับถอดรหัส ข้อความกลางที่สร้างโดยการเข้ารหัสครั้งแรกและการถอดรหัสครั้งแรก M ควรมีความคล้ายคลึงกัน นั่นคือความสัมพันธ์ทั้งสองต้องมีไว้

Cosnider cryptanalyst มีคู่ก่อนหน้าของ P และ C จากนั้นจึงสามารถใช้ค่าที่เป็นไปได้ทั้งหมด (2 56 ) ของ K1 และบันทึกค่าทั้งหมดของ M ในทำนองเดียวกันสำหรับค่าทั้งหมดของ K2 เข้าถึง M ทั้งหมดและเปรียบเทียบ M เหล่านี้ของ K1 และ K2 และพบกับคู่ของ K1 และ K2 โดยที่ M เหมือนกัน

หากเกิดคู่ดังกล่าวเพียงคู่เดียว K1 และ K2 เป็นกุญแจที่ต้องการ หากมีมากกว่าหนึ่งคู่ที่ K1 และ K2 เท่ากัน ใช้คู่ข้อความธรรมดา/ข้อความเข้ารหัสที่ถูกดักจับอีกคู่หนึ่ง