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
10:00 | 08/10/2019
15:00 | 10/09/2019
08:00 | 04/12/2020
Ngày nay, việc triển khai các công nghệ an toàn mạng sẽ hiệu quả hơn nếu sử dụng học máy (machine learning). Tuy nhiên, khó có thể triển khai học máy một cách hiệu quả mà không có cách tiếp cận toàn diện, phong phú và đầy đủ đối với dữ liệu nền tảng. Bài viết sẽ cung cấp cho độc giả cái nhìn bao quát về ứng dụng của học máy đối với an toàn mạng.
08:00 | 12/11/2020
Trong bài viết này, các tác giả tập trung phân tích quá trình chuẩn hóa các thuật toán an toàn lượng tử của NIST, dự án mật mã hậu lượng tử về PQC và dự án tiêu chuẩn về chữ ký số dựa trên hàm băm NIST SP 800 - 208 cập nhật nỗ lực chuẩn hóa về mật mã hậu lượng tử của Viện tiêu chuẩn quốc gia Hoa Kỳ. Chuẩn hóa của một số tổ chức khác sẽ được tiếp tục giới thiệu trong các phần tiếp theo của bài báo.
17:00 | 10/09/2020
Cùng với sự phát triển của công nghệ thông tin, phương thức truyền gửi dữ liệu, trao đổi thông tin cũng như các kênh, giao thức ngày càng phát triển đa dạng, làm gia tăng các nguy cơ mất thông tin, lộ thông tin quan trọng. Để đảm bảo tính an toàn cho dữ liệu, Công ty Cổ phần Tin học Mi Mi (Mi2) đã ra mắt bộ sản phẩm McAfee Mvision - Giải pháp bảo mật toàn diện cho doanh nghiệp từ thiết bị đến điện toán đám mây.
08:00 | 06/07/2020
Sự an toàn của tài khoản ngân hàng, tài khoản Netflix và email của người dùng phụ thuộc vào cách người dùng bảo vệ mật khẩu của chính mình.
Lợi ích giao dịch trực tuyến đem lại cho người dùng ngày càng rõ rệt. Tuy nhiên, ngoài chất lượng sản phẩm, dịch vụ chăm sóc khách hàng thì chìa khóa thành công của giao dịch trực tuyến là phải giải quyết được những lo ngại về vấn đề bảo mật. Việc tăng cường các biện pháp bảo mật nhằm giảm thiểu rủi ro cho các hệ thống giao dịch trực tuyến hiện đang rất được quan tâm và mật mã học đang được sử dụng phổ biến để giải quyết vấn đề này.
14:00 | 30/11/2020
Bên cạnh việc áp dụng các kỹ thuật mã hóa truyền thống tại các tầng trên (trong các mô hình truyền tin phân tầng) để bảo mật dữ liệu, ý tưởng về bảo mật tại tầng vật lý cho mạng truyền tin không dây đã được đề cập từ những năm 1970 và cho đến nay, đặc biệt trong một thập kỷ gần đây, thì ý tưởng này đang được cộng đồng các nhà nghiên cứu khoa học trên toàn thế giới quan tâm.
10:00 | 12/01/2021