ฉันรู้ว่ากล่อง s สามารถทำการแปลงใน AES ที่ไม่ใช่เชิงเส้นได้ อย่างไรก็ตาม ฉันไม่แน่ใจว่าสิ่งนี้ทำให้ AES ปลอดภัยได้อย่างไร
ตัวอย่างเช่น ถ้าเราไม่มี s box ก็เป็นไปได้ที่จะคำนวณคีย์จากชุดสมการเชิงเส้น:
$C^1=ขวาน+k$
$C^2=AC^1+k$
...
$y=AC^n+k$
โดยที่ A คือการแปลงเชิงเส้น, k คือคีย์, C เป็นไซเฟอร์เท็กซ์ระดับกลาง, n เป็นจำนวนรอบของการเข้ารหัส, x เป็นอินพุตและ y เป็นเอาต์พุตสุดท้ายอย่างไรก็ตาม หากเราเพิ่มกล่อง S ลงไป มันจะเป็นไปไม่ได้เลยที่จะแสดงการแทนที่ที่มันทำหน้าที่เป็นฟังก์ชันของ x, f(x) ดังนั้นตอนนี้เรามี:
$C^1=Af(x)+k$
$C^2=อัฟ(C^1)+k$
...
$y=Af(C^n)+k$
ซึ่งสำหรับฉันแล้วดูเหมือนว่าจะตกเป็นเหยื่อของการกำจัดแบบเกาส์เซียนด้วย (ผ่านการแทนที่แต่ละสมการลงในฟังก์ชันของสมการถัดไป) แม้ว่าฟังก์ชันดังกล่าวสำหรับการแทนที่ที่เกิดขึ้นในกล่อง s อาจมีความซับซ้อนอย่างมากในการได้มา หากเราได้รับค่า x สองสามค่าที่ผ่านการเข้ารหัสโดยใช้คีย์เดียวกัน และกล่อง s นั้นเป็นที่รู้จักกันทั่วไป เราควรจะสามารถคำนวณคีย์ได้ ฉันตระหนักดีว่าในความเป็นจริงสิ่งนี้ไม่สามารถเกิดขึ้นได้ มิฉะนั้น AES จะไม่ถูกใช้เลย ดังนั้นฉันจะขอบคุณมากสำหรับความช่วยเหลือในการระบุว่าฉันผิดพลาดตรงไหน/กล่อง S จะแทรกแซงเพื่อป้องกันไม่ให้วิธีการดังกล่าวเกิดขึ้นได้อย่างไร :)