Tôi đã xem một nhận xét về AES 128 không có ShiftRow. Tôi muốn sử dụng điểm yếu này để thực hiện một cuộc tấn công. Cho đến nay, tôi hiểu rằng Có thể chia thành 4 khối 32 bit độc lập.
Giờ đây, các cuộc tấn công vũ phu và dựa trên vi phân/tuyến tính không có khả năng hoạt động. Tuy nhiên, có một cách tiếp cận khác.
Đó thực sự là 4 mật mã khối 32 bit khác nhau, được xen kẽ.
Vì vậy, làm thế nào bạn sẽ phá vỡ mật mã khối 32 bit? Bằng một cuộc tấn công vào kích thước giới hạn của cuốn mã.
Nếu người sử dụng mật mã AES đã sửa đổi đủ ngớ ngẩn để sử dụng chế độ CTR, thì thật dễ dàng - việc tăng bộ đếm hầu như không bao giờ sửa đổi 3 trong số 4 mật mã khối 32 bit, do đó dễ dàng suy ra 3/4 bản rõ. 1/4 cuối cùng có thể khó hơn, tuy nhiên tại thời điểm đó, tôi khẳng định rằng, theo bất kỳ tiêu chuẩn hợp lý nào, nó đã bị hỏng.
Nếu chúng ta xem xét chế độ CBC (trong đó các đầu vào của mật mã khối được ngẫu nhiên hóa một cách hiệu quả bằng cách xor'ing trong khối bản mã trước đó), chúng ta có thể xem xét điều gì sẽ xảy ra nếu bạn có một Megabyte đầu ra bản mã. Tại thời điểm đó, bạn có 256K đầu vào cho mỗi trong số 4 mật mã khối 32 bit, tức là 64k đầu vào khối. Ở cấp độ này, chúng tôi mong đợi một số xung đột (nghĩa là các vị trí mà hai đầu vào của cùng một mật mã khối giống nhau, dẫn đến cùng một đầu ra); mỗi xung đột sẽ tiết lộ xor của hai phần 4 byte của bản rõ. Mặc dù gần như không tệ như trường hợp chế độ CTR, nhưng nó vẫn có thể tiết lộ nhiều thông tin hơn chúng ta muốn (và xác suất bất kỳ phần nào của bản rõ có liên quan đến rò rỉ tăng lên cùng với lượng bản mã có sẵn cho kẻ tấn công) .