Nghiên cứu Khoa học

Phương pháp giải mã AES (Advanced Encryption Standard)

  • 18/03/2023
  • Nghiên cứu Khoa học

Quy trình mã hoá sử dụng bốn phép biến đổi chính:

  • AddRoundKey: XORmã khoá của chu kỳ vào trạng thái hiện hành. Độ dài của mã khoá của chu kỳ bằng với kích thước của trạng thái.
  • InvSubBytes: thay thế phi tuyến mỗi byte trong trạng thái hiện hành thông qua bảng thay thế  (InvS-Box).
  • InvMixcolumns: trộn thông tin của từng cột trong trạng thái hiện hành. Mỗi cột được xử lý độc lập.
  • InvShiftRows: dịch chuyển xoay vòng từng dòng của trạng thái hiện hành với di chuyển số khác nhau.

Quy trình mã hoá được tóm tắt lại như sau:

  • Thực hiện thao tác AdRoundKey đầu tiên trước khi thực hiện các chu kỳ giải mã
  • N. - 1 chu kỳ giải mã bình thường: mỗi chu kỳ bao gồm bốn biến đổi liên tiếp nhau: InvShiftRows, InvSubBytes, AddRoundKey, InvMixColumns.
  • Thực hiện chu kỳ giải mã cuối cùng. Trong chu kỳ này, thao tác InvMixColumns
  • được bỏ qua.

undefined

Hình 1.1 Quá trình giải mã

1.1.    Phép biến đổi InvRows

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.

undefined

Hình 1.2 Phép biến đổi InvShiftRows

1.2     Phép biến đổi InvSubBytes

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.

undefined

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.

 undefined

Bảng 1.1 Bảng Inverse S-Box [1]

1.3     Phép biến đổi InvMixColumns

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:

undefined

 

Các tin khác