Luận văn thạc sĩ: Hệ thống tăng tốc phần cứng cho giải thuật mã hóa trong khoa học máy tính

Chuyên đề nghiên cứu Tăng tốc phần cứng cho thuật toán mã hóa trong khoa học máy tính, cập nhật xu hướng mới, giá trị tham khảo cao cho chuyên gia

Chuyên ngành

Khoa học máy tính

Người đăng

Ẩn danh

Thể loại

luận văn thạc sĩ

2024

81
3
0

Phí lưu trữ

30 Point

Tóm tắt

I. Giới thiệu về hệ thống tăng tốc phần cứng

Trong bối cảnh an ninh thông tin ngày càng quan trọng, việc tối ưu hóa thuật toán mã hóa trở thành một nhiệm vụ cấp thiết. Tăng tốc phần cứng cho các thuật toán mã hóa không chỉ giúp cải thiện hiệu suất mà còn đảm bảo tính bảo mật và khả năng xử lý nhanh chóng. Nghiên cứu này tập trung vào việc áp dụng công nghệ FPGA để phát triển hệ thống tăng tốc phần cứng cho thuật toán ECDSA, một trong những ứng dụng phổ biến nhất của hệ mật mã đường cong. Việc sử dụng FPGA cho phép linh hoạt trong thiết kế và tối ưu hóa hiệu suất xử lý, phù hợp với các yêu cầu khắt khe trong lĩnh vực khoa học máy tính.

1.1. Tầm quan trọng của việc tối ưu hóa hiệu suất

Việc tối ưu hóa hiệu suất trong các thuật toán mã hóa là cần thiết để đáp ứng nhu cầu ngày càng cao về bảo mật thông tin. Tối ưu hóa hiệu suất không chỉ giúp giảm thiểu thời gian xử lý mà còn tiết kiệm tài nguyên phần cứng. Các nghiên cứu đã chỉ ra rằng, việc áp dụng công nghệ mã hóa trên phần cứng tái cấu hình như FPGA có thể mang lại hiệu quả xử lý vượt trội so với các phương pháp truyền thống. Theo một nghiên cứu, việc sử dụng FPGA cho thuật toán mã hóa có thể giảm thời gian thực hiện lên đến 50% so với việc sử dụng CPU thông thường. Điều này chứng tỏ rằng tăng tốc phần cứng là một hướng đi đúng đắn trong việc phát triển các hệ thống bảo mật hiện đại.

II. Cơ sở lý thuyết về mã hóa và hệ mật mã đường cong

Hệ mật mã đường cong elliptic (ECC) đã trở thành một trong những phương pháp mã hóa phổ biến nhất nhờ vào độ bảo mật cao và hiệu suất tốt. Mã hóa dữu liệu dựa trên ECC cho phép sử dụng khóa nhỏ hơn so với các phương pháp như RSA, mà vẫn đảm bảo tính bảo mật. Điều này có nghĩa là tài nguyên phần cứng cần thiết để thực hiện các thuật toán mã hóa là thấp hơn, giúp tiết kiệm chi phí và nâng cao hiệu suất. Các nghiên cứu gần đây cho thấy rằng, việc áp dụng ECC trong các ứng dụng như blockchain và giao dịch điện tử đang tăng mạnh. Cụ thể, thuật toán chữ ký số ECDSA sử dụng ECC đã được chứng minh là một trong những giải pháp hiệu quả nhất cho việc xác thực và bảo mật thông tin.

2.1. Đặc điểm của hệ mật mã đường cong

Hệ mật mã đường cong elliptic có những đặc điểm nổi bật như khả năng bảo mật cao với độ dài khóa ngắn. Điều này giúp tối ưu hóa hiệu suất trong các ứng dụng thực tế. Các nghiên cứu cho thấy, ECC có thể đạt được độ bảo mật tương đương với RSA nhưng với chiều dài khóa nhỏ hơn nhiều. Chẳng hạn, khóa 256 bit trong ECC có thể tương đương với khóa 3072 bit trong RSA. Điều này không chỉ giúp tiết kiệm tài nguyên mà còn tăng tốc độ xử lý, điều này rất quan trọng trong bối cảnh hiện nay khi mà khoa học máy tính đang phát triển nhanh chóng.

