.4 Cấu trúc cơ sở của thuật toán AES

Một phần của tài liệu Luận án tiến sĩ kỹ thuật điện tử bảo mật bitstream FPGA (Trang 28 - 30)

15

Trong đó:

- Giai đoạn 1: Biến đổi “SubButyes” là biến đổi các byte trong khối trạng thái bằng

cách sử dụng một bảng thay thế byte phi tuyến S-box.

- Giai đoạn 2: Biến đổi “ShiftRows” là dịch chuyển quay vịng (hốn vị) các byte

trong một khối.

- Giai đoạn 3: Biến đổi “MixColumns” là biến đổi tất cả các cột thành các cột mới

bằng cách nhân cột đó với một đa thức cố định.

- Giai đoạn 4: Biến đổi “AddRoundkey” là phép XOR từng bit của khối trạng thái

với Roundkey.

Thuật toán AES sử dụng mạng thay thế và hoán vị. Hầu hết các phép toán trong thuật toán AES đều thực hiện trong một trường hữu hạn của các byte. Mỗi khối dữ liệu 128 bit đầu vào được chia thành 16 byte, có thể xếp thành 4 cột, mỗi cột 4 phần tử, hay là một ma trận 4x4 của các byte, và nó được gọi là ma trận trạng thái (State). Trong quá trình thực hiện thuật toán các toán tử tác động để biến đổi ma trận trạng thái này. AES sử dụng quá trình tạo khóa con để mở rộng khóa từ khóa chính cho các vịng trong q trình thực hiện mã hóa. Mỗi khóa con cũng là một cột gồm 4 byte. AES có thể dễ dàng thực hiện ở tốc độ cao bằng phần cứng hoặc bằng phần mềm mà khơng địi hỏi tốn nhiều bộ nhớ.

Độ phức tạp của AES:

Về các nguyên lý thiết kế mật mã khối, người ta đã ghi nhận 2 nguyên tắc cơ sở sau để có độ bảo mật cao, đó là việc tạo ra tính hỗn loạn và tính khuếch tán.

Tính hỗn loạn (Confusion): Sự phụ thuộc của bản mã đối với bản rõ phải thực sự phức

tạp để gây rắc rối, cảm giác hỗn loạn đối với kẻ tấn cơng có ý định phân tích tìm qui luật để phá mã. Có nghĩa là quan hệ hàm số của bản mã và bản rõ là phi tuyến (non-linear). Trong thuật tốn AES, tính hỗn loạn này được thể hiện bằng việc thực hiện phép thay thế với bảng S-box.

Tính khuếch tán (Diffusion): Sự khuếch tán những mẫu văn bản mang đặc tính thống

kê (gây ra do dư thừa của ngơn ngữ) lẫn vào tồn bộ văn bản. Nhờ đó tạo ra khó khăn cho kẻ tấn cơng trong việc dị phá mã trên cơ sở thống kê các mẫu lặp lại cao. Sự thay đổi của một bit trong một bản rõ phải dẫn tới sự thay đổi hoàn toàn trong bản mã tạo ra.

Một cách đơn giản nhất, tính hỗn loạn có thể được thực hiện bằng phép thay thế (substitution) trong khi tính khuếch tán được tạo ra bằng các phép chuyển đổi chỗ hay hốn vị. Tồn bộ sơ đồ biến đổi mật mã sẽ là một lưới các biến đổi thay thế-hoán vị.

Độ an toàn của AES:

Theo số liệu trong Bảng 1.2 ta thấy, thiết kế AES với các chiều dài khóa là 128, 192 hoặc 256 bit mang đến cho thuật tốn này một độ an tồn rất cao đối với các tấn cơng và khả năng tính tốn của máy tính hiện nay.

16 Phương pháp thường d ng nhất để tấn cơng các dạng mã hóa khối là thử các kiểu tấn cơng lên phiên bản có số vịng thu gọn. Đối với khóa 128, 192 và 256 bit, AES có tương ứng 10, 12 và 14 vịng. Tại thời điểm năm 2006, những tấn cơng thành cơng được biết đến là 7 vịng đối với khóa 128 bit, 8 vịng với khóa 192 bit và 9 vịng với khóa 256 bit.

Các cuộc tấn cơng phục hồi khóa đầu tiên trên các AES đầy đủ là do Andrey Bogdanov và cộng sự đưa ra và xuất bản vào năm 2011 [55]. Tấn công này là một dạng tấn công Biclique và nhanh hơn bốn lần so với tấn công vét cạn. Nó địi hỏi 2126,1 tính tốn phức tạp để phục hồi một khố AES-128. Với AES-192 và AES-256, thì cần tương ứng 2189,7 và 2254,4 tính tốn phức tạp.

Như vậy, "thiết kế và độ dài khóa của thuật tốn AES (128, 192 và 256 bit) là đủ an tồn để bảo vệ các thơng tin được xếp vào loại TỐI MẬT (secret). Các thông tin TUYỆT MẬT (top secret) sẽ phải d ng khóa 192 hoặc 256 bit” [56].

Vấn đề cịn lại của thuật tốn AES là vấn đề lưu trữ và trao đổi khóa bí mật. Mỗi khi cần trao đổi khóa qua mạng thì u cầu một đường truyền bảo mật được thiết lập (Hình 1.5) hoặc phải áp dụng một cơ chế an tồn để trao đổi khóa trên đường truyền thơng, ví dụ giao thức trao đổi khóa Diffie–Hellman [20].

Một phần của tài liệu Luận án tiến sĩ kỹ thuật điện tử bảo mật bitstream FPGA (Trang 28 - 30)