Tổng quan luận án

Hệ thống tính toán nhúng hiện diện trong khoảng 90% tổng số thiết bị tính toán hiện nay, bao gồm các thiết bị Internet vạn vật (IoT), thiết bị di động cầm tay, thẻ thông minh, hệ thống cảm biến và các bộ điều khiển trong công nghiệp cũng như ô tô. Đa số các thiết bị này hoạt động qua kết nối không dây trong môi trường mở, đòi hỏi yêu cầu bảo vệ dữ liệu chống nghe lén và rò rỉ thông tin cá nhân. Tuy nhiên, các hệ thống nhúng có đặc thù hạn chế nghiêm ngặt về năng lực xử lý của vi xử lý (CPU), dung lượng bộ nhớ (RAM, ROM, Flash) và nguồn cung cấp năng lượng từ pin. Việc triển khai các hệ mật mã khóa công khai truyền thống như RSA gặp trở ngại lớn do kích thước khóa lớn (2048-bit đến 3072-bit), tiêu tốn nhiều chu kỳ xử lý và năng lượng. Mật mã đường cong Elliptic (ECC) cung cấp mức độ an toàn tương đương với kích thước khóa nhỏ hơn đáng kể (ví dụ khóa 256-bit trong ECC đạt độ an toàn tương đương khóa 3072-bit của RSA), song các phép tính cơ sở như nhân vô hướng điểm, cộng điểm và nhân đôi điểm trên đường cong vẫn chiếm tỷ trọng thời gian và tài nguyên lớn. Khoảng trống nghiên cứu được chỉ ra là các phương pháp tối ưu hóa trước đây thường phụ thuộc vào việc lựa chọn các tham số đường cong đặc biệt (không phù hợp cho các ứng dụng an ninh có độ mật cao), hoặc dựa trên các phần cứng chuyên dụng như FPGA, GPU (khó thay đổi tham số, chi phí phần cứng cao), hoặc chỉ tối ưu hóa các phép toán số học đơn lẻ mà thiếu giải pháp tích hợp hoàn chỉnh vào các giao thức bảo mật thực tế.

Mục tiêu nghiên cứu của luận án:

  1. Nghiên cứu, đề xuất các giải pháp nâng cao hiệu quả thực thi một số thuật toán mật mã đường cong elliptic trên nền hệ thống nhúng sử dụng vi xử lý ARM.
  2. Đảm bảo hiệu quả về tốc độ tính toán, giảm mức tiêu hao tài nguyên và duy trì tính an toàn trong sử dụng thực tế.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Các thuật toán mật mã đường cong Elliptic an toàn và hiệu quả trên môi trường tính toán nhúng.
  • Phạm vi không gian và công nghệ: Môi trường tính toán nhúng trên kiến trúc vi xử lý ARM, cụ thể là các dòng ARMv7 (32-bit, Cortex-A9) và ARMv8 (64-bit, Cortex-A53) có tích hợp thành phần mở rộng tính toán song song NEON.
  • Phạm vi toán học và giao thức: Các phép toán số học trong trường nhị phân $\mathbb{F}_{2^m}$ và trường nguyên tố $\text{GF}(p)$, phép nhân vô hướng điểm trên đường cong Elliptic, tích hợp vào hai giao thức mật mã khóa công khai tiêu chuẩn là thuật toán ký số ECDSA và giao thức thỏa thuận khóa ECDH.

Tổng quan tài liệu và vị trí của luận án