III. Phương pháp thực hiện hệ thống tăng tốc phần cứng

Để thực hiện hệ thống tăng tốc phần cứng, nghiên cứu này sử dụng bộ công cụ Vivado ML và phần cứng FPGA của Xilinx. Quá trình thiết kế bao gồm việc xác định các khối chức năng cần thiết cho thuật toán mã hóa ECDSA, cũng như tối ưu hóa quy trình giao tiếp giữa các khối này. Việc áp dụng các phương pháp tối ưu hóa như tối ưu hóa phần cứngtăng cường bảo mật được thực hiện nhằm đảm bảo rằng hệ thống không chỉ nhanh mà còn an toàn. Kết quả cho thấy, việc sử dụng FPGA giúp giảm thiểu thời gian xử lý và tăng cường khả năng bảo mật cho hệ thống.

3.1. Thiết kế và triển khai hệ thống

Quá trình thiết kế hệ thống tăng tốc phần cứng bao gồm nhiều bước quan trọng. Đầu tiên, các khối chức năng cho thuật toán mã hóa ECDSA được xác định và triển khai trên FPGA. Sau đó, các giao thức kết nối giữa các khối này được thiết lập nhằm đảm bảo tính chính xác và hiệu quả trong quá trình xử lý. Cuối cùng, việc kiểm tra và đánh giá hiệu suất của hệ thống được thực hiện để đảm bảo rằng hệ thống đạt được các yêu cầu về tốc độ và bảo mật. Kết quả cho thấy, hệ thống này không chỉ đáp ứng được yêu cầu về tốc độ mà còn đảm bảo tính chính xác của các phép toán mã hóa.

IV. Đánh giá và phân tích kết quả

Kết quả của nghiên cứu cho thấy rằng hệ thống tăng tốc phần cứng cho thuật toán mã hóa ECDSA đạt được hiệu suất cao hơn so với các kiến trúc truyền thống. Việc tối ưu hóa khối tính toán logic cho phép hệ thống xử lý nhanh hơn, đồng thời tiết kiệm tài nguyên sử dụng. Các số liệu thống kê cho thấy, thời gian thực hiện các phép toán mã hóa giảm đáng kể, trong khi vẫn đảm bảo tính chính xác của các kết quả. Điều này chứng tỏ rằng việc áp dụng công nghệ mã hóa trên nền tảng FPGA là một hướng đi đúng đắn cho việc phát triển các hệ thống bảo mật hiện đại.

4.1. So sánh hiệu suất với các nghiên cứu khác

Khi so sánh với các nghiên cứu khác trong lĩnh vực tăng tốc phần cứng, kết quả của hệ thống này cho thấy sự vượt trội về hiệu suất. Các nghiên cứu trước đây thường chỉ tập trung vào việc cải thiện tốc độ mà không chú trọng đến bảo mật. Tuy nhiên, nghiên cứu này không chỉ đạt được tốc độ xử lý nhanh mà còn đảm bảo tính bảo mật cao thông qua việc áp dụng ECC. Điều này tạo ra một bước tiến mới trong việc phát triển các giải pháp bảo mật hiệu quả và an toàn hơn cho các ứng dụng thực tế.

10/01/2025

Trích đoạn nội dung tài liệu

Chương 1 - Giới thiệu đề tài: nhằm giới thiệu tổng quan về bài toán mã hóa đường cong và mục đích hướng đến của đề tài. • Chương 2 - Cơ sở lý thuyết và các công trình nghiên cứu liên quan: trình bày những cơ sở lý thuyết liên quan đến đề tài được sử dụng và các nghiên cứu mang tính ứng dụng lẫn phát triển liên quan đến đề tài. • Chương 3 - Giới thiệu về phần cứng FPGA và sản phẩm Kria KV260 vision AI thực hiện trong luận văn. • Chương 4 - Phương pháp giải quyết vấn đề: Trình bày các dạng giải thuật mã hóa đường cong, đặc điểm, thuật toán và phân tích các bước tính toán có thể gây hao tổn tài nguyên và đề xuất hướng giải quyết.

