Assessment of the integrated efficiency of block cipher algorithms for wireless networks on a fpga chip
Bạn đang xem tài liệu "Assessment of the integrated efficiency of block cipher algorithms for wireless networks on a fpga chip", để 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:
- assessment_of_the_integrated_efficiency_of_block_cipher_algo.pdf
Nội dung text: Assessment of the integrated efficiency of block cipher algorithms for wireless networks on a fpga chip
- TNU Journal of Science and Technology 226(11): 357 - 364 ASSESSMENT OF THE INTEGRATED EFFICIENCY OF BLOCK CIPHER ALGORITHMS FOR WIRELESS NETWORKS ON A FPGA CHIP Do Thi Bac, Duong Thu May* TNU – University of Information and Comunication Technology ARTICLE INFO ABSTRACT Received: 20/7/2021 Currently, due to the advantage of high security, high-speed block ciphers built by Controlled Substitution Permutation Network, using Revised: 31/8/2021 Switchable Data Dependent Operation, are often chosen. However, Published: 31/8/2021 these algorithms need to be evaluated for integrated efficiency to ensure resource saving and power consumption reduction. Therefore, KEYWORDS in this paper, in addition to introducing the block cipher algorithm BM123-128, we focus on describing how to simulate this algorithm Wireless Network Security on the XC6VLX240T Virtex-6 FPGA Chip with the support of Controlled substitution Xillinx 14.7 software. The integrated efficiency of this algorithm has permutation network also been compared with some well-known algorithms of the same Switchable Data Dependent type such as EAGLE-128, CIKS-128, COBRAH128, Serpent under the same simulation conditions. Simulation results show that BM123- Operation 128 has 5 times better integration efficiency than COBRAH128 and Block cipher Serpent, 2 times better than CIKS-128. Field-programmable gate array ĐÁNH GIÁ HIỆU QUẢ TÍCH HỢP CỦA THUẬT TOÁN MẬT MÃ KHỐI CHO MẠNG KHÔNG DÂY TRÊN CHIP FPGA Đỗ Thị Bắc, Dương Thu Mây* 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: 20/7/2021 Hiện nay, các thuật toán mật mã khối tốc độ cao được xây dựng bởi các cấu trúc mạng hoán vị thay thế điều khiển được, sử dụng thuật Ngày hoàn thiện: 31/8/2021 toán mã hóa dựa trên các toán tử phụ thuộc dữ liệu chuyển mạch, Ngày đăng: 31/8/2021 thường được lựa chọn do ưu điểm về tính bảo mật cao. Tuy nhiên, các thuật toán này cần phải được đánh giá về hiệu quả tích hợp để TỪ KHÓA đảm bảo việc tiết kiệm tài nguyên, giảm điện năng tiêu thụ. Vì vậy, trong bài báo này, ngoài việc giới thiệu về thuật toán mã khối song Bảo mật mạng không dây song BM123-128, chúng tôi tập trung mô tả cách thức mô phỏng Mạng hoán vị thay thế điều khiển thuật toán này trên Chip FPGA Virtex-6 số hiệu XC6VLX240T nhờ được sự hỗ trợ của phần mềm Xillinx 14.7. Hiệu quả tích hợp của thuật Toán tử phụ thuộc dữ liệu chuyển toán này cũng đã được so sánh với một số thuật toán nổi tiếng cùng mạch loại như EAGLE-128, CIKS-128, COBRAH128, Serpent trong cùng một điều kiện mô phỏng. Các kết quả mô phỏng cho thấy BM123- Mã mật khối 128 có hiệu quả tích hợp tốt gấp 5 lần COBRAH128 và Serpent, gấp Công nghệ FPGA 2 lần CIKS-128. DOI: * Corresponding author. Email:dtmay@ictu.edu.vn 357 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(11): 357 - 364 1. Đặt vấn đề Ngày nay, mạng không dây đóng vai trò không thể thiếu trong các hoạt động hàng ngày của phần lớn các cá nhân và tổ chức. Trong các mạng không dây, nhu cầu an toàn thông tin ngày càng đòi hỏi được đáp ứng ở các mức độ cao hơn. Một trong những giải pháp hiệu quả là sử dụng mật mã để bảo mật dữ liệu [1]. Thuật toán mật mã trên mạng không dây có thể được thực thi bằng phần cứng hoặc phần mềm. Các thuật toán mật mã truyền thống sử dụng nhiều các phép toán số học và đại số nên không thích hợp cho tích hợp trên phần cứng. Tuy nhiên, điểm yếu khi thực hiện phát triển các thuật toán mã trên phần mềm là tốc độ thực hiện chậm hơn nhiều so với băng thông mạng. Vì vậy, với các mạng không dây băng rộng như hiện tại, mức độ bảo mật không phải là vấn đề quan trọng duy nhất. Việc phát triển các thuật toán mật mã còn đòi hỏi phải giảm chi phí tính toán, phù hợp với băng thông, tiết kiệm tài nguyên và giảm điện năng tiêu thụ. Do đó, thực thi các thuật toán mã khối dựa trên công nghệ FPGA là một hướng tiếp cận phù hợp [2]. Một trong những xu hướng xây dựng các thuật toán mật mã tốc độ cao cho các mạng không dây hiện nay là sử dụng thuật toán mã hóa dựa trên các toán tử phụ thuộc dữ liệu chuyển mạch (Switchable Data Dependent Operation - SDDO). Chúng được xây dựng bởi các cấu trúc mạng hoán vị thay thế điều khiển được (Controlled Substitution Permutation Network – CSPN), các cấu trúc này được tạo nên từ các phần tử nguyên thủy mật mã điểu khiển được F2/1 hoặc F2/2 đã được đề xuất trong [3]. Các thuật toán này đã được chứng minh thế mạnh về độ an toàn và hiệu quả tích hợp trên phần cứng [4]. Nhằm kết hợp ưu điểm hiệu quả tích hợp của SDDO với mô hình thiết kế CSPN. Trong [5], [6], chúng tôi đã đề xuất một thuật toán mật mã khối song song BM123-128. Đây là thuật toán mật mã khối có kích thước khối 128 bit với độ dài khóa là 128 bit hoặc 192 bit hoặc 256 bit. Như đã nói ở trên, thuật toán này cần phải được chứng minh tính hiệu quả trong việc chiếm ít dung lượng lưu trữ, sử dụng tối ưu được các tài nguyên phần cứng và tiêu thụ ít năng lượng. Vì vậy, trong bài báo này, trước tiên, chúng tôi sẽ giới thiệu sơ lược về thuật toán BM123-128. Tiếp theo, chúng tôi tập trung sâu hơn vào mô tả chi tiết việc thực thi thuật toán trên chip FPGA Vitex 6 XC6VLX240T (đây là một trong những chip FPGA giá rẻ của hãng Xilinx hiện thường được sử dụng trong thực tế). Tiếp đó, chúng tôi mô tả cách thức đánh giá hiệu quả tích hợp của thuật toán trên chip FPGA. Cuối cùng, thông qua việc kiểm nghiệm thực tế, chúng tôi cũng so sánh hiệu quả của thuật toán này so với một số thuật toán khác cùng loại đã được công bố như COBRAH128 [3], CIKS-128 [7], EAGLE-128 [8], Serpent [9]. 2. Thuật toán mã khối song song BM123-128 BM123-128 là thuật toán mật mã khối có kích thước khối 128 bit với 8 vòng mã hóa và khóa bí mật 128 bit, 192 bit hoặc 256 bit. BM123-128 được thiết kế theo mô hình song song đối với vòng mã hóa cơ sở. Mô hình này giúp mã hóa và giải mã nhanh hơn so với mô hình nối tiếp hoặc ( ,푒) kết hợp mô hình nối tiếp và song song. Thuật toán đã sử dụng các SDDO khác nhau (퐅푛/ ) trong từng trường hợp cụ thể. Việc sử dụng SDDO đã được đề xuất trước đó trong một số nghiên cứu [3], [8] và được coi là một yếu tố giúp hỗ trợ thiết kế mật mã khối bằng cách sử dụng một phương pháp lập lịch các khóa đơn giản. Điều này giúp thuật toán loại bỏ khóa yếu, vừa tạo hiệu suất cao hơn khi triển khai thuật toán trên FPGA, vừa giảm chi phí tài nguyên. Quá trình mã hóa /giải mã của BM123-128 được mô tả như sau: Thuật toán BM123-128 1. 128 bit dữ liệu vào được chia thành 2 khối A và B, mỗi khối 64 bit (e) 2. For j = 1 to 7 do {(A, B) Crypt (A, B, Qj,Uj ); (A, B) (B, A)} (e) 3. {(A, B) Crypt (A, B, Q8,U8 )} 4. {(A, B) (A Q9, B U9)}. 358 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(11): 357 - 364 Hình 1 mô tả thiết kế của BM123-128. Hàm biến đổi Crypt(e) trong thuật toán được mô tả chi tiết thông qua sơ đồ vòng mã hóa cơ sở ở hình 1(a1). Thuật toán sử dụng phương pháp lai ghép dạng HY1 với 2 phần tử nguyên thủy được lựa chọn là F2/2 với bộ phần tử được lựa chọn là (h, f, e, j) và F′2/2 với bộ phần tử được lựa chọn là (e, b, b, c) như mô tả trong Bảng 1. Trong đó: Phần tử F2/2: hàm logic cân bằng biểu diễn cho bộ (h, f, e, j) được mô tả trong các phương trình sau: y1 = vzx2 vz vx1 zx1 z x1 x2 y2 = vzx1 vx1 vx2 zx2 zx1 z x2 (1) y3 = y1 y2 = vzx1 vzx2 vz vx2 zx2 x1 A B a 1) 64 64 Qj Uj 64 64 I 32 32 32 32 F′ (A1 , e3) E 256 32/ 256 256 (A1 , e1) - 1 (8) S 4x4 F′ F′ 32/ 256 32/256 256 I1 I1 I1 I1 (A2 , e2) -1 F′ (8 )S 4x4 32/256 256 256 (A , e ) E F′ 2 4 32/256 256 - 1 F′ 32/ 256 64 64 I e L c 1) 32 f1) 1 L2 e b ) 32 x 1) 1 E 16 16 1 32 V Z F F 1 1 2/2 2/2 V2 Z 2 . . . (e) F’16/64 F’16/64 V1 Z1 ’ P2*16/1 F32/128 V2 Z2 V Z F’ F’ 2 2 2/2 2/2 V1 Z 1 E1 . . . V3 Z3 32 V4 Z4 F’32/256 I1 d1) 16 . . . V5 Z5 V6 Z6 V1, Z1 V , Z E ’ ’ ’ ’ 4 4 2 F4/8 F4/8 F4/8 F4/8 V7 Z7 V2, Z2 V3, Z3 ’ F32/128 V8 Z8 I’ . . . V3, Z3 V2, Z2 32 F’ F’ F’ F’ V , Z 4/8 4/8 4/8 4/8 V , Z 4 4 1 1 32 y 16 Hình 1. Sơ đồ thiết kế của thuật toán BM123-128 (퐿,푒) a1) Vòng mã hóa cơ sở, b1) F′4/8, c1) F′32/12 , d1) F′16/64 , e1) F′32/256 , f1) 퐹′32/256 359 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(11): 357 - 364 Phần tử F′2/2: hàm logic cân bằng biểu diễn cho bộ phần tử (e, b, b, c) được mô tả trong các phương trình: y1= vzx1 vzx2 vx1 vx2 zx1 zx2 z v x2 y2= vzx1 vzx2 vz vx1 vx2 zx1 zx2 x1 (2) y3 = vz v z x1 x2 Phần tử Q2/1: hàm logic cân bằng biểu diễn cho bộ phần tử (h, g) được mô tả trong các phương trình: y1 = x2v x1 x2 y2 = x1v x2 (3) y3 = x1v x1 x2v Bảng 1. Mô tả các CE điều khiển được sử dụng Tên PE Bộ phần tử lựa chọn và biểu diễn h f e j F2/2 v = 0 v = 1 v = 0 v = 1 z = 0 z = 0 z = 1 z = 1 e b b c F′2/2 v = 0 v = 1 v = 0 v = 1 z = 0 z = 0 z = 1 z = 1 h g Q2/1 v = 0 v = 1 ’ Các hoán vị I, I1, I được mô tả như trong (4): I = (1) (2,34) (3) (4,36) (5) (6,38) (7) (8,40) (9) (10,42) (11) (12,44) (13) (14,46) (15) (16,48) (17) (18,50) (19) (20,52) (21) (22,54) (23) (24,56) (25) (26,58) (27) (28,60) (29) (30,62) (31) (32,64) (33) (34,2) (35) (36,4) (37) (38,6) (39) (40,8) (41) (42,10) (43) (44,12) (45) (46,14) (47) (48,16) (49) (50,18) (51) (52,20) (53) (54,22) (55) (56,24) (57) (58,26) (59) (60,28) (61) (62,30) (63) (64,32); (4) I1 = (1,17) (2,21) (3,25) (4,29) (5,18) (6,22) (7,26) (8,30) (9,19) (10,23) (11,27) (12,31) (13,20) (14,24) (15,28) (16,32) (17,1) (18,5) (19,9) (20,13) (21,2) (22,6) (23,10) (24,14) (25,3) (26,7) (27,11) (28,15) (29,4) (30,8) (31,12) (32,16); I′ = (1) (2,5) (3,9) (4,13) (5,2) (6) (7,10) (8,14) (9,3) (10,7) (11) (12,15) (13,4) (14,8) (15,12) (16) Quá trình thiết kế CSPN được miêu tả tóm tắt như sau: (F′2/2 và F2/2) F′4/8→ F′16/64 → F′32/128 → F′32/256, trong đó F′4/8 được mô tả như Hình 1(b1), F′32/128 được mô tả trong Hình 1(c1), F′16/64 được mô tả trong Hình 1(d1), F′32/256 được mô tả trong Hình 1(e1). Các CSPN được xây dựng theo phương pháp lai trên cơ sở lớp phần tử F2/2 và F′2/2. Như vậy, 64 phần tử F2/2 được chia thành 8 lớp mỗi lớp gồm 16 phần tử F2/2 và tương tự 64 phần tử F′2/2 được chia thành 8 lớp mỗi lớp gồm 8 phần tử. Với các lớp F2/2 và F′2/2 được thiết kế xen kẽ nhau. Lợi thế của thiết kế này là sử dụng CSPN lai ghép. Điểm yếu trong thiết kế này là hàm logic cân bằng của F′2/2 có tính phi tuyến thấp hơn F2/2 nhưng đổi lại đặc trưng vi sai lại tốt hơn. Điều đó giúp cho hiệu ứng thác lũ của thuật toán tốt hơn so với trường hợp khác, tức là khả năng chống lại tấn công thám mã vi sai của thuật toán trong trường hợp này cũng tốt hơn so với trường hợp chỉ sử dụng một phần tử F2/2. (퐿,푒) Quá trình thiết kế các SDDO: để tiện theo dõi sẽ sử dụng kí hiệu F′32/256 làm đại diện cho (퐿,푒) ( 1,푒1) ( 1,푒3) ( 2,푒2) ( 2,푒4) Q ( 1,푒1) ( 2,푒2) F′32/256; F′32/256; F′32/256; F′32/256) và 32/128 làm đại diện cho (Q32/128 và Q32/128). (퐿,푒) (퐿,푒) Các SDDO F′32/256, Q32/128 sử dụng trong thuật toán được miêu tả như Hình 1(f1). Ở đây (푒) chúng được xây dựng từ việc nhúng thêm thành phần P2×16/1vào CSPN tương ứng. Giá trị các 360 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(11): 357 - 364 bit e1, e2, e3, e4 phụ thuộc vào e được xác định như sau: e1 = e′1 e; e2 = e′2 e, e3 = e′3 e; e4 = (푒) e′4 e. Đầu ra của P2×8/1 được chia thành 16 bit trái và 16 bit phải. Việc sử dụng SDDO trong các thuật toán mã hóa như trên sẽ ngăn chặn được điểm yếu có thể sinh ra do việc chỉ sử dụng lược đồ khóa đơn giản. Lược đồ khóa của thuật toán BM123-128 được thiết kế như trong Bảng 2. Ở đây các khóa con 64 퐾푖 ∈ {0,1} được sinh ra từ khóa mật 256 bit: K = (K1, K2, K3, K4) hoặc khóa mật 192 bit K = (K1, K2, K3) hoặc khóa mật 128 bit K = (K1, K2). Trong mỗi vòng biến đổi chỉ sử dụng khóa con 64 bit cho cả khối dữ liệu con bên trái và bên phải. Điều này giúp cho việc thực hiện trên phần cứng sẽ giảm được chi phí. Các bit ei (i = 1 4) trong sơ đồ thuật toán phụ thuộc vào bit e (e {0,1}) với định nghĩa e = 0 là mã hóa và e = 1 là giải mã, khi đó ei được xác định như sau: e1 = e e 1, e2= e e 2, e3 = e e 3, e4 = e e 4 và ở đây e 1, e 2, e 3, e 4 được mô tả trong bảng khóa của thuật toán. Với lược đồ khóa như trong Bảng 2, dễ thấy các khóa con đảm bảo tính chất thuận nghịch giữa các vòng, sự phân bố các khóa con là khá đều. Bảng 2. Lược đồ khóa sử dụng trong BM123-128 Vòng 1 2 3 4 5 6 7 8 FT Khóa 128 bit Qj = K1 K2 K2 K2 K1 K2 K1 K2 K1 Uj = K2 K2 K1 K2 K1 K2 K2 K2 K2 Khóa 192 bit Qj = K1 K1 K1 K2 K3 K2 K1 K2 K1 Uj = K3 K2 K1 K2 K3 K2 K1 K1 K3 Khóa 256 bit Qj = K1 K4 K4 K4 K3 K2 K1 K2 K1 Uj = K3 K2 K1 K2 K3 K4 K4 K4 K3 Bit chuyển mạch (chung cho các khóa có độ dài khác nhau) e 1 = 1 0 1 1 0 1 0 0 - e 2 = 0 1 0 0 1 0 1 1 - e 3= 0 0 0 1 0 1 1 0 - e 4 = 1 0 0 1 1 0 1 0 - 3. Thực hiện thuật toán BM123-128 trên chip FPGA Hình 2. Thiết kế mật mã khối trên FPGA theo cấu trúc đường ống 361 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(11): 357 - 364 Khi thực hiện các thuật toán mã hóa trên FPGA, có hai cấu trúc thường được lựa chọn, đó là cấu trúc vòng lặp cơ sở (IL-Iterative Looping) và cấu trúc đường ống (PP-Pipeline). Để đạ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, chúng tôi lựa chọn cấu trúc kiểu đường ống. Cấu trúc này cho phép thực hiện thuật toán với tốc độ cao hơn so với cấu trúc IL nhưng chi phí về tài nguyên sẽ lớn hơn. Phần mềm mô phỏng thuật toán trên FPGA theo cấu trúc PP được thiết kế bao gồm 9 file VHDL. Mỗi file có chức năng tương ứng được giải thích trong Bảng 3. Bảng 3. Danh mục các file VHDL thực hiện thuật toán BM123-128 Tên file Giải thích ý nghĩa 1 alg_PIPE.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_PIPE.vhd Mô tả cổng tín hiệu của các khối chức năng 4 controller_PIPE.vhdl Mô tả dữ liệu đ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 Reg128b.vhd Mô tả việc đổi dữ liệu giữa 2 thanh ghi 7 key_schedule_PIPE.vhd Mô tả lược đồ khóa của thuật toán 8 FP.vhd Mô tả phép biến đổi cuối của thuật toán 9 Alg_ROUND.vhd Mô tả kiến trúc RTL dùng lưu trữ thông số hàm ALG_ROUND_FUNCT 4. Đánh giá hiệu quả tích hợp của thuật toán BM123-128 trên chip FPGA 4.1. Phương pháp đánh giá Để đánh giá hiệu quả tích hợp của các thuật toán mã hóa khi triển khai trên FPGA, chúng ta sử dụng hai mô hình đánh giá như sau: a. Mô hình đánh giá 1 Đây là mô hình thường được sử dụng để đánh giá hiệu quả thực hiện của thuật toán mật mã trên FPGA. Mô hình được đánh giá theo (5). 푻 푰푬 = (5) 푹 b. Mô hình đánh giá 2 Đây là mô hình đánh giá hiệu quả tích hợp được sử dụng trong trường hợp tích hợp nhiều chức năng khác nhau trên cùng một chip. Mô hình đánh giá này được đánh giá là khả dụng hơn và được xác định theo (6). 푻 푰푬 = (6) 푹 ×푭 Trong đó: T: thông lượng (Mb/s) được tính theo (7): Tần số × Số bit Thông lượng = (bit/s) (7) số chu kỳ R: chi phí về tài nguyên đượ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 (LUT: Look-Up Table); số lượng IOB (Input/Output Block); số lượng Block Select RAMs (BRAMs). Thông thường R được tính thông qua số lượng CLB F là tần số sử dụng (MHz) IE là hiệu quả thực hiện của thiết kế. 4.2. Kết quả đánh giá 362 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(11): 357 - 364 Để đánh giá hiệu quả tích hợp của thuật toán BM123-128, chúng tôi đã chạy mô phỏng thiết kế được mô tả trong Bảng 3 dùng phần mềm Xillinx 14.7. Phần mềm này chạy trên hệ điều hành Windows 10 - 64 bit của máy tính HP pro 4540s VPCEA36FG chip Core i5-3230, ram 8GB, ổ cứng 500G, dòng chip FPGA được lựa chọn là Virtex-6 với số hiệu XC6VLX240T thuộc Kit phát triển FPGA Virtex 6 ML605 Evaluation Platform. Các bước chi tiết được tiến hành theo Error! Reference source not found Kết quả thực hiện với sơ đồ kiến trúc thuật toán được thể hiện trong Hình 3. Từ kết quả thu được, chúng tôi xác định số CLB đã sử dụng và tần số hoạt động để tính ra các chỉ số hiệu quả IE theo hai mô hình đánh giá như trong (5) và (6). Hình 3. Kết quả chạy mô phỏng thuật toán BM123-128 trên phần mềm Xillinx 14.7 Nhằm so sánh hiệu quả của thuật toán BM123-128 với các thuật toán khác tương đồng đã công bố trước đó, chúng tôi cũng chạy thử nghiệm trong cùng một điều kiện mô phỏng đối với các thuật toán EAGLE-128, CIKS-128, COBRAH128, Serpent. Các kết quả tính toán được hiển thị chi tiết trong Bảng 4. Theo bảng này, hiệu quả tích hợp của BM123-128 theo mô hình 1 ở mức trung bình so với các thuật toán khác. Tuy nhiên, theo mô hình 2, hiệu quả tích hợp của BM123-128 chỉ kém EAGLE-128 nhưng lớn hơn từ 2 đến 5 lần so với các thuật toán còn lại. Tuy nhiên, khả năng chống lại thám mã lượng sai của EAGLE-128 lại kém hơn rất nhiều so với BM123-128 [5]. Bảng 4. Đánh giá hiệu quả tích hợp của một số thuật toán Kích thước Hiệu quả Tên thuật toán Số vòng R (CLB) F (MHz) T (Mbps) khối (1) (2) EAGLE-128 [8] 128 10 4120 95 12160 2,95 31,07 BM123-128 128 8 6218 23,003 2944 0.47 20,59 CIKS-128 [7] 128 8 6346 81 5184 0,82 10,09 COBRAH128 [3] 128 12 22080 90 11500 0,06 4,10 Serpent [9] 128 32 7964 14 444 0,06 4,01 5. Kết luận Đối với các thuật toán mã hóa sử dụng để bảo mật thông tin trong các mạng không dây khác nhau hiện nay, ngoài tiêu chí về tính bảo mật còn phải thỏa mãn việc tiết kiệm tài nguyên, chi phí tính toán thấp và tiêu thụ điện năng thấp. Để xác định được tiêu chí này, chúng ta cần tiến hành 363 Email: jst@tnu.edu.vn
- TNU Journal of Science and Technology 226(11): 357 - 364 theo hai bước. Bước 1 là lựa chọn cấu trúc thiết kế, xây dựng các file VHDL để thực hiện thuật toán trên các chip FPGA. Ở bước kế tiếp, qua việc chạy mô phỏng nhằm xác định được số tài nguyên mà thuật toán chiếm giữ, chúng ta có thể đánh giá được hiệu quả tích hợp của thuật toán theo hai mô hình nói trên. Trong bài báo này, ngoài việc giới thiệu về thuật toán BM123-128 đã được đề xuất trong [5], [6], chúng tôi đã mô tả chi tiết cách thức triển khai thuật toán BM123-128 theo cấu trúc đường ống (PP) trên chip FPGA Virtex-6 số hiệu XC6VLX240T với sự hỗ trợ của phần mềm Xillinx 14.7. Hiệu quả tích hợp của thuật toán này cũng đã được so sánh với một số thuật toán nổi tiếng cùng loại như EAGLE-128, CIKS-128, COBRAH128, Serpent trong cùng một điều kiện mô phỏng. Các kết quả mô phỏng cho thấy BM123-128 có hiệu quả tích hợp tốt hơn đa số các thuật toán còn lại theo cả hai mô hình đánh giá. Kết quả này cũng là bước đầu để chúng tôi tiếp tục thử nghiệm thuật toán này trên các thiết bị thực tế để ứng dụng trong thực tiễn. TÀI LIỆU THAM KHẢO/ REFERENCES [1] B. A. Forouzan, Introduction to cryptography and network security. McGraw-Hill Higher Education, 2008. [2] M. Madani and C. Tanougast, “FPGA implementation of an optimized A5/3 encryption algorithm,” Microprocessors and Microsystems, vol. 78, pp. 103212, 2020. [3] N. A. Moldovyan and A. A. Moldovyan, Data-driven Ciphers for Fast Telecommunication Systems, Auerbach Publications Talor & Francis Group, New York, 2008. [4] S. D. P. Tran, Y. -H. Shin, and C. Lee, “Recovery-Key Attacks against TMN-family Framework for Mobile Wireless Networks,” KSII Transactions on Internet and Information Systems, vol. 15, no. 6, pp. 2148-2167, 2021, doi: 10.3837/tiis.2021.06.012. [5] T. B. Do, “Development of some highly integrated cryptographic algorithms on hardware devices,” PhD thesis in mathematics, Institute of Information Technology, Vietnam Academy of Sciences and Society, 2014. [6] 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. [7] Y. Ko, C. Lee, S. Hong, J. Sung, and S. Lee, Related-Key Attacks on DDP Based Ciphers: CIKS-128 and CIKS-128H. In: Canteaut A., Viswanathan K. (eds) Progress in Cryptology - INDOCRYPT 2004. INDOCRYPT 2004. Lecture Notes in Computer Science, vol. 3348, Springer, Berlin, Heidelberg, doi: [8] N. Moldovyan, A. Moldovyan, M. Eremeev, and N. Sklavos, “New Class of Cryptographic Primitives and Cipher Design for Networks Security,” I. J. Network Security, vol. 2, pp. 114-125, 2006. [9] C. Chitu and M. Glesner, “An FPGA Implementation of the AES-Rijndaelin OCB/ECB modes of operation,” Microelectronics Journal, vol. 36, pp. 139-146, 2005. [10] Xilinx Inc, “Development System Reference Guide”, [E-book], 2021. [Online]. Available: www.xilinx.com [Accessed June 04, 2021]. 364 Email: jst@tnu.edu.vn