About a lightweight block cipher, high-speed encryption on virtex6 chip geared towards wireless sensor networks
Bạn đang xem tài liệu "About a lightweight block cipher, high-speed encryption on virtex6 chip geared towards wireless sensor networks", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- about_a_lightweight_block_cipher_high_speed_encryption_on_vi.pdf
Nội dung text: About a lightweight block cipher, high-speed encryption on virtex6 chip geared towards wireless sensor networks
- TNU Journal of Science and Technology 226(16): 204 - 211 ABOUT A LIGHTWEIGHT BLOCK CIPHER, HIGH-SPEED ENCRYPTION ON VIRTEX6 CHIP GEARED TOWARDS WIRELESS SENSOR NETWORKS Do Thi Bac*, Au The Linh TNU - University of Information and Comunication Technology ARTICLE INFO ABSTRACT Received: 04/8/2021 The article of the study is the lightweight block cipher Crypt(BM)_64A and the performance evaluation model on FPGA Revised: 15/11/2021 (Field-programmable gate array) reconfigurable hardware. On that Published: 15/11/2021 basis, the researcher executed the Crypt(BM)_64A block cipher on the Virtex6-XC6VLX75T/FF484 chip in the base cipher ring mode to KEYWORDS evaluate its suitability for wireless applications through the cost of resources, throughput, etc. At the same time, the study also compared Lightweight block cipher the efficiency of the Crypt(BM)_64A algorithm with the widely used Field-programmable gate array encryption algorithms like the in the AES competition. Thereby the study will help system developers to have more grounds to choose the Block cipher right encryption data security solution for each specific intensive Wireless sensor network application that the system is expecting to target. The results of CSPN (controllable permutation research and the implementation of block cipher Crypt(BM)_64A on network) FPGA with Vertex6 series XC6VLX75T/FF484 confirmed that Crypt(BM)_64A is a complete lightweight block cipher algorithm which is suitable for applications for wireless sensor networks with high integration efficiency, low cost of the area, ensuring compactness, limited power dissipation through high- clock. VỀ MỘT THUẬT TOÁN MÃ KHỐI HẠNG NHẸ, MÃ HÓA TỐC ĐỘ CAO TRÊN CHIP VIRTEX6 HƯỚNG TỚI ỨNG DỤNG CHO MẠNG CẢM BIẾN KHÔNG DÂY Đỗ Thị Bắc*, Âu Thế Linh Trường Đại học Công nghệ thông tin và Truyền thông – ĐH Thái Nguyên THÔNG TIN BÀI BÁO TÓM TẮT Ngày nhận bài: 04/8/2021 Bài báo nghiên cứu về thuật toán mã hóa khối hạng nhẹ Crypt(BM)- _64A và mô hình đánh giá hiệu quả trên phần cứng có khả năng tái Ngày hoàn thiện: 15/11/2021 cấu hình FPGA (Field-programmable gate array). Trên cơ sở đó tiến Ngày đăng: 15/11/2021 hành thực thi thuật toán mã hóa khối Crypt(BM)_64A trên chip Virtex6-XC6VLX75T/FF484 ở chế độ vòng mã hóa cơ sở để đánh TỪ KHÓA giá tính phù hợp của nó cho các ứng dụng không dây thông qua các chi phí về tài nguyên, thông lượng, Đồng thời, nghiên cứu cũng Mã hóa khối hạng nhẹ thực hiện so sánh hiệu quả thuật toán Crypt(BM)_64A với một số các Công nghệ FPGA thuật toán mã hóa đang được sử dụng rộng rãi như các thuật toán trong cuộc thi AES. Qua đó giúp các nhà phát triển hệ thống có thêm Mã khối căn cứ trong việc lựa chọn giải pháp bảo mật dữ liệu bằng mã hóa Mạng cảm biến không dây phù hợp cho mỗi ứng dụng chuyên sâu cụ thể mà hệ thống dự kiến CSPN (mạng hoán vị thay thế điều hướng tới. Kết quả nghiên cứu và thực thi thuật toán mã hóa khối khiển được) Crypt(BM)_64A trên FPGA với dòng Vertex6 mã hiệu XC6VLX75T/FF484 có thể khẳng định, Crypt(BM)_64A là thuật toán mã hóa khối hạng nhẹ hoàn toàn phù hợp với các ứng dụng cho các mạng cảm biến không dây với hiệu quả tích hợp cao; chi phí về diện tích thấp, đảm bảo tính gọn nhẹ; tiêu hao năng lượng hạn chế thông qua xung nhịp cao. DOI: * Corresponding author. Email: dtbac@ictu.edu.vn 204 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(16): 204 - 211 1. Giới thiệu Với sự bùng nổ của cách mạng công nghệ số ngày nay, sự phát triển mạnh mẽ của dịch vụ số, đi kèm theo đó việc giữ thông tin, an toàn bảo mật dữ liệu của các hệ thống luôn luôn được chú trọng để nâng cao độ trên nhiều phương diện như độ an toàn, tính hiệu quả. Tuy nhiên, những năm gần đây tính hiệu quả được các nhà phát triển ứng dụng đánh giá và mong đợi. Bản chất là do các thuật toán bảo mật truyền thống dần dần không còn phù hợp trong các hệ thống nói chung và đặc biệt các ứng dụng chuyên biệt như mạng cảm biến không dây (WSN-Wireless Sensor Networks), điện thoại di động, các thiết bị cầm tay PDA, Đặc trưng cơ bản của các thiết bị này là tính hạn chế về nguồn năng lượng, hạn chế về khả năng tính toán, hạn chế về diện tích bề mặt, yêu cầu có thể làm việc trong các môi trường khắc nghiệt khác nhau, trong các lĩnh vực khác nhau nhưng yêu cầu về tính an toàn bảo mật của chúng lại không giảm, đòi hỏi tốc độ truyền thông cao, đáp ứng chế độ thời gian thực, giá thành rẻ, [1]. Vì vậy, việc xây dựng các thuật toán mã hóa chuyên biệt nhằm hướng đến ứng dụng riêng trong các mạng truyền thông không dây tốc độ cao và đạt hiệu năng cao trong thiết kế là yếu tố quan trọng, cấp thiết và phù hợp với sự phát triển của công nghệ ngày nay. Đây là vấn đề đã được các nhà khoa học về mật mã quan tâm, đại diện như các nghiên cứu [2]-[8] về thuật toán mật mã khối trên cơ sở mạng hoán vị thay thế được điều khiển (CSPN-Controlled Substitution Permutation Network) nhằm đáp ứng cho các yêu cầu về tốc độ đường truyền, thời gian thực, giá thành rẻ, hiệu năng sử dụng cao. Do vậy, giải pháp này đảm bảo được các yêu cầu đối với một mã hóa hạng nhẹ nhằm ứng dụng cho các hệ thống cảm biến như: phản hồi thời gian thực, chi phí thiết bị thấp, diện tích nhỏ, tiêu hao năng lượng ít, xong tốc độ xử lý cao. Mặt khác, khi xây dựng một thuật toán mã khối hạng nhẹ, tốc độ cao cho một ứng dụng cụ thể, các tiêu chí thường được quan tâm như: tính an toàn, giá thành, năng lượng tiêu thụ, tốc độ mã hóa và giải mã, diện tích bộ nhớ, khả năng chống lại sự thám mã vi sai, Do đó, để có nhiều sự lựa chọn thuật toán phù hợp với từng ứng dụng đó, trong bài báo này chúng tôi chứng minh tính phù hợp của thuật toán Crypt(BM)_64A [4] là mã khối hạng nhẹ, tốc độ cao phù hợp với các tiêu chí hướng tới là: Cài đặt trên FPGA cụ thể, ứng dụng trong các mạng cảm biến không dây đòi hỏi hiệu năng và tốc độ cao. Bài báo được tổ chức như sau: Phần 1, giới thiệu tổng quan; Phần 2, trình bày thuật toán; Phần 3, trình bày về các thông số đánh giá khi thực hiện trên FPGA; Phần 4, triển khai thực hiện trên CHIP Virtex6-XC6VLX75T/FF484 và kết luận. 2. Mô hình thiết kế hình thức của thuật toán mã hóa Crypt(BM)_64A Crypt(BM)_64A là thuật toán được phát triển bởi nhóm tác giả Đỗ Thị Bắc và Nguyễn Hiếu Minh [4]. Đây là thuật toán được thiết kế nhằm hướng tới sử dụng trong các mạng cảm biến không dây với nhiều ưu thế đã được công bố trước đó về độ an toàn và khả năng thay đổi khóa phiên thường xuyên. Crypt(BM)_64A được thiết kế theo mô hình song song trong vòng mã hóa cơ sở và CSPN được thiết kế theo phương pháp đồng nhất. Crypt(BM)_64A có độ dài khối là 64 bit, với 10 vòng biến đổi và khóa có độ dài là 128 bit hoặc 192 bit hoặc 256 bit. Crypt(BM)_64A được xây dựng trên cơ sở phần tử nguyên thủy Q2/1. Sơ đồ một vòng mã hóa cơ sở của Crypt(BM)_64A như hình 1a. Quá trình thiết kế CSPN sử dụng trong thuật toán được mô tả như sau: Q2/1 Q4/4 Q16/32. Chi tiết thiết kế các phần tử trong thuật toán được mô tả trong hình 1. Quá trình thực hiện của thuật toán được mô tả như sau: Thuật toán Crypt(BM)_64A 1. 64 bit dữ liệu vào được chia thành 2 khối A và B, mỗi khối có kích thước 32 bit (e) 2. For j = 1 to 9 do {(A, B) Crypt (A, B, Qj,Uj ); (A, B) (B, A)} (e) 3. {(A, B) Crypt (A, B, Q10,U10 )} 4. {(A, B) (A Q11, B U11) 205 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(16): 204 - 211 Trong hình 1 các hoán vị được mô tả như sau: I = (1) (2, 9) (3, 17) (4, 25) (5) (6, 13) (7, 21) (8, 29) (9,2) (10) (11, 18) (12, 26) (13, 6) (14) (15, 22) (16, 30) (17,3) (18,11) (19) (20, 27) (21, 7) (22,15) (23) (24, 31) (25,4) (26, 12) (27, 20) (28) (29,8) (30, 16) (31, 24) (32); I1 = (1,9) (2,13) (3,10) (4,14) (5,11) (6,15) (7,12) (8,16) (9,1) (10, 3) (11,5) (12,7) (13,2) (14, 4) (15,6) (16, 8); P = (1) (2,5) (3,9) (4,13) (5, 2) (6) (7,10) (8,14) (9, 3) (10, 7) (11) (12,15 (13, 4) (15, 12) (16). - Khối mở rộng E được xây dựng như sau: E(X) = (X, X<<<8). Khóa vòng Uj/Qj (mã hóa) hoặc Q′j/U′j (giải mã) của thuật toán Crypt(BM)_64A được lựa chọn từ các khóa con Ki và được liệt kê chi tiết trong bảng 1. Lịch biểu sử dụng khóa trong bảng 1 được xây dựng cho cả 3 cấp độ khóa 128 bit, 192 bit và 256 bit. A a) B 32 32 Qj Uj 32 32 I 16 16 16 16 32 Q E 16/32 32 32 (4) S Q Q -1 4 x4 16/32 16/32 P P I1 I1 -1 -1 Q (4)S4 x4 16/32 32 32 E Q 16/ 32 32 -1 Q 16/ 32 32 32 I c ) b) 16 V V V Q Q V 1 Q Q Q Q 4 1 2/1 2/1 2 4/4 4/4 4/4 4/4 V2 V3 V3 V2 Q Q Q Q V 4/4 4/4 4/4 4/4 V V Q Q V 4 1 2 2/1 2/1 1 16 Hình 1. Sơ đồ thiết kế của thuật toán Crypt(BM)_64A -1 -1 a) Vòng mã hóa cơ sở, b) Q4/4 và Q 4/4, c) Q16/32 và F 16/32. Bảng 1. Lược đồ khóa sử dụng trong Crypt(BM)_64A Vòng 1 2 3 4 5 6 7 8 9 10 FT=11 Khóa 128 bit Qj/Uj K1/K3 K2/K3 K3/K2 K4/K1 K4/K2 K1/K3 K4/K3 K1/K2 K2/K4 K4/K1 K1/K3 Q'j/U'j K1/K3 K4/K1 K2/K4 K1/K2 K4/K3 K1/K3 K4/K2 K4/K1 K3/K2 K2/K3 K1/K3 Khóa 192 bit Qj/Uj K1/K3 K2/K4 K5/K6 K2/K1 K4/K6 K5/K3 K2/K3 K1/K3 K3/K2 K6/K5 K1/K3 Q'j/U'j K1/K3 K6/K5 K3/K2 K1/K3 K2/K3 K5/K3 K4/K6 K2/K1 K5/K6 K2/K4 K1/K3 Khóa 256 bit Qj/Uj K1/K3 K2/K4 K5/K8 K7/K6 K4/K2 K2/K8 K6/K5 K1/K3 K3/K7 K7/K4 K1/K3 Q'j/U'j K1/K3 K7/K4 K3/K7 K1/K3 K6/K5 K2/K8 K4/K2 K7/K6 K5/K8 K2/K4 K1/K3 206 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(16): 204 - 211 Hình 2. Cấu trúc thiết kế mật mã khối trên FPGA (a) Cấu trúc vòng lặp cơ sở, (b) Cấu trúc vòng lặp toàn phần (PP) 3. Mô hình thiết kế trên FPGA thuật toán mã hóa Mỗi thiết kế trên FPGA thường nhằm tới mục tiêu cụ thể để lựa chọn giải pháp, lựa chọn dòng thiết bị phù hợp. Vì vậy, chiến lược thiết kế luôn phụ thuộc vào từng ứng dụng, có ứng dụng đòi hỏi có giới hạn về thời gian, một số ứng dụng khác đòi hỏi về tốc độ, giá cả, độ an toàn, Đặc biệt, có ứng dụng cần sự tổ hợp hài hòa của nhiều yếu tố. Riêng với các thuật toán mã hóa khối, để đạt được tốc độ nhanh khi triển khai thực hiện các thuật toán mã hóa trên FPGA, yêu cầu đặt ra là cần có sự nghiên cứu sâu ở mỗi giai đoạn thiết kế. Trong phần này, nhóm nghiên cứu sẽ mô tả chiến lược thiết kế với 2 cấu trúc thường được sử dụng để thực hiện các thuật toán mã hóa nhằm giúp cho các nhà thiết kế ứng dụng trên FPGA lựa chọn. a. Cấu trúc lặp cơ sở: Với cấu trúc lặp cơ sở (IL-Iterative Looping) chỉ thiết kế một vòng và thuật toán mật mã khối được thực hiện lặp lại n chu kỳ (hình 2a). Việc thiết kế theo cấu trúc này sẽ có chi phí về tài nguyên nhỏ hơn nhưng lại tiêu thụ nhiều xung nhịp thời gian hơn và có tốc độ mã hóa/giải mã thấp. b. Cấu trúc vòng mở rộng: Cấu trúc vòng mở rộng (LU - Loop Unrolling) hay gọi kiểu đường ống (PP-pipeline), các vòng được tái tạo lại (hình 2b). Thiết kế này có tốc độ cao hơn nhưng chi phí về tài nguyên nhiều hơn. c. Các thông số đánh giá hiệu quả thực hiện thuật toán mã hóa trên FPGA - Thông lượng: Thông lượng (Throughput) là yếu tố quan trọng để tính toán hiệu suất định giờ của các thiết kế. Thông lượng được xác định theo công thức (1). Thông lượng càng lớn thì hiệu quả của thuật toán càng cao. Tần số × Số bit Thông lượng = (bit/s) (1) số chu kỳ - Tài nguyên: Thông thường chi phí về tài nguyên (Resource) của mỗi thiết kế được xác định thông qua các chi phí theo một trong các thông số sau: số lượng slices; số lượng flip flop; số CLB (Configurable Logic Block); số lượng LUT (Look-Up Table); số lượng IOB (Input/Output Block); số lượng Block Select RAMs (BRAMs). Sự so sánh lý tưởng sẽ là so sánh về toàn bộ các nguồn tài nguyên trên và cùng được thiết kế trên các dòng thiết bị FPGA tương tự. Người ta cho rằng, thiết kế thuật toán có tốc độ mã/giải mã nhanh nhất là thiết kế mà có được kết quả tốc độ cao nhất (chỉ quan tâm đến lưu lượng thông tin) dù cho đó là loại thiết bị nào đã được dùng để triển khai thiết kế. Tuy nhiên, để đánh giá thiết kế thuật toán là hiệu quả (thiết kế được tối ưu hóa cho tài nguyên phần cứng) thì cần sử dụng kết quả so sánh giữa những thiết bị giống nhau để đưa ra thông số chi phí về tài nguyên bộ nhớ. Như vậy, cả tài nguyên và thông lượng đều giúp đánh giá hiệu quả của các thiết kế. Tuy nhiên, nhằm quyết định việc một thiết kế nào đó là hiệu quả hay không, cần xem xét thêm một số yếu tố khác như: Thông lượng/Tài nguyên, thông lượng/(tài 207 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(16): 204 - 211 nguyên * tần số). Các thông số này cũng được nhóm phát triển sử dụng để công bố trong kết quả nghiên cứu dưới đây. 4. Thiết kế của thuật toán Crypt(BM)_64A trên FPGA CHIP Virtex6-XC6VLX75T/FF484 FPGA là một loại mạch tích hợp cỡ lớn, dùng cấu trúc mảng phần tử logic để người dùng có thể lập trình được. Trong công đoạn thiết kế để tối ưu hóa các mục tiêu, giảm chi phí, rút ngắn thời gian đưa sản phẩm vào sử dụng, các nhà thiết kế ứng dụng chọn giải pháp dùng FPGA, còn nếu so sánh với các dạng khác như PLA, PAL, CPLD thì FPGA ưu việt hơn bởi các yếu tố sau: tác vụ tái lập trình của FPGA thực hiện đơn giản hơn; khả năng lập trình linh động hơn; khác biệt quan trọng nhất là kiến trúc của FPGA cho phép nó có khả năng chứa khối lượng lớn cổng logic (logic gate), so với các vi mạch bán dẫn lập trình được trước đó. Thiết kế trên FPGA được thực hiện chủ yếu bằng các ngôn ngữ mô tả phần cứng HDL như VHDL, Verilog, AHDL. Các hãng sản xuất FPGA lớn như Xilinx, Altera thường cung cấp các gói phần mềm và thiết bị phụ trợ cho quá trình thiết kế. Nhiều hãng thứ ba cung cấp các gói phần mềm kiểu này như Synopsys, Synplify Các gói phần mềm này có khả năng thực hiện tất cả các bước của toàn bộ quy trình thiết kế IC chuẩn với đầu vào là mã thiết kế trên HDL. Hình 3. Giới thiệu Chip Virtex®-6 Để có các kết quả thảo luận cụ thể, nghiên cứu đã được triển khai thực hiện trên môi trường phần cứng và phần mềm cụ thể như sau: Hệ điều hành Windows 10 - 64 bit của máy tính DELL Vostro 3578 chip Core i5 – 8250U, ram 4G, ổ cứng 250G; Dòng chip FPGA được lựa chọn là Virtex-6 với số hiệu XC6VLX75T/FF484; Phần mềm mô phỏng phiên bản Xillinx 13.4; Ngôn ngữ lập trình VHDL. Đây các phần mềm và phần cứng thông dụng được sử dụng phổ biến hiện nay. 5. Giới thiệu về chip Virtex®-6 FPGA: Virtex®-6 [9] là Kit được phát triển hướng đến sử dụng cho các ứng dụng đòi hỏi băng thông và hiệu suất cao. Nó được sử dụng trong nhiều phân khúc thị trường khác nhau tùy thuộc vào mục tiêu của nhà phát triển các ứng dụng trên đó. Bộ kết nối FPGA Virtex-6 cho phép thiết kế với các tiêu chuẩn nối tiếp phổ biến hoặc theo các tiêu chuẩn nối tiếp độc quyền thông qua giao diện SMA. Virtex®-6 (xem hình 3) được cấu thành từ các bộ phận: các khối logic cơ bản lập trình được (logic block); Hệ thống mạch liên kết lập trình được; Khối vào/ra (IO Pads); Phần tử thiết kế sẵn khác như DSP slice, RAM, ROM, nhân vi xử lý Thông số kỹ thuật của chíp được mô tả trong bảng 2; trong đó, mỗi slide gồm 4 khối LUT và 8 khối flip-flops. 6. Giải pháp thực nghiệm Nhóm nghiên cứu đã tiến hành thực nghiệm và lựa chọn chip Virtex6-XC6VLX75T/FF484 với chiến lược thiết kế IL-Iterative Looping (như đã mô tả trong hình 2a) cho thuật toán mã hóa Crypt(BM)_64A. Thiết kế của thuật toán Crypt(BM)_64A trên FPGA theo chiến lược IL được mô tả trong 7 file và mỗi file có chức năng tương ứng được giải thích chi tiết trong bảng 3. 208 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(16): 204 - 211 Bảng 2. Thông số kỹ thuật của các dòng thiết bị Virtex®-6. Interfac Configurable DSP4 M Ethe Maximum Total Max e Blocks Logic Blocks 8E1 Block RAM Blocks MC rnet Transceive I/O User for PCI (CLBs) Slice Ms MAs rs Banks I/O Express Logic Device Max Cells Distri 18 36 Max GT GT Slices buted Kb Kb (Kb) X H RAM (Kb) XC6VLX75T 74,496 11,640 1,045 288 312 156 5,16 6 1 4 12 0 9 360 XC6VLX130T 128,000 20,000 1,740 480 528 264 9,504 10 2 4 20 0 15 600 XC6VLX195T 199,680 31,200 3,040 640 688 344 12,384 10 2 4 20 0 15 600 XC6VLX240T 241,152 37,680 3,650 768 832 416 14,976 12 2 4 24 0 18 720 XC6VLX365T 364,032 56,880 4,130 576 832 416 14,976 12 2 4 24 0 18 720 XC6VLX550T 549,888 85,920 6,200 864 1264 632 22,752 18 2 4 36 0 30 1200 XC6VLX760 758,784 118,560 8,280 864 1,440 720 25,344 18 0 0 0 0 30 1200 XC6VSX315T 314,880 49,200 5,090 1,344 1,408 704 25,344 12 2 4 24 0 18 720 XC6VSX475T 476,160 74,400 7,640 2,016 2,128 1,064 38,304 18 2 4 36 0 21 840 XC6VHX250T 251,904 39,360 3,040 576 1,008 504 18,114 12 4 4 48 0 8 320 XC6VHX255T 253,440 39,600 3,050 576 1,032 516 18,576 12 2 2 24 24 12 480 XC6VHX380T 382,464 59,760 4,570 864 1,536 768 27,648 18 4 4 48 24 18 720 XC6VHX565T 566,784 88,560 6,370 864 1,824 912 32,832 18 4 4 48 24 18 720 Bảng 3. Danh mục các file thiết kế trên FPGA và chức năng tương ứng Tên file Chức năng 1 alg_iterative.vhdl Mô tả chế độ làm việc của thuật toán 2 alg_pack.vhd Định nghĩa các phần tử điều khiển, các phép biến đổi sử dụng trong thuật toán và hàm biến đổi cho vòng mã hóa cơ sở 3 alg_top_Iter.vhd Mô tả cổng tín hiệu của các khối chức năng 4 controller_iter.vhdl Mô tả khối điều khiển của chương trình 5 interface.vhdl Mô tả tín hiệu đầu vào, tín hiệu ra, tín hiệu điều khiển, chuyển dữ liệu 6 reg64b.vhd Mô tả việc chuyển đổi dữ liệu giữa 2 thanh ghi 7 key_schedule_iter.vhd Mô tả lược đồ khóa của thuật toán Trên cơ sở các modul thiết kế của từng khối chức năng, sơ đồ thiết kế tổng thể của thuật toán trên FPGA theo cấu trúc IL được biểu diễn trong hình 4. 7. Kết quả thực hiện Nghiên cứu được triển khai thực thi trên CHIP Vertex6 mã hiệu XC6VLX75T/FF484, các kết quả chi tiết được minh họa trong hình 6; trong đó, vùng 1: mô tả các thông số trạng thái của thiết kế; vùng 2: thông tin về tài nguyên khi thực thi trên thiết bị đã chọn, bao gồm các thông số chi phí về tài nguyên như số các slide, số CLB, số Flip/flops, đã sử dụng. Đồng thời, để có kết quả so sánh và đánh giá khách quan về tính phù hợp của thuật toán cho các ứng dụng không dây, nhóm nghiên cứu cũng đã tiến hành cài đặt thêm 2 thuật toán mã hóa đang được sử dụng phổ biến hiện nay là RC6 và Rijndeal trên cùng dòng chip Vertex6 mã hiệu XC6VLX75T/FF484. Các số liệu được tổng hợp trong bảng 4. Thông qua kết quả thực thi các thuật toán trên FPGA cho thấy, với chíp Vertex6 mã hiệu XC6VLX75T/FF484 khi thực thi thuật toán Crypt(BM)_64A đạt được thông lượng cao nhất trong 3 thuật toán và cao hơn gần gấp 3 lần so với RC6, hơn 1,5 lần so với RIJNDEAL. Đồng thời, thông qua kết quả có được khi nghiên cứu cũng cho thấy chi phí về tài nguyên của thuật toán Crypt(BM)_64A là nhỏ hơn rất nhiều lần (xấp xỉ 43 lần) so với thuật toán RC6 và (gần 38 lần) so với RIJNDEA. Do đó, tính toán về hiệu quả tích hợp thông qua chi phí về thông lượng/tài nguyên là rất cao và gọn nhẹ hơn cả RIJNDEAL và RC6 rất nhiều lần (113 lần với RC6 và 57 lần với RIJNDEAL). 209 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(16): 204 - 211 Hình 4. Sơ đồ thiết kế tổng thể của Crypt(BM)_64A trên FPGA (theo cấu trúc IL) Hình 5. Giao diện kết quả thực hiện thuật toán trên Vertex6 mã hiệu XC6VLX75T/FF484 Bảng 4. Đánh giá hiệu quả tích hợp của một số thuật toán Vertex6 mã hiệu XC6VLX75T/FF484 Chi phí Tần Thông Hiệu quả Số Thuật toán Khối tài nguyên số lượng (thông lượng/tài vòng (Slice) (MHz) (Mpbs) nguyên) Crypt(BM)_64A 64 255 225 10 1,440 0,00565 RC6 64 10978 85 10 544 0,00005 RIJNDEAL 64 9683 150 10 960 0,00010 8. Kết luận Qua các kết quả nghiên cứu và thực thi thuật toán mã hóa khối Crypt(BM)_64A trên FPGA với dòng Vertex6 mã hiệu XC6VLX75T/FF484 có thể khẳng định, Crypt(BM)_64A là thuật toán mã hóa khối hoàn toàn phù hợp với các ứng dụng cho các mạng cảm biến không dây với hiệu quả tích hợp cao; chi phí về diện tích thấp, đảm bảo tính gọn nhẹ; tiêu hao năng lượng hạn chế thông qua xung nhịp cao. Tuy rằng việc lựa chọn thuật toán và dòng thiết bị cho mỗi ứng dụng cụ thể ngoài việc dựa vào các phân tích trên và phụ thuộc vào mô hình thiết kế trên FPGA thì việc lựa chọn mức độ an toàn và khả năng chống lại các cuộc tấn công cũng là một vấn đề cần xem xét song song. Đây sẽ là một chủ đề mà nhóm nghiên cứu sẽ tiếp tục có thảo luận trong các bài báo tiếp theo. 210 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(16): 204 - 211 TÀI LIỆU THAM KHẢO/ REFERENCES [1] F. Hu, J. Ziobro, J. Tillett, and N. K. Sharma, “Secure wireless sensor networks: problems and solutions,” J. Syst., Cybern. Inf., vol. 11, no. 9, pp. 419-439, 2004. [2] H. M. Nguyen, N. D. Ho, and H. D. Luu, “Design and Estimate of a New Fast Block Cipher for Wireless Communications Devices,” The 2008 International Conference on Advanced Technologies for Communications (ATC’08) and REV’08, Hanoi, 2008, pp. 409-412. [3] H. M. Nguyen, T. B. Do, and N. D. Ho, “New SDDO-Based Block Cipher for Wireless Sensor Network Security,” International Journal of Computer Science and Network Security, vol. 10, no. 3, pp. 54-60, March 2010. [4] T. B. Do and H. M. Nguyen, "Crypt(BM)_64A - a new cipher oriented to Wireless Sensor Networks," Proceedings of International Conference on Advanced Technologies for Communications (ATC) 2012, 2012, pp. 294-299 (IEEE - IEEExplore Digital Library). [5] K. Shibutani, T. Isobe, H. Hiwatari, A. Mitsuda, T. Akishita, and T. Shirai, “Piccolo, Cryptographic Hardware and Embedded Systems – CHES 2011,” Lecture Notes in Computer Science, vol. 6917, pp. 342 - 357, 2011. [6] M. Kneˇzevi´c, V. Nikov, and P. Rombouts, Low Latency Encryption - Is "Lightweight = Light + Wait", NXP Semiconductors, Leuven, Belgium 2015. [7] M. Usman, I. Ahmed, M. I. Aslam, S. Khan, and U. A. Shah, “SIT, A Lightweight Encryption Algorithm for Secure Internet of Things,” (IJACSA) International Journal of Advanced Computer Science and Applications, vol. 8, no. 1, pp. 402-411, 2017. [8] H. M. Nguyen and T. B. Do, “Hybrid Model in the Block Cipher Applications for High-Speed Communications Networks,” International Journal of Computer Networks & Communications (IJCNC), vol. 12, no. 4, July 2020, doi: 10.5121/ijcnc.2020.12404 55. [9] Xilinx Inc, “Development System Reference Guide,” Jan 17, 2012. [Online]. Available: www.xilinx.com. [Accessed Jun. 25, 2021]. 211 Email: jst@tnu.edu.vn