Tôi nhận ra rằng các hộp s có thể thực hiện các phép biến đổi được thực hiện trong AES phi tuyến tính. Tuy nhiên tôi không chắc làm thế nào điều này làm cho AES an toàn.
Chẳng hạn, nếu chúng ta không có hộp s thì có thể tính khóa từ một tập hợp các phương trình tuyến tính:
$C^1=Ax+k$
$C^2=AC^1+k$
...
$y=AC^n+k$
Trong đó A là phép biến đổi tuyến tính, k là khóa, C là bản mã trung gian, n là số vòng mã hóa, x là đầu vào và y là đầu ra cuối cùng.Tuy nhiên, nếu chúng ta thêm một hộp S, thì sẽ không thể biểu diễn phép thế mà nó thực hiện như một hàm của x, f(x), vì vậy bây giờ chúng ta có:
$C^1=Af(x)+k$
$C^2=Af(C^1)+k$
...
$y=Af(C^n)+k$
Điều mà đối với tôi dường như cũng trở thành con mồi của việc loại bỏ Gaussian (thông qua việc thay thế từng phương trình thành hàm của phương trình tiếp theo), mặc dù một hàm như vậy để thay thế xảy ra trong hộp s có thể cực kỳ phức tạp để rút ra. Miễn là chúng ta được cung cấp một vài giá trị x trải qua quá trình mã hóa bằng cùng một khóa và các hộp s được biết đến công khai, chúng ta sẽ có thể tính toán khóa. Tôi nhận ra rằng trong thực tế, điều này không thể xảy ra nếu không thì AES sẽ không được sử dụng, vì vậy tôi rất biết ơn nếu được trợ giúp trong việc xác định nơi tôi đã sai/các hộp S sẽ can thiệp như thế nào để ngăn phương pháp đó xảy ra :)