ฉันมีปัญหาในการทำความเข้าใจการโจมตี DS-MITM ต่อ AES (กระดาษต้นฉบับ). โดยเฉพาะอย่างยิ่งผู้แยกแยะ 4 รอบโดย Gilbert และ Minier (ส่วนที่ 3)
ฉันได้รับแนวคิดพื้นฐานที่ว่าเราตรวจสอบว่าอินพุต-ไบต์และคีย์-ไบต์ใดรายการแรกของ AES-State หลังจากสามรอบ $C_{11}^{(3)}$ พึ่งพา. ดังนั้นเราจึงมีฟังก์ชัน
$f: a_{11} \longrightarrow C_{11}^{(3)}$
(ที่ไหน $a_{11}$ เป็นไบต์ข้อความธรรมดาแรก) ที่กำหนดทั้งหมดโดยค่าหนึ่งไบต์ 9 ค่า {$c_1,\ldots,c_8,K_{11}^{(3)}$}.
ตอนนี้ฉันไม่เข้าใจเลยว่ามันใช้กำหนดตัวแยกความแตกต่างสำหรับ AES 4 รอบได้อย่างไร มันระบุว่าแนวคิดพื้นฐานคือการค้นหาการชนกันของฟังก์ชันนี้ แต่ฉันไม่สามารถระบุได้ว่าสิ่งนี้เพียงพอสำหรับตัวแยกความแตกต่างอย่างไร
ข้อเสนอที่จะกำหนดความแตกต่างนี้ระบุต่อไปนี้:
พิจารณาชุดข้อความธรรมดา 256 ชุดที่รายการ $a_{11}$
ทำงานอยู่และรายการอื่นๆ ทั้งหมดเป็นแบบพาสซีฟ ใช้ AES 4 รอบกับสิ่งนี้
ชุด. ให้ฟังก์ชั่น $S^{â1}$ แสดงถึงส่วนผกผันของ AES s-box และ $k^{(4)}$ แสดงว่า
$0E · K^{(4)}_{11} + 0B · K^{(4)}_{21} + 0D · K^{(4)}_{31} + 09 · K ^{(4)}_{41} .$
แล้ว
$S^{-1}[0E · C^{(4)}_{11} + 0B · C^{(4)}_{21} + 0D · C^{(4)}_{ 31} + 09 · C^{(4)}_{41} +k^{(4)}]$
เป็นหน้าที่ของ $a_{11}$ กำหนดทั้งหมดโดย 1 คีย์ไบต์และ 8 ไบต์ที่ขึ้นอยู่กับคีย์และรายการแบบพาสซีฟ ดังนั้น,
$0E · C^{(4)}_{11} + 0B · C^{(4)}_{21} + 0D · C^{(4)}_{31} + 09 · C ^{(4)}_{41}$
เป็นหน้าที่ของ $a_11$ กำหนดทั้งหมดโดย 10 ไบต์คงที่
เรื่องสั้นสั้น ๆ ฉันมี 2 คำถาม:
- ฟังก์ชันนี้มีค่าสัมประสิทธิ์อยู่ที่ไหน $0E, 0B$ฯลฯ มาจากไหน?
- คุณสมบัตินี้กำหนดความแตกต่างใน AES อย่างไร
แก้ไข: สำหรับคำถามที่ 1 พบว่ามาจากพหุนามผกผันที่กำหนด MixColumns