Năm 2013, các tác giả trong [1] đã đề xuất một thuật toán sinh các hộp thế động phụ thuộc khóa cho AES. Thuật toán này dựa vào việc hoán vị hộp thế nguyên thủy của AES dưới sự điều khiển của khóa bí mật. Bước khởi tạo, khóa bí mật sẽ được thao tác và áp dụng vào bộ sinh số giả ngẫu nhiên (PN generator) dựa trên 3 thanh ghi dịch phản hồi tuyến tính (Linear feedback shift register). Bộ sinh PN và khóa bí mật của AES được dùng để sinh hai chuỗi hoán vị, có độ dài 16 giá trị hexa (8 byte). Các chuỗi này được dùng để sắp xếp lại các vectơ hộp thế ban đầu. Theo các tác giả, thuật toán đề xuất làm tăng độ phức tạp, khiến cho thám tuyến tính và thám lượng sai trở nên khó khăn hơn. Trong phương pháp này, hộp thế động mới được sử dụng cho mọi vòng mã hóa của thuật toán.
Bộ sinh PN chịu trách nhiệm sinh chuỗi ngẫu nhiên hoàn hảo. Sau đó hoán vị hộp thế AES nhằm tạo ra một hộp thế động mới an toàn dựa trên chuỗi ngẫu nhiên này. Bộ sinh PN đề xuất bao gồm 3 thanh ghi dịch phản hồi độ dài cực đại với 31, 19 và 40 ô nhớ. Các hàm phản hồi lựa chọn nguyên thủy để đạt được chu kỳ cực đại cho mỗi thanh ghi [2]. Các hàm phản hồi của LFSR là:
Hình 1 biểu diễn một bộ sinh chuỗi PN có thể. Các đầu ra của LFSR được kết nối qua cổng XOR. Chu kỳ của chuỗi PN này là:
Đầu ra được chia thành các khối 128 bit. Mỗi khối được sử dụng để thay đổi hộp thế động.
Hình 1. Bộ sinh chuỗi PN
Như vậy, theo hình 1 ta thấy độ dài khóa của bộ sinh PN này là (14 + 19 +31) = 64, vì vậy bộ sinh này cần 64 giá trị khởi tạo. Khóa bí mật của AES được xếp vào hai vectơ độ dài 64 bit và được cộng XOR với nhau. Kết quả của phép XOR này là trạng thái khởi tạo của bộ sinh PN.
Khối hoán vị được sử dụng để tạo ra hai chuỗi hoán vị S1 và S2 . Các chuỗi này chịu trách nhiện sắp xếp lại hộp thế của AES theo hàng và theo cột. Hoạt động này dựa trên khóa bí mật của AES-128 và chuỗi PN được sinh ra. Khóa bí mật của AES được XOR với chuỗi PN đó. Kết quả được chuyển về 32 giá trị hexa (16 byte). 16 giá trị đầu tiên (8 byte) được ký hiệu là S1 và 16 giá trị còn lại được ký hiệu là S2 . Việc đảm bảo các giá trị hoán vị ( S1 và S2) được phân phối đều giữa (0, F) là rất quan trọng. Không sự lặp lại nào được chấp nhận ở đây. Nếu S1 hoặc S2 chứa các giá trị bất kỳ bị lặp lại thì những giá trị lặp đó được loại bỏ và số bị thiếu sẽ được thêm vào chuỗi đó để đảm bảo rằng tất cả các chỉ số của hộp thế đều được ánh xạ.
Hộp thế phụ thuộc khóa dựa trên hoán vị hoặc sự sắp xếp lại hộp thế chuẩn của AES theo cột và theo hàng. Vectơ S1 được dùng để sắp xếp lại các hàng, còn S2 sẽ sắp xếp lại các cột của S-box chuẩn; Hoặc ngược lại.
Bảng 1 biểu diễn các bước để tạo hộp thế phụ thuộc khóa. Bảng 2, 3 biểu diễn hộp thế được thực thi và hộp thế nghịch đảo tương ứng của nó với khóa bí mật được sử dụng là: "B9B5ED7585C8B15D7454ED271AA3A3".
Bảng 1. Hộp thế phụ thuộc khóa
Bảng 2. Hộp thế nghịch đảo phụ thuộc khóa
Bảng 3. Các bước thực hiện hộp thế phụ thuộc khóa
Để đảm bảo rằng thuật toán AES-128 động được thực thi với hộp thế phụ thuộc khóa là an toàn thì một số kiểm tra mật mã phải được thực hiện. Do đó, các tác giả đã thực hiện một số kiểm tra dưới đây cho thuật toán AES-128 động đề xuất.
Các kiểm tra tính ngẫu nhiên: được sử dụng để đảm bảo các thuộc tính ngẫu nhiên của các đầu ra tương ứng của thuật toán được thực thi. Kiểm tra biểu đồ hình ảnh có thể được dùng cho mục đích này.
Ảnh hưởng thác đổ: đây là thuộc tính mong đợi của bất kỳ thuật toán mật mã nào, trong đó một thay đổi nhỏ trong bản rõ hoặc khóa sẽ tạo ra thay đổi đáng kể trong bản mã. Cụ thể hơn, một thay đổi trong 1 bit của bản rõ hoặc 1 bit trong khóa sẽ tạo ra sự thay đổi trong nhiều bit của bản mã.
Hệ số tương quan: là một số giữa -1 và 1 để đo độ liên quan tuyến tính của hai biến. Hệ số tương quan thể hiện độ phụ thuộc tuyến tính giữa các biến. Nếu các biến là độc lập thì tương quan bằng 0.
Thời gian mô phỏng: thời gian được yêu cầu bởi thuật toán để xử lý hoàn toàn một độ dài dữ liệu cụ thể. Nó phụ thuộc vào tốc độ vi xử lý, độ phức tạp của thuật toán… Thời gian mô phỏng với giá trị nhỏ nhất luôn được mong đợi.
Để mô phỏng AES động với hộp thế phụ thuộc khóa, các tác giả đã sử dụng phần mềm Matlab (2011) cho cả AES và AES động. Với khóa được cố định cho cả 2 thuật toán. Các tác giả đã mã hóa một số lượng lớn khối dữ liệu và thực hiện nhiều kiểm tra để quan sát hiệu năng của AES. Các kết quả thử nghiệm đạt được như sau:
Kiểm tra biểu đồ hình ảnh
Trong kiểm tra này, hình ảnh được mã hóa sử dụng cùng một khóa với các hộp thế khác nhau. Biểu đồ cho các hình ảnh mã đó đã được các tác giả vẽ thành đồ thị (Hình 2). Hình 3 biểu diễn hình ảnh mã sử dụng thuật toán AES với biểu đồ của nó. Hình 4 chỉ ra hình ảnh mã sử dụng AES động với thuật toán hộp thế phụ thuộc khóa và biểu đồ của nó.
Các ảnh mã biểu diễn thuộc tính ngẫu nhiên của cả hai thuật toán. Biểu đồ của 2 ảnh được mã thì gần giống nhau, khá đồng dạng và khác nhiều so với hình ảnh ban đầu, nên nó không cung cấp bất cứ thể hiện nào để thực thi được tấn công thống kê.
Hình 2. Ảnh ban đầu vào biểu đồ của nó
Hình 3. Hình ảnh được mã bởi AES và biểu đồ của nó
Hình 4. Hình ảnh được mã bởi AES động và biểu đồ của nó
Ảnh hưởng thác đổ khi thay đổi một bit trong bản rõ
Hình 5, 6 biểu diễn ảnh hưởng thác đổ của thuật toán AES và thuật toán AES động đề xuất khi thay đổi 1 bit trong bản rõ. Thuật toán được thực thi biểu diễn ảnh hưởng thác đổ nằm trong khoảng 45% và 63%, chỉ số này rất khó cho thám mã để có thể dự đoán về đầu vào, nếu chỉ biết đầu ra. AES-128 và AES động có ảnh hưởng thác đổ gần bằng nhau.
Bảng 4 biểu diễn các mẫu bản mã của AES và AES động khi thay đổi một bit trong bản rõ (vị trí thay đổi một bit có thể thay đổi từ 0 đến 127).
Bảng 4. Các mẫu bản mã khi thay đổi 1 bit trong bản rõ
Hình 5. Các ảnh hưởng thác đổ cảu AES chuẩn
Hình 6. Các ảnh hưởng thác đổ của AES động với hộp thế phụ thuộc khóa
Ảnh hưởng thác đổ khi thay đổi 1 bit trong khóa bí mật
Xét khóa bí mật độ dài 128 bit dưới dạng hexa. Khóa là: "B9B5ED7585C8B15D7454ED271AA3A3A3" và hộp thế tương ứng của nó được biểu diễn trong Bảng 4.
Khi chỉ 1 bit trong khóa bí mật được thay đổi thì có 248 phần tử được thay đổi (trên 256) trong hộp thế tương ứng. Do đó xấp xỉ 96.8% phần tử của hộp thế thứ 2 được thay đổi.
Khi khóa được thay đổi là: "A9B5ED7585C8B15D7454ED271AA3A3A3" thì hộp thế tương ứng của nó được biểu diễn trong Bảng 5.
Bảng 6 biểu diễn các mẫu bản mã của thuật toán AES-128 động đề xuất khi thay đổi một bit trong bản rõ và ảnh hưởng thác đổ thu được.
Bảng 5. Hộp thế với khoá bí mật "A9B5ED7585C8B15D7454ED271AA3A3A3"
Bảng 5. Hộp thế với khóa bí mật
Bảng 6. Các mẫu bản mã khi thay đổi 1 bit trong bản rõ của AES-128 động
Hệ số tương quan
Hình 7 biểu diễn ảnh hưởng thác đổ của AES-128 đề xuất khi thay đổi 1 bit trong khóa bí mật. Nó biểu diễn ảnh hưởng thác đổ nằm trong khoảng 41% và 61%, chỉ số khó cho thám mã có thể dự đoán đầu vào khi chỉ biết đầu ra. Điều này phản ánh khả năng kháng lại thám tuyến tính và thám lượng sai của thuật toán này.
Hình 8 biểu diễn hệ số tương quan giữa AES chuẩn và AES động đề xuất. Bởi vì hệ số tương quan nằm giữa -0,3 và 0,3 (nghĩa là gần 0), điều này có nghĩa là hai thuật toán này độc lập nhau.
Hình 7. Ảnh hưởng thác đổ khi thay đổi 1 bit trong khóa mã
Hình 8. Kiểm tra hệ số tương quan
Thời gian mô phỏng
Thời gian mô phỏng 2 thuật toán trên khi thực hiện ghi 500 khối dữ liệu theo giây đuôi mô tả trong Bảng 7. Theo các tác giả, AES chuẩn có thời gian mô phỏng nhanh hơn AES động được đề xuất. Sự sai khác trong thời gian mô phỏng tương ứng với sự thay đổi động của hộp thế.
Bảng 7. So sánh thời gian mô phỏng
Theo bảng này thì AES động nhanh hơn AES tĩnh, có thể do các tác giả đưa nhầm thông số vào bảng này.
Tổng kết ngắn gọn về thuật toán động tầng thay thế đã trình bày ở trên được thể hiện ở Bảng 8.
Bảng 8. Tổng kết thuật toán động tầng thay thế cho AES
Kết luận
Trong bài viết, tác giả đã trình bày một phương pháp sinh các hộp thế động phụ thuộc khóa cho AES. Phương pháp này dựa vào việc hoán vị hộp thế nguyên thủy của AES dưới sự điều khiển của khóa bí mật dựa trên bộ sinh số giả ngẫu nhiên và các thanh ghi dịch phản hồi tuyến tính. Việc sinh các hộp thế động sẽ có ý nghĩa trong việc làm “động” hóa mã khối AES, góp phần nâng cao độ an toàn cho mã khối này.
TÀI LIỆU THAM KHẢO [1] Eman Mohammed Mahmoud, Ahmed Abd El Hafez, Talaat A. Elgarf, AbdelhalimZekry, Dynamic AES-128 with Key-Dependent S-box, International Journal of Engineering Research and Applications, Vol. 3, Issue 1, January -February 2013, pp.1662-1670. [2] Mark Goresky, and Andrew Klapper, Pseudo noise Sequences Based on Algebraic Feedback Shift Registers, IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 4, April 2006. |
TS. Trần Thị Lượng ( Học viện Kỹ thuật mật mã)
13:00 | 22/01/2021
08:00 | 28/04/2021
08:00 | 06/01/2021
08:00 | 30/03/2020
08:00 | 08/08/2024
Trí tuệ nhân tạo (AI) có khả năng xác định và ưu tiên các rủi ro, mang lại cho các chuyên gia IT cơ hội phát hiện ngay lập tức mã độc trong mạng của họ và phát triển chiến lược phản ứng sự cố. Hiện nay, AI đóng vai trò quan trọng trong quản lý an toàn thông tin (ATTT), đặc biệt là trong việc phản ứng với sự cố, dự đoán việc xâm phạm, kiểm soát hiệu suất và quản lý hàng tồn kho. Bài viết này giới thiệu về các ứng dụng của AI trong quản lý ATTT bằng cách xem xét những lợi ích và thách thức của nó, đồng thời đề xuất các lĩnh vực cho các nghiên cứu trong tương lai.
14:00 | 31/05/2024
Song hành cùng với sự phát triển của công nghệ thông tin thì việc phòng, chống tội phạm cũng đã có những bước tiến mạnh mẽ về công nghệ. Đồng thời cũng tồn tại nhiều bài toán khó và một trong số đó là việc nhận diện nhanh chóng tội phạm, đối tượng tình nghi ở những địa điểm công cộng như bến xe, bến tàu, nhà ga, sân bay,… Giải quyết được bài toán này càng sớm càng tốt sẽ mang lại rất nhiều ý nghĩa trong công tác phòng, chống tội phạm. Bài báo sẽ giới thiệu một giải pháp nhận dạng mặt người dựa trên giải thuật Adaboost và các đặc trưng Haar-like qua đó giúp quá trình phát hiện tội phạm chính xác và nhanh chóng hơn.
09:00 | 10/01/2024
Ngày nay, công nghệ trí tuệ nhân tạo (AI) có vai trò hết sức quan trọng trong mọi lĩnh vực của đời sống. Trong đó, lĩnh vực an toàn thông tin, giám sát an ninh thông minh có tiềm năng ứng dụng rất lớn. Bên cạnh các giải pháp như phát hiện mạng Botnet [1], phát hiện tấn công trinh sát mạng [2], việc ứng dụng AI trong giám sát an ninh, hỗ trợ điều tra tội phạm cũng đang được nghiên cứu, phát triển và ứng dụng rộng rãi. Trong bài báo này, nhóm tác giả đề xuất giải pháp sử dụng mô hình mạng nơ-ron tinh gọn phân loại tương tác giữa 2 người trong chuỗi ảnh rời rạc. Kết quả nghiên cứu có vai trò quan trọng làm cơ sở xây dựng và phát triển các mô hình phân loại hành động bất thường, phát hiện xâm nhập.
15:00 | 03/09/2023
Để bảo vệ thông tin dữ liệu được an toàn và tránh bị truy cập trái phép, mã hóa là một trong những cách thức hiệu quả nhất đảm bảo dữ liệu không thể đọc/ghi được, ngay cả trong trường hợp bị xâm phạm. Trong số 1 (065) 2022 của Tạp chí An toàn thông tin đã hướng dẫn về cách mã hóa ổ đĩa cứng sử dụng Bitlocker. Tuy nhiên, với người dùng phiên bản Windows 10 Home thì giải pháp này lại không được hỗ trợ. Bài viết sau sẽ giới thiệu đến độc giả VeraCrypt, một công cụ mã hóa miễn phí đa nền tảng với khả năng hỗ trợ nhiều thuật toán mật mã và hàm băm, cho phép người dùng mã hóa các tệp tin, phân vùng hệ thống và tạo ổ đĩa ảo mã hóa với tùy chọn phù hợp.
Triết lý an ninh mạng Zero Trust đặt ra nguyên tắc không có bất kỳ người dùng nào trong hoặc ngoài hệ thống mạng đủ tin tưởng mà không cần thông qua sự kiểm tra chặt chẽ về danh tính. Để triển khai Zero Trust hiệu quả, cần áp dụng các giải pháp công nghệ mạnh mẽ. Bài báo này sẽ trình bày những vấn đề cơ bản về Zero Trust.
10:00 | 25/10/2024
Nhằm trang bị cho người dân “vũ khí” chống lừa đảo trên không gian mạng, Cục An toàn thông tin (Bộ TT&TT) triển khai chiến dịch quốc gia với 5 nhóm kỹ năng thiết yếu, từ nhận biết dấu hiệu lừa đảo đến xử lý tình huống khi bị tấn công.
10:00 | 18/10/2024