Nghiên cứu khoa học công nghệ<br />
<br />
MỘT SỐ THUẬT TOÁN MẬT MÃ KHỐI HIỆU NĂNG CAO CHO<br />
CÁC THIẾT BỊ TRUYỀN THÔNG KHÔNG DÂY<br />
Phạm Mạnh Tuấn*1, Đinh Phượng Trung2<br />
Tóm tắt: Trong bài báo này sẽ trình bày vấn đề sử dụng mạng chuyển vị-thay thế<br />
điều khiển được (CSPN) dựa trên lớp phần tử điều khiển được (CE) F2/2 để xây<br />
dựng các thuật toán mật mã khối hiệu năng cao khi cài đặt trên FPGA. Dựa trên<br />
CE F2/2 để xây dựng một họ thuật toán mật mã khối tốc độ cao mới (TMN64 và<br />
TMN128). Việc đánh giá độ an toàn của các thuật toán TMN theo tiêu chuẩn<br />
NESSIE và thám mã vi sai đã chỉ ra rằng, các thuật toán đề xuất đảm bảo đủ an<br />
toàn. Các kết quả tổng hợp trên phần cứng (FPGA) đã chứng minh rằng TMN là<br />
các thuật toán rất hiệu quả dành cho các thiết bị không dây.<br />
Từ khóa: Mật mã khối; Tích hợp trên FPGA; Nguyên thủy mật mã; Thiết bị không dây.<br />
<br />
1. ĐẶT VẤN ĐỀ<br />
Hiện tại, các lớp bảo mật của công nghệ không dây vẫn sử dụng các thuật toán mật mã<br />
mà nó đã được chứng minh là chưa hoàn toàn phù hợp với giải pháp phần cứng và đặc biệt<br />
là cho thiết bị không dây vì hầu hết các thuật toán mật mã sử dụng nhiều các biến đổi số<br />
học và đại số phức tạp và không thích hợp cho các giải pháp phần cứng [1]. Đó là nguyên<br />
nhân tại sao các giải pháp mật mã khi tích hợp thường chiếm nhiều tài nguyên của hệ<br />
thống. Vì vậy, trong nhiều trường hợp các ứng dụng phần mềm được phát triển để hỗ trợ<br />
các giải pháp mã hoá. Nhưng giải pháp phần mềm không thể phù hợp cho ứng dụng trên<br />
các thiết bị không dây vì các ứng dụng trên các thiết bị này thường yêu cầu có tốc độ và<br />
hiệu năng đặc thù [1, 2].Do đó, việc phát triển các thuật toán mật mã theo yêu cầu đảm bảo<br />
tốc độ và có hiệu quả tích hợp cao, phù hợp triển khai trên phần cứng, đáp ứng nhu cầu<br />
thay khóa phiên thường xuyên, đảm bảo độ an toàn nhằm đáp ứng yêu cầu ngày càng cao<br />
của các ứng dụng là rất cần thiết.<br />
Đối với các thuật toán mật mã dựa trên mạng chuyển vị - thay thế điều khiển được<br />
(CSPN) có thể được xây dựng dựa trên lớp các phần tử điều khiển được (controlled<br />
elements – CEs) – P2/1, F2/1 và F2/2 [1, 2]. Với ưu điểm của các CEF2/2[1, 3, 5,6], chúng cho<br />
phép xây dựng các thuật toán mật mã có độ an toàn và hiệu quả tích hợp cao hơn so với<br />
các thuật toán dựa trên DDP [1,4]. Bởi vì tất cả các thuật toán mật mã dựa trên DDO đã<br />
công bố [1, 2], chúng đều hướng tới thực hiện trên môi trường có tài nguyên hạn chế và<br />
các mạng tốc độ cao, vì vậy, tất cả các thuật toán này đều sử dụng lược đồ khóa đơn giản.<br />
Dựa trên lớp CE F2/2, trong bài báo này sẽ trình bày kết quả xây dựng họ thuật toán mật<br />
mã khối tốc độ cao TMN (bao gồm 2 thuật toán TMN64 và TMN128). Các chứng minh,<br />
đánh giá về độ an toàn và hiệu quả của các thuật toán phát triển sẽ được trình bày tổng hợp<br />
trong bài báo. Các kết quả đánh giá nhận được sẽ chỉ ra rằng, họ thuật toán này hoàn toàn<br />
có thể sử dụng trong thực tiễn để ứng dụng trên các thiết bị truyền thông không dây.<br />
Họ thuật toán được phát triển với cấu trúc hoàn toàn tương tự nhau nhưng sử dụng ưu<br />
nhược điểm về độ an toàn và hiệu năng thực hiện của kích thước khóa và dữ liệu được lựa<br />
chọn khác nhau. Với việc lựa chọn kích thước khối dữ liệu được xử lý khác nhau (64 hoặc<br />
128 bit) và độ dài khóa bí mật khác nhau (128 hoặc 256 bit), cho phép chúng có thể ứng<br />
dụng trong các thiết bị có cấu hình và môi trường làm việc khác nhau.<br />
Phần còn lại của bài báo được trình bày như sau: trong phần 2 sẽ trình bày tổng quan về<br />
các lớp CE F2/2; Trong phần 3, sẽ trình bày về các kết quả xây dựng họ thuật toán mật mã<br />
khối mới TMN sử dụng lược đồ khóa đơn giản; Trong phần 4, sẽ trình bày các kết quả<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 49, 06 - 2017 85<br />
Kỹ thuật điều khiển & Điện tử<br />
<br />
đánh giá độ an toàn và hiệu quả tích hợp của thuật toán trên FPGA; Phần còn lại của bài<br />
báo, sẽ mô tả các kết quả đạt được.<br />
2. MÔ TẢ LỚP NGUYÊN THỦY MẬT MÃ F2/2<br />
Các phần tử điều khiển được F2/2 được mô tả như trên hình 1.<br />
x1 x2<br />
x1 x2<br />
<br />
v v<br />
z<br />
z<br />
<br />
<br />
<br />
<br />
S1 S2 S3 S4<br />
x1 x2 x1 x2 x1 x2 x1 x2 xj<br />
xj yi / vk<br />
v <br />
Pr yi / x j , vk<br />
k<br />
i , j , k 0 ,1 , 2<br />
yi<br />
(1) (1) (2) (2) (3) (3) (4) (4)<br />
y 1 y 2<br />
y<br />
1 y2 y<br />
1 y<br />
2<br />
y<br />
1<br />
y<br />
2<br />
<br />
<br />
<br />
<br />
Hình 1. Cấu trúc biểu diễn của CEs F2/2.<br />
a. Mô tả ở dạng tổng quát; b. Hàm logic; c. Cặp 4 phép thế; d. Đặc trưng vi sai.<br />
Cấu trúc của CE F2/2 có thể được biểu diễn theo các cách như mô tả trên hình 1. Trong<br />
đó: F2/2 được biểu diễn như một hộp đen (hình 1a); F2/2 được biểu diễn như một cặp các<br />
hàm Boole (HB) f1, f2 với 4 biến vào, với y1 = f1(x1, x2, v, z); y2 = f2(x1, x2, v, z) (hình 1b);<br />
F2/2 được biểu diễn dưới dạng cặp 4 phép thế 2x2(hình 1c), mỗi một phép thế có 2 bit vào<br />
(x1, x2). Mỗi phép thế đó tương ứng với một véc tơ điều khiển có các giá trị tương ứng là: v<br />
= (0,0), (0,1), (1,0), (1,1).<br />
Hệ thức biểu diễn mỗi quan hệ giữa cách biểu diễn thông qua cặp HB và cặp phép thế<br />
như trên được mô tả như sau:<br />
y1= (v ⊕ 1)(z ⊕ 1) y1(1) ⊕z (v ⊕ 1) y1(2) ⊕v (z ⊕1) y1(3) ⊕vzy1(4) (1)<br />
y2= (v ⊕ 1)(z ⊕ 1) y2(1) ⊕z (v ⊕ 1) y2(2) ⊕v (z ⊕ 1) y2(3) ⊕vzy2(4) (2)<br />
<br />
3. HỌ THUẬT TOÁN MẬT MÃ KHỐI HIỆU NĂNG CAO<br />
Trong phần này, sẽ đề xuất họ thuật toán mật mã khối mới, chúng được xây dựng dựa<br />
trên CEF2/2. Họ thuật toán này, được xây dựng theo cấu trúc giống nhau với thiết kế của<br />
nhánh xử lý dữ liệu bên phải là hoàn toàn mới so với các kiến trúc đã biết. Nhờ các<br />
nguyên tắc xây dựng này các họ thuật toán đề xuất sẽ có tốc độ xử lý và hiệu năng cao trên<br />
FPGA. Họ thuật toán đề xuất, sẽ được ký hiệu tương ứng là: TMN64 và TMN128.<br />
3.1. Mô tả thuật toán<br />
Họ thuật toán TMN (TMN64 và TMN128) sử dụng CE kiểu (h, f, e, j) [1]. Bộ phần tử<br />
này được biểu diễn bởi các phương trình như sau:<br />
y1 = vzx2 vz vx1 zx1 z x1 x2;y2 = vzx1 vx1 vx2 zx2 zx1 z x2;y3 = y1<br />
y2 = vzx1 vzx2 vz vx2 zx2 x1.<br />
Mô tả của họ thuật toán được chỉ ra trên hình 2.<br />
<br />
<br />
86 P. M. Tuấn, Đ. P. Trung, “Một số thuật toán mật mã… thiết bị truyền thông không dây.”<br />
Nghiên cứu khoa học công nghệ<br />
<br />
<br />
<br />
<br />
Hình 2. Sơ đồ tổng quát của họ thuật toán (a); Sơ đồ một vòng mã hóa cơ sở<br />
của TMN64 (b); Sơ đồ một vòng mã hóa cơ sở của TMN128 (c).<br />
Thuật toán TMN64:<br />
Trong nhánh trái của thuật toán TMN64 sử dụng hai CSPN F32/192 và F−132/192. Ở đây,<br />
F32/192 được thiết kế dựa trên 2 CSPN: F32/96 (bao gồm 4 khối F8/24) và F−132/96 (bao gồm 4<br />
khối F−18/24 ) (hình 3a), còn F−132/192 là sự kết nối 2 CSPN: F−132/96 (bao gồm 4 khối F−18/24 và<br />
4 khối F8/24) (hình 3b).<br />
<br />
<br />
<br />
<br />
Hình 3. Các CSPN F32/192(a) và F−132/192 (b).<br />
Các mạng này được thiết kế dựa trên các CE F2/2 như chỉ ra trên hình 4a và 4b.<br />
<br />
<br />
<br />
<br />
Hình 4. Các CSPN F8/24 (a) và F−18/24 (b).<br />
Hoán vị I1 được thiết kế như sau:<br />
(1)(2,9)(3,17)(4,25)(5)(6,13)(7,21)(8,29)(10)(11,18)(12,26)(14)(15,22)(16,30)(19)(20,27)<br />
(23)(24,31)(28)(32)<br />
Nhánh phải của thuật toán TMN64 sử dụng CSPN Si được thiết kế như mô tả trên hình 5.<br />
<br />
<br />
Tạp chí Nghiên cứu KH&CN quân sự, Số 49, 06 - 2017 87<br />
Kỹ thuật điều khiển & Điện tử<br />
<br />
<br />
<br />
<br />
Hình 5. Các CSPN Si(a); Khối Sd(b); Khối S-1d(c).<br />
Hoán vị I2 được thiết kế như sau:<br />
(1)(2,5)(3,9)(4,13)(6)(7,10)(8,14)(11)(12,15)(16)<br />
Khối toán tử điều khiển được P16/8 được thiết kế như mô tả trên hình 6b.<br />
<br />
<br />
<br />
<br />
Hình 6. CE P2/1(a); khối P16/8(b);khối P32/16(c).<br />
Trong đó, véc tơ điều khiển Ulo sử dụng 8 bit thấp của dữ liệu các nhánh để điều khiển<br />
các khối Sd và S-1d.<br />
Khối mở rộng E được thiết kế như sau: E(X) = (X, X