Thời gian mã hóa và chu kỳ mã hóa LED 64 bit 0
Với thời điểm bắt đầu mã hóa tbd= 6000 ps, thời gian mã hóa xong tht=320000 ps từ đó tính được thời gian mã hóa tmh cho cả quá trình:
1 chu kỳ mã hóa tck=10000 ps tính được chu kỳ thực hiện mã hóa cho LED 64 bit 0:
𝑐𝑘 = 𝑡ℎ𝑡 − 𝑡𝑏𝑑
10000 = 31,4 (𝑐ℎ𝑢 𝑘ỳ)
Hình 3.3: Thời gian ban đầu và 1 chu kỳ mã hóa
Hình 3.3 Thể hiện thời gian bắt đầu mã hóa 64 bit 0 là 6000ps và thời gian một chu kỳ mã hóa là 10000ps.
Hình 3.4: Kết quả quá trình mã hóa
Hình 3.4 Thể hiện kết quá trình mã hóa qua mỗi bước và kết quả được bản mã ciphertext: 64h’39c2401003a0c798
3.1.2. Mô phỏng quá trình giải mã LED 64bit
Giải mã một khối dữ liệu 64 bit được thực hiện bởi những thông số sau:
Key : 64’b0
Kết quả mô phỏng giải mã 64 bit 0 được thể hiện qua hình 3.5. Plaintext nhận được là 64’0000000000000 (khớp với bản rõ ban đầu của quá trình mã hóa).
Hình 3.5: Kết quả quá trình giải mã LED 64
Thời gian và chu kỳ giải mã LED 64
Với thời điểm bắt đầu giải mã tbd= 6000 ps, thời giải mã xong tht= 319632 ps do đó tính được thời gian giải mã tgm cho cả quá trình:
𝑡𝑔𝑚 = 𝑡ℎ𝑡 − 𝑡𝑏𝑑 = 313632 𝑝𝑠
1 chu kỳ giải mã tck= 10000 ps từ đó tính được chu kỳ thực hiện giải mã cho LED 64 bit 0:
𝑐𝑘 = 𝑡ℎ𝑡 − 𝑡𝑏𝑑
10000 = 31,3632 (𝑐ℎ𝑢 𝑘ỳ)
3.1.3. Đánh giá hiệu năng thực thi của LED 64
Kết quả so sánh LED 64 với 2 thuật toán KATAN 64, KLEIN 64 được thể hiện trong bảng 3.1. Có thể thấy rằng số chu kì của LED thấp hơn so với hai thuật toán trên chứng tỏ thời gian mã hóa của LED nhanh hơn khi mã hóa một khối 64 bit.
Về tài nguyên phần cứng thì LED 64 có tài nguyên phần cứng lớn hơn (2310 GE so với 1054 GE của KTATAN và 1220 GE của KLEIN)
Bảng 3.1: So sánh hiệu năng thực thi thuật toán LED
STT Đơn vị LED KATAN[14] KLEIN[15]
1 Kích thước khóa 64 bit 64 bit 64bit 2 Kích thước khối 64 bit 64 bit 64bit 3 Số chu kì 31,4 chu kì 226 chu kì 155 chu kì 4 Số GE 2310 GE 1054 GE 1220 GE
Với cùng một kích thước khóa và kích thước khối 64 bit thì LED có hiệu năng tốt hơn do tài nguyên phần cứng là nhiều hơn (2310 GE). Số chu kỳ của LED cũng nhỏ hơn do đó thời gian mã hóa và giải mã của LED cũng nhanh hơn chính vì vậy mà bảo mật của LED cũng tốt hơn so với hai thuật toán KATAN và KLEIN. Tuy nhiên với thiết kế tốn nhiều tài nguyên phần cứng dẫn đến chi phi thiết kế phải chi ra nhiều hơn.
3.2. Kết quả quá trình truyền dữ liệu trong CAN
Sử dụng dữ liệu đã được mã hóa ciphertext: 64’39c2401003a0c798 để truyền trong CAN, phần mềm Keil C để nạp chương trình giao tiếp dữ liệu đã được mã hóa giữa hai STM32F407 thông qua hai IC MCP2551, sử dụng CP2102 để nhận dữ liệu giao tiếp giữa hai vi điều khiển STM32 và dùng phần mềm UART_teminal để hiển thị dữ liệu đã được mã hóa lên màn hình.
Quá trình thực hiện được thể hiện trong hình 3.7:
Hình 3.7 thể hiện quá trình thực hiện việc giao tiếp giữa hai KITSTM32F4 thông qua hai IC MCP2551 và được kết nối với CP2102, CP2102 tiếp tục được kết nối với máy tính để hiển thị dữ liệu lên màn hình.
Quá trình giao tiếp dữ liệu giữa hai KITSTM32 được đo trên máy Oscilloscope được thể hiện trong hình 3.8.
Hình 3.8 tín hiệu truyền dữ liệu giữa hai KITSTM32, tín hiệu truyền là hai giá trị điện áp CAN H và CAN L với hai mức điện áp là 5V và 3V.
Hình 3.8: Tín hiệu truyền giữa hai STM32
Kết quả quá trình truyền được hiển thị trên phần mềm UART_teminal được thể hiện trong hình 3.9.
Hình 3.9: Kết quả quá trình truyền
Sau khi KITSTM32 (2) nhận dữ liệu từ KITSTM32 (1), dữ liệu được truyền đến CP2102, CP2102 được kết nối với máy tính và thông qua phần mêm UART_teminal kết quả đã được hiển thị lên màn hình là hệ Hexa: 39c2401003a0c798 (hình 3.9) trùng với bản mã ciphertext vậy việc truyền giữ liệu đã thực hiện đúng.
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI
Đề tài tìm hiểu về mã hạng nhẹ và thuật toán LED 64, ứng dụng của thuật toán LED truyền trong CAN. Với những ưu điểm của LED 64 thì sẽ nhiều ứng dụng lựa chọn LED để bảo mật. Người thực hiện luận văn này nhằm giới thiệu về việc bảo mật cho các tín hiệu điều khiển trong CAN bằng những thuật toán thích hợp. Trong luận văn đã thực hiện được:
Về phần lý thuyết, đề tài tìm hiểu về mật mã nói chung và một số phương pháp mã hóa nói riêng. Trong mã hạng nhẹ, luận văn tập trung vào nghiên cứu thực thi thuật toán LED-64, sau đó ứng dụng để truyền dữ liệu mã hóa trong CAN.
Về phần mô phỏng, luận văn thực hiện dựa trên công cụ phần mềm mô phỏng modelsim, phần mềm Keil C, UART_Teminal. Nội dung phần mô phỏng bao gồm: quá trình mã hóa và giải mã LED-64 bit 0 đồng thời luận văn cũng thực hiện việc so sánh hiệu năng thực thi của thuật toán, đo thời gian mã hóa và giải mã. Nạp chương trình giao tiếp cho KITSTM32 bằng phần mềm Keil C, hiển thị kết quả quá trình truyền dữ liệu trong CAN thông qua CP2102 và dùng phần mềm UART_teminal.
Hướng phát triển của đề tài là trong tương lai sẽ phát triển nhiều thiết kế phải được tối ưu phần cứng để phù hợp với các thuật toán mã hạng nhẹ, các thuật toán đó sẽ được tích hợp để bảo mật các tín hiệu điều khiển trong nhiều ứng dụng CAN.
TÀI LIỆU THAM KHẢO
[1]. Giáo trình An toàn và bảo mật thông tin, Trần Minh Văn.
[2]. A. Moradi, A. Poschmann, S. Ling, C. Paar and H. Wang. Pushing the Limits: A Very Compact and a Threshold Implementation of AES. In K. Paterson, editor,
Advances in Cryptology - EUROCRYPT 2011, LNCS, Springer, 2011.
[3]. Wallace K.S. Tang and Ying Liu, "Formation of High-Dimensional Chaotic Maps and Their Uses in Cryptography", Department of Electronic Engineering, City University of Hong Kong, Department of Information Science and Electronic Engineering, Zhejiang University.
[4]. Ege Gulcan, Aydin Aysu and Patrick Schaumont, "A Flexible and Compact Hardware Architecture for the SIMON Block Cipher", Secure Embedded Systems, Center for Embedded Systems for Critical Applications, Bradley Department of ECE, Virginia Tech, Blacksburg, VA 24061, USA.
[5]. Cryptanalysis of Round-Reduced LED, Ivica Nikoli´c, Lei Wang and Shuang Wu Division of Mathematical Sciences, School of Physical and Mathematical Sciences, Nanyang Technological University, Singapore.
[6]. J. Daemen and V. Rijmen, AES Proposal: Rijndael, AES Algorithm Submission, September 3, 1999, available at.
[7]. P. Aumasson, L. Henzen, W. Meier and M. Naya-Plasencia. Quark: A Lightweight Hash. In Stefan Mangard and Fran¸cois-Xavier Standaert, editors, Cryptographic Hardware and Embedded Systems - CHES 2010, volume 6225 of LNCS, pages 1– 15. Springer, 2010.
[8]. A. Bogdanov, L.R. Knudsen, G. Leander, C. Paar, A. Poschmann, M.J.B. Robshaw, “PRESENT: An Ultra-Lightweight Block Cipher”.
[9]. Tomoyasu Suzaki, Kazuhiko Minematsu, Sumio Morioka, and Eita Kobayashi,
“TWINE: A Lightweight, Versatile Block Cipher”, NEC Corporation, 1753, Shimonumabe, Nakahara-Ku, Kawasaki, Japan.
[10]. J-P. Aumasson, L. Henzen, W. Meier and M. Naya-Plasencia. Quark: A Lightweight Hash. In Stefan Mangard and Fran¸cois-Xavier Standaert, editors,
Cryptographic Hardware and Embedded Systems - CHES 2010, volume 6225 of
[11]. S. Badel, N. Dagtekin, J. Nakahara, K. Ouafi, N. Reff´e, P. Sepehrdad, P. Susil, and S. Vaudenay. ARMADILLO: A Multi-purpose Cryptographic Primitive Dedicated to Hardware. In S. Mangard and F.-X. Standaert, editors, Cryptographic Hardware and Embedded Systems CHES 2010, volume 6225 of LNCS, pages 398–412. Springer, 2010.
[12]. The LED Block Cipher ,Jian Guo, Thomas Peyrin, Axel Poschmann and Matt Robshaw, I2R, NTU and Orange Labs, CHES 2011 Nara, Japan.
[13]. Randomness_Analysis_on_LED_Block_Ciphers, Herman Isa and Muhammad Reza Z’aba, SIN 2012 -25th October 2012.
[14]. Cryptanalysis of Round-Reduced LED, Ivica Nikoli´c, Lei Wang and Shuang Wu Division of Mathematical Sciences, School of Physical and Mathematical Sciences, Nanyang Technological University, Singapore.
[15]. Robert I. Davis, Alan Burns, Reinder J. Bril, and Johan J. Lukkien. Controller area network (can) schedulability analysis: Refuted, revisited and revised. Real Time Systems Journal, 35(3):239–272, 2007.
[16]. Introduction to the Controller Area Network (CAN), Application Report SLOA101A–August 2002–Revised July 2008.
[17]. Controller Area Network (CAN) schedulability analysis: Refuted, revisited and revised, Robert I. Davis · Alan Burns · Reinder J. Bril · Johan J. Lukkien.