พิจารณาการเข้ารหัสสองครั้งด้วยโหมด CTR
ชั้นแรกส่งออกกระแส $o$ ของการเข้ารหัสบล็อกตัวนับตามข้อกำหนด NIST ของเอกสาร CTR
$$o_i = \operatorname{AES-CTR}(k_1,counter_i)$$
ชั้นที่สองส่งออกเป็นสตรีม $\บาร์o$
$$\bar o_i = \operatorname{AES-CTR}(k_2,counter_i)$$
นี่หมายความว่า $c_i = m_i \oplus o_i \oplus \bar o_i$ และสมมติว่าเรามีข้อความธรรมดาที่รู้จักมากกว่าที่เรามี
$$v_i \oplus o_i = \bar o_i$$ ที่ไหน $v_i = c_i \oบวก m_i$
ตอนนี้การโจมตีแบบพบกันตรงกลางดำเนินการเป็น;
- ขั้นแรก สร้างตารางการเข้ารหัสของตัวนับแรกด้วยผู้สมัครคีย์แรก
- X-หรือผลลัพธ์แต่ละรายการพร้อมบล็อกข้อความ $v_1$
- ตอนนี้ให้ตารางการเข้ารหัสของตัวนับแรกกับผู้สมัครหลักคนแรก คุณสามารถคัดลอกตารางแรกก่อน x-oring ด้วย $v_1$
- จัดเรียงและจับคู่และทดสอบผู้สมัครหลักด้วยคู่ข้อความธรรมดา-ข้อความไซเฟอร์ที่รู้จักเพิ่มเติม
ด้านบนเป็นฐานของการโจมตี แต่จะมีกุญแจที่เป็นไปได้หนาแน่น แทนที่จะสร้างตารางที่มี 2 สำหรับ AES-128 และ 4 สำหรับ AES-256 หรือมากกว่าบล็อก เพื่อให้ผู้สมัครที่เป็นไปได้จะต่ำกว่ามาก สิ่งนี้จะเพิ่มขนาดโต๊ะ 4 หรือ 8 เท่า