Trong luận án, tác giả đã tiến hành tổng hợp và phân loại các công trình nghiên cứu liên quan theo ba nhóm tiếp cận chính:

  1. Nhóm cải tiến thuật toán và lựa chọn tham số trên ECC:
  • Các nghiên cứu lý thuyết nền tảng của Darrel Hankerson, Alfred Menezes, Scott Vanstone (2004) về phân tích và chuẩn hóa thuật toán số học trường và số học đường cong; nghiên cứu của Praful Kumar Singh, Mrityunjay Kumar Choudhary (2013) về so sánh hiệu năng các phương pháp nhân điểm như phương pháp nhị phân và phương pháp dạng không liền kề (NAF).
  • Các phương pháp nhân nhanh modulo của Barrett và Montgomery; các khuyến nghị lựa chọn tham số số nguyên tố đặc biệt của Viện Tiêu chuẩn và Công nghệ Quốc gia Hoa Kỳ (NIST) trong chuẩn FIPS 186-2 nhằm tăng tốc độ tính toán modulo.
  • Các công trình của Bernstein và Schwabe sử dụng thành phần NEON trên lõi Cortex-A8 với mức an toàn 128-bit trên trường nguyên tố $\mathbb{F}{2^{256}-19}$ đạt 527.000 chu kỳ cho phép thỏa thuận khóa; công trình của Hamburg trên Cortex-A9 không dùng NEON với trường $\mathbb{F}{2^{252}-2^{232}-1}$ đạt 616.000 chu kỳ. Hạn chế của hướng tiếp cận này là việc dựa vào các tham số đặc biệt sẽ khó đáp ứng các tiêu chuẩn mật mã dùng tham số chuẩn hoặc các yêu cầu bảo mật chuyên dụng.
  1. Nhóm giải pháp sử dụng phần cứng chuyên biệt:
  • Cứng hóa phép tính trên nền tảng FPGA: Các công trình của Moncef Amara, Amar Siad (2011), Sandeeps và Hameen Shanavas I (2012) nhằm tăng tốc phép nhân điểm phục vụ việc trao đổi khóa; các nghiên cứu trong nước về tăng hiệu quả nhân điểm ECC trên chip FPGA.
  • Khai thác bộ xử lý đồ họa (GPU) thông qua OpenCL và bộ xử lý tín hiệu số (DSP) với các chỉ lệnh nhân tích lũy. Hạn chế của nhóm này là độ phức tạp cao trong lập trình điều khiển, tiêu thụ năng lượng lớn và khó thay đổi tham số khi thuật toán đã bị cố định vào phần cứng.
  1. Nhóm giải pháp khai thác kiến trúc mở rộng NEON trên vi xử lý ARM:
  • Nghiên cứu của Polyakov cài đặt hàm băm GHASH với NEON cho giao thức GCM trong dự án OpenSSL đạt hiệu suất 15 chu kỳ/byte trên Cortex-A8.
  • Nghiên cứu xây dựng bộ nhân 64-bit sử dụng chỉ lệnh VMULL.P8 của ARMv7 kết hợp thuật toán nhân Karatsuba cho các trường $\mathbb{F}{2^{251}}$, $\mathbb{F}{2^{283}}$ và $\mathbb{F}_{2^{571}}$.
  • Nghiên cứu khai thác chỉ lệnh PMULL nhân đa thức 64-bit trên ARMv8 kết hợp Karatsuba cho các độ dài 128-bit, 256-bit và 512-bit trên đường cong B-251, cho tốc độ nhanh hơn 5,5 lần so với kỹ thuật trên ARMv7.

Khoảng trống nghiên cứu được luận án xác định để giải quyết bao gồm hai khía cạnh:

  • Về mặt lý thuyết đánh giá: Cho đến nay, việc đánh giá thuật toán nhân số lớn thường chỉ căn cứ vào số lượng phép nhân cơ bản mà bỏ qua chi phí của phép cộng. Trên các vi xử lý hiện đại, độ chênh lệch thời gian thực thi giữa phép nhân và phép cộng đã giảm đáng kể, đòi hỏi một mô hình đánh giá chi phí chính xác hơn dựa trên tỷ số giữa hai phép toán này.
  • Về mặt thực thi kỹ thuật: Thiếu một giải pháp kết hợp đồng bộ giữa việc tái cấu trúc thuật toán tầng cao (biểu diễn số nguyên, song song hóa phép toán điểm) với các chỉ lệnh SIMD NEON ở tầng phần cứng, đồng thời tích hợp trực tiếp vào các giao thức bảo mật thực tế như ECDH và ECDSA mà không bị phụ thuộc vào các tham số đặc biệt.

Cơ sở lý thuyết và phương pháp nghiên cứu