3 Hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình • Chương 5 - Hiện thực hệ thống trên công cụ Vivado - Giải thích sơ đồ, nguyên lý hoạt động của hệ thống và cách thiết lập, xây dựng một chương trình hoàn chỉnh • Chương 6 - Đánh giá và phân tích kết quả: Diễn giải kết quả đánh giá của phương pháp và so sánh với các nghiên cứu liên quan. • Chương 7 - Kết luận: Nêu kết luận đúc kết được trong quá trình nghiên cứu và mở rộng hướng phát triển đề tài. 4 CHƯƠNG 2 Cơ sở lý thuyết 2.1 Khái quát về mã hóa và giải thuật mã hóa đường cong Elliptic Curve 2.1 Giới thiệu về mã hóa Mã hóa là một phương pháp quan trọng trong bảo mật thông tin, giúp biến đổi dữ liệu từ dạng rõ ràng thành dạng không rõ ràng bằng cách sử dụng các thuật toán và khóa. Có nhiều hình thức mã hóa, bao gồm mã hóa đối xứng và bất đối xứng, với mục tiêu chung là đảm bảo tính bí mật và toàn vẹn của dữ liệu [6].

Một hệ thống mã hóa và giải mã bao gồm các thành phần: Hình 2.1: Mô hình mã hóa, giải mã cơ bản Quá trình mã hóa được tiến hành bằng cách áp dụng hàm toán học (E) lên thông tin P, vốn được biểu diễn dưới dạng số, để trở thành thông tin đã mã hóa C. Quá trình giải mã được tiến hành ngược lại: áp dụng hàm D lên thông tin C để được thông tin đã giải mã P. Yêu cầu của mã hóa /giải mã bao gồm: Tính bảo mật (confidentiality), Tính toàn vẹn (integrity), Tính xác thực(authentication), không thể chối bỏ (non- repudiation) [7]. 5 Hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình Các loại mã hóa chính hiện nay: mã hóa đối xứng, mã hóa bất đối xứng.

Mã hóa đối xứng: là loại mã hoá mà khoá mã hoá và khoá giải mã là một (sử dụng cùng một khoá mật mã). Đây là loại mã hoá thông dụng nhất hiện nay dùng để trao đổi dữ liệu. Nhược điểm của phương pháp này là làm thế nào để thống nhất được khoá mật mã giữa bên gửi và bên nhận. Nếu truyền khoá mật mà không dùng bất cứ phương pháp bảo vệ nào thì bên thứ ba cũng có khả năng lấy được khoá mật mã này một cách dễ dàng.

Thuật toán mã hoá đối xứng thường gặp nhất hiện nay đó là DES và AES,. [8] Mã hóa bất đối xứng: là mã hóa mà trong đó khoá mã hoá và khoá giải mã khác nhau. Mọi người đều có thể biết được khoá mã hoá và có thể dùng để mã hoá thông tin. Tuy nhiên, chỉ có người nhận mới nắm giữ khoá giải mã, vì vậy chỉ người nhận mới giải mã được thông tin, dữ liệu.

Nhược điểm lớn nhất của phương pháp này đó là tốc độ mã hóa và giải mã diễn ra rất chậm so với phương pháp mã hoá đối xứng. Nếu dùng mã hoá bất đối xứng để truyền – nhận dữ liệu thì sẽ tốn khá nhiều chi phí. Thuật toán phổ biến là RSA, ECC[8].2 Hệ mật mã đường cong ECC Mật mã đường cong Elliptic (Elliptic Curve Cryptography - ECC) là một hệ thống mã hóa khóa công cộng bất đối xứng bên cạnh hệ thống RSA. ECC được giới thiệu lần đầu vào năm 1991 bởi các công trình nghiên cứu độc lập của Neals Koblitz và Victor Miller [9].

Độ an toàn của ECC dựa vào bài toán logarit rời rạc trên nhóm các điểm của đường cong elliptic (ECDLP). Những ưu điểm mà ECC mang lại bao gồm: yêu cầu bộ nhớ thấp, khả năng xử lý thấp, độ an toàn cao và thích hợp với các ứng dụng smart card, PDA, cellular phone, v. Mật mã ECC cung cấp tính an toàn tương đương với các hệ mật khóa công khai truyền thống, trong khi độ dài khóa nhỏ hơn nhiều lần. Người ta đã ước lượng rằng cỡ khoá 3248 bit của hệ mật RSA cho cùng một độ an toàn như 256 bit của hệ mật ECC, kết quả so sánh được thống kê ở bảng 2.

