1. Trang chủ
  2. » Luận Văn - Báo Cáo

Nghiên cứu, cải tiến ipsec trên nền tảng FPGA

138 17 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 138
Dung lượng 4,24 MB

Nội dung

ĐẠI HỌC QUỐC GIA TP HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA VÕ NGỌC HIỆU NGHIÊN CỨU, CẢI TIẾN IPSEC TRÊN NỀN TẢNG FPGA Chuyên ngành: Kỹ Thuật Điện Tử Mã số: 60520203 LUẬN VĂN THẠC SĨ TP HỒ CHÍ MINH, tháng 09 năm 2020 CƠNG TRÌNH ĐƯỢC HỒN THÀNH TẠI TRƯỜNG ĐẠI HỌC BÁCH KHOA – ĐHQG TP HCM Cán hướng dẫn khoa học: PGS.TS Hoàng Trang (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét 1: TS Bùi Trọng Tú (Ghi rõ họ, tên, học hàm, học vị chữ ký) Cán chấm nhận xét 2: TS Nguyễn Minh Sơn (Ghi rõ họ, tên, học hàm, học vị chữ ký) Luận văn thạc sĩ bảo vệ Trường Đại học Bách Khoa, ĐHQG Tp HCM ngày 17 tháng 09 năm 2020 Thành phần Hội đồng đánh giá luận văn thạc sĩ gồm: (Ghi rõ họ, tên, học hàm, học vị Hội đồng chấm bảo vệ luận văn thạc sĩ) PGS.TS Hồ Văn Khương – Chủ tịch Hội đồng TS Bùi Trọng Tú – Phản biện TS Nguyễn Minh Sơn – Phản biện TS Nguyễn Lý Thiên Trường – Thư ký TS Trần Hoàng Linh - Ủy viên Xác nhận Chủ tịch Hội đồng đánh giá LV Trưởng Khoa quản lý chuyên ngành sau luận văn sửa chữa (nếu có) CHỦ TỊCH HỘI ĐỒNG TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ PGS.TS Hồ Văn Khương PGS.TS Đỗ Hồng Tuấn ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc NHIỆM VỤ LUẬN VĂN THẠC SĨ Họ tên học viên: Võ Ngọc Hiệu MSHV : 1670554 Ngày, tháng, năm sinh: 11/05/1993 Nơi sinh: Bình Định Chuyên ngành: Kỹ thuật Điện tử Mã số : 60520203 I TÊN ĐỀ TÀI: NGHIÊN CỨU, CẢI TIẾN IPSEC TRÊN NỀN TẢNG FPGA II NHIỆM VỤ VÀ NỘI DUNG: + Tìm hiểu khái niệm lý thuyết về IPSec + Nghiên cứu giải thuật mã hóa xác thực giải mã xác thực AES-GCM 128 bits + Thiết kế xây dựng phần cứng cấp độ RTL bằng ngôn ngữ Verilog + Nâng cao thông lượng hệ thống bằng giải thuật AES-dual core + Tổng hợp, mô phỏng để đảm bảo thực đúng chức AES-GCM 128 bits + Thực thiết kế kit FPGA: Aller Artix M-2 III NGÀY GIAO NHIỆM VỤ: 11/01/2020 IV NGÀY HOÀN THÀNH NHIỆM VỤ: 22/08/2020 V CÁN BỘ HƯỚNG DẪN : PGS.TS Hoàng Trang Tp HCM, ngày 10 tháng 10 năm 2020 CÁN BỘ HƯỚNG DẪN CHỦ NHIỆM BỘ MÔN ĐÀO TẠO (Họ tên chữ ký) (Họ tên chữ ký) TS Trần Hoàng Linh PGS.TS Hoàng Trang TRƯỞNG KHOA ĐIỆN – ĐIỆN TỬ (Họ tên chữ ký) PGS.TS Đỗ Hồng Tuấn LỜI CẢM ƠN Trong trình thực luận văn thời gian học tập trường, em xin gửi lời biết ơn đến thầy môn điện tử truyền đạt giảng dạy cho em nhiều kiến thức bở ích Bên cạnh đó sự cảm thơng về tính chất cơng việc, thời gian dành cho việc học tập tạo điều kiện để chúng em nghiên cứu tốt Em vô biết ơn sự hướng dẫn, bảo tận tình thầy Hoàng Trang suốt thời gian qua Ngoài kiến thức chuyên môn quý báu từ thầy, em học từ thầy kĩ năng, niềm đam mê công việc lối sống đó điều giúp ích nhiều cho chặng đường em tương lai Em xin cảm ơn thầy bạn phịng thí nghiệm 209B3 tạo điều kiện, giúp đỡ hỗ trợ để em hoàn thành luận văn Sau xin cảm ơn đến gia đình điểm tựa về vật chất lẫn tinh thần để có thể hồn thành chặng đường Trong q trình thực luận văn khơng tránh khỏi điều thiếu sót hạn chế, kính mong q thầy thơng cảm góp ý Em xin chân thành cảm ơn! Tp Hồ Chí Minh, ngày 10 tháng 10 năm 2020 Học viên Võ Ngọc Hiệu i TĨM TẮT LUẬN VĂN Luận văn trình bày phương pháp bảo mật lớp IP, IP security, hay gọi tắt IPSec IPSec phương pháp đánh giá có nhiều ưu điểm cho vấn đề bảo mật mạng internet nay, đặc biệt bối cảnh có nhiều cơng mạng an tồn thơng tin mạng đặt lên hàng đầu lĩnh vực thương mại điện tử, tài chính, ngân hàng, … Dựa nhu cầu đó, đề tài trình bày giải thuật mã hóa giải mã thơng dụng AES (Advanced Encryption Standard) kết hợp với hàm GCM để tạo IP (Intellectual Property) hàm GCM – AES 128 bits có chức thực mã hóa xác thực giải mã xác thực đảm bảo chuẩn IPSec Luận văn cải tiến thông lượng hệ thống bằng cách sử dụng đồng thời xử lý AES để tăng tốc trình mã hóa, giải mã Giải thuật gọi AES-GCM dual core Tiến trình thực đề tài thể sau: Tiến hành thực dựa đặc tả hệ thống thiết kế bằng cách sử dụng xử lý AES Thiết kế xây dựng phần cứng cấp độ RTL dựa ngơn ngữ lập trình Verilog Viết testbench cho thiết kế tiến hành tổng hợp mô phỏng Tổng hợp thực nghiệm chạy kit FPGA Aller Artix sử dụng phần mềm Vivado Kiểm tra đánh giá báo cáo hiệu sau trình thực Thiết kế hoạt động đúng với chức mã hóa xác thực giải mã xác thực đạt chuẩn IPSec GCM – AES 128 bits, tổng hợp thành công thực đúng chức chạy với kit FPGA Aller Artix với tần số 100 MHz Đề tài có thể mở rộng phát triển thêm để đạt hiệu tốt ứng dụng thực tế vào việc thiết kế router bảo mật với IPSec có chức bảo vệ, bảo mật an toàn thông tin mạng ii ABSTRACT The thesis presents a method of IP security, or referred to as IPSec IPSec is a method that has been assessed to have many advantages for current internet security, especially in the context of many cyber attacks and cyber-information security at the forefront of commercial areas e-commerce, finance, banking, Based on that requirement, the topic presenting one of the most popular encryption and decryption algorithms is AES (Advanced Encryption Standard) combined with GCM function to create an IP (Intellectual Property) GCM - AES 128 bits with authentication encryption and decryption function to ensure IPSec standard This thesis also improves the throughput of system by using dual AES cores for accelerate encrypt and decrypt process This method is calling AES-GCM dual core The process of implementing the project is shown as follows: Carry out the implementation based on the system specification of the design using dual AES core Design and build hardware at RTL level based on Verilog programming language Write testbench for design, run synthesis and simulation Experimental synthesis, implementation and running on FPGA Aller Artix kit using Vivado software Check and evaluate performance reports after implementation The topic can be expanded and further developed to achieve better performance and practical application in the design of an IPSec router with the function of securing, protecting network information security iii LỜI CAM ĐOAN Học viên xin cam đoan cơng trình nghiên cứu thân sự hướng dẫn trực tiếp thầy Hoàng Trang, cùng với số hỗ trợ nhóm nghiên cứu phòng lab 209B3 khoa Điện – Điện tử, đại học Bách Khoa thành phố Hồ Chí Minh Các kết nghiên cứu kết luận đề tài trung thực, không chép từ bất cứ nguồn chưa công bố trước với bất cứ hình thức Trong trình nghiên cứu thực hiện, đề tài có tham khảo tài liệu nước có liên quan Sự tham khảo quan trọng cần thiết cho đề tài Việc tham khảo nguồn tài liệu trích dẫn ghi rõ nguồn tham khảo theo đúng quy định Tp Hồ Chí Minh, ngày 10 tháng 10 năm 2020 Học viên Võ Ngọc Hiệu iv MỤC LỤC LỜI CẢM ƠN i TÓM TẮT LUẬN VĂN ii DANH SÁCH HÌNH MINH HỌA viii DANH SÁCH BẢNG SỐ LIỆU xi DANH SÁCH KÝ HIỆU MỘT SỐ HÀM TRONG ĐỀ TÀI xv MỞ ĐẦU 1.1 Đặt vấn đề 1.2 Đối tượng phạm vi nghiên cứu 1.2.1 Đối tượng nghiên cứu 1.2.2 Phạm vi nghiên cứu .1 1.3 Mục tiêu nội dung đề tài 1.4 Bố cục luận văn GIỚI THIỆU .3 2.1 2.1.1 Tổng quan về lịch sử IPSec 2.1.2 Tổng quan về chức IPSec 2.2 Chuẩn IPSec .4 2.3 Hoạt động chung, thành phần giao thức IPSec 2.3.1 Giao thức cốt lõi IPSec 2.3.2 Chế độ hoạt động IPSec 2.3.3 Vai trị lợi ích IPSec 2.4 Sơ lược về IPSec Ưu điểm tính ứng dụng IPSec 2.4.1 Ưu điểm IPSec 2.4.2 Một số ứng dụng IPSec 2.4.3 Khuyết điểm IPSec .8 TÌNH HÌNH NGHIÊN CỨU TRONG VÀ NGOÀI NƯỚC 3.1 Đánh giá tình hình bảo mật 3.2 Bảo mật sở hạ tầng mạng 3.3 Yêu cầu cho ứng dụng bảo mật thành công 10 3.4 Một số đề tài nghiên cứu nước tham khảo cho luận văn .11 v 3.4.1 Thực giao thức IPSec cho mạng multigigabits FPGA 11 3.4.2 Khảo sát so sánh việc thực thuật tốn mã hóa hiệu suất cao FPGA 18 CƠ SỞ LÝ THUYẾT .25 4.1 Mã hóa khối .25 4.2 Mã hóa AES .25 4.2.1 Giới thiệu AES 25 4.2.2 Tổng quan về giải thuật AES 26 4.2.3 Cấu trúc AES .29 4.2.4 Giải mã AES 37 4.3 4.3.1 Giới thiệu GCM .42 4.3.2 Các yếu tố GCM 44 4.3.3 Các phép biến đởi tốn GCM .46 4.3.4 AES-GCM Specifications 54 4.3.5 AES – GCM dual core 55 4.4 Giới thiệu kiến trúc IPSec dựa nền tảng FPGA 57 4.4.1 Khảo sát cấu hình FPGA 57 4.4.2 khảo Khảo sát hiệu IPSec AES -GCM thực FPGA tham 58 4.5 Các kiểu kiến trúc bảo mật xây dựng nền tảng IPSec 61 4.5.1 Kiến trúc lookaside 61 4.5.2 Kiến trúc flow-through 63 4.5.3 So sánh cấu trúc IPSec 64 4.5.4 Phân tích hiệu chi phí 65 4.6 Galois Counter Mode (GCM) 42 Tiêu đề Parser 67 4.6.1 Định dạng gói liệu IPv4 ESP .67 4.6.2 Định dạng gói liệu IPv6 ESP .68 THIẾT KẾ VÀ THỰC HIỆN 69 5.1 Quy trình thiết kế .69 5.2 Thiết kế RTL (Register Transfer Level) 70 5.2.1 Top level 70 vi 5.2.2 Block level .73 5.2.3 Thiết kế fifo .76 5.3 5.3.1 Định dạng gói IPv4 ESP 77 5.3.2 Định dạng gói IPv6 77 5.3.3 Định dạng gói mà thuật toán yêu cầu 78 5.4 Nền tảng FPGA 79 5.4.1 Các thông số Kit 79 5.4.2 Sơ đồ nguyên lý 80 5.5 Định dạng gói 77 Kết thực .81 5.5.1 Tổng hợp mô phỏng VCS .81 5.5.2 Kết mô phỏng .83 5.5.3 Tổng hợp chạy thử FPGA .85 5.5.5 Phân tích hiệu 92 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 101 6.1 Kết luận 101 6.2 Hướng phát triển 101 TÀI LIỆU THAM KHẢO 102 PHỤ LỤC .110 8.1 Tcl tạo test bench 110 8.2 Test bench 114 8.3 Mẫu test case ví dụ từ Cisco sử dụng cho mô phỏng đề tài 119 vii Luận văn tốt nghiệp GVHD: PGS.TS Hoàng Trang [51] Standaert, F.-X., Rouvroy, G., Quisquater, J.-J., and Legat, J.-D.: ‘A methodology to implement block ciphers in reconfigurable hardware and its application to fast and compact AES RIJNDAEL’ Proc ACM/SIGDA 11th ACM Int Symp FieldProgrammable Gate Arrays, FPGA 2003, Monterey, CA, USA, February 2003, pp 216– 224 [52] Standaert, F.-X., Rouvroy, G., Quisquater, J.-J., and Legat, J.-D.: ‘Efficient implementation of Rijndael encryption in reconfigurable hardware: improvements and design tradeoffs’ Proc Workshop on Cryptographic Hardware and Embedded Systems, CHES 2003, Cologne, Germany, September 2003, pp 334–350 [53] Wang, S.-S., and Ni, W.-S.: ‘An efficient FPGA implementation of Advanced Encryption Standard algorithm’ Proc 2004 IEEE Int Symp on Circuits and Systems, ISCAS’04, Vancouver, British Columbia, Canada, May 2004, pp 597–600 [54] Weaver, N., and Wawrzynek, J.: ‘High performance, compact AES implementations in Xilinx FPGAs’, 27 September 2002, http://www.cs.berkeley.edu/nweaver/sfra/rijndael.pdf, accessed June 2005 [55] Zambreno, J., Nguyen, D., and Choudhary, A.: ‘Exploring area/ delay tradeoffs in an AES FPGA implementation’ Proc 14th Int Conf Field-Programmable Logic and its Applications, FPL 2004, Antwerp, Belgium, August–September 2004, pp 575–585 [56] Zhang, X., and Parhi, K.K.: ‘High-Speed VLSI architectures for the AES algorithm’, IEEE Trans VLSI Syst., 2004, 12 (9), pp 957–967 [57] Rivest, R.L.: ‘The MD5 message-digest algorithm’, RFC 1321 (MIT Laboratory for Computer Science and RSA Data Security, Inc., 1992) [58] National Institute of Standards and Technology.: ‘Secure hash standard’ Federal Information Processing Standards Publication (FIPS PUB) 180-2, August 2002, with changes, 25 February 2004, http://www.csrc.nist.gov/publications/fips/fips180-2/ fips1802withchangenotice.pdf, accessed June 2005 [59] Lien, R., Grembowski, T., and Gaj, K.: ‘A Gbit/s partially unrolled architecture of hash functions SHA-1 and SHA-512’ Proc Topics in Cryptology, CT-RSA 2004, The Cryptographers’ Track at the RSA Conf 2004, San Francisco, CA, USA, February 2004, pp 324–338 [60] National Institute of Standards and Technology.: ‘Digital signature standard (DSS), ‘Federal Information Processing Standards Publication (FIPS PUB) 186-2’, 27 January 2000 [61] Jaărvinen, K., Tommiska, M., and Skyttaă, J.: ‘Hardware implementation analysis of the MD5 hash algorithm’ Proc 38th Hawai’i Int Conf System Sciences HICSS-38, Big Island, HI, USA, January 2005, p 298 106 Luận văn tốt nghiệp GVHD: PGS.TS Hoàng Trang [62] Cheung, O.Y.H., Tsoi, K.H., Wai Leong, P.H., and Leong, M.P.: ‘Tradeoffs in parallel and serial implementations of the interna- tional data encryption algorithm IDEA’ Proc Third Int Workshop on Cryptographic Hardware and Embedded Systems, CHES 2001, Paris, France, May 2001, pp 333–347 [63] Gonzalez, I., Lo´pez-Buedo, S., Go´mez, F.J., and Martı´nez, J.: ‘Using partial reconfiguration in cryptographic applications: an implementation of the IDEA algorithm’ Proc 13th International Workshop on Field-Programmable Logic and Applications (FPL’03), Lisbon, Portugal, September 2003, pp 194203 [64] Haămaălaăinen, A., Tommiska, M., and Skyttaă, J.: Gigabits per second implementation of the IDEA cryptographic algorithm’ Proc 12th Int Conf Field-Programmable Logic and its Applications, FPL 2002, Montpellier, France, September 2002, pp 760–769 [65] Leong, M.P., Cheung, O.Y.H., Tsoi, K.H., and Leong, P.H.W.: ‘A bit-serial implementation of the international data encryption algorithm IDEA’ Proc IEEE Symp Field-Programmable Custom Computing Machines (FCCM’00), Napa Valley, CA, USA, April 2000, pp 122–131 [66] Mencer, O., Morf, M., and Flynn, M.J.: ‘Hardware software tri- design of encryption for mobile communication units’ Proc 1998 IEEE Int Acoustics, Speech, and Signal Processing, ICASSP ’98, Seattle, WA, USA, May 1998, Vol 5, pp 3045–3048 [67] Pan, Z., Venkateshwaran, S., Gurumani, S.T., and Wells, B.E.: ‘Exploiting fine-grain parallelism of IDEA using Xilinx FPGA’ Proc 16th Int Conf Parallel and Distributed Computing Systems (PDCS-2003), Reno, NV, USA, August 2003, pp 122–131 [68] Deepakumara, J., Heys, H.M., and Venkatesan, R.: ‘FPGA implementation of MD5 hash algorithm’ Proc Canadian Conf Electrical and Computer Engineering, CCECE 2001, Toronto, Canada, May 2001, Vol 2, pp 919–924 [69] Diez, J.M., Bojanic´, S., Stanimirovicc´, Lj., Carreras, C., and Nieto-Taladriz, O.: ‘Hash algorithms for cryptographic protocols: FPGA implementations’ Proc 10th Telecommunica- tions Forum, TELFOR’2002, Belgrade, Yugoslavia, November 2002 [70] Dominikus, S.: ‘A hardware implementation of MD4-family hash algorithms’ Proc 9th IEEE Int Conf Electronics, Circuits and Systems, ICECS 2002, Dubrovnik, Croatia, September 2002, Vol 3, pp 1143–1146 [71] Grembowski, T., Lien, R., Gaj, K., Nguyen, N., Bellows, P., Flidr, J., Lehman, T., and Schott, B.: ‘Comparative analysis of the hardware implementations of hash functions SHA-1 and SHA-512’ Proc 5th Int Conf Information Security, ISC 2002, Sao Paulo, Brazil, September–October 2002, pp 7589 [72] Jaărvinen, K., Tommiska, M., and Skyttaă, J.: ‘A compact MD5 and SHA-1 coimplementation utilizing algorithm simila- rities’ Proc Int Conf Engineering of 107 Luận văn tốt nghiệp GVHD: PGS.TS Hoàng Trang Reconfigurable Systems and Algorithms, ERSA’05, Las Vegas, NV, USA, June 2005, pp 48–54 [73] Kang, Y.K., Kim, D.W., Kwon, T.W., and Choi, J.R.: ‘An efficient implementation of hash function processor for IPSEC’ Proc IEEE Asia-Pacific Conf on ASIC, AP-ASIC 2002, Taipei, Taiwan, August 2002, pp 93–96 [74] McLoone, M., and McCanny, J.V.: ‘Efficient single-chip implementation of SHA-384 and SHA-512’ Proc 2002 Int Conf Field-Programmable Technology, FPT 2002, Hong Kong, China, December 2002, pp 311–314 [75] Ng, C.-W., Ng, T.-S., and Yip, K.-W.: ‘A uninified architecture of MD5 and RIPEMD160 hash algorithms’ Proc 2004 IEEE Int Symp on Circuits and Systems, ISCAS’04, Vancouver, British Columbia, Canada, May 2004, Vol 2, pp 889–892 [76] Selimis, G., Sklavos, N., and Koufopavlou, O.: ‘VLSI implementation of the keyed-hash message authentication code for the wireless application protocol’ Proc 2003 10th IEEE Int Conf Electronics, Circuits and Systems, ICECS 2003, Sharjah, United Arab Emirates, December 2003, Vol 1, pp 24–27 [77] Sklavos, N., Dimitroulakos, G., and Koufopavlou, O.: ‘An ultra high speed architecture for VLSI implementation of hash functions’ Proc 2003 10th IEEE Int Conf Electronics, Circuits and Systems, ICECS 2003, Sharjah, United Arab Emirates, December 2003, Vol 3, pp 990–993 [78] Ting, K.K., Yuen, S.C.L., Lee, K.H., and Leong, P.H.W.: ‘An FPGA based SHA-256 processor’ Proc 12th Int Conf Field-Programmable Logic and its Applications, FPL 2002, Montpellier, France, September 2002, pp 577–585 [79] Wang, M.-Y., Su, C.-P., Huang, C.-T., and Wu, C.-W.: ‘An HMAC processor with integrated SHA-1 and MD5 algorithms’ Proc Asia and South Pacific Design Automation Conf 2004, Yokohama, Japan, January 2004, pp 456–458 [80] Zibin, D., and Ning, Z.: ‘FPGA Implementation of SHA-1 algorithm’ Proc 2003 5th Int Conf ASIC, ASICON 2003, Beijing, China, October 2003, Vol 2, pp 1321–1324 [81] Altera Corporation: ‘Stratix II device handbook, volume 2’, http://www.altera.com/literature/hb/stx2/stratix2_handbook.pdf, May 2005 accessed June 2005 [82] C P · J Pelzl, Understanding Cryptography, Berlin: Springer , 2010 [83] M Dworkin, "COMPUTER SECURITY," National Institute of Standards and Technology Special Publication, 2007 [84] A Joux, Authentication Failures in NIST version of GCM, Natl Inst Stand Technol 108 Luận văn tốt nghiệp GVHD: PGS.TS Hoàng Trang [Web page], http://www.csrc.nist.gov/groups/ST/toolkit/BCM/documents/comments/80038_Series-Drafts/GCM/Joux_comments.pdf [85] NIST Special Publication 800-38A, 2001 ED, Version 1, Recommendation for Block Cipher Modes of Operation—Methods and Techniques, December 2001, Natl Inst Stand Technol [Web page], http://www.csrc.nist.gov/publications/nistpubs/800-38a/ sp800-38a.pdf [86] D McGrew, J Viega, The Galois/Counter Mode of Operation (GCM), Natl Inst Stand Technol [Web page], http://www.csrc.nist.gov/groups/ST/toolkit/BCM/documents/ proposedmodes/gcm/gcm-revised-spec.pdf, May 31, 2005 [87] National Institute of Standards and Technology and Communications Security Establishment, Implementation Guidance for FIPS Pub 140-2 and the Cryptographic Module Validation Program, Natl Inst Stand Technol [Web page], http://csrc.nist.gov/ groups/STM/cmvp/documents/fips140-2/FIPS1402IG.pdf [88] K V a D L R V Arun, "Implementation of AES-GCM encryption algorithm for high performance and low power architecture Using FPGA", International Journal of Research and Applications, vol 1, no 3, pp 120-131, 2014 [89] "Helion Technology," Helion Technology Limited, 25 2011 [Online] Available: https://www.heliontech.com/downloads/aes_gcm_8bit_xilinx_datasheet.pdf "Linux [90] O source , Github, https://github.com/torvalds/linux kernel source code" [Online] Avaiable: [91] Lemsitzer, S., Wolkerstorfer, J., Felber, N., Braendli, M.: Multi-gigabit GCM-AES Architecture Optimized for FPGAs In: Paillier, P., Verbauwhede, I (eds.) CHES 2007 LNCS, vol 4727, pp 227–238 Springer, Heidelberg (2007) [92] Zhou, G.,Michalik, H., Hinsenkamp, L.: Efficient and High-Throughput implementations of AES-GCM on FPGAs In: Proceedings of International Conference on Field Programmable Technology, ICFPT 2007, pp 185–192 (December 2007) [93] Sandhya Koteshwara∗, Amitabh Das† and Keshab K Parhi, "FPGA implementation and comparison of AES-GCM and Deoxys Authenticated Encryption schemes", 2017 IEEE International Symposium on Circuits and Systems, 28-31 May 2017 [94] " D McGrew", Cisco system, "Test cases for the use of Galois/Counter Mode (GCM) and Galois Message Authentication Code (GMAC) in IPsec ESP", Available: https://tools.ietf.org/id/draft-mcgrew-gcm-test-01.html#toc 109 Luận văn tốt nghiệp GVHD: PGS.TS Hoàng Trang PHỤ LỤC 8.1 Tcl tạo test bench #!/usr/bin/tclsh # set fr [open aad64b_key128b r] set input [read $fr] set data [split $input "\n"] close $fr set i set con_pt set con_k set con_iv set con_aad set con_ct set con_tag set lk "" foreach line $data { if {$line != ""} { if {[regexp "test case :" $line]} { set i 1; set lk ""; set con_pt set con_k set con_iv set con_aad set con_ct set con_tag set tcs [lindex $line 4] array unset pt array unset ct } #if {[regexp "data length:" $line]} { set dtl 60 binary scan [binary format I $dtl] B32 dtlb #} if {[regexp "Plaintext:" $line]} {set con_pt 1} if {[regexp "key:" $line]} {set con_pt 0; set con_k 1; set i 1} if {[regexp "iv:" $line]} {set con_k 0; set con_iv 1; set i 1} if {[regexp "aad:" $line]} {set con_iv 0; set con_aad 1; set i 1} if {[regexp "Ciphertext:" $line]} {set con_aad 0; set con_ct 1; set i 1} if {[regexp "Tag:" $line]} {set con_ct 0; set con_tag 1; set i 1} if {![regexp "Plaintext:" $line] && $con_pt == 1} { set pt($i) $line incr i } if {![regexp "key:" $line] && $con_k == 1} { set lk [concat $lk $line] } if {![regexp "iv:" $line] && $con_iv == 1} { set iv $line } if {![regexp "aad:" $line] && $con_aad == 1} { set aad $line 110 Luận văn tốt nghiệp GVHD: PGS.TS Hoàng Trang } if {![regexp "Ciphertext:" $line] && $con_ct == 1} { set ct($i) $line incr i } if {![regexp "Tag:" $line] && $con_tag == 1} { set tg $line # if {$con_tag == 1} { if {[expr $dtl%16] == 0} { set dtl_bytes [expr int($dtl/16) ] } else { set dtl_bytes [expr int($dtl/16) + 1] } set fw [open /testbench/key128_aad64/key128_aad64_testcase_${tcs}.v w] puts $fw "module key128_aad64_testcase_${tcs} ;" puts $fw "parameter DATA_WIDTH = 128;" puts $fw "// MSG bytes ,AAD byte, Key" puts $fw "parameter INFO = {109'b0,11'b[string range $dtlb end10 end],4'b1000,4'b0000} ;" puts $fw "" for {set iiia 1} {$iiia

Ngày đăng: 02/03/2021, 14:16

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w