Luận án dựa trên khung lý thuyết của hệ mật mã đường cong Elliptic trên trường hữu hạn $\mathbb{F}_q$. Đường cong Elliptic trên trường số nguyên tố lớn $\text{GF}(p)$ ($p > 3$) được định nghĩa qua phương trình Weierstrass dạng Affine:

$$Y^2 = X^3 + aX + b \pmod p$$

với các hệ số $a, b \in \mathbb{F}_q$ thỏa mãn điều kiện không suy biến $4a^3 + 27b^2 \ne 0 \pmod p$. Tập hợp các điểm $P(x, y)$ thỏa mãn phương trình cùng với điểm ở vô cực $\mathcal{O}$ tạo thành một nhóm Abel dưới phép cộng điểm. Độ an toàn của hệ mật dựa trên độ khó của bài toán Logarithm rời rạc trên đường cong Elliptic (ECDLP): cho điểm $P$ có cấp $n$ và điểm $Q = k.P$, việc tìm lại số nguyên bí mật $k \in [0, n-1]$ là bài toán khó về mặt tính toán.

Hệ thống phân cấp các phép toán trong ECC được tổ chức thành ba tầng:

  1. Tầng trên cùng (Upper Layer): Thực hiện phép nhân vô hướng điểm $Q = k.P$, sử dụng các phương pháp biểu diễn số nguyên $k$ như dạng nhị phân, dạng không liền kề (NAF), NAF cửa sổ trượt (wNAF), thuật toán Montgomery hoặc lược đồ Comb.
  2. Tầng trung gian (Middle Layer): Thực hiện phép cộng hai điểm ($P + Q$) và phép nhân đôi điểm ($2P$). Các điểm được biểu diễn qua hệ tọa độ Affine $(x, y)$, tọa độ chiếu chuẩn $(X/Z, Y/Z)$ hoặc tọa độ chiếu Jacobian $(X/Z^2, Y/Z^3)$. Luận án thống kê chi phí tính toán giữa các hệ tọa độ:
Hệ tọa độ Phép cộng điểm thông thường Phép nhân đôi điểm
Affine $1I + 2M$ (1 Nghịch đảo, 2 Nhân) $1I + 2M$ (1 Nghịch đảo, 2 Nhân)
Chiếu chuẩn $(X/Z, Y/Z)$ $13M$ (13 Phép nhân) $7M$ (7 Phép nhân)
Chiếu Jacobian $(X/Z^2, Y/Z^3)$ $14M$ (14 Phép nhân) $5M$ (5 Phép nhân)
  1. Tầng thấp nhất (Lower Layer): Các phép toán số học trên trường hữu hạn cơ sở bao gồm cộng, trừ, nhân, bình phương và tìm nghịch đảo modulo.

Về mặt công nghệ phần cứng, kiến trúc mở rộng NEON là đơn vị đồng xử lý thực thi đơn chỉ thị đa dữ liệu (SIMD) được tích hợp trong vi xử lý ARM. Trên ARMv7 (32-bit), NEON cung cấp 16 thanh ghi 128-bit ($Q_0 - Q_{15}$) hoặc 32 thanh ghi 64-bit ($D_0 - D_{31}$). Trên ARMv8 (64-bit AArch64), NEON cung cấp 32 thanh ghi vector 128-bit ($V_0 - V_{31}$). Cơ chế SIMD cho phép thực hiện đồng thời các phép tính trên nhiều làn dữ liệu (lanes) trong cùng một chu kỳ lệnh.

Đặc điểm kiến trúc Kiến trúc ARMv7 (AArch32) Kiến trúc ARMv8 (AArch64)
Tập thanh ghi đa năng 13 thanh ghi 32-bit ($R_0 - R_{12}$) 31 thanh ghi 64-bit ($X_0 - X_{30}$)
Tập thanh ghi NEON 16 thanh ghi 128-bit ($Q$) / 32 thanh ghi 64-bit ($D$) 32 thanh ghi vector 128-bit ($V_n$)
Chỉ lệnh nhân đa thức nhị phân VMULL.P8 (nhân đa thức 8-bit lên 16-bit) PMULL, PMULL2, VMULL.P64 (nhân 64-bit lên 128-bit)
Phương pháp lập trình Gọi hàm nội tại (intrinsic) hoặc hợp ngữ (Assembly) Gọi hàm nội tại (intrinsic) hoặc hợp ngữ (Assembly)

