Nghiên cứu Khoa học
Phương pháp giải mã AES (Advanced Encryption Standard)
Quy trình mã hoá sử dụng bốn phép biến đổi chính:
Quy trình mã hoá được tóm tắt lại như sau:
Hình 1.1 Quá trình giải mã
InvShiftRows, chính phép biến đổi ngược của phép biến đổi ShiftRows. Bước này. dịch vòng ngược lại với bước ShitRows.
Hình 1.2 Phép biến đổi InvShiftRows
Phép biến đổi ngược của thao tác SubBytes, ký hiệu là InSubBytes. Bước này hoạt động tương tự như bước SubBytes nhưng sử dụng ma trận ins-box là ma trận nghịch với S-box.
Hình 1.3 Thao tác InvSubBytes tác động lên từng byte của trạng thái
Bước này biến đổi mỗi byte trong ma trận thành byte ở vị trí hàng là 4bit trước của byte và cột là 4bit sau của byte trong bảng Inverse S-Box.
Bảng 1.1 Bảng Inverse S-Box [1]
InvMixColumns là biến đổi ngược của phép biến đổi MixColumns. Bước này thực hiện tương tự bước MixColumns nhưng mà trận nhân là nghịch đảo nhân trong buớc MixColumns.
Bốn byte trong từng cột được kết hợp lại theo một phép biến đổi tuyến tính khả nghịch. Mỗi khối 4 byte đầu vào sẽ cho một khối 4 byte ở đầu ra với tính chất là mỗi byte ở đầu vào đều ảnh hưởng tới cả 4 byte đầu ra. Cùng với bước InvShiftRows, InvMixColumns đã tạo ra tinh chất khuyếch tán cho thuật toán. Mỗi cột được xem như một đa thức trong trường hữu hạn và được nhân với đa thức c(x) ={0b}x3+(0d)x2 + {09}x + {0e}(modulo x4 + 1) Vì thế, bước này có thể được xem là phép nhân ma trận trong trường hữu hạn.
Bước này được mở rộng và thực hiện nhân ma trận từ bước shiftrows với ma trận các hệ số như quy tắc trên để thu được ma trận 128 bắt đầu ra. Ma trận nhân: