Làm động tầng thay thế của AES dựa trên thuật toán RC4

08:00 | 28/04/2021 | MẬT MÃ DÂN SỰ
Bài báo này giới thiệu một phương pháp làm động tầng thay thế của AES dựa trên thuật toán RC4. Đây là một trong những phương pháp làm động hóa thuật toán AES nguyên thủy dựa vào việc làm động các hộp thế, góp phần nâng cao độ an toàn của mã khối AES.

Trong [1], tác giả Abd-ElGhafar và các cộng sự đã xây dựng một hộp thế (S-Box) hoàn toàn mới không phụ thuộc vào hộp thế AES, sử dụng trong tất cả các vòng của quá trình mã hóa. Thuật toán này là sự kết hợp giữa AES và thuật toán sinh khóa của mã dòng RC4.

RC4 được thiết kế năm 1987 bởi Ron Rivest, là mã dòng có kích cỡ khóa thay đổi với hoạt động hướng byte. Thuật toán này dựa trên việc sử dụng một hoán vị ngẫu nhiên của trạng thái 256 bit. Nó được sử dụng trong giao thức WEP và SSL/TLS. Độ dài khóa có thể thay đổi từ 1 tới 256 byte, được sử dụng để khởi sinh một vectơ trạng thái 256 bit, trạng thái này chứa một hoán vị của tất các số 8-bit từ 0 tới 255.

Trong phương pháp đề xuất này, các tác giả sử dụng thuật toán lược đồ khóa của AES để sinh ra các khóa vòng, mỗi khóa vòng này sẽ sinh ra ra một hộp thế động mới cho vòng đó. Như vậy, mỗi vòng mã hóa của thuật toán sẽ sử dụng một hộp thế khác nhau phụ thuộc khóa.

Thuật toán 1.

Hộp thế của AES-RC4 được xây dựng theo các bước sau:

Bước 1. Trước hết, khởi tạo hộp S là một mảng gồm 256 giá trị (Byte), với khóa đầu vào là K, sau đó khởi tạo mảng T và thực hiện hoán đổi tạo ra các giá trị khác cho mảng S.

Bước 2. Đầu ra của bước 1 sẽ cho 256 giá trị khác nhau, tất cả các giá trị này phụ thuộc vào khóa đầu vào. Điều này có nghĩa nếu thay đổi một giá trị byte từ khóa đầu vào thì sẽ thu được tập 256 giá trị khác. Cách này có thể tạo được tối đa 256! hộp S-Box tương ứng với 256! hoán vị của S.

Bước 3. Áp dụng biến đổi affine cho các giá trị vừa tạo ra, giống như với hộp thế nguyên thủy của AES để tránh các điểm bất động và làm cho hộp thế mới có ngược. Các bảng dưới đây chỉ ra một ví dụ của hộp thế AES-RC4 và nghịch đảo của nó khi khóa được áp dụng là K = 0123456789ABCDEF.

Bảng 1. Hộp thế AES-RC4

Bảng 2. Hộp thế nghịch đảo của hộp thế AES-RC4

Phân tích an toàn

Để đo độ an toàn của hộp thế AES-RC4, một số kiểm tra mật mã phải được áp dụng như kiểm tra tính ngẫu nhiên, tiêu chuẩn thác đổ và tiêu chuẩn độc lập bit (BIC) [2]. Trong phần này, các tác giả phân tích hộp thế của AES-RC4 sử dụng các kiểm tra này.

Kiểm tra ảnh hưởng thác đổ

Thuộc tính ảnh hưởng thác đổ rất quan trọng với thuật toán mã hóa, thuộc tính này thỏa mãn khi thay đổi một bit trong bản rõ sẽ làm thay đổi ít nhất một nửa số bit của bản mã. Mục đích của ảnh hưởng thác đổ là khi thay đổi chỉ một bit sẽ có sự thay đổi lớn ở đầu ra nhằm làm cho việc phân tích bản mã khó khăn hơn, khi thám mã tiến hành tấn công.

Đầu tiên, các tác giả tính ảnh hưởng thác đổ của hộp thế AES. Để thực hiện kiểm tra đó, họ thay đổi bit bản rõ thành “01” thay vì “00” và “11” thay vì “01”, kết quả thu được là 0,4688 và 0,5078 với kiểm tra ảnh hưởng thác đổ cho hộp thế của AES. Sau đó, áp dụng kiểm tra này với hộp thế của AES-RC4 kết quả tương ứng là 0.5235 và 0.5078. Điều này chứng tỏ AES-RC4 đã vượt qua kiểm tra ảnh hưởng thác đổ. Các kết quả này được chỉ ra trong Bảng 3, Bảng 4.

Bảng 3. Ảnh hưởng thác đổ và BIC cho hộp thế AES

Bảng 4. Ảnh hưởng thác đổ và BIC cho hộp thế AES-RC4

Kiểm tra tính ngẫu nhiên

Để kiểm tra tính ngẫu nhiên của hộp thế AES-RC4 và so sánh nó với hộp thế của AES sử dụng cùng các đầu vào cho cả hai hộp thế các tác giả sử dụng CryptTool [3]. Hai thuật toán này đều vượt qua tất cả các kiểm tra đó nhưng cho giá trị kết quả khác nhau (Bảng 5).

Bảng 5. Kiểm tra tính ngẫu nhiên cho AES và AES-RC4

Kiểm tra biểu đồ hình ảnh

Trong kiểm tra này, các tác giả thực hiện mã hóa ảnh có định dạng  với cùng một khóa cho các hộp thế khác nhau và lấy biểu đồ cho cả hai hình ảnh sau khi mã hóa. Hình 1 là ảnh ban đầu, sau đó được mã hóa và giải mã với thuật toán AES được chỉ ra ở bên trái (a) và được mã hóa và giải mã bởi AES-RC4 ở bên phải (b). Có thể thấy độ ngẫu nhiên của cả hai thuật toán trong các hình ảnh mã (Hình 2). Biểu đồ cho hai hình ảnh mã thì gần giống nhau và đồng dạng, đồng thời khác hoàn toàn với hình ảnh ban đầu, do đó nó không cung cấp bất cứ thể hiện gì để có thể thực thi được tấn công thống kê.

Hình 1. Mã hóa và giải mã sử dụng:

                                                                                                                                                (a) Thuật toán AES, (b) Thuật toán AES-RC4

Hình 2. Các biểu đồ của thuật toán AES và AES-RC4

Kết luận

Các tác giả trong [1] đã trình bày phương pháp sinh các hộp thế động phụ thuộc khóa cho AES nhờ thuật toán mở rộng giả khóa và sinh hoán vị mới. Đồng thời đưa ra phân tích an toàn cho thuật toán đề xuất dựa trên kiểm tra tính ngẫu nhiên, tiêu chuẩn thác đổ và tiêu chuẩn độc lập bit. Việc động hóa tầng thay thế này tạo ra một mã khối AES cải biên động có thể góp phần nâng cao độ an toàn của mã khối AES.

TÀI LIỆU THAM KHẢO

[1] Abd-ElGhafar, A. Rohiem, A. Diaa, F. Mohammed, Generation of AES Key Dependent S-Boxes using RC4 Algorithm, 13th International Conference on AEROSPACE SCIENCES & AVIATION TECHNOLOGY, ASAT- 13, Paper: ASAT-13-CE-24, May 26 – 28, 2009.

[2] A.F Webster and S.E Travares, On The Design of S-boxes, Queen's university Kingston, Springer-verlag ,Canada 1998 .

[3] CrypTool, Version 1.4.20 for Win32, May 2008B Beta 03 http://www.cryptool.org.

TS. Trần Thị Lượng

Tin cùng chuyên mục

Tin mới