Phương pháp nghiên cứu kết hợp giữa lý luận và thực nghiệm:

  • Phương pháp lý luận: Phân tích mô hình toán học tính toán chi phí, xác định tỷ số chi phí giữa phép nhân và phép cộng cơ bản; xây dựng cấu trúc nhân phân tầng tối ưu; thiết lập thuật toán tìm dạng không liền kề mở rộng và kỹ thuật song song hai phép nhân trên trường nguyên tố.
  • Phương pháp thực nghiệm: Cài đặt trực tiếp bằng mã hợp ngữ và hàm nội tại NEON, biên dịch qua GNU GCC, đo lường số chu kỳ xung nhịp và thời gian thực thi trên hai bộ kit phần cứng đại diện: Kit Xilinx Zynq-7000 SoC ZC702 (ZesBoard, chứa lõi kép ARM Cortex-A9 xung nhịp hỗ trợ ARMv7) và Kit NXP IMX8M (chứa lõi tứ ARM Cortex-A53 xung nhịp 1.8 GHz, hỗ trợ kiến trúc ARMv8 64-bit).

Nội dung chính theo từng chương

Chương 1. Tổng quan các vấn đề nghiên cứu

Chương 1 phân tích tổng thể cấu trúc phần cứng nhúng, gồm các khối quản lý nguồn (Power Management), vi xử lý nhúng, bộ nhớ (RAM, ROM, Flash), ngoại vi I/O, bộ đếm thời gian và watchdog timer, các bộ biến đổi ADC/DAC và cảm biến. Tác giả chỉ ra các ràng buộc đối nghịch trong thiết kế hệ thống nhúng: yêu cầu hiệu năng phản hồi theo thời gian thực (thường chạy trên hệ điều hành thời gian thực - RTOS) đối nghịch với mục tiêu giảm thiểu mức tiêu thụ điện năng từ nguồn pin và hạn chế dung lượng bộ nhớ.

Tác giả đối sánh mức độ an toàn theo khuyến cáo của NIST giữa hệ mật RSA và ECC:

Giai đoạn áp dụng Mức độ an toàn (bit) Kích cỡ khóa ECC (bit) Kích cỡ khóa RSA (bit)
2016 – 2030 112 224 2.048
> 2030 128 256 3.072
>> 2030 192 384 7.680
>>> 2030 256 512 15.360

Chương này làm rõ quy trình tích hợp ECC vào các giao thức bảo mật thực tế:

  • Giao thức TLS: Gồm ba giao thức con là Handshake, ChangeCipherSpec và Alert. Phép thỏa thuận khóa ECDH được dùng trong thông điệp ServerKeyExchange và ClientKeyExchange; chữ ký số ECDSA được dùng trong CertificateVerify để xác thực thực thể.
  • Giao thức OpenVPN: Triển khai giải pháp SSL/TLS VPN qua đường hầm TCP/UDP, trong đó kênh điều khiển sử dụng TLS bắt tay và tái thương lượng khóa định kỳ.
  • Giao thức IKEv2: Bộ giao thức trao đổi khóa cho mạng riêng ảo IPSec gồm hai giai đoạn: Giai đoạn 1 trao đổi khóa và xác thực thực thể (IKE_SA_INIT sử dụng giá trị Diffie-Hellman $KE_i$, $KE_r$ và IKE_AUTH xác thực bằng chữ ký số ECDSA); Giai đoạn 2 tạo khóa con bảo vệ dữ liệu (CREATE_CHILD_SA).

Chương 2. Nâng cao hiệu quả của phép nhân số học trong trường nhị phân trên vi xử lý ARM

Chương 2 giải quyết bài toán nâng cao tốc độ phép nhân đa thức trên trường nhị phân $\mathbb{F}_{2^m}$. Tác giả đề xuất mô hình toán học đánh giá chi phí thuật toán nhân số lớn dựa trên tỷ số giữa thời gian thực hiện một phép nhân cơ bản và một phép cộng cơ bản. Đặt chi phí của phép nhân cơ bản là $m$ và phép cộng cơ bản là $a$, với giả thiết $m = 2a$ trên các kiến trúc vi xử lý ARM hiện đại, toàn bộ hàm chi phí được quy đổi về số lượng phép cộng cơ bản.

Dựa trên mô hình này, tác giả thiết lập thuật toán "nhân phân tầng" (layered multiplication) nhằm xác định cấu trúc phân rã tối ưu cho các số hạng có độ dài $t$ từ từ $t = 1$ đến $t = 480$. Thuật toán kết hợp giữa phương pháp nhân trường phổ thông và thuật toán nhân chia để trị Karatsuba.

Đối với kiến trúc ARMv7:

  • Khai thác chỉ lệnh SIMD VMULL.P8 (thực hiện nhân song song 8 cặp đa thức 8-bit để sinh ra các tích 16-bit).
  • Xây dựng bộ nhân 64-bit từ VMULL.P8, sau đó mở rộng thành bộ nhân 128-bit và 192-bit.
  • Triển khai thuật toán nhân cho trường nhị phân $\mathbb{F}{2^{283}}$ theo chuẩn đường cong NIST. Tác giả biểu diễn ma trận tích thành phần $c{j,k} = a_j \cdot b_k$, thực hiện biến đổi các vector cột $C_i$ thành các vector trung gian $D_i$ nhằm tối ưu hóa các lệnh nạp dữ liệu (VLD) và lưu dữ liệu (VST).
  • Đánh giá thực nghiệm trên kít Xilinx Zynq-7000 SoC ZC702 và kít IMX6Q-SABRE (chạy hệ điều hành Linux) cho thấy thuật toán nhân phân tầng đề xuất giảm số chu kỳ thực thi và giảm chi phí truy cập bộ nhớ so với các cài đặt truyền thống.

Đối với kiến trúc ARMv8:

  • Khai thác tập chỉ lệnh 64-bit mới bao gồm PMULL, PMULL2 và VMULL.P64 cho phép nhân trực tiếp hai đa thức bậc 64-bit trong một chỉ lệnh duy nhất.
  • Xây dựng thuật toán nhân đa thức phân tầng kết hợp bộ nhân 128-bit và 192-bit với kỹ thuật Karatsuba.
  • Thực nghiệm trên bộ kít NXP IMX8M đo đạc hiệu năng của các giao thức ECDSA, ECDH và ECMQV trên trường nhị phân, khẳng định tốc độ cải thiện rõ rệt nhờ việc giảm thiểu tối đa các lệnh trễ nạp/lưu và tận dụng chiều rộng thanh ghi vector 128-bit.

Chương 3. 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