Điều đó có nghĩa là việc cài đặt ECC sử dụng tài nguyên hệ thống ít hơn, năng lượng tiêu thụ nhỏ hơn. Với ưu thế về độ dài khóa nhỏ, ECC đang được ứng dụng rộng rãi trong nhiều lĩnh vực. Đường cong elliptic là tập hợp các điểm thỏa mãn một phương trình toán học cụ thể. Phương trình cho một đường cong elliptic: y 2 = x3 + ax + b (2.1) 6 Hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình Tính chất của ECC là đối xứng qua trục x.

Bất kỳ điểm nào trên đường cong đều được phản ánh qua trục x và vẫn giữ nguyên đường cong. Một đặc tính nữa của đường cong này là bất kỳ đường không thẳng đứng nào cũng sẽ cắt đường cong ở nhiều nhất là ba điểm như hình: 2.2: Đường cong ECC đối xứng qua trục X và cắt đường cong ở nhiều nhất 3 điểm Bảng 2.1: Thời gian phá khóa ứng với chiều dài của khóa ở mã hóa RSA và ECC, nguồn:[11] Thời gian phá khóa (năm) khóa RSA (bit) khóa ECC (bit) 104 512 106 8 10 768 132 1011 1,024 160 20 10 2,048 210 1078 210,000 600 Trong lĩnh vực mã hóa bất đối xứng, nhiều nghiên cứu và đề xuất được đề ra để giải quyết việc số lượng phép tính cần thiết để tìm ra cách mã hóa an toàn nhất. Trong đó, hai trong số các đề xuất vẫn còn tồn tại đến hiện nay bao gồm: bài toán logarit rời rạc (discrete logarithm problem) và bài toán phân tích thừa số nguyên tố (prime finite field). Từ những giải pháp trên, một số bài toán được công bố dựa trên các đề xuất hệ thống mật mã được liệt kê như sau: Khởi đầu nền móng của đường cong Elliptic là công thức Weierstrasse.

Đặt K là một trường hữu hạn hoặc vô hạn. Một đường cong được định nghĩa bằng 7 Hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình công thức Weierstrasse như sau: y 2 + a1 xy + a3 y = x3 + a2 x2 + a4 x + a6 (2.2) trong đó, a1 , a2 , a3 , a4 , a6 ∈ K Đường cong elliptic trên trường K được ký hiệu E(K). Số lượng các điểm nguyên trên E được thể hiện dưới dạng #E(K). Đối với từng trường khác nhau, công thức 2.2 có thể được biến đổi thành các dạng khác nhau.

