Về một phương pháp tạo hộp thế động cho thuật toán mật mã dựa trên ánh xạ Chaotic
GIỚI THIỆU
Hộp S là thành phần cốt lõi của hầu hết các mật mã khối, chẳng hạn như chuẩn mã hóa dữ liệu (DES), chuẩn mã hóa nâng cao (AES)... Một mật mã khối mạnh phải có khả năng chống lại các các cuộc tấn công, chẳng hạn như thám mã tuyến tính và vi phân. Điều này thường đạt được nếu các hộp S được sử dụng đáp ứng số lượng các tiêu chí, chẳng hạn như song ánh, hiệu ứng tuyết lở, tiêu chí tuyết lở nghiêm ngặt (SAC),... Hộp S được cố định và sử dụng trong các hệ mã SPN (ví dụ như một thành phần phi tuyến quan trọng). Mặt khác, hộp S được sử dụng trong quá trình mã hóa có thể được chọn dưới sự kiểm soát của khóa, thay vì cố định.
Theo các thuộc tính của hệ thống hỗn loạn như hành vi ergodic, trộn lẫn và giống như ngẫu nhiên, dường như thuận tiện và đơn giản để có được các hộp thế “tốt” bằng cách sửa đổi một chút các điều kiện ban đầu hoặc các tham số. Nhiều cách tiếp cận để có được hộp S dựa trên sự hỗn loạn đã được trình bày:
- Trong [4], đề xuất một phương pháp dựa trên ánh xạ logistic hỗn loạn sử dụng khóa mật mã để tạo giá trị ban đầu. Sử dụng khóa mật mã để tạo giá trị ban đầu (x0 ) của ánh xạ logistic và kết quả đầu ra của ánh xạ logistic chính là các giá trị hộp S động.
- Các tác giả trong [5] kết hợp các ánh xạ hỗn loạn đơn giản, thường được sử dụng trong các ánh xạ hỗn loạn dựa trên mật mã. Phương pháp này sử dụng ba trong số các ánh xạ hỗn loạn ánh xạ logistic, ánh xạ Tent và ánh xạ hỗn loạn tuyến tính Piece-Wise. Các ánh xạ này sẽ được lặp lại bắt đầu từ điều kiện ban đầu x0 , đầu ra trở thành điều kiện ban đầu tiếp theo, một số lần lặp lại của ba ánh xạ hỗn loạn được thực hiện, bằng giá trị của chiều hộp S để đảm bảo sự bắt đầu của chế độ hoạt động hỗn loạn bình thường. Sau đó, sự lặp lại của ba hệ thống hỗn loạn động đang tiếp tục và tại mỗi lần lặp giá trị thực được giữ nguyên của mỗi hệ thống. Ba giá trị số thực được chuyển thành các giá trị nguyên.
- Trong [1] các tác giả đã đề xuất một thuật toán tạo hộp S động phụ thuộc khóa đầu vào dựa trên ánh xạ chaos, tuy nhiên độ phi tuyến của hộp S được tạo bởi phương pháp này khá thấp: tối đa là 94, tối thiểu là 82 và vẫn tồn tại điểm bất động, còn với hộp S được thiết kế theo phương pháp được đề cập trong [2] có độ phi tuyến được cải thiện hơn, nhưng cả 2 phương pháp này hộp S vẫn tồn tại điểm bất động.
Trong bài báo này sẽ giới thiệu một phương pháp mới dựa trên đặc tính trộn của các ánh xạ hỗn loạn (ánh xạ 2D logistic, ánh xạ 2D MCCM) để thiết kế hộp S động phụ thuộc khóa. Tiến hành đánh giá một số tính chất mật mã cơ bản của một số hộp thế cụ thể được tạo ra.
MỘT SỐ KIẾN THỨC CƠ SỞ LIÊN QUAN
Ánh xạ 2D MCCM
Để giải quyết các vấn đề do cấu trúc ánh xạ 1D còn đơn giản, hành vi hỗn loạn của chúng có thể dễ dàng dự đoán và thuật toán mã hóa không an toàn khi sử dụng chúng, ánh xạ 2D Multiple Collapse Chaotic (2D-MCCM) với hành vi hỗn loạn phức tạp hơn nhiều và tốc độ lặp lại cao hơn ánh xạ hỗn loạn 1D, đây là điều mà ánh xạ hỗn loạn HD không có. Biểu thức toán học của 2D-MCCM như sau:
Với a, b là các tham số và a, b Î (-¥, +¥). Trong 2D-MCCM, hàm arctangent được sử dụng để thu gọn ánh xạ thay vì hàm sin. Mặc dù hàm sin có thể thu gọn ánh xạ thành [-1, 1] và thu gọn cùng một ánh xạ nhiều lần, hàm arctang như một hàm đơn điệu có thể làm cho phân bố của dãy hỗn loạn đồng đều hơn. Điều này chỉ ra rằng chuỗi hỗn loạn được tạo bởi phép lặp 2D-MCCM có tính ngẫu nhiên mạnh hơn và kết quả của nó khó được dự đoán hơn, vì vậy nó có tính bảo mật cao hơn.
Ánh xạ 2D logistic
Ánh xạ 2D logistic là sự mở rộng của ánh xạ 1D logistic. Nó tăng không gian khóa cũng như sự phụ thuộc vào các tham số điều khiển. Trong ánh xạ 2D logistic, việc đoán các thông tin bí mật sẽ khó hơn một chút. Nó cũng thể hiện các hành vi hỗn loạn về việc tạo chuỗi. Nói chung nó làm tăng độ phức tạp của thuật toán.
Với (xi , yi) là cặp điểm ở lần lặp thứ i và μ1, μ2, γ1, γ2 là các tham số hệ thống. Khi 2,75< μ1 <μ1 ><= 3,4; 2,75< μ2 <μ2 ><= 3,45; 0,15< γ1 <γ1 ><= 0,21; 0,13< γ2 <γ2 ><= 0,15, hệ thống ở trạng thái hỗn loạn và có thể tạo ra hai chuỗi hỗn loạn trong khoảng (0, 1). Ánh xạ 2D logistic có độ phức tạp cao hơn so với ánh xạ 1D logistic thông thường. Sự phức tạp của ánh xạ logistic 1D và 2D có thể được đo lường bằng cách sử dụng các phương tiện khác nhau như entropy thông tin và số mũ Lyapunov đối với các cặp giá trị ban đầu khác nhau. Bằng cách so sánh này, nhận thấy rằng ánh xạ logistic 2D có giá trị entropy thông tin cao hơn ánh xạ logistic 1D, điều này ngụ ý rằng chu kì của nó giống như ngẫu nhiên hơn. Trong khi đó, ánh xạ logistic 2D cũng có số mũ Lyapunov lớn hơn ánh xạ logistic 1D, ngụ ý rằng ánh xạ logistic 2D là động hơn [1].
PHƯƠNG PHÁP TẠO HỘP THẾ ĐỘNG PHỤ THUỘC KHÓA VÀ ÁNH XẠ CHAOTIC
Thuật toán sinh hộp S động phụ thuộc khóa (*)
Thay thế là một phép biến đổi phi tuyến thực hiện xáo trộn các bit. Một phép biến đổi phi tuyến là điều cần thiết cho mọi thuật toán mã hóa hiện đại và được chứng minh là một thành phần hiệu quả để chống lại thám mã tuyến tính và vi sai. Các phép biến đổi phi tuyến được thực hiện dưới dạng bảng tra cứu (hộp S). Các ý tưởng chính của hộp S được đề xuất dựa trên tính chất trộn lẫn của các hệ phi tuyến hỗn loạn động. Các hộp S được đề xuất là một bảng gồm các giá trị số nguyên 16 x 16 (256 byte). Hộp S được tạo bằng cách sử dụng ánh xạ 2D MCCM và ánh xạ logistic. Ý tưởng chính tạo hộp S bao gồm các bước chính sau:
Bước 1: Điều kiện khởi tạo ban đầu (x0 và y0 ) được nhập vào ánh xạ 2D MCCM (1.1) và ánh xạ 2D logistic (1.2). Những con số này là các số dấu phẩy động trong đó độ chính xác là 10-16 cho mỗi x0 và y0, được coi là các khóa của hộp thế S.
Bước 2: Lặp lại 20000 lần ánh xạ 2D MCCM để tính giá trị x1 , y1 , và 200 lần ánh xạ 2D logistic để tính x2 , y2 .
Bước 3: 2 đầu ra của ánh xạ 2D MCCM (x1 , y1 ) được XOR với 2 đầu ra của ánh xạ 2D logistic (x2 , y2).
Bước 4: Đầu ra nx, ny được chuyển thành số nguyên thuộc [0 ... 255] bằng cách sử dụng phép tính sau:
Bước 5: Hai số nguyên n1, n2 được chèn vào bảng hộp S để tránh lặp lại các số giống nhau.
Bước 6: Lặp lại từ bước 2 cho đến khi hộp S chứa một hoán vị của tất cả các giá trị 256 byte có thể có. Bảng 1 cho thấy một ví dụ về hộp S được tạo từ các điều kiện ban đầu (x0= 0.0466926070038911 và y0 = 0.0389105058365759).
Bảng 1. Hộp thế được tạo từ thuật toán
Đánh giá tính chất hộp S được tạo
Bảng so sánh một số tính chất của hộp S được tạo bởi thuật toán (2.1) với thuật toán của các tác giả trong [1] được trình bày trong Bảng 2.
Bảng 2. So sánh các thuộc tính của hộp S sinh bởi thuật toán theo [1] và hộp S tạo bởi thuật toán sinh phụ thuộc khóa (*)
Kết quả thực nghiệm đánh giá một số tính chất mật mã của hộp thế được tạo bởi thuật toán đã nghiên cứu ở trên cho thấy hộp thế kết quả theo thuật toán (*) có các tính chất tốt hơn so với thuật toán được đề cập trong tài liệu [1], tuy nhiên các hộp thế này vẫn tồn tại các điểm bất động. Để có thể loại bỏ được các điểm bất động này, chúng ta hoàn toàn có thể cải tiến phương pháp trên bằng cách áp dụng 1 phép biến đổi tương đương affine.
KẾT LUẬN
Trong bài viết này, phương pháp tạo hộp thế động dựa trên đặc tính trộn của các ánh xạ hỗn loạn (ánh xạ 2D logistic, ánh xạ 2D MCCM) được giới thiệu. Đồng thời, một số tính chất mật mã cơ bản của một số hộp thế cụ thể được tạo ra đã được đánh giá chi tiết. Kết quả đánh giá cho thấy, mặc dù phương pháp đã cho có độ nhạy khá cao với các biến đầu vào. Tuy nhiên, một số tính chất mật mã của hộp thế được tạo ra là chưa tốt, độ phi tuyến chưa cao, còn tồn tại điểm bất động và điểm bất động bù,... Để loại bỏ điểm bất động và bất động bù, chúng ta có thể cải tiến phương pháp trên bằng cách áp dụng thêm một phép biến đổi tương đương affine vào các hộp thế đầu ra.
TÀI LIỆU THAM KHẢO [1]. F. J. Luma1, H. S. Hilal and A. Ekhlas, “New Dynamical Key Dependent S-Box based on chaotic maps”, IOSR Journal of Computer Engineering (IOSR-JCE) e-ISSN: 2278-0661,p-ISSN: 2278-8727, Volume 17, Issue 4, Ver. IV (July - Aug. 2015), PP 91-101. [2]. Chao Yang, Xia Wei, Cong Wang, “S-Box Design Based on 2D Multiple Collapse Chaotic Map and their Application in Image Encryption”, Entropy 2021. [3]. Hoàng Đức Thọ và cộng sự, “Nghiên cứu phát triển thuật toán đánh giá và cải thiện các tính chất mật mã của hộp thế dùng trong hệ mật mã khối”, Đề tài cơ sở, 2017. [4]. Mona Dara and Kooroush Manochehri, “A Novel Method for Designing S-Boxes Based on Chaotic Logistic Maps Using Cipher Key”, World Applied Sciences Journal 28 (12): 2003-2009, 2013 ISSN 1818-4952. [5]. Guesmi, Ramzi, et al. "A novel design of Chaos based S-Boxes using genetic algorithm techniques." Computer Systems and Applications (AICCSA), 2014 IEEE/ACS 11th International Conference on. IEEE, 2014. |
TS. Hoàng Đức Thọ, ThS. Hoàng Thu Phương, ThS. Trần Thị Xuyên (Học viện Kỹ thuật mật mã)