มีความคลุมเครือในคำว่า S-box ว่ามันหมายถึงตารางค้นหาทั่วไปหรือเฉพาะฟังก์ชันการแทนที่แบบ bijective ฉันเคยเห็นทั้งสองใช้
หากเราหมายถึงตารางการค้นหาทั่วไป ก็จะมีตัวอย่างการเข้ารหัสที่ใช้คำแบบ 32 บิตเป็นรายการ ตัวอย่างที่ดีคือ ดาวอังคาร ซึ่งใช้ตารางยาว 512 ค่า 32 บิตMARS เป็นหนึ่งในผู้เข้ารอบสุดท้ายของ AES และมีความสนใจในการเข้ารหัสเช่นกัน แต่ไม่พบจุดอ่อนด้านความปลอดภัยที่สำคัญที่ฉันรู้ ถ้าจำไม่ผิด MARS มีประสิทธิภาพไม่เท่า AES
หากเราหมายถึงฟังก์ชันการแทนที่แบบ bijective ตามที่ @fgrieu แสดงความคิดเห็น ข้อ จำกัด ของหน่วยความจำหมายความว่าตารางการค้นหาขนาดใหญ่ไม่สามารถทำได้ อย่างไรก็ตาม เมื่อเร็ว ๆ นี้สมาคมจีนเพื่อการวิจัยการเข้ารหัสบล็อกการแข่งขันการเข้ารหัส หนึ่งในรายการ ฤดูใบไม้ผลิ ใช้ฟังก์ชัน bijective 32 บิตในฮาร์ดแวร์เป็นส่วนประกอบของ block cipher และส่วนประกอบนี้ได้รับการอธิบายว่าเป็น S-box แม้จะไม่ได้นำไปใช้เป็นตารางค้นหาก็ตาม ฉันไม่รู้ว่ามีการวิเคราะห์ SPRING มากน้อยเพียงใด แต่ฉันไม่ทราบถึงการโจมตีย่อยๆ ในแง่ของประสิทธิภาพ ผู้เขียน SPRING อ้างว่าการออกแบบของพวกเขาเหมาะสมอย่างยิ่งกับการติดตั้งฮาร์ดแวร์และให้ข้อมูลเวลาการแข่งขัน
ข้อโต้แย้งที่ต่อต้าน S-box ขนาดใหญ่คือวิเคราะห์ได้ยากกว่า S-box แบบ 4 บิตและ 8 บิตทั่วไป นักเข้ารหัสต้องการให้ S-boxes มีคุณสมบัติที่ไม่ใช่เชิงเส้นที่แข็งแกร่งเพื่อต้านทานการเข้ารหัสเชิงเส้นและความแตกต่าง และคุณสมบัติเหล่านี้สามารถทดสอบได้อย่างละเอียดถี่ถ้วนสำหรับ S-box แบบ 4 บิตหรือ 8 บิตที่กำหนด (อันที่จริง ซารินเนน ได้ใช้ S-boxes แบบ 4 บิตที่เป็นไปได้ทั้งหมดหมดแล้วเพื่อค้นหาตัวที่มีคุณสมบัติที่ดีที่สุด) การทดสอบอย่างละเอียดถี่ถ้วนนั้นมีราคาแพงมากสำหรับ S-box ขนาดใหญ่ และการคำนวณเพื่อค้นหา S-box ที่ดีและมีขนาดใหญ่นั้นเป็นสิ่งที่ห้ามปรามได้