มีหลายวิธีที่สามารถคำนวณจำนวน sboxes ที่ใช้งานอยู่ของรหัสสำหรับหนึ่งรอบ เช่นเดียวกับแนวทางแบบแมนนวล (ส่วนต่างอินพุตที่เป็นไปได้ทั้งหมดจะถูกนำไปใช้ในข้อความธรรมดาสองข้อความ $P_0, P_1$ จากนั้นสังเกตว่าจำนวน S-box ที่ไม่เป็นศูนย์น้อยที่สุดเท่ากับค่า xor-sum ของรหัส $C_0, C_1$ ผลิตหลังจากหนึ่งรอบ) จากนั้น MILP และวิธีการอื่นๆ ก็อยู่ที่นั่นด้วย
ตอนนี้ หากมีรหัสที่การแทนที่ S-box เกิดขึ้นหลายครั้ง ในการเข้ารหัสรอบเดียว คำๆ หนึ่งจะถูกแทนที่ด้วย S-box หลายครั้ง สิ่งสำคัญที่สุดคือ การแทนที่เกิดขึ้นในลักษณะที่ทับซ้อนกันระหว่างคำที่อยู่ใกล้เคียง
ให้ความยาวบล็อก 128 บิตซึ่งจัดอยู่ใน a $8\คูณ 16$ เมทริกซ์ไบนารี S-box คือการเปลี่ยนรูปแบบแบบสุ่ม 8 บิต ตอนนี้ในแต่ละแถวของพื้นที่ไบนารีเมทริกซ์ 8 บิต (เรียกว่าหน้าต่างการแทนที่) จะถูกเลือกและแทนที่ด้วย s-box ถัดไป หน้าต่างการแทนที่จะเลื่อนไปทางด้านซ้ายของแถว 2 บิตและผสมกันระหว่างค่าที่ซ้อนทับกัน 6 บิตและค่าใหม่ 2 บิตที่อยู่ภายในหน้าต่างการแทนที่ที่เลือกไว้สำหรับการแทนที่ครั้งต่อไป การแทนที่และการเปลี่ยนนี้ดำเนินต่อไปจนกว่าหน้าต่างการเปลี่ยนตัวจะไปถึงจุดสิ้นสุดของแถว จากนั้นการดำเนินการเดียวกันนี้จะเกิดขึ้นโดยเริ่มจากด้านขวามือจนกระทั่งหน้าต่างเปลี่ยนตัวไปถึงด้านซ้ายสุด ในรหัสนี้ยังมีกลไกที่กระจายแต่ละคอลัมน์ของเมทริกซ์ไบนารี
ในระบบดังกล่าว ฉันจะคำนวณจำนวน s-box ที่ใช้งานได้อย่างไร