Chương 3 tập trung tối ưu hóa hệ mật ECC trên trường số nguyên tố lớn $\text{GF}(p)$, tác động đồng thời vào hai tầng: tầng biểu diễn số mũ vô hướng và tầng số học điểm.

  1. Cải tiến tầng biểu diễn số vô hướng:
  • Phân tích thuật toán nhân nhị phân Right-to-Left, thuật toán dạng không liền kề NAF chuẩn và thuật toán NAF cửa sổ trượt (wNAF). Trong biểu diễn NAF, không có hai chữ số khác 0 nào nằm cạnh nhau, giúp giảm mật độ Hamming của số nhân $k$.
  • Tác giả đề xuất thuật toán mới xác định biểu diễn $\text{NAF}(k)$ và mở rộng thành "dạng biểu diễn hầu không liền kề" (almost non-adjacent form). Biểu diễn này cho phép giảm số lượng phép cộng điểm trên đường cong Elliptic trong quá trình tính $Q = k.P$, từ đó trực tiếp rút ngắn tổng thời gian nhân vô hướng.
  1. Cải tiến số học điểm và số học trường:
  • Đề xuất kỹ thuật song song hai phép nhân đồng thời trên trường $\text{GF}(p)$ tận dụng kiến trúc SIMD NEON. Trong phép tính cộng điểm và nhân đôi điểm trên hệ tọa độ chiếu Jacobian, nhiều phép nhân số nguyên lớn diễn ra độc lập.
  • Tác giả sử dụng các thanh ghi NEON và chỉ lệnh nhân VMULL.U32 để ghép cặp hai phép nhân 256-bit độc lập vào các làn dữ liệu song song của vector 128-bit, kết hợp với các lệnh nạp/lưu tối ưu hóa VLD, VST và cộng tích lũy VADD.
  • Quy trình này loại bỏ các chu kỳ chờ (pipeline stalls) và giảm một nửa số chỉ lệnh điều khiển so với việc thực hiện tuần tự từng phép nhân.
  1. Kết quả đánh giá thực nghiệm:
  • Luận án thực hiện đo đạc chi tiết trên hai dòng phần cứng: vi xử lý ARMv7 Cortex-A9 (Kit ZesBoard / Zynq-7000) và vi xử lý ARMv8 Cortex-A53 (Kit NXP IMX8M).
  • Các chỉ số thời gian được đo đạc phân tầng: từ các phép toán số học cơ sở trên $\text{GF}(p)$, phép toán số học điểm (cộng điểm, nhân đôi điểm), đến toàn bộ chu trình tính toán trong giao thức ký số/kiểm tra chữ ký số ECDSA và giao thức trao đổi khóa ECDH.

Kết quả và những đóng góp mới

Luận án đã đạt được các kết quả khoa học và đóng góp mới sau:

  1. Đóng góp về lý luận và thuật toán:
  • Đề xuất phương pháp mới đánh giá chi phí của thuật toán nhân số lớn dựa trên tỷ số giữa thời gian thực hiện phép nhân cơ bản và phép cộng cơ bản ($m = 2a$). Phương pháp này khắc phục nhược điểm của các mô hình truyền thống vốn chỉ tính số phép nhân và bỏ qua phép cộng, cho phép đưa ra công thức đánh giá chính xác độ phức tạp tính toán trên các vi xử lý hiện đại.
  • Xây dựng mô hình và thuật toán nhân phân tầng (layered multiplication) tối ưu trên trường hữu hạn, đưa ra các cấu hình phân rã có chi phí thấp nhất cho các kích thước từ $t = 1$ đến $t = 480$.
  • Đề xuất thuật toán mới tìm biểu diễn dạng không liền kề $\text{NAF}(k)$ và dạng biểu diễn hầu không liền kề cho số nguyên dương $k$, làm giảm số lượng phép cộng điểm trong phép nhân vô hướng trên đường cong Elliptic.
  • Đề xuất giải pháp thực hiện song song hai phép nhân số học đồng thời trên trường số nguyên tố $\text{GF}(p)$ bằng cách khai thác công nghệ SIMD NEON.
  1. Đóng góp về mặt kỹ thuật và thực tiễn:
  • Cài đặt và thực nghiệm thành công các thuật toán đề xuất trên vi xử lý ARMv7 và ARMv8 bằng ngôn ngữ hợp ngữ kết hợp hàm nội tại NEON, tận dụng tối đa các chỉ lệnh VMULL.P8 (ARMv7) và PMULL/PMULL2 (ARMv8) trong trường nhị phân, cũng như VMULL.U32 trong trường nguyên tố.
  • Tích hợp toàn diện các cải tiến vào hai giao thức mật mã chuẩn là thỏa thuận khóa ECDH và chữ ký số ECDSA trên hai kít phát triển phần cứng thực tế (Xilinx Zynq-7000 SoC ZC702 và NXP IMX8M).
  • Cung cấp giải pháp kỹ thuật nâng cao hiệu năng bảo mật dữ liệu truyền thông, trực tiếp giải quyết bài toán cân bằng giữa tài nguyên hạn chế và tốc độ phản hồi thời gian thực trong các giao thức TLS, OpenVPN, IKEv2/IPSec trên các thiết bị nhúng và IoT.

