Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
650,39 KB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG - Phạm Văn Lực NGHIÊN CỨU GIẢI PHÁP NÂNG CAO HIỆU QUẢ SỬ DỤNG MẬT MÃ ĐƯỜNG CONG ELLIPTIC TRÊN CÁC THIẾT BỊ TÍNH TỐN NHÚNG Chun ngành: Kỹ thuật Điện tử Mã số: 9.52.02.03 TÓM TẮT LUẬN ÁN TIẾN SĨ KỸ THUẬT ĐIỆN TỬ HÀ NỘI - 2022 Cơng trình hồn thành tại: Học viện Cơng nghệ bưu viễn thơng Phản biện 1:…………………………………………………………………………… ……………………………… Phản biện 2: …………………………………………………………………………… ……………………………… Phản biện 3: …………………………………………………………………………… ……………………………… Luận án bảo vệ trước Hội đồng chấm luận án cấp Học viện Học viện Cơng nghệ Bưu viễn thơng, 122 Hồng Quốc Việt, Hà Nội Họp tại: …………………………………………………………………………… …………………………………… Vào hồi………giờ…………ngày………tháng………năm 2022 Có thể tìm hiểu luận án thư viện Học viện Cơng nghệ Bưu viễn thơng MỞ ĐẦU Tính cấp thiết đề tài luận án Các thiết bị tính tốn nhúng (gọi tắt hệ thống nhúng) ứng dụng rộng rãi nhiều lĩnh vực, điển thiết bị IoT (Internet of Things), thiết bị di động, thiết bị cầm tay, máy tính bảng, thẻ thơng minh, điều khiển xe ô tô, cảm biến môi trường, hộp kỹ thuật số,…Theo thống kê, thiết bị sử dụng hệ thống nhúng chiếm tới 90% thiết bị tính tốn Do chủng loại môi trường kết nối đa dạng, nhu cầu bảo đảm an tồn bảo mật thơng tin cho thiết bị di động nói chung hệ thống nhúng nói riêng trở nên cấp thiết Một lý thiết bị thường không dây, khả truy cập vật lý lúc - nơi, vấn đề an toàn bảo mật liệu bảo vệ truy cập để ngăn chặn công nghe rị rỉ thơng tin cá nhân quan trọng Đặc điểm chung hệ thống nhúng có hạn chế tài nguyên lực xử lý Việc triển khai giải pháp an tồn bảo mật thơng tin cho hệ thống nhúng có thêm nhiều thách thức so với hệ thống máy tính truyền thống Mục tiêu nghiên cứu Nghiên cứu, đề xuất giải pháp để nâng cao hiệu thực thi số thuật toán mật mã đường cong elliptic hệ thống nhúng sử dụng vi xử lý ARM, đảm bảo hiệu tốc độ tính tốn, tài ngun sử dụng an tồn sử dụng Ý nghĩa khoa học đóng góp Các giải pháp đề xuất luận án góp phần tăng cường khả bảo mật thông tin thiết bị nhúng, đáp ứng nhu cầu cấp thiết thực tiễn bảo mật liệu, ngăn chặn cơng nghe rị rỉ thơng tin cá nhân Luận án gồm có 02 đóng góp sau: 1) Đề xuất phương pháp nhân phân tầng hai số hạng trường hữu hạn dựa hai thuật toán nhân thuật toán nhân theo phương pháp phổ thơng thuật tốn nhân theo phương pháp Karatsuba Với phương pháp phân tầng, luận án xây dựng thuật tốn nhân có chi phí tốt trường hợp cụ thể đưa cơng thức để xác định chi phí thuật tốn Thuật tốn đề xuất kiểm chứng tính hiệu vi xử lý nhúng ARMv7 ARMv8 2) Đề xuất, cải tiến thuật toán nhân vô hướng (nhân điểm số nguyên dương) hệ mật đường cong Elliptic trường nguyên tố dựa đề xuất cải tiến thuật toán NAF đề xuất nâng cao hiệu phép tốn số học (cộng điểm, nhân đơi điểm) theo phương pháp song song hai phép nhân Bố cục luận án Nội dung luận án trình bày chương Chương Trình bày tổng quan vấn đề nghiên cứu Chương trình bày Nâng cao hiệu phép nhân số học trường nhị phân vi xử lý ARM Chương trình bày nâng cao hiệu phép nhân vô hướng hệ mật ECC trường nguyên tố vi vử lý ARM CHƯƠNG TỔNG QUAN CÁC VẤN ĐỀ NGHIÊN CỨU 1.1 Hệ thống nhúng Hệ thống nhúng (Embedded System) thuật ngữ thường dùng để thiết bị tính tốn đặc biệt, có tích hợp phần cứng phần mềm phục vụ ứng dụng chuyên dụng nhiều lĩnh vực đời sống Khác với hệ thống phổ biến khác, ví dụ máy tính đa hay nhiều hệ thống máy tính điều khiển cơng nghiệp, hệ thống nhúng thường có kích thước nhỏ hơn, khả xử lý yếu hơn, nhớ nhỏ yêu cầu tiêu thụ lượng [10, 11] Một hệ thống nhúng gồm ba thành phần chính: 1) Phần cứng; 2) Phần mềm ứng dụng; 3) Hệ điều hành hệ thống thời gian thực (RTOS) 1.2 Bộ vi xử lý ARM hệ thống nhúng 1.2.1 Kiến trúc ARM (Advanced RISC Machine) ARM viết tắt Advanced RISC machines, thực chất kiến trúc xử lý sử dụng tập lệnh rút gọn (RISC = Reduced Instructions Set Computer) Kiến trúc RISC tối ưu hóa đường dẫn mạch, giúp giảm mức tiêu thụ điện năng, tiết kiệm diện tích, yêu cầu tản nhiệt thấp, cung cấp mức hiệu suất vượt trội, lý tưởng cho thiết bị nhỏ gọn có tài nguyên hạn chế 1.2.2 Các vi xử lý ARM thực tế Các phiên ARM phát triển trải rộng từ ARMv1 (năm 1985) đến ARMv8 (năm 2012) [5], ARMv9 (năm 2021) 1.2.3 Kiến trúc mở rộng NEON cho ARM Kiến trúc tính tốn song song đơn lệnh-đa liệu (SIMD = Single Instruction Multiple Data) đưa vào vi xử lý ARM từ phiên (ARMv6) Từ phiên (ARMv7), vi xử lý ARM hỗ trợ engine tích hợp số thuật tốn cứng hóa sẵn gọi thành phần NEON NEON thực chất thành phần đồng xử lý tích hợp vào dịng vi xử lý ARM [4], điển Cortex-A8, Cortex-A9, Cortex-A15, CortexA53… Hình 1.1: Phép tốn cộng bit sử dụng lệnh SIMD ARMv6 ARMv7 có 13 ghi 32 bit cho mục đích chung ký hiệu từ R0 – R12 Thành phần NEON kiến trúc ARMv7 sử dụng ghi đặc biệt, ghi tách biệt với ghi mục đích chung biểu diễn dạng ghi D hai từ (64-bit) ghi Q 128-bit (bốn từ) Hình minh họa cấu trúc ghi ARMv7 Hình 1.2: Cấu trúc ghi NEON ARMv7 ARMv8 có kiến trúc 64-bit, kiến trúc có tập lệnh (AARCH64) Kiến trúc ARMv8 có 31 ghi mục đích chung (X0-X30), ghi 64-bit nửa thấp ghi ký W0-W30, biểu diễn hình sau Hình 1.3: Các ghi kiến trúc ARMv8 Những vector có độ rộng 128-bit với hai nhiều phần tử; ghi có độ rộng 64-bit với nhiều phần tử 8b7 8b6 8b5 8b4 8b3 8b2 Vn.2s[1] 16b15 16b14 16b13 16b12 16b11 16b10 16b9 Vn.4s[2] Vn.4s[3] Vn.2d[1] 16b8 16b7 16b6 16b5 8b1 8b0 Vn.2s[0] 16b4 16b3 16b2 Vn.4s[1] 16b1 Vn.8b Vn.2s 16b0 Vn.4s[0] Vn.2d[0] Vn.16b Vn.4s Vn.2d Vn Hình 1.4: Truy nhập ghi ARMv8 1.2.4 Lập trình NEON kiến trúc ARM GNU GCC cung cấp tùy chọn vector cho mã C để sinh mã NEON Để cải thiện hiệu suất thực hệ thống dựa NEON, có hai phương pháp để viết mã lập trình sử dụng lệnh nội NEON (intrinsic) lập trình trực tiếp ngôn ngữ Assembly [19] Các bước để viết đoạn mã sử dụng tính tốn NEON là: tải liệu, thực tính tốn lưu liệu 1.3 An tồn bảo mật thơng tin hệ thống nhúng 1.3.1 Các thách thức xây dựng hệ thống nhúng So với máy tính có lực xử lý mạnh, hệ thống nhúng thường có kích thước nhỏ hơn, khả xử lý yếu hơn, nhớ nhỏ yêu cầu tiêu thụ lượng Việc triển khai giải pháp an tồn bảo mật thơng tin cho hệ thống nhúng có thêm nhiều thách thức so với hệ thống máy tính truyền thống 1.3.2 Mật mã hệ thống nhúng Để bảo đảm an toàn bảo mật liệu cho hệ thống nhúng, thuật toán mã hóa sử dụng mã khối hệ mã hóa cơng khai sử dụng, song cần phát triển phù hợp môi trường thiết bị nhúng Mật mã ECC có tính chất ưu việt u cầu nhớ, lực tính tốn so với hệ thống mật mã khác Tuy nhiên, thiết bị nhúng có tảng phần cứng tài nguyên hạn chế, việc nghiên cứu giải pháp nhằm triển khai hiệu hệ thống mật mã ECC mơi trường thực tế nói chung thiết bị tính tốn nhúng nói riêng cịn có hạn chế chủ đề quan tâm cộng đồng nghiên cứu thực tế triển khai giới 1.4 Hệ mật đường cong Elliptic ứng dụng Hệ mật đường cong Elliptic (ECC - Ellicpic Curve Cryptography) hệ mật phổ biến cài đặt thiết bị tính tốn nhúng kích thước khóa nhỏ nhiều so với hệ mật khác [6] Trong phần này, luận án tóm lược đặc điểm hệ mật ECC 1.4.1 Cách biểu diễn điểm trường hữu hạn Có ba dạng tạo độ thường sử dụng Đó tọa độ quan hệ (Affine coordinate), tọa độ chiếu (Projective coordinate) tọa độ nén [7] 1.4.2 Ứng dụng hệ mật dựa đường cong Elliptic Có nhiều ứng dụng phát triển mật mã đường cong elliptic, số phải kể đến thuật tốn chữ ký số ECDSA, thuật tốn trao đổi khóa ECDH, ECMQV, ECHMQV, thuật tốn mã hóa ECIES Các ứng dụng xây dựng ECC với phép tính mật mã phép nhân vô hướng điểm đường cong với số nguyên 1.4.3 Ứng dụng ECDH ECDSA bảo mật truyền liệu thiết bị nhúng IKEv2 [57] TLS [58] hai giao thức trao đổi khóa phổ biến mà sử dụng giao thức trao đổi khóa ECDH giao thức ký số ECDSA IKEv2 giao thức trao đổi khóa cho IPSec VPN, TLS sử dụng làm giao thức trao đổi khóa cho OpenVPN 1.5 Hiệu sử dụng mật mã đường cong Elliptic thiết bị nhúng nghiên cứu liên quan 1.5.1 Sử dụng mật mã đường cong Elliptic thiết bị nhúng Phân cấp phép toán số học EC hình đây: Nhân điểm vô hướng Q = k.P EC - Nhân đôi điểm P = 2P FF - Cộng/Trừ (Add/Sub) FF - Nhân (Multiplication) EC - Cộng điểm R=P+Q FF - Bình phương (Square) FF - Chia (Division) FF - Nghịch đảo (Inversion) Hình 1.5: Cấu trúc phép tốn EC 1.5.2 Các nghiên cứu liên quan Các nghiên cứu liên quan phân chia thành nhóm là: 1) Cải tiến thuật toán lựa chọn tham số phù hợp; 2) Áp dụng kỹ thuật đặc thù cho thiết bị nhúng; 3) Giải pháp sử dụng phần cứng đặc thù thiết bị nhúng 1.5.3 Đánh giá, nhận xét Một số hạn chế phương pháp nghiên cứu trước là: a) Đánh giá hiệu thuật toán mặt toán học: Theo hiểu biết chúng tơi việc đánh giá thuật toán nhân số lớn dựa vào tiêu chí “Thuật tốn coi hiệu có số phép nhân hơn” Do vậy, việc phân rã, đánh giá tốn thường tính đến phép nhân mà bỏ qua phép cộng (nguyên nhân vi xử lý trước có thời gian thực phép nhân lớn nhiều lần so với thời gian thực phép cộng) b) Về mặt công nghệ + Nhóm 1: Cải tiến thuật tốn lựa chọn tham số phù hợp, có hạn chế: Tham số tính nhanh thường có độ an tồn thấp hơn, thuật toán chưa phù hợp với thiết bị nguồn tài nguyên hạn chế + Nhóm 2: Áp dụng kỹ thuật lập trình đặc thù cho thiết bị nhúng (ngơn ngữ bậc thấp ASM, kỹ thuật song song nhiều CPU) Hạn chế: Các trình biên dịch tương đối tối ưu; nghiên cứu cịn rời rạc chưa tích hợp đầy đủ vào ECDH, ECDSA + Nhóm 3: Giải pháp sử dụng phần cứng đặc thù thiết bị nhúng: co-processors: GPU; FPGA (Field Programmable Gate Arrays); DSP; NEON Hạn chế: Thuật tốn cứng nhắc; khó tùy biến, địa hóa thuật tốn Định hướng nghiên cứu, phát triển luận án: 11 thực phép toán nhân trường nhị phân chậm thực phép nhân trường nguyên tố 2.1.4 Xác định tỷ số phép nhân phép cộng vi xử lý ARMv7/v8 Mục xác định tỷ số lệnh nhân lệnh cộng vi xử lý ARM Việc xác định tỷ số phép nhân phép cộng giúp cho việc xây dựng thuật toán nhân phân tầng với chi phí thấp 2.2 Nhân phân tầng trường hữu hạn 2.2.1 Số nguyên lớn việc xử lý số nguyên lớn Thuật toán cộng thuật toán trừ hai số t ký tự thực theo Algorithm 2.5 Algorithm 2.6 trang 30 [25] Cả hai thuật toán cần đến t phép cộng có nhớ tương tự t phép trừ có mượn (hai phép tốn có chi phí nhau) Ký hiệu 𝑎 thời gian trung bình để thực phép cộng hai ký tự với 𝐴(𝑡) chi phí tính tốn phép cộng (trừ) hai số 𝑡 ký tự theo hai thuật tốn 𝐴(𝑡) = 𝑡𝑎 (2.1) 2.2.2 Thuật tốn nhân số lớn Tính tốn chi phí phép nhân phép cơng cho hai thuật tốn bản: a) Thuật tốn nhân theo phương pháp phổ thơng 𝑀𝑆 (𝑡) = 𝑡 𝑚 + 2(𝑡 − 𝑡)𝑎 (2.2) b) Thuật toán nhân theo phương pháp Karatsuba 𝑀𝐾 (𝑡) = 𝑡 𝑚 + 2(𝑡 − 𝑡)𝑎 𝑡(𝑡 − 1) (−𝑚 + 4𝑎) + (2.3) 2 𝑡 −𝑡 = 𝑚 + 4(𝑡 − 𝑡)𝑎 12 Bổ đề Ta có: Với 𝑡 > ta có 𝑀𝑆 (𝑡) > 4𝐴(𝑡), 𝑀𝐾 (𝑡) > 4𝐴(𝑡) Thuật toán nhân theo phương pháp Karatstuba hiệu 𝑚 thuật toán nhân phổ thông 𝑎 > 2.2.3 Mô tả thuật toán phân tầng Với cách biểu diễn số 𝑡 = 𝑢 ∙ 𝑣 ký tự B-phân số gồm 𝑢 ký tự 𝐵𝑣 -phân, ký tự lai số gồm 𝑣 ký tự B-phân, ta xây dựng phép nhân hai số nguyên 𝑡 ký tự B-phân thông qua thuật tốn nhân hai số có 𝑢 ký tự 𝐵𝑣 -phân thuật tốn nhân hai số có 𝑣 ký tự B-phân Chúng gọi phương pháp phương pháp nhân “phân tầng 𝑢: 𝑣”, phần tính tốn với số có 𝑢 ký tự 𝐵𝑣 -phân gọi tầng cao, phần tính tốn cịn lại gọi tầng thấp 2.2.4 Một số tính chất chi phí thuật tốn phân tầng Thuật tốn phân tầng chúng tơi trình bày mục trước có số tính chất thể qua mệnh đề sau Mệnh đề Cho 𝑡 = 𝑢 ∙ 𝑣 với 𝑢, 𝑣 > Khi ta có 𝑀𝑆 (𝑢): 𝑀𝑆 (𝑣) = 𝑀𝑆 (𝑠): 𝑀𝑆 (𝑢) = 𝑀𝑆 (𝑡) 𝑀𝐾 (𝑢): 𝑀𝐾 (𝑣) = 𝑀𝐾 (𝑣): 𝑀𝐾 (𝑢) ≤ 𝑀𝐾 (𝑡) 𝑡(𝑢−𝑣) (−𝑚 + 4𝑎) 𝑡(𝑢−𝑣) 𝑀𝑆 (𝑢): 𝑀𝐾 (𝑣) − 𝑀𝑆 (𝑣): 𝑀𝐾 (𝑢) = (−𝑚 − 4𝑎) 𝑡(𝑢−𝑣) 𝑀𝑆 (𝑢): 𝑀𝑆 (𝑣) − 𝑀𝐾 (𝑢): 𝑀𝑆 (𝑣) = 𝑚 + 𝑡(𝑢 − 𝑀𝐾 (𝑢): 𝑀𝑆 (𝑣) − 𝑀𝐾 (𝑣): 𝑀𝑆 (𝑢) = 1)(𝑣 − 3)𝑎 ≥ 2.2.5 Thuật tốn nhân số ngun lớn có chi phí thấp Với thuật tốn phân tầng tính chất trình bày hai mục trước chúng tơi chứng minh kết quan trọng sau 13 Định lý Cho 𝑡 = 𝑡𝑠−1 … 𝑡𝑖 … 𝑡0 với 𝑡𝑖 , ≤ 𝑖 ≤ 𝑠 − số nguyên tố 𝑡𝑖−1 ≥ 𝑡𝑖 Khi thuật tốn nhân hai số ngun 𝑡 ký tự có chi phí thấp (i) 𝑀𝐾 [𝑡𝑠−1 ]: … : 𝑀𝐾 [𝑡0 ] 𝑚 > 4𝑎 (ii) 𝑀𝐾 [𝑡𝑠−1 ]: … : 𝑀𝐾 [𝑡1 ]: 𝑀𝑆 [𝑡0 ] trường hợp ngược lại Tiếp sau đưa kết bổ trợ để xác định chi phí thuật tốn nhân số 𝑡 ký tự với 𝑡 có dạng 𝑡 = 2𝑟 × 𝑑 Ký hiệu (𝑀𝐾 [2])𝑟 thuật toán phân 𝑟 tầng 𝑀𝐾 [2]: … : 𝑀𝐾 [2] Mệnh đề Cho 𝑑 > số nguyên Khi thuật tốn (𝑀𝐾 [2])𝑟 : 𝑀[𝑑] có chi phí tính tốn (𝑀𝐾 [2]))𝑟 : 𝑀[𝑑]) = 3𝑟 𝑀(𝑑) + 8(3𝑟 − 2𝑟 )𝐴(𝑑), (2.4) M(d) chi phí thuật tốn nhân hai số d ký tự M[d] A(d) chi phí cộng hai số d ký tự 2.2.6 Tìm thuật tốn nhân tối ưu cho số giá trị t với giả thiết m = 2a Trong mục trước hết đưa thuật toán nhân tối ưu phạm vi thuật tốn trình bày mục trước giả thiết m = 2a cho số t ký tự 32-bít cho giá trị t 16 số t riêng rẽ khác thường sử dụng ứng dụng mật mã 2.3 Nhân phân tầng trường nhị phân vi xử lý ARMv7 2.3.1 Chỉ lệnh nhân nhị phân thành phần NEON vi xử lý ARMv7 Một tiện lợi rõ ràng NEON SIMD cho mật mã cung cấp nhiều không gian ghi, giảm số lần tải (load) lưu (store) từ nhớ Thay phép tốn số học 32-bit 14 với NEON SIMD thực với phép toán số học 128-bit a a6 a a a a a1 a b b6 b b b b b1 b a7*b7 a6*b6 a5*b5 a4*b4 a3*b3 a2*b2 a1*b1 a0*b0 Hình 2.1: Hoạt động lệnh VMULL.P8 2.3.2 Tham số đường cong NIST trường nhị phân Sử dụng đường cong elliptic NIST 𝔽2283 2.3.3 Một phương pháp để nhân nhanh đa thức vi xử lý ARMv7 Trong mục này, đề ứng dụng thuật toán nhân phân tầng đề xuất mục 2.2 để nhân nhanh hai đa thức trường nhị phân GF(2283) vi xử lý ARMv7 Phương pháp đề xuất (MNKv7) kết hợp thuật toán Karatsuba với nhân 64bit 32bit vi xử lý ARMv7 để tạo thành thuật toán nhân đầy đủ hai trường GF(2283 ) 2.3.4 Thực nghiệm, đánh giá thuật toán đề xuất Chúng sử dụng ngôn ngữ Assembly/C thư viện mật mã GMP để cài đặt thuật toán nhân 32bit 64bit đề xuất Sau kết hợp thuật toán nhân 64bit, thuật toán 32 bit với thuật tốn Karasuba (cũng cài đặt ngơn ngữ Assembly) để thực phép nhân hai đa thức đầy đủ 𝐺𝐹(2283 ) – thuật toán đầy đủ gọi MNKv7 Để đánh giá tốc độ thực thuật tốn cải tiến, chúng tơi có so sánh thực thi thuật toán cải tiến với thực thi tương ứng sử dụng hàm mặc định thư viện GMP [61] thư viện OpenSSL [55] 15 Bảng 2.1 Kết đánh giá Xilinx Zynq-7000 Thuật toán Thời gian thực (nano giây) Ký ECDSA (NIST-B283) Kiểm tra chữ ký ECDSA (NIST-B283) Ký ECDSA (NIST-K283) Kiểm tra chữ ký ECDSA (NIST-K283) OpenSSL1.1.1 34771922 GMP5.1.3 4521351 MNKv7 67183606 21786237 2517141 31328528 60183606 4494423 10760133 913152 1273322 973160 2.4 Nhân phân tầng trường nhị phân vi xử lý ARMv8 Trong mục này, chúng tơi đề xuất thuật tốn nhân phân tầng trường nhị phân GF(2283), GF(2409), GF(2571) dựa thuật toán nhân phân tầng đề xuất mục 2.2 trên, việc kết hợp ba thành phần chính: thuật toán Karatsuba, nhân 128-bit nhân 192-bit vi xử lý ARMv8 64-bit (AArch64) 32-bit (AArch32) 2.4.1 Hỗ trợ nhân đa thức nhị phân vi xử lý ARMv8 AArch64 cung cấp hai lệnh PMULL PMULL2, hai lệnh thực phép nhân 64x64-bit Hoạt động PMULL PMULL2 minh họa hình 2.2 a1 a0 A Register b1 b0 B Register C Register a0*b0 PMULL(A,B) a0 a1 a0 A Register b0 b1 b0 B Register a0*b0 a1*b1 VMULL.P64(A,B) PMULL2(A,B) C Register Hình 2.2: Hoạt động VMULL.P64, PMULL PMULL2 vi xử lý ARMv8 16 2.4.2 Xây dựng thuật toán nhân đa thức nhị phân phân tầng vi xử lý ARMv8 Trong nội dung này, chúng tơi đề xuất thuật tốn nhân phân tầng trường nhị phân GF(2283), GF(2409), GF(2571) việc kết hợp ba thành phần (gọi MKNv8): Thuật tốn Karatsuba, nhân 128-bit nhân 192-bit vi xử lý ARMv8 32-bit (AArch32) 64-bit (AArch64) Giới hạn cho thuật toán nhân nhị phân hai thuật tốn, theo phương pháp nhân phổ thơng (ký hiệu 𝑀𝑆 [𝑡𝑖 ]) theo phương pháp Karatsuba (𝑀𝐾 [𝑡𝑖 ]) cho tầng thứ 𝑡𝑖 Phân tích cụ thể cho trường cần khảo sát sau: - Đối với GF(2283) đa thức bậc 282 tách thành đa thức bậc 63 Khi phân tầng tốt xét đến 23 ký hiệu 𝑀𝐾 [2]: 𝑀𝑆 [3] 3x2 ký hiệu 𝑀𝐾 [3]: 𝑀𝑆 [2] - Đối với GF(2409) đa thức bậc 408 tách thành đa thức bậc 63 Khi phân tầng tốt 222, ký hiệu 𝑀𝐾 [2]: 𝑀𝐾 [2]: 𝑀𝑆 [2] - Đối với GF(2571) đa thức bậc 570 tách thành đa thức bậc 63 Khi phân tầng tốt 33, ký hiệu 𝑀𝐾 [3]: 𝑀𝑆 [3] Như vậy, để thực phép nhân phân tầng trường nhị phân GF(2283), GF(2409) GF(2571) ta cần xây dựng nhân là: nhân 128-bit nhân 192-bit phương pháp nhân phổ thông 2.4.3 Thực nghiệm đánh giá thuật toán đề xuất Chúng tơi sử dụng thư viện RELIC [54] để tích hợp cài đặt thuật tốn đề xuất (MKNv8) mơ tả mục Tiếp theo 17 để đánh giá tính hiệu MKNv8, chúng tơi sử dụng thuật tốn mật mã ECDSA, ECDH ECMQV Các kết thể bảng Bảng 2.2 Kết đánh giá ECDSA NXP IMX8M Kit Algorithm Sign ECDSA (NIST-B283) Verify signature ECDSA (NIST-B283) Sign ECDSA (NIST-B409) Verify signature ECDSA (NIST-B409) Sign ECDSA (NIST-B571) Verify signature ECDSA (NIST-B571) LOHAD [29] (nanosec) 2157937 10463561 MKNv8 (nanosec) 504856 2426928 4740125 22585278 1042230 4920991 9947431 46434713 2051932 9791679 2.5 Kết luận chương Các kết chương trình bày ba cơng trình cơng bố [J1, C1, C2] với hai kết là: - Đề xuất thuật tốn nhân phân tầng với chi phí thấp phương pháp đánh giá hiệu thuật toán nhân - Áp dụng thuật toán nhân phân tầng kết hợp với nhân thành phần NEON để nâng cao hiệu phép nhân số học trường nhị phân vi xử lý ARMv7 ARMv8 Kết thực nghiệm cho thấy thuật toán đề xuất nhanh kỹ thuật trước 4, 5, lần trường GF(2283), GF(2409), GF(2571) thực tảng phần cứng ARMv7 ARMv8 18 CHƯƠNG NÂNG CAO HIỆU QUẢ PHÉP NHÂN VÔ HƯỚNG CỦA HỆ MẬT ECC TRONG TRƯỜNG NGUYÊN TỐ TRÊN VI XỬ LÝ ARM Trong chương 3, luận án đề xuất số giải pháp nhằm cải tiến nâng cao hiệu thực phép nhân điểm đường cong ECC trường nguyên tố dựa kết hợp cải tiến NAF cải tiến phép cộng nhân đôi điểm nhờ sử dụng phép nhân kép Các kết chương trình bày hai cơng trình cơng bố [J2, J3] 3.1 Cơ sở để nâng cao hiệu phép nhân điểm vô hướng ECC trường nguyên tố 3.1.1 Nâng cao hiệu phép tính số học trường nguyên tố vi xử lý nhúng Trong trường nguyên tố, việc thay đổi thuật tốn số học dựa khai thác tính (ví dụ ứng dụng NEON vi xử lý ARM Cortex-A) gặp phải khó khăn vấn đề xử lý lan truyền phần dư 3.1.2 Nâng cao hiệu phép toán số học điểm Phép tốn ECC phép nhân điểm vơ hướng kP, k số nguyên, P điểm đường cong elliptic Để thực phép nhân điểm vơ hướng, ta sử dụng phép cộng điểm (point addition) nhân đôi điểm (point doubling multiplication) Trong chương luận án, kết hợp phương pháp để nâng cao hiệu phép tính số học điểm cụ thể: a) Trong mục 3.3 trình bày phương pháp biểu diễn eNAF để giảm số phép cộng nhân đôi điểm ... triển luận án: Để nâng cao hiệu cho thuật toán ECDH, ECDSA thiết bị nhúng, luận án định hướng nghiên cứu, đề xuất số giải pháp để nâng cao hiệu suất, tốc độ tính toán gồm: + Đề xuất phương pháp đánh... cầu cần bảo mật liệu thiết bị nhúng, giải pháp nâng cao hiệu hệ mật khóa công khai Elliptic thiết bị nhúng (cải tiến thuật toán, sử dụng tham số đặc biệt; sử dụng thành phần tính tốn nhanh GPU,... thuật toán mật mã đường cong elliptic hệ thống nhúng sử dụng vi xử lý ARM, đảm bảo hiệu tốc độ tính tốn, tài ngun sử dụng an tồn sử dụng Ý nghĩa khoa học đóng góp Các giải pháp đề xuất luận án