Năm 2013, tác giả Sliman Arrag và các cộng sự đã nghiên cứu và đề xuất thuật toán xây dựng hộp thế động nhằm cải tiến AES bằng cách thực hiện cộng XOR các phần tử của hộp thế AES với một byte bất kỳ phụ thuộc khóa chủ ban đầu [11]. Theo phương pháp này, hộp thế động mới tạo ra sẽ được sử dụng cho mọi vòng mã hóa của thuật toán, trong đó:
K: khóa chính của AES được biểu diễn là một mảng các byte.
SBOXAES: hộp thế nguyên thủy của AES.
SBOXxor: hộp thế mới được tạo ra từ hộp thế của AES.
InvSBOXxor: l hộp thế nghịch đảo của SBOXxor để dùng trong quá trình giải mã.
Inv(): hàm tính hộp thế nghịch đảo.
Các bước của thuật toán sinh hộp thế động phụ thuộc khóa chủ (khóa ban đầu) K như sau:
Bước 1: Chọn một byte bất kỳ từ khóa chủ K và ký hiệu byte đó là K[i].
Bước 2: Tạo ra hộp thế mới (SBOXxor) từ khóa chủ K bằng cách thực hiện XOR lần lượt tất cả các ô của S-Box nguyên thủy (SBOXAES) với byte K[i]:
SBOXxor[x,y] = SBOXAES[x,y]⊕ K[i]
Hộp thế mới được sử dụng để mã hóa bản rõ.
Quá trình giải mã được thực hiện như sau:
- Lựa chọn byte tương tự từ khóa chủ: K[i];
- Tính hộp thế SBOXxor mới bằng cách tính tổng XOR của byte trên với tất cả các ô của SBOXAES:
SBOXxor[x,y] = SBOXAES[x,y] ⊕ K[i]
- Tính hộp thế nghịch đảo của hộp thế này như sau:
InvSBOXxor = INV(SBOXxor)
Ví dụ: Cho khóa chủ để mã hóa với độ dài (16 Byte):
K = 24 FF 12 34 56 78 90 11 6F 44 55 11 99 22 11 22.
Cả hai bên gửi và nhận thống nhất chọn byte đầu tiên của khóa K để tạo ra hộp thế mới, là byte K[1] = 24.
Khi đó, hộp thế mới SBOXxor thu được ở Bảng 1 dưới đây:
Bảng 1.SBOXxor24 (SBOXAES xor 24)
Nếu hai bên chọn byte thứ 9 của khóa K, K[9] = 6F, thì hộp thế mới thu được ở Bảng 2.
Bảng 2.SBOXxor6F ( SBOXAES xor 6F)
Kết quả cho thấy, hộp thế mới phụ thuộc khóa ban đầu làm cho AES mạnh hơn nhiều. Các tác giả tiếp tục trình bày để chứng minh hộp thế trên nâng cao độ an toàn của AES như thế nào bằng cách giới thiệu một trong hai trường hợp sử dụng tùy thuộc vào mức độ an toàn được yêu cầu. Nếu yêu cầu mức an toàn trung bình thì có thể sử dụng trường hợp 1. Còn với các yêu cầu an toàn cao hơn thì nên sử dụng trường hợp 2.
Hình 1. Đề xuất hộp thế động phụ thuộc khóa ban đầu
Ở đây các khóa vòng khác nhau được tạo ra bằng cách sử dụng một thuật toán mở rộng khóa giống với thuật toán mở rộng khóa nguyên thủy được sử dụng trong AES. Các khóa vòng này được sử dụng để tìm ra giá trị làm thay đổi hộp thế tĩnh (SBOXAES).
Các khóa vòng này cũng được sử dụng trong bước Add RoundKey trong các vòng. Giả sử với một vòng j nào đó, nếu giá trị khóa vòng là: "6172726167736C696D616E5F6D697469" (Hex), tương đương với “arragsliman_miti” trong mã ASCII, thì Byte đầu tiên 61 (Hex) được dùng để XOR với hộp thế tĩnh ban đầu, tạo ra hộp thế mới SBOXxor được sử dụng cho hoạt động SubByte.
Trong trường hợp này, các khóa vòng khác nhau cũng được sinh ra bằng thuật toán mở rộng khóa của AES. Các khóa vòng này được sử dụng để tìm giá trị phục vụ cho việc dịch vòng hộp thế tĩnh ban đầu. Các khóa vòng này cũng được sử dụng trong bước Add RoundKey trong các vòng.
Giả sử ở vòng thứ j nào đó, nếu giá trị khóa vòng là:
"6172726167736C696D616E5F6D697469" (Hex),
thì thực hiện phép XOR tất cả các byte của khóa này, kết quả thu được:
35(Hex) = 61 ⊕ 72 ⊕ 72 ⊕ 61 ⊕ 67 ⊕ 73 ⊕ 6C ⊕ 69 ⊕ 6D ⊕ 61 ⊕ 6E ⊕ 5F ⊕ 6D ⊕ 69 ⊕ 74 ⊕ 69
Giá trị byte kết quả 35(Hex) được dùng để XOR với hộp thế tĩnh ban đầu, tạo ra hộp thế mới sử dụng cho hoạt động SubByte.
Dựa trên cơ sở các hộp thế được nghiên cứu và tùy thuộc vào giá trị cụ thể của khóa mã hóa sử dụng cho AES, các tác giả đưa ra thuật toán sau đây:
Mã hóa:
- Chọn một khóa ban đầu (khóa chủ) cho AES: Key;
- Byte đầu tiên của khóa chủ được lựa chọn Key[1];
- Tính hộp thế mới SBOXkey[1] = SBOXAES ⊕ Key[1];
- Sử dụng hộp thế mới SBOXkey[1] cho quá trình mã hóa của AES, thay thế cho hộp thế ban đầu SBOXAES.
Giải mã:
- Chọn một khóa ban đầu (khóa chủ) cho AES;
- Byte đầu tiên của khóa chủ được lựa chọn Key[1];
- Tính hộp thế mới SBOXkey[1] = SBOXAES ⊕ Key[1];
- Tính hộp thế nghịch đảo của hộp thế mới này: SBOXkey[1]INV = INV(SBOXkey[1]) = INV(SBOXAES ⊕ Key[1]);
- Sử dụng hộp thế nghịch đảo tính được cho quá trình giải mã của AES.
Các tác giả đã đưa ra bảng so sánh thuật toán AES nguyên thủy với thuật toán AES động:
Bảng 3. SO SÁNH GIỮA AES VÀ AES ĐỘNG ĐỀ XUẤT
|
AES (với S-Box tĩnh) |
AES với S-Box động đề xuất |
Khối dữ liệu mã hóa |
128 bit |
Tương tự |
Độ dài khóa |
128-192-256 bit |
Tương tự |
Số vòng |
Đối với khóa 128, 192, 256 bit thì số vòng tương ứng là: 10, 12, 14 |
Tương tự |
Hàm vòng |
Bao gồm bốn biến đổi: - SubByte sử dụng S-Box nguyên thủy của AES - ShiftRow - Mixcolumn - AddRoundKey Vòng cuối cùng không sử dụng Mixcolumn |
Bao gồm bốn biến đổi - SubByte sử dụng SBOXxor phụ thuộc khóa - ShiftRow - Mixcolumn - AddRoundKey Vòng cuối cùng không sử dụng Mixcolumn |
S-Box |
Cố định |
Phụ thuộc khóa ban đầu |
Mở rộng khóa |
Sử dụng khóa chủ và S-Box nguyên thủy của AES |
Sử dụng khóa chủ và SBOXxor động phụ thuộc khóa |
Sau đó, các tác giả đã thử nghiệm hộp thế trên với phần mềm mô phỏng được phát triển bởi Quartus II V.9.1. Các tác giả mô phỏng chương trình mã hóa crypt_aes_pip_SBOXxor key[i] là chương trình mã hóa AES-128 dựa trên hộp thế động, được tạo ra bằng cách XOR các phần tử của hộp thế AES với byte đầu tiên của khóa chủ (trường hợp 1) hoặc XOR tất cả các byte của khóa chủ (trường hợp 2), như trong Hình 2 minh họa. Tổng thời gian cho quá trình mã hóa là 126 giây. Việc mô phỏng chương trình giải mã decrypt_aes_pip_SBOXxor key[i] được minh họa trong Hình 3.
Hình 2. Mô phỏng chương trình mã hóa Crypt_Aes_Pip_Sboxxor Key[I]
Hình 3. Mô phỏng chương trình giải mã Decrypte_Aes-Pip_Sboxxor Key[I]
Việc phân tích các kết quả đã chỉ ra các đặc trưng của hộp thế mới được xác định, từ đó có thể kết luận rằng nó có thể được sử dụng cho việc mã hóa mà không làm giảm khả năng bền vững của AES trước các tấn công tuyến tính và lượng sai.
Các tác giả trong [1] đã trình bày một phương pháp sinh các hộp thế động phụ thuộc khóa cho AES và đưa ra so sánh giữa thuật toán AES gốc với thuật toán AES được làm động bởi tầng thay thế đã đề xuất. Việc động hóa tầng thay thế tạo ra một mã khối AES cải biên động góp phần nâng cao độ an toàn của mã khối AES.
TÀI LIỆU THAM KHẢO [1] Sliman Arrag, Abdellatif Hamdoun, Abderrahim Tragha, Salaheddine Khamlich, Implementation of stronger AES by using dynamic S-box dependent of masterkey, Journal of Theoretical and Applied Information Technology, 20th July 2013. Vol. 53 No.2. |
TS. Trần Thị Lượng, Học viện Kỹ thuật mật mã (lược dịch)
15:00 | 26/08/2019
13:00 | 22/01/2021
08:00 | 22/02/2021
16:00 | 27/01/2021
21:00 | 12/02/2021
10:00 | 08/10/2019
15:00 | 10/09/2019
10:00 | 14/11/2024
Một ví dụ điển hình trong việc triển khai mô hình Zero Trust thành công là của Tập đoàn công nghệ Microsoft. Điều này minh chứng cho cách một tổ chức lớn có thể bảo vệ tài nguyên và người dùng bằng các phương pháp kiểm soát nghiêm ngặt, đảm bảo an ninh mạng toàn diện. Đây cũng là bài học kinh nghiệm cho các tổ chức trong quá trình triển khai mô hình bảo mật hiện đại này.
16:00 | 05/09/2024
Từ một lĩnh vực khoa học còn non trẻ với kỹ thuật thô sơ, ngành Cơ yếu Việt Nam đã có những bước tiến vượt bậc, trở thành một ngành khoa học công nghệ hiện đại, đạt trình độ ngang tầm với nhiều quốc gia tiên tiến trên thế giới. Hạ tầng cơ sở mật mã quốc gia ngày nay hiện đại, phát triển rộng khắp, đáp ứng các yêu cầu bảo mật và an toàn thông tin cho hệ thống chính trị và cả lĩnh vực kinh tế - xã hội.
10:00 | 17/05/2024
Mã độc không sử dụng tệp (fileless malware hay mã độc fileless) còn có tên gọi khác là “non-malware”, “memory-based malware”. Đây là mối đe dọa không xuất hiện ở một tệp cụ thể, mà thường nằm ở các đoạn mã được lưu trữ trên RAM, do vậy các phần mềm anti-virus hầu như không thể phát hiện được. Thay vào đó, kẻ tấn công sử dụng các kỹ thuật như tiêm lỗi vào bộ nhớ, lợi dụng các công cụ hệ thống tích hợp và sử dụng các ngôn ngữ kịch bản để thực hiện các hoạt động độc hại trực tiếp trong bộ nhớ của hệ thống. Bài báo tìm hiểu về hình thức tấn công bằng mã độc fileless và đề xuất một số giải pháp phòng chống mối đe dọa tinh vi này.
14:00 | 10/05/2024
Hiện nay, người dùng mạng máy tính đang thường xuyên phải đối mặt với những rủi ro từ các mối đe dọa mạng, như mã độc, phần mềm gián điệp, rootkit, tấn công lừa đảo,… Đối với Windows 11, dù hệ điều hành này có khả năng bảo mật nâng cao so với những phiên bản Windows trước đây, tuy nhiên không vì vậy mà người dùng được phép chủ quan. Trong bài báo này sẽ chia sẻ tới độc giả một số tùy chỉnh cấu hình nâng cao giúp Windows 11 trở nên bảo mật và an toàn hơn.
Trong bối cảnh phát triển mạnh mẽ của Trí tuệ nhân tạo (AI), vấn đề khai thác lỗ hổng (Jailbreak) đã trở thành một thách thức đáng chú ý trong việc quản lý và kiểm soát mô hình ngôn ngữ lớn tạo sinh (Generative Pre-trained Transformer - GPT). Trong phạm vi bài viết này, nhóm tác giả sẽ giới thiệu tổng quan về mô hình ngôn ngữ lớn GPT hiện nay, một số phương thức khai thác lỗ hổng trong mô hình GPT và cung cấp một góc nhìn về khai thác lỗ hổng trong tương lai.
22:00 | 30/01/2025
Trong kỷ nguyên số hóa, việc ứng dụng các công nghệ hiện đại đóng vai trò rất quan trọng trong bảo vệ dữ liệu, hệ thống máy tính, ngăn chặn chúng khỏi sự tấn công hoặc truy cập trái phép. Blockchain và trí tuệ nhân tạo (AI) là hai trong số những công nghệ mạnh mẽ đã được ứng dụng và phát huy hiệu quả trong nhiều lĩnh vực của đời sống. Với những ưu thế vượt trội của từng công nghệ, việc kết hợp AI và Blockchain có thể đem lại nhiều giải pháp hiệu quả nhằm đảm bảo an ninh mạng (ANM), an toàn thông tin (ATTT). Bài viết sẽ giới thiệu về ứng dụng của công nghệ AI và Blockchain trong bảo đảm ANM, ATTT cũng như phân tích khả năng tích hợp hai công nghệ này trong phát hiện, ngăn chặn các mối đe dọa hiện nay.
10:00 | 06/02/2025