Hạn chế và hướng nghiên cứu tiếp

Hạn chế của luận án:

  • Phạm vi thực nghiệm tập trung chủ yếu trên hai dòng vi xử lý cụ thể là ARMv7 Cortex-A9 và ARMv8 Cortex-A53 trên các bo mạch phát triển được chỉ định (ZesBoard Zynq-7000, IMX6Q-SABRE, NXP IMX8M), chưa khảo sát trên các kiến trúc vi xử lý nhúng khác ngoài ARM như MIPS hay RISC-V.
  • Các thử nghiệm tham số trường nhị phân tập trung vào đường cong khuyến nghị của NIST (như $\mathbb{F}_{2^{283}}$), chưa bao phủ toàn bộ các kích thước trường khác nhau trong các chuẩn quốc tế mở rộng.
  • Chưa khảo sát trên kiến trúc ARMv9 mới ra đời (năm 2021) với tập chỉ lệnh vector mở rộng SVE (Scalable Vector Extension).

Hướng phát triển tiếp theo của đề tài:

  • Mở rộng phương pháp nhân phân tầng và kỹ thuật song song hai phép nhân sang các thế hệ vi xử lý ARMv9 và các kiến trúc mở như RISC-V có hỗ trợ vector mở rộng.
  • Nghiên cứu ứng dụng các kỹ thuật tối ưu hóa này cho các lược đồ mật mã phi chuẩn hoặc mật mã hậu lượng tử trên nền tảng nhúng có tài nguyên hạn chế.
  • Tiếp tục tối ưu hóa sâu hơn mã nguồn cấp thấp để giảm mức tiêu thụ năng lượng đo bằng phần cứng chuyên dụng.

Giá trị tham khảo

Luận án cung cấp tài liệu tham khảo có giá trị chuyên môn cao cho các nhóm đối tượng:

  • Nghiên cứu sinh, học viên cao học và giảng viên chuyên ngành Kỹ thuật Điện tử, An toàn Thông tin và Khoa học Máy tính: Phần cơ sở lý thuyết tại Chương 1 và Chương 3 hệ thống hóa đầy đủ các tầng cấu trúc của mật mã ECC; phương pháp đánh giá chi phí phép nhân số lớn phụ thuộc vào phép cộng tại Chương 2 cung cấp một công cụ phân tích độ phức tạp thuật toán sát với thực tế phần cứng.
  • Kỹ sư thiết kế hệ thống nhúng và kỹ sư an toàn thông tin: Kỹ thuật lập trình NEON cấp thấp (Assembly và intrinsic) trên ARMv7 và ARMv8 tại Chương 2 và Chương 3 có thể áp dụng trực tiếp để tối ưu hóa các thư viện mật mã nhúng, giảm độ trễ bắt tay cho các giao thức mạng như TLS, IPSec, OpenVPN.
  • Các đơn vị phát triển thiết bị viễn thông, thiết bị IoT và thiết bị bảo mật chuyên dụng: Cung cấp phương pháp hiện thực hóa các giải pháp bảo mật khóa công khai đạt tốc độ cao mà không phải đầu tư thêm các vi mạch chuyên dụng đắt tiền (ASIC, FPGA).