Và một đường cong elliptic là tập hợp các điểm thỏa công thức trên.1 Đường cong elliptic trên trường nguyên tố hữu hạn Đường cong elliptic được xây dựng trên các trường hữu hạn E(Fq ) được biểu diễn dưới dạng: y 2 = x3 + ax + b (2.3) Với P là điểm thuộc đường cong trên, được biểu diễn P(x,y) và ∀ P ∈ E. (x, -y) kí hiệu là -P, gọi là điểm âm của P. Các phép toán được sử dụng trên trường này: 2.1 Phép cộng điểm điểm được định nghĩa trên tập đường cong Phép cộng E(R) của các điểm có tọa độ (x,y). Theo quy ước, điểm tại vô cực O là điểm cộng với bất kỳ điểm nào cũng sẽ thành chính điểm đó.5) Với 1 giá trị x, ta sẽ có 2 giá trị tọa độ y.6) Ở phương diện hình học, giả sử ta có 2 điểm phân biệt P và Q, P, Q ∈ E(R), ta có phép cộng điểm trên đường cong elliptic là: P + Q = R; Ở phương diện đại số, ta có: P = (x1 , y1 ), Q = (x2 , y2 ); R = P + Q = (x3 , y3 ) (2.7) 8 Hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình Trong đó, P, Q, R ∈ E(R) và: x3 = θ 2 − x1 − x2 (2.10) x2 − x1 Hoặc nếu P = Q, thì 3x2 1 + a4 θ= (2.2 Phép nhân Phép nhân được định nghĩa như một dãy các phép cộng: Q = mP = P + P + .2 Đường cong elliptic trên trường nhị phân E(F2m ) Đường cong elliptic trong trường nhị phân được biểu diễn dưới dạng: y 2 + xy = x3 + ax2 + b (2.13) Với P là điểm thuộc đường cong trên, được biểu diễn P(x,y) và ∀ P ∈ E(F2m ).

Điểm (x, x+y) kí hiệu là -P, gọi là điểm âm của P. Các phép toán được sử dụng trên trường này: 2.1 Giả sử: P = (x1 , y1 ) ∈ E(F2m ); Q = (x2 , y2 ) ∈ E(F2m ) và Phép cộng P̸=±Q thì P + Q = (x3 , y3 ) với: x3 = λ2 + λ + x1 + x2 + a (2.16) x1 + x2 9 Hệ thống tăng tốc phần cứng cho giải thuật mã hóa dựa trên tính toán tái cấu hình 2.2 Phép nhân Giả sử: P = (x1, y1) ∈ E(F2m ), và P ̸= ¬P , thì 2P = (x3, y3), với: b x3 = λ2 + λ + a = x21 + (2.2 Biểu diễn tọa độ trên trường hữu hạn Có ba dạng tọa độ cơ bản thường được sử dụng. Đó là tọa độ quan hệ (Affine Coordinate), tọa độ chiếu (Projective Coordinate) [13].1 Tọa độ quan hệ - tọa độ Affine Một điểm hữu hạn P trên (E) được xác định bởi hai phần tử x, y trong GF(p) thỏa mã phương trình đường cong: (E) : Y 2 = X 3 + aX + b; a, b ∈ Fq ; 4a3 + 27b2 ̸= 0( mod p) (2.20) Chúng được gọi là tọa độ quan hệ của điểm P. Điểm ở vô cực ∞ không có tọa độ Affine.

Để phục vụ cho mục đích tính toán, người ta thường biểu diễn ∞ bởi một cặp các hệ số (x,y) không nằm trên (E). QUY LUẬT: Gọi E là đường cong elliptic được định nghĩa trên trường hữu hạn P bởi phương trình (E) : Y 2 = X 3 + aX + b; a, b ∈ Fq ; 4a3 + 27b2 ̸= 0( mod p).

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ

Bài luận văn thạc sĩ mang tiêu đề "Hệ thống tăng tốc phần cứng cho giải thuật mã hóa trong khoa học máy tính" của tác giả Phạm Lê Song Ngân, dưới sự hướng dẫn của PGS. Phạm Quốc Cường và các giảng viên khác, tập trung vào việc phát triển các hệ thống tăng tốc phần cứng nhằm cải thiện hiệu suất của các giải thuật mã hóa dựa trên tính toán tái cấu hình. Nghiên cứu này không chỉ mang lại cái nhìn sâu sắc về công nghệ mã hóa hiện đại mà còn mở ra hướng đi mới cho việc tối ưu hóa các quy trình tính toán trong lĩnh vực khoa học máy tính.

Để hiểu rõ hơn về các ứng dụng và xu hướng trong lĩnh vực này, bạn có thể tham khảo thêm bài viết "Nghiên cứu thuật toán mã hóa deoxysii có xác thực trong luận văn thạc sĩ", nơi mà thuật toán mã hóa cũng được phân tích và áp dụng trong các tình huống thực tế. Bên cạnh đó, bài viết "Nghiên cứu thuật toán mã hóa có xác thực Norx trong luận văn thạc sĩ" cũng sẽ cung cấp cho bạn cái nhìn về các phương pháp mã hóa có xác thực khác nhau, cho thấy sự đa dạng trong nghiên cứu mã hóa hiện nay. Cuối cùng, bài viết "Đánh giá hiệu suất giải thuật BWA-MEM trên nền tảng FPGA" sẽ giúp bạn hiểu rõ hơn về việc áp dụng công nghệ phần cứng trong tối ưu hóa các giải thuật mã hóa, một khía cạnh quan trọng trong nghiên cứu này.

Những tài liệu này không chỉ mở rộng kiến thức của bạn về mã hóa mà còn cung cấp nhiều góc nhìn khác nhau trong lĩnh vực khoa học máy tính.