Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 43 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
43
Dung lượng
2,04 MB
Nội dung
Đại Học Quốc Gia Tp Hồ Chí Minh TRƯỜNG ĐẠI HỌC BÁCH KHOA PHẠM XUÂN KHÁNH “PHÂN TÍCH CƠ CHẾ BẢO MẬT RSA ĐA SỐ NGUYÊN TỐ (RSA CRT) VÀ CÀI ĐẶT RSA CRT TRÊN FPGA” Chuyên ngành : Kỹ thuật điện tử Mã số ngành: 2.07.01 TÓM TẮT LUẬN VĂN THẠC SĨ Tp Hồ Chí Minh, tháng năm 2007 Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường ABSTRACT In this project we present an hardware implementation of the RSA algorithm for public-key cryptography The RSA algorithm consists in the computation of modular exponentials on large integers, that can be reduced to repeated modular multiplications 1024-bit RSA circuit is implemented in VHDL It is a full-featured RSA circuit including key generating and data encryption/decryption In order to speed up RSA cryptosystem, multi-prime RSA based on Chinese Remainder Theorem (CRT) is used in this project to replace an RSA operation by several paralell operations with smaller bases and exponents These components are too big to fit into a single Xilinx Virtex II Pro on the Field Programmable Port Extended (FPX) platform, so that we are unable to test them in real hardware However, each sub-component was simulated in ModelSIM and proved functionally correct Although neither RSA key generation nor data encryption/decryption component can be tested on FPX, we still implemented all testing related hardware, including Control Packet Processor (CPP) and Output Packet Processor (OPP) Abstract ii HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường TÓM TẮT NỘI DUNG Trong đề tài tơi trình bày việc cài đặt phần cứng thuật tốn RSA cho hệ thống bảo mật khố cơng khai Thuật tốn RSA bao gồm việc tính tốn phép mũ modulo số nguyên giá trị lớn, tối ưu dựa vào phép nhân modulo Hệ thống RSA 1024 bit cài đặt ngôn ngữ VHDL Đây mạch đầy đủ tính bao gồm việc phát sinh khoá mã hoá/giải mã Để tăng tốc hệ thống bảo mật RSA, giải thuật RSA đa số nguyên tố dựa CRT (Chinese Remainder Theorem) sử dụng đề tài để thay hoạt động RSA thông thường cách tiến hành tiến trình song song với số số mũ nhỏ Những thành phần lớn để đẩy xuống kit Xilinx Virtex II Pro thơng qua FPX (Field Programmable Port Extended), kiểm tra chúng phần cứng Tuy nhiên, thành phần mơ phần mềm ModelSIM chứng minh khối chức hoạt động Mặc dù khối phát sinh khoá RSA mã hố/giải mã khơng thể kiểm tra qua FPX, song cài đặt khối phần cứng liên quan thông qua CPP (Control Packet Processor) OPP (Output Packet Processor) Tóm tắt nội dung iii HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường MỤC LỤC ABSTRACT ii TÓM TẮT NỘI DUNG - iii MỤC LỤC - iv DANH SÁCH CÁC HÌNH - vi CHƯƠNG 1: GIỚI THIỆU - 1.1 Đặt vấn đề 1.2 Tổng quan tình hình nghiên cứu - 1.3 Mục tiêu, đối tượng phạm vi nghiên cứu 1.3.1 Mục tiêu đề tài - 1.3.2 Đối tượng phạm vi nghiên cứu 1.4 Nội dung nghiên cứu 1.5 Bố cục tóm tắt luận văn - 1.6 Ý nghĩa đề tài - 1.6.1 Ý nghĩa khoa học - 1.6.2 Ý nghĩa kinh tế xã hội CHƯƠNG 2: CƠ BẢN VỀ CƠ CHẾ BẢO MẬT - 2.1 Các dạng mã hoá 2.2 Thuật toán khoá 2.3 Mã hoá liệu - 2.4 Thuật toán RSA thủ thuật tăng tốc phương pháp CRT -10 2.4.1 Mô tả giải thuật RSA 11 2.4.2 Thủ thuật tăng tốc chế RSA phương pháp CRT -13 CHƯƠNG 3: THỰC HIỆN THUẬT TOÁN RSA TRÊN PHẦN CỨNG FPGA 17 3.1 Sơ đồ khối phần cứng cho thuật toán RSA 17 3.1.1 Mơ hình tổng quát -18 3.1.2 Khối KEYGENERATE -18 3.1.3 Khối ENCRYPTION 20 3.1.4 Khối DECRYPTION 21 3.2 Kết tổng hợp phần cứng 22 3.2.1 Khối KEYGENERATE -23 3.2.2 Khối ENCRYPTION 23 3.2.3 Khối DECRYPTION 24 3.2.4 Đánh giá kết thực thi phần cứng 24 3.3 Kết mô ModelSIM 25 3.3.1 Khối phát sinh khoá RSA -25 3.3.2 Khối phát sinh khoá RSA CRT 25 Mục lục iv HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA 3.3.3 3.3.4 3.3.5 3.4 THD: PGS-TS Lê Tiến Thường Khối mã hoá RSA -26 Khối giải mã RSA thông thường 26 Khối giải mã RSA CRT -27 Chương trình RSA CRT kết mơ kit Xilinx Virtex II Pro -27 CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 32 4.1 Kết đề tài 32 4.2 Đánh giá kết hướng phát triển đề tài -32 TÀI LIỆU THAM KHẢO I Mục lục v HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường DANH SÁCH CÁC HÌNH Hình Q trình mã hố đối xứng Hình 2 Q trình mã hố bất đối xứng Hình Quá trình ký chữ ký số 10 Hình Thuật tốn RSA 13 Hình Mơ hình thực phần cứng 17 Hình Sơ đồ khối hệ thống 17 Hình 3 Khối KEYGENERATE 19 Hình Khối ENCRYPTION 21 Hình Mơ hình kiến trúc khối DECRYPTION 22 Hình Kết mơ khối phát sinh khoá RSA 25 Hình Kết mơ khối phát sinh khố RSA CRT 25 Hình Kết mơ khối mã hố RSA 26 Hình Kết mơ khối giả mã RSA thông thường 26 Hình 10 Kết mơ khối giả mã RSA CRT 27 Hình 11 Giao diện chương trình mơ 28 Hình 12 Q trình phát sinh cặp khố public/ private 29 Hình 13 Q trình mã hố RSA 30 Hình 14 Quá trình giải mã RSA CRT 31 Danh sách hình vi HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường CÁC TỪ VIẾT TẮT ACE Advanced Configuration Environment ASIC Application Specific Integrated Circuit ASSP Application Specific Standard Package BSR Block Select RAM CA Certificate Authority CAD Computer Aided Design CCITT Comité Consultatif International Téléphonique et Télégraphique CD-ROM Compact Disc-Read-Only Memory CF Compact Flash CLB Configurable Logic Block CM Confusion Matrix CRL Certificate Revocation List DCI Digitally Controlled Impedance FPGA Field Programmable Gate Array FPX Field Programmable port eXtender HDL Hardware Description Language IC Integrated Circuit I/O Input/Output IOB Input/Output Block ISE Integrated Software Environment LC logic cell LDAP Lightweight Directory Access Protocol Các từ viết tắt vii HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường LUT Look Up Table MPGA Mask Programmable Gate Array MRC Mixed-Radix Conversion PGP Pretty Good Privacy PKI Public Key Infrastructure PLA Programmable Logic Array PLD Programmable Logic Device PROM Programmable Read-Only Memory RAM Random Access Memory RISC Reduced Instruction Set Computer ROM Read-Only Memory RSA Rivest-Shamir-Adleman RTL Register Transfer Level SATA Serial Advanced Technology Attachment SoC Systems On Chip SRAM Static Random Access Memory SRC Single-Radix Conversion SSL Security Socket Layer USB Universal Serial Bus VHDL VHSIC Hardware Description Language VHSIC Very High Speed Integrated Circuits VLSI Very Lage Scale Integration VPN Virtual Private Network XUP Xilinx University Program Các từ viết tắt viii HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường CHƯƠNG 1: GIỚI THIỆU 1.1 Đặt vấn đề Với phát triển liên tục mạnh mẽ mạng internet mạng mở wireless, nên có nhu cầu cấp thiết bảo vệ liệu truyền tải mạng RSA kỹ thuật mã hoá sử dụng rộng rãi ứng dụng bảo vệ liệu RSA dựa độ khó phép toán số lớn để cung cấp dịch vụ bảo mật Thuật tốn RSA hồn tồn tính toán software, song số ứng dụng thời gian thực, chẳng hạn ứng dụng VPN, tính tốn RSA software khơng đáp ứng đầy đủ u cầu Việc hồn tồn khắc phục cách tăng tốc thuật tốn công nghệ ASIC ASSPs, song giải pháp thường tốn không mềm dẻo mặt giải pháp Kết hợp vấn đề giá tốc độ, việc cài đặt RSA FPGA hợp lý Với ly trên, có nhiều cơng trình nghiên cứu đề nghị nhiều giải pháp khác nhau, chưa có giải pháp hồn chỉnh cho việc cài đặt thuật tốn RSA FPGA Để cài đặt phần cứng cho RSA, số giảp pháp có số tính tốn phức tạp tính tốn chẳng hạn kỹ thuật nhân Montgomery Kỹ thuật Montgomery cho phép cài đặt thuật tiện cho hệ thống mã hoá RSA FPGA Các tính tốn Montgomery dựa việc tái sử dụng phép cộng Trong đề tài có cách tiếp cận hồn tồn khác Đó sử dụng phương pháp nhị phân cho phép modulo, sử dụng XilinxCoreLib, cộng 32 bit sử dụng bảng tra LUT ngõ vào để làm hạt nhân cho phép cộng, nhằm tận dụng tài nguyên giải vấn đề tốc độ cho phép cộng, yếu tố quan trọng ảnh hưởng đến tốc độ tồn hệ thống Trong hệ thống mã hố RSA, vấn đề tốc độ khối giải mã đóng vai trị tối quan trọng hệ số public exponent e thường lựa chọn môt số nguyên tố nhỏ nên tốc độ mã hoá nhanh, gây ảnh hưởng đến tốc độ giải mã Trong đề tài áp dụng giải pháp CRT cho việc giải mã, với giải thuật CRT hai số nguyên tố đẩy nhanh tốc độ giải mã lên bốn lần Kết so sánh phuơng pháp RSA thông thường RSA CRT thấy rõ mơ ModelSIM, ngồi đề tài tổng hợp giải thuật RSA CRT lên board XUP Virtex II Pro Development System 1.2 Tổng quan tình hình nghiên cứu Về khía cạnh mã hố, RSA giải thuật cho hệ thống mã hố khố cơng khai Đây thuật tốn phù hợp cho việc ký mã hoá, bước cải tiến Chương 1 HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường quan trọng hệ thống mã hố khố cơng khai RSA sử dụng rộng rãi giao thức thương mại điện tử chứng minh độ tin cậy thực tế Thuật toán Ron Rivest, Adi Shamir Len Adleman mô tả lần vào năm 1977 Học viện Công nghệ Massachusetts (MIT) Tên thuật toán lấy từ chữ đầu tên tác giả Trước đó, vào năm 1973, Clifford Cocks, nhà toán học người Anh làm việc GCHQ, mơ tả thuật tốn tương tự Với khả tính tốn thời điểm thuật tốn khơng khả thi chưa thực nghiệm Tuy nhiên, phát minh cơng bố vào năm 1997 xếp vào loại tuyệt mật Thuật toán RSA MIT đăng ký sáng chế Hoa Kỳ vào năm 1983 (số đăng ký 4,405,829) Bằng sáng chế hết hạn vào ngày 21 tháng năm 2000 Tuy nhiên, thuật tốn cơng bố trước có đăng ký bảo hộ nên bảo hộ giá trị bên ngồi Hoa Kỳ Ngồi ra, cơng trình Clifford Cocks cơng bố trước sáng chế RSA khơng thể đăng ký Độ an toàn hệ thống RSA dựa vấn đề toán học: toán phân tích thừa số nguyên tố số nguyên lớn toán RSA Nếu toán khó (khơng tìm thuật tốn hiệu để giải chúng) khơng thể thực việc phá mã toàn RSA Phá mã phần phải ngăn chặn phương pháp chuyển đổi rõ an tồn Bài tốn RSA tốn tính bậc e mơđun n (với n hợp số): tìm số m cho me = c mod n, (e, n) khóa cơng khai c mã Hiện phương pháp triển vọng giải tốn phân tích n thừa số nguyên tố Khi thực điều này, kẻ cơng tìm số mũ bí mật d từ khóa cơng khai giải mã theo quy trình thuật tốn Nếu kẻ cơng tìm số ngun tố p q cho: n = pq dễ dàng tìm giá trị (p-1)(q-1) qua xác định d từ e Chưa có phương pháp tìm máy tính để giải tốn thời gian đa thức (polynomial-time) Tuy nhiên người ta chưa chứng minh điều ngược lại (sự khơng tồn thuật tốn) Tại thời điểm năm 2005, số lớn phân tích thừa số ngun tố có độ dài 663 bít với phương pháp phân tán khóa RSA có độ dài từ 1024 tới 2048 bít Một số chuyên gia cho khóa 1024 bít sớm bị phá vỡ (cũng có nhiều người phản đối việc này) Với khóa 4096 bít khơng có khả bị phá vỡ tương lai gần Do đó, người ta thường cho RSA đảm bảo an toàn với điều kiện n chọn đủ lớn Nếu n có độ dài 256 bít ngắn hơn, Chương HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường b) Sơ đồ mạch thiết kế hoàn chỉnh khối ENCRYPTION Hình Khối ENCRYPTION 3.1.4 Khối DECRYPTION Khối DECRYPTION hoạt động theo chế RSA CRT nên có mơ hình phức tạp so với mơ hình khối giải mã RSA thông thường a) Sơ đồ khối giao tiếp DECRYPTION Chương 21 HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường b) Sơ đồ thiết kế mạch hồn chỉnh khối DECRYPTION Hình Mơ hình kiến trúc khối DECRYPTION Số input khối DECRYPTION nhiều gồm thông số P, Q, dP, dQ, Pinv, Qinv có ngõ M Trong khối DECRYPTION gồm subcomponent cộng, nhân, mũ modulo, 3.2 Kết tổng hợp phần cứng Sau viết mã RTL cho khối, khối rời rạc kết nối thành hệ thống hoàn chỉnh tiện ích đồ họa có sẵn phần mềm Xilinx 8.1i Sau ta tiến hành tổng hợp khối công cụ tổng hợp XST Xilinx 8.1i Kết sau tổng hợp cho ta biết hệ thống thiết kế chiếm phần trăm tài nguyên FPGA Virtex-II ProTM XC2VP30-FF896 kết định thời Chương 22 HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA 3.2.1 THD: PGS-TS Lê Tiến Thường Khối KEYGENERATE GENERATEKEYRSACRT1024 Project Status Project File: Module Name: GENERATEKEYRSACRT1024.ise Current State: generate_key_1024 Target Device: xc2vp30-6ff896 Product Version: ISE, 8.1i • Errors: • Warnings: • Synthesized No Errors 4123 Warnings (4123 new, filtered) Updated: Sun Jun 17 10:47:42 2007 Device Utilization Summary (estimated values) Logic Utilization Used Available Number of Slices 19599 13696 Number of Slice Flip Flops 30674 27392 Number of input LUTs 33851 27392 Number of bonded IOBs 5125 556 Number of GCLKs 16 3.2.2 Project File: Module Name: Target Device: Product Version: Khối ENCRYPTION ENCRYPTIONRSA1024 Project Status ENCRYPTIONRSA1024.ise Current State: Synthesized • Errors: encryption_RSA_1024 No Errors • xc2vp30-7ff896 • ISE, 8.1i Warnings: 15 Warnings (15 new, filtered) Updated: Sun Jun 17 11:21:53 2007 Device Utilization Summary (estimated values) Logic Utilization Used Available Number of Slices 20029 13696 Number of Slice Flip Flops 26904 27392 Number of input LUTs 30151 27392 Number of bonded IOBs 4103 556 Number of GCLKs 16 Chương Utilization 143% 111% 123% 921% 6% 23 Utilization 146% 98% 110% 737% 6% HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA 3.2.3 THD: PGS-TS Lê Tiến Thường Khối DECRYPTION DECRYPTIONRSACRT1024 Project Status Synthesized Project File: DECRYPTIONRSACRT1024.ise Current State: Module • Errors: decryption_RSA_1024 No Errors Name: Target • Warnings: 5667 Warnings (5667 xc2vp30-6ff896 new, filtered) Device: Product • Updated: Sun Jun 17 10:44:20 ISE, 8.1i 2007 Version: Device Utilization Summary (estimated values) Logic Utilization Used Available Number of Slices 31769 13696 Number of Slice Flip Flops 44075 27392 Number of input LUTs 55246 27392 Number of bonded IOBs 5125 556 Number of GCLKs 16 3.2.4 Utilization 231% 160% 201% 921% 6% Đánh giá kết thực thi phần cứng Căn vào kết tổng hợp khối KEYGENERATE, ENCRYPTION, DECRYPTION, tổng hợp toàn tưng khối xuống phần cứng FPGA Virtex II Pro vấn đề tài nguyên Xong đẩy số subcomponent xuống kit FPGA để kiểm tra chức chẳng hạn khối USCLN 512 bit, nhân/chia 1024 bit, kết hợp với phần mềm RSA CRT FPGA Controller (được viết Visual C#.NET) để tạo thành hệ thống tính tốn RSA hồn chỉnh Trong trình tổng hợp , chương trình XST ánh xạ thiết kế cell theo thứ tự ưu tiên cho mơ hình phần cứng đạt chế độ hoạt động tốt Sau thiết kế tổng hợp xong mơ hình phần cứng, cấu hình phần cứng tưng sub-component nạp vào chip FPGA Virtex-II ProTM XC2VP30-FF896 board Xilinx XUP Virtex II Pro Development System Chương trình mơ điều khiển viết ngôn ngữ Visual C#.NET thực phần q trình tính tốn Sau chương trình truyền liệu xuống board XUP để thực tính tốn Kết thực thi phần cứng trả máy tính thơng qua giao tiếp RS-232 Chương 24 HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA 3.3 THD: PGS-TS Lê Tiến Thường Kết mô ModelSIM 3.3.1 Khối phát sinh khố RSA Hình Kết mơ khối phát sinh khoá RSA 3.3.2 Khối phát sinh khố RSA CRT Hình Kết mơ khối phát sinh khoá RSA CRT Chương 25 HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA 3.3.3 THD: PGS-TS Lê Tiến Thường Khối mã hố RSA Hình Kết mơ khối mã hoá RSA 3.3.4 Khối giải mã RSA thơng thường Hình Kết mơ khối giả mã RSA thông thường Chương 26 HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA 3.3.5 THD: PGS-TS Lê Tiến Thường Khối giải mã RSA CRT Hình 10 Kết mơ khối giả mã RSA CRT 3.4 Chương trình RSA CRT kết mô kit Xilinx Virtex II Pro Chương trình mơ tồn q trình mã hoá/giải mã xây dựng C#.NET Visual Studio 2005 Chương 27 HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường Hình 11 Giao diện chương trình mơ Chương trình gồm ba chức chính: phát sinh cặp khố RSA CRT mã hoá/giải mã RSA cặp khoá phát • Module phát sinh cặp khố RSA CRT: phát sinh cặp số nguyên tố 512 bit thực software RSA CRT FPGA Controller, phát sinh cặp khoá public/private thực phần XUP Xilinx Virtex II Pro Chương 28 HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường Hình 12 Quá trình phát sinh cặp khố public/ private Chương 29 HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường • Module mã hoá RSA: việc phát sinh Message ngẫu nhiên thực software RSA CRT FPGA Controller việc tính tốn message mã hố thực phần XUP Xilinx Virtex II Pro Hình 13 Q trình mã hố RSA • Module giải mã RSA CRT: việc tính tốn message giải mã thực phần XUP Xilinx Virtex II Pro Chương 30 HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường Hình 14 Quá trình giải mã RSA CRT Chương 31 HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 4.1 Kết đề tài Luận văn thực kết sau: • Luận văn trình bày số khái niệm cơ chế bảo mật, hệ thống mã hoá đối xứng bất đối xứng • Đối với thuật toán RSA, vấn đề cần giải tốc độ giải mã thuật toán RSA, luận văn đưa giải pháp RSA CRT để giải vấn đề Luận văn sử dụng công cụ giải mã RSA CRT số nguyên tố nâng tốc độ giải mã lên lần • Luận văn thực thi thành công component hệ thóng mã hố RSA board Xilinx XUP Virtex II Pro Development System sử dụng chip FPGA Virtex-II ProTM XC2VP30-FF896 Kết mô thực phần cứng FPGA tương tự cho thấy tính khả thi giải pháp dùng FPGA để thực thi thuật toán RSA ừng dụng thời gian thực (cả mô phần mềm thực thi phân cứng) đồng thời cho thấy khả ứng dụng hệ thống mã hoá RSA thực tế đặc biệt triển khai hệ thống SoC 4.2 Đánh giá kết hướng phát triển đề tài • Luận văn dừng lại việc thực giải mã RSA CRT số nguyên tố nên tốc độ giải mã đẩy nhanh gấp lần Về vấn đề tài nguyên, hạn chế chip XUP Virtex II Pro, dưa subcomponent xuống kit FPGA nên tồn hệ thống mã hố RSA chưa thể chạy độc lập mà cịn phụ thuộc vào chương trình RSA CRT FPGA Controller PC • Vì thời gian hạn chế nên thiết kế chưa quan tâm đến vấn đề mặt thời gian thực cho hệ thống mã hoá Trong nghiên cứu sau này, đề tài cố gắng tập trung tối ưú thời gian thực thi hệ thống mức độ sử dụng tài nguyên hệ thống để thiết kế tốt • Hướng phát triển đề tài sử dụng kit có tài nguyên lớn hơn, chẳng hạn Virtex Pro để đưa tồn bộ subcomponent xuống chạy độc lập kit FPGA Chúng ta mở rộng thuật tốn RSA CRT n số nguyên tố để nâng tốc độ giải mã lên khoảng 2n lần Chương 32 HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường TÀI LIỆU THAM KHẢO [1] Sung-Ming Yen Seungjoo Kim Seongan Lim Sang-Jae Moon, “RSA Speedup with Chinese Remainder Theorem Immune against Hardware Fault Cryptanalysis”, IEEE Transactions on computers, vol.52, pp.461-472, Apr 2003 [2] R Rivest, A Shamir, L Adleman, “A method for obtaining digital signatures and public key cryptoystems”, Communications of the ACM , vol.21 , pp.120-126 , Feb 1978 [3] “PKCS # v2.1: RSA Encryption Standard” , RSA Laboratories , June 2002 ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-1/pkcs-1v2-1.pdf [4] Jing Lu Wan Qian, “Implementing a 1024-bit RSA on FPGA”, Reconfigurable Network Group , Applied Research Lab , Department of Computer Science and Engineering , Washington University in St.Louis http://www.arl.wustl.edu/~jl1/education/cs502/course_project.htm [5] “RSA and public key cryptography in FPGA” , Altera Corporation [6] R.L Rivest, A Shamir, and L Adleman, “A Method for Obtaining Digital Signatures and Public-Key Cryptosystems”, MIT Laboratory for Computer Science and Department of Mathematics [7] A Mazzeo, L Romano, “FPGA-based Implementation of a serial RSA processor”, G P Saggese - Universita’ degli Studi di Napoli “Federico II”, N Mazzocca - Seconda Universita’ degli Studi di Napoli [8] Cetin Kaya Koc, “High Speed RSA Implement”, RSA Laboratories, RSA Data Security, Inc [9] Mathieu Ciet, Michael Neve, Eric Peeters & Jean-Jacques Quisquater, “Parallel FPGA Implementation of RSA with Residue Number Systems” [10] William Stallings, “Cryptography and Network Security Principles and Practices, Fourth Edition”, Prentice Hall, November 16, 2005 [11] Beth, T.; Frisch, M.; and Simmons, G eds Public-Key Cryptography: State of the Art and Future Directions New York: Springer-Verlag, 1991 [12] Boneh, D "Twenty Years of Attacks on the RSA Cryptosystem." Notices of the American Mathematical Society, February 1999 Lý lịch trích ngang I HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường [13] Boneh, D., and Shacham, H "Fast Variants of RSA." CryptoBytes, Winter/Spring 2002 http://www.rsasecurity.com/rsalabs [14] Denning, D "Protecting Public Keys and Signature Keys." Computer, February 1983 [15] Diffie, W "The First Ten Years of Public-Key Cryptography." Proceedings of the IEEE, May 1988 Reprinted in [SIMM92] [16] ElGamal, T "A Public-Key Cryptosystem and a Signature Scheme Based on Discrete Logarithms." IEEE Transactions on Information Theory, July 1985 [17] Ford, W "Advances in Public-Key Certificate Standards." ACM SIGSAC Review, July 1995 [18] Hellman, M "An Overview of Public Key Cryptography." IEEE Communications Magazine, November 1978 [19] Kaliski, B., and Robshaw, M "The Secure Use of RSA." CryptoBytes, Autumn 1995 [20] Mitchell, C.; Piper, F.; and Wild, P "Digital Signatures." In [SIMM92] [21] Nechvatal, J "Public Key Cryptography." In [SIMM92] [22] Perlman, R "An Overview of PKI Trust Models." IEEE Network, November/December 1999 [23] Pointcheval, D "How to Encrypt Properly with RSA." CryptoBytes, Winter/Spring 2002 http://www.rsasecurity.com/rsalabs [24] Rabin, M "Digitalized Signatures." In Foundations of Secure Computation, DeMillo, R.; Dobkin, D.; Jones, A.; and Lipton, R., eds New York: Academic Press, 1978 [25] Shamir, A., and Tromer, E "On the Cost of Factoring RSA-1024." CryptoBytes, Summer 2003 http://www.rsasecurity.com/rsalabs [26] www.altera.com [27] www.xilinx.com Lý lịch trích ngang II HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường [28] http://fourier.eng.hmc.edu/e161/lectures/classification/classification.html [29] Xilinx University Program Virtex-II Pro Development System, “Hardware Reference Manual”, version 1.0, 08/03/2005 [30] Xilinx Company, “Virtex-II Pro and Virtex-II Pro X FPGA User Guide(v4.0)” 23/03/2005 [31] Xilinx Company, “Virtex-II Pro and Virtex-II Pro X Platform FPGAs: Complete Data Sheet(v4.5)”, 10/10/2005 Lý lịch trích ngang III HVTH: KS Phạm Xuân Khánh ... Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường CHƯƠNG 2: CƠ BẢN VỀ CƠ CHẾ BẢO MẬT Chương trình bày số chế bảo mật cung cấp số kiến... pháp cài đặt thuật toán RSA CRT lên FPGA Trong lý thuyết giải mã RSA CRT, có nhiều trường Chương HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA. .. Khánh Phân tích chế bảo mật RSA đa số nguyên tố cài đặt thuật toán RSA CRT FPGA THD: PGS-TS Lê Tiến Thường Hình 14 Quá trình giải mã RSA CRT Chương 31 HVTH: KS Phạm Xuân Khánh Phân tích chế bảo mật