Phương pháp mã hĩa Rijndael
3.1 Giới thiệu
Với tốc độ và khả năng xử lý ngày càng được nâng cao của các bộ vi xử lý hiện nay, phương pháp mã hĩa chuẩn (Data Encryption Standard – DES) trở nên khơng an tồn trong bảo mật thơng tin. Do đĩ, Viện Tiêu chuẩn và Cơng nghệ Hoa Kỳ (National Institute of Standards and Technology – NIST) đã quyết định chọn một chuẩn mã hĩa mới với độ an tồn cao nhằm phục vụ nhu cầu bảo mật thơng tin liên lạc của Chính phủ Hoa Kỳ cũng như trong các ứng dụng dân sự. Thuật tốn Rijndael do Vincent Rijmen và Joan Daeman đã được chính thức chọn trở thành chuẩn mã hĩa nâng cao AES (Advanced Encryption Standard) từ ngày 02 tháng 10 năm 2000.
Chương 3
Phương pháp mã hĩa Rijndael là phương pháp mã hĩa theo khối (block cipher) cĩ kích thước khối và mã khĩa thay đổi linh hoạt với các giá trị 128, 192 hay 256 bit. Phương pháp này thích hợp ứng dụng trên nhiều hệ thống khác nhau từ các thẻ thơng minh cho đến các máy tính cá nhân.
3.2 Tham số, ký hiệu, thuật ngữ và hàm
AddRoundKey Phép biến đổi sử dụng trong mã hĩa và giải mã, thực hiện việc cộng mã khĩa của chu kỳ vào trạng thái hiện hành. Độ dài của mã khĩa của chu kỳ bằng với kích thước của trạng thái.
SubBytes Phép biến đổi sử dụng trong mã hĩa, thực hành việc thay thế phi tuyến từng byte trong trạng thái hiện hành thơng qua bảng thay thế (S-box).
InvSubBytes Phép biến đổi sử dụng trong giải mã. Đây là phép biến đổi ngược của phép biến đổi SubBytes.
MixColumns Phép biến đổi sử dụng trong mã hĩa, thực hiện thao tác 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.
InvMixColumns Phép biến đổi sử dụng trong giải mã. Đây là phép biến đổi ngược của phép biến đổi MixColumns.
Phương pháp mã hĩa Rijndael
ShiftRows Phép biến đổi sử dụng trong mã hĩa, thực hiện việc dịch chuyển xoay vịng từng dịng của trạng thái hiện hành với di số tương ứng khác nhau
InvShiftRows Phép biến đổi sử dụng trong giải mã. Đây là phép biến đổi ngược của phép biến đổi ShiftRows.
Nw Số lượng byte trong một đơn vị dữ liệu “từ”. Trong thuật tốn Rijndael, thuật tốn mở rộng 256/384/512 bit và thuật tốn mở rộng 512/768/1024 bit, giá trị Nw lần lượt là 4, 8 và 16
K Khĩa chính.
Nb Số lượng cột (số lượng các từ 8×Nw bit) trong trạng thái. Giá trị Nb = 4, 6, hay 8. Chuẩn AES giới hạn lại giá trị của
Nb = 4.
Nk Số lượng các từ (8×Nw bit) trong khĩa chính. Giá trị Nk = 4, 6, hay 8.
Nr Số lượng chu kỳ, phụ thuộc vào giá trị Nk and Nbtheo cơng thức: Nr = max (Nb, Nk)+6.
Chương 3
RotWord Hàm được sử dụng trong quá trình mở rộng mã khĩa, thực hiện thao tác dịch chuyển xoay vịng Nw byte thành phần của một từ.
SubWord Hàm được sử dụng trong quá trình mở rộng mã khĩa. Nhận vào một từ (Nw byte), áp dụng phép thay thế dựa vào S-box đối với từng byte thành phần và trả về từ gồm Nw byte thành phần đã được thay thế.
XOR Phép tốn Exclusive-OR.
⊕ Phép tốn Exclusive-OR.
⊗ Phép nhân hai đa thức (mỗi đa thức cĩ bậc < Nw) modulo cho đa thức xNw + 1.
• Phép nhân trên trường hữu hạn.