Câu hỏi thường gặp

  1. Tại sao hệ mật mã đường cong Elliptic (ECC) được lựa chọn thay thế cho RSA trên các hệ thống tính toán nhúng? Hệ thống nhúng có tài nguyên bộ nhớ nhỏ, năng lực xử lý hạn chế và hoạt động bằng pin. Theo chuẩn NIST, để đạt cùng mức an toàn 128-bit (áp dụng cho giai đoạn sau năm 2030), hệ mật RSA cần kích thước khóa 3072-bit, trong khi ECC chỉ cần kích thước khóa 256-bit. Kích thước khóa nhỏ hơn giúp ECC giảm đáng kể dung lượng bộ nhớ lưu trữ, giảm băng thông truyền thông khi trao đổi khóa và giảm khối lượng tính toán trên các thanh ghi vi xử lý.

  2. Điểm khác biệt cốt lõi trong phương pháp đánh giá chi phí thuật toán nhân số lớn của tác giả so với các nghiên cứu trước là gì? Các nghiên cứu trước đây đánh giá hiệu quả thuật toán nhân số lớn dựa trên giả định thời gian thực hiện phép nhân lớn hơn rất nhiều so với phép cộng, nên chỉ đếm số phép nhân cơ bản mà bỏ qua hoàn toàn số phép cộng cơ bản. Tác giả chỉ ra rằng trên các vi xử lý hiện đại, khoảng cách này đã thu hẹp. Bằng cách xác định tỷ số giữa thời gian thực hiện phép nhân và phép cộng cơ bản ($m = 2a$), tác giả đưa ra công thức quy đổi toàn bộ chi phí về số phép cộng cơ bản, giúp việc lựa chọn cấu trúc nhân phân tầng đạt chi phí thực tế thấp nhất.

  3. Tác giả đã khai thác các chỉ lệnh NEON cụ thể nào để tăng tốc phép nhân đa thức trường nhị phân trên ARMv7 và ARMv8? Trên ARMv7, tác giả sử dụng chỉ lệnh VMULL.P8 để nhân song song 8 cặp đa thức 8-bit, làm nền tảng xây dựng bộ nhân 64-bit và mở rộng lên 128-bit, 192-bit kết hợp thuật toán Karatsuba. Trên ARMv8, tác giả khai thác các chỉ lệnh nhân đa thức 64-bit trực tiếp là PMULL, PMULL2 và VMULL.P64, giúp tăng tốc độ nhân đa thức trường nhị phân vượt trội so với thế hệ vi xử lý trước.

  4. Kỹ thuật song song hóa trong trường nguyên tố $\text{GF}(p)$ tại Chương 3 được thực hiện theo nguyên lý nào? Tác giả đề xuất kỹ thuật song song hai phép nhân đồng thời trên $\text{GF}(p)$ bằng cách khai thác tính chất xử lý đơn chỉ thị đa dữ liệu (SIMD) của NEON. Thay vì tính tuần tự từng phép nhân 256-bit trong công thức cộng điểm hoặc nhân đôi điểm Jacobian, tác giả ghép cặp hai phép nhân độc lập vào các làn dữ liệu của thanh ghi vector NEON 128-bit và xử lý song song thông qua các lệnh VMULL.U32, VLD, VST và VADD.

  5. Nền tảng phần cứng nào được sử dụng để kiểm chứng các đề xuất trong luận án? Luận án sử dụng hai bộ kít phát triển đại diện: Kít ZesBoard (Xilinx Zynq-7000 SoC ZC702) chứa vi xử lý lõi kép ARM Cortex-A9 (kiến trúc ARMv7 32-bit) và Kít NXP IMX8M chứa vi xử lý lõi tứ ARM Cortex-A53 xung nhịp 1.8 GHz (kiến trúc ARMv8 64-bit), kết hợp đo kiểm trên kít IMX6Q-SABRE chạy hệ điều hành Linux.

Kết luận

Luận án của nghiên cứu sinh Phạm Văn Lực đã giải quyết trọn vẹn bài toán nâng cao hiệu năng thực thi của hệ mật mã đường cong Elliptic trên các thiết bị tính toán nhúng sử dụng vi xử lý ARM. Bằng cách kết hợp mô hình toán học nhân phân tầng trên trường nhị phân, thuật toán biểu diễn số vô hướng cải tiến và kỹ thuật song song hai phép nhân trên trường nguyên tố thông qua công nghệ SIMD NEON, công trình đã cải thiện đáng kể tốc độ tính toán của các phép toán số học điểm và giao thức mật mã. Toàn bộ các đề xuất lý thuyết đều được cài đặt và kiểm chứng thực nghiệm nghiêm ngặt trên phần cứng ARMv7 và ARMv8, mang lại giải pháp kỹ thuật có tính ứng dụng cao cho việc bảo mật truyền dữ liệu trong các giao thức mạng nhúng hiện nay.