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

Các thuật toán tối ưu hóa trong bảo mật thông tin

67 4 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 67
Dung lượng 1 MB

Nội dung

KHOA CÔNG NGHỆ THÔNG TIN ĐẠI HỌC THÁI NGUYÊN NGUYỄN NGỌC TRUNG CÁC THUẬT TỐN TỐI ƢU HĨA TRONG BẢO MẬT THƠNG TIN CHUN NGÀNH : KHOA HỌC MÁY TÍNH MÃ SỐ : 60.48.01 LUẬN VĂN THẠC SĨ KHOA HỌC NGÀNH CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC PGS.TSKH NGUYỄN XUÂN HUY Thái Nguyên 03/2008 Tai ngay!!! Ban co the xoa dong chu nay!!! LỜI CẢM ƠN Tôi xin gửi lời cảm ơn tới Khoa CNTT – ĐHTN, nơi thầy tận tình truyền đạt kiến thức quý báu cho suốt trình học tập Xin cảm ơn Ban chủ nhiệm khoa cán tạo điều kiện tốt cho chúng tơi học tập hồn thành đề tài tốt nghiệp Đặc biệt, tơi xin gửi tới PGS TSKH Nguyễn Xuân Huy, thầy tận tình bảo tơi suốt q trình thực đề tài lời cảm ơn biết ơn sâu sắc Bên cạnh kiến thức khoa học, thầy giúp nhận học phong cách học tập, làm việc kinh nghiệm sống quý báu Tôi xin bày tỏ lịng biết ơn tới gia đình, bạn bè, đồng nghiệp ngƣời thân động viên khích lệ tinh thần giúp đỡ để tơi hồn thành luận văn Thái Nguyên, ngày 10 tháng 11 năm 2008 Nguyễn Ngọc Trung Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn LỜI CAM ĐOAN Tơi xin cam đoan, tồn nội dung liên quan tới đề tài đƣợc trình bày luận văn thân tơi tự tìm hiểu nghiên cứu, dƣới hƣớng dẫn khoa học Thầy giáo PGS TSKH Nguyễn Xuân Huy Các tài liệu, số liệu tham khảo đƣợc trích dẫn đầy đủ nguồn gốc Tơi xin chịu trách nhiệm trƣớc pháp luật lời cam đoan Học viên thực Nguyễn Ngọc Trung Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn MỤC LỤC Trang LỜI CẢM ƠN LỜI CAM ĐOAN MỤC LỤC DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ MỞ ĐẦU CHƢƠNG - LÝ THUYẾT MẬT MÃ 1.1 MỘT SỐ KHÁI NIỆM CƠ BẢN VỀ MÃ HÓA 1.2 LÝ THUYẾT ĐỘ PHỨC TẠP 10 1.3 CƠ SỞ TOÁN HỌC CỦA MẬT MÃ 13 CHƢƠNG - NGHIÊN CỨU CƠ CHẾ HOẠT ĐỘNG CỦA HỆ MẬT KHĨA CƠNG KHAI 20 2.1 GIỚI THIỆU VỀ HỆ MẬT VỚI KHĨA CƠNG KHAI 20 2.2 HỆ MẬT MÃ KHĨA CƠNG KHAI RSA 22 2.3 HỆ MẬT MÃ KHÓA CÔNG KHAI RSA WITH CRT 29 2.4 CƠ CHẾ HOẠT ĐỘNG CỦA RSA 34 2.5 KHẢ NĂNG BỊ BẺ KHĨA CỦA HỆ MÃ CƠNG KHAI RSA 36 2.6 HỆ MẬT MÃ KHÓA CÔNG KHAI ELGAMAL 40 CHƢƠNG - MỘT SỐ GIẢI THUẬT XỬ LÝ SỐ HỌC ÁP DỤNG ĐỂ TỐI ƢU HĨA Q TRÌNH MÃ HÓA VÀ GIẢI MÃCỦA HỆ MÃ RSA …………………………… 41 3.1 PHÂN TÍCH CÁC PHÉP XỬ LÝ TỐN HỌC TRONG HỆ MÃ RSA 41 3.2 ỨNG DỤNG GIẢI THUẬT FAST FOURIER TRANSFORM TRONG XỬ LÝ PHÉP NHÂN SỐ LỚN 45 3.1 CÀI ĐẶT THỬ NGHIỆM CÁC PHÉP TOÁN VỚI SỐ LỚN 53 CHƢƠNG 4: ỨNG DỤNG TRONG XÂY DỰNG HỆ MÃ RSA 56 4.1 XÂY DỰNG HỆ MÃ RSA THỬ NGHIỆM 56 4.2 ĐÁNH GIÁ VÀ NHẬN XÉT KẾT QUẢ 59 CHƢƠNG – KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN 60 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT CRT Chinese Remainder Theorem DES Data Encryption Standard RSA Rivest ShamirAdleman GCD Great Comon Divisor FFT Fast Fourier Transform Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn DANH MỤC CÁC BẢNG Trang Bảng 1.1: Bảng chi phí thời gian để phân tích số nguyên n thừa số nguyên tố 12 Bảng 2.1: Tóm tắt bước tạo khoá, mã hoá, giải mã Hệ ElGamal 25 Bảng 2.2: Bảng chi phí thời gian cần thiết để phân tích số nguyên N 28 Bảng 2.3: Tóm tắt bước tạo khoá, mã hoá, giải mã Hệ ElGamal 42 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Trang Hình 1.1: Mơ hình mã hóa khóa đối xứng Hình 1.2: Mơ hình mã hóa khóa bất đối xứng 10 Hình 2.1: Đồ thị so sánh chi phí cơng khóa bí mật khóa cơng khai 39 Hình 3.1: Sơ đồ thực giải thuật nhân nhanh sử dụng DFT 49 Hình 3.2: Giao diện thực phép cộng 54 Hình 3.3: Giao diện thực phép nhân 55 Hình 4.1: Giao diện chương trình mơ hệ RSA 56 Hình 4.2 4.3: Giao diện thực mã hóa giải mã file văn 57 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn MỞ ĐẦU Lý chọn đề tài Các hệ mã công khai nhƣ RSA thực tính tốn với số ngun lớn hàng trăm chữ số Độ phức tạp việc giải mã hệ mã tỉ lệ thuận với độ lớn số nguyên tham gia vào việc tạo khóa mã hóa khóa cơng khai Do để hệ mã an tồn, cần tăng kích thƣớc số nguyên Mặt khác, kích thƣớc số nguyên cần xử lý lớn thời gian xử lý chƣơng trình mã hóa tăng lên Thơng tin cần mã hóa ngày đa dạng có khối lƣợng lớn, đòi hỏi hệ mã giảm thiểu thời gian xử lý Các cơng cụ giải thuật nhằm bẻ khóa hệ mật mã đƣợc cải tiến đòi hỏi hệ mã cần đƣợc nâng cấp tính bảo mật Tuy nhiên, việc nghiên cứu triển khai nâng cấp việc tối ƣu hóa mặt thuật tốn phép xử lý số học hệ mã hạn chế phạm vi chƣơng trình độc quyền Để hỗ trợ giải vấn đề trên, đề tài tập trung vào việc xây dựng số thuật tốn tối ƣu hóa nhằm tăng hiệu phép tính tốn thực với số ngun lớn Các kết đề tài đƣợc ứng dụng việc hỗ trợ cho phép xử lý số học hệ mã Từ làm tăng tốc độ xử lý tính bảo mật hệ mã Từ tính cấp thiết vấn đề tối ƣu hóa hệ mã công khai, đồng thời đƣợc hƣớng dẫn gợi ý PGS.TSKH Nguyễn Xuân Huy chọn đề tài cho luận văn tốt nghiệp Cao học ngành khoa học máy tính là: “Các thuật tốn tối ƣu hóa bảo mật thơng tin” Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn Mục đích nhiệm vụ  Mục tiêu o Về học thuật: Đề tài tập trung vào việc xây dựng số thuật toán tối ƣu hóa nhằm tăng hiệu phép tính tốn thực với số nguyên lớn o Về phát triển triển khai ứng dụng: Các kết đề tài đƣợc ứng dụng việc hỗ trợ cho phép xử lý số học với số nguyên lớn hệ mã Từ làm tăng tốc độ xử lý tính bảo mật hệ mã  Nhiệm vụ - Nghiên cứu trình thực mã hóa giải mã hệ mã cơng khai - Tìm hiểu thuật tốn xử lý số học đƣợc dùng hệ mã - Phát giải thuật tính tốn cần tối ƣu hóa - Thực đƣa giải pháp tối ƣu hóa giải thuật - Ứng dụng hệ mã cụ thể - So sánh với kết thực thi hệ mã chƣa thực tối ƣu hóa Phƣơng pháp nghiên cứu - Nghiên cứu dựa việc tìm hiểu giải thuật xử lý với số nguyên lớn hệ mã Cụ thể hệ mã hóa RSA, từ kết nghiên cứu có đƣợc định hƣớng lựa chọn thuật toán cần tối ƣu hóa - Thực việc tối ƣu hóa giải thuật cách tối ƣu phép xử lý với số học lớn Thao tác sử dụng kết hợp phƣơng pháp tính tốn với số học nhằm tăng hiệu bƣớc xử lý - Thu thập tài liệu xuất bản, báo tạp chí khoa học tài liệu mạng Internet có liên quan đến vấn đề nghiên cứu - Tìm hiểu, vận dụng kế thừa thuật tốn qui trình mã cơng bố kết Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 10 - Thực nghiệm cài đặt ứng dụng để minh họa vấn đề trình bày đề tài Đối tƣợng phạm vi nghiên cứu  Đối tượng nghiên cứu : Các hệ mật mã khóa cơng khai, hệ mật mã RSA đƣợc sử dụng làm đối tƣợng nghiên cứu đề tài nhằm phát phép xử lý toán học cần tối ƣu Từ kết thu đƣợc bƣớc đầu đề tài đƣa cách xây dựng thử nghiệm hệ mã RSA áp dụng kết tối ƣu hóa  Phạm vi nghiên cứu Đề tài thực việc tối ƣu hóa với số phép tính tốn với số ngun lớn Ứng dụng thử nghiệm hệ mã nhằm so sánh hiệu xử lý hệ mã trƣớc sau tối ƣu Đề tài giới hạn phạm vi nghiên cứu để đƣa giải pháp, việc triển khai ứng dụng thực tiễn cần có thêm điều kiện thời gian quy mô Ý nghĩa khoa học thực tiễn luận văn  Ý nghĩa khoa học - Trình bày kiến thức tốn học bản, lý thuyết độ phức tạp thuật toán, thuật tốn thƣờng dùng hệ mật mã khố cơng khai - Trình bày phƣơng pháp mật mã gồm: Phƣơng pháp mã hố khóa bí mật phƣơng pháp mã hố khóa cơng khai Với phƣơng pháp mã hóa khóa cơng khai tập trung vào thuật tốn mã hóa RSA Với phƣơng pháp mã hóa khóa bí mật giới thiệu sơ lƣợc để so sánh với phƣơng pháp mã hóa khóa cơng khai - Tối ƣu phép xử lý số học với số nguyên lớn yêu cầu cần thiết việc xây dựng hệ mã hóa có tốc độ xử lý độ an toàn cao  Ý nghĩa thực tiễn - Cài đặt hoàn chỉnh giải thuật xử lý số học với số nguyên lớn cỡ hàng trăm chữ số Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 53 Dựa lý thuyết này, ta áp dụng để thực việc nhân hai đa thức có bậc nhỏ n Một đa thức có bậc nhỏ m đƣợc tạo giá trị cụ thể m điểm Do đó, để tính tích R(z)= P(z).Q(z) ta cần tính giá trị R(wk) 2n điểm phân biệt ứng với wk, điều có nghĩa ta cần tính giá trị P(wk) Q(wk) Thuật toán FFT gợi ý phù hợp với việc lựa chọn cho wk đơn vị  2ik  wk = exp   = k,  2n   2i   = exp    2n  Với cách lựa chọn này, giá trị wk thỏa mãn hai thuộc tính sau:  Tập hợp giá trị (P(w0),,P(w2n-1)) (Q(w0),,Q(w2n-1)) tính tốn đƣợc thời gian O(n logn)  Từ giá trị R(wk) với i = 0,,2n-1, đa thức R(z) thu đƣợc thời gian O(n logn) Khi đó, hệ số thứ k kí hiệu rk R(z) thỏa mãn: 2n-1 rk = T 2n   wk ,   T(z) = R(w ) z , j j j=0 3.2.2 Biến đổi Fourier Cho dãy A = (a0, a1,, a2n-1), tìm dạng biến đổi Fourier dãy A Gọi F2n(A) dạng biến đổi Fourier A, F2n(A) đƣợc biểu diễn nhƣ sau: 2n-1 F2n(A) = (b0, b1, , b2n-1), bk = a  j jk (*) j=0 Cuối ta thu đƣợc R(z) dạng biến đổi Fourier ngƣợc với hệ số R(j) đƣợc thể công thức sau: F 2n (F2n(R)) = 2n R, Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 54 2n-1 F 2n (A) = (b0, b1, , b2n-1), bk = a  j -jk j=0 3.2.3 Biến đổi Fourier nhanh Thuật tốn Fast Fourier Transform phƣơng pháp để tìm dạng biến đổi Fourier dãy số A thời gian O(n logn) Cách nhanh với phƣơng pháp truyền thống cần đến thời gian O(n2) với n lũy thừa 2n-1 bk = n-1 a  = a j jk j=0 n-1 2j a (2)jk + k j=0 2j+1 (2)jk j=0 Nói cách khác, để tính toán hệ số bk F2n(A), ta thực bƣớc sau: Định nghĩa dãy kích thƣớc n, A0 chứa hệ số chẵn A1 chứa hệ số lẻ A0 = (a0, a2, , a2n-2), and A1 = (a1,a3,,a2n-1)  Tìm biến đổi Fourier C = Fn(A0) = (c0,c1,,cn-1)  and D = Fn(A1) = (d0,d1,,dn-1) Từ suy biểu diễn Fourier B = (b0,,b2n-1) = F2n(A) theo công thức sau: bk = ck + k dk, bn+k = ck - k dk,  k < n 3.2.3 Phép nhân số lớn áp dụng giải thuật FFT 3.2.3.1 Giải thuật Phần trình bày thuật tốn để thực phép nhân hai số lớn với FFT Phƣơng pháp đƣợc Schönhage Strassen đề xuất năm 1971 phƣơng pháp nhân hai số lớn nhanh Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 55 Cho n lũy thừa hai số nguyên lớn X Y có n hệ số biểu diễn dạng đa thức số B X Y có dạng biểu diễn đa thức nhƣ sau: n-1 X= n-1 x B , j j y B Y= j=0 j j j=0 Để tính Z=XY ta thực bƣớc sau :  Tìm dạng biến đổi Fourier X* X với kích thƣớc 2n: X* = (x0*,x1*,,x2n-1*)  F2n(x0,x1,,xn-1,0,,0)  Tƣơng tự, ta tìm Y* dạng biểu diễn Fourier Y: Y* = (y0*,y1*,,y2n-1*)  F2n(y0,y1,,yn-1,0,,0)  Nhân phần tử tƣơng ứng X* với Y* lƣu kết Z* Z* = (z0*,z1*,,z2n-1*),  Biến đổi Fourier ngƣợc để tìm Z từ Z* Z = (z0,z1,,z2n-1)   zi*  xi* yi* F 2n 2n (Z*) Đa thức Z kết cần tìm tích XY 2n-1 Z= z B i i i=0 Chú ý X* dạng biến đổi Fourier dãy x0,,xn-1 với n số đƣợc thêm vào sau x0,,xn-1 Y* dạng biến đổi Fourier dãy y0,,yn-1 với n số đƣợc thêm vào sau y0,,yn-1 Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 56 3.2.3.1 Cài đặt giải thuật nhân nhanh Thực việc nhân nhanh số lớn sử dụng thuật toán FFT áp dụng nhân nhanh hai số lớn nhằm biến đổi rời rạc Fourier thời gian O(nlogn) Giải thuật Discrete Fourier Transform (DFT) đƣợc áp dụng sơ đồ sau để thực phép nhân: [ a0 , a1 ,a2 , , an-1 ] [b0 , b1 , b2 , , bn-1 ] Thêm số Thêm số [ a0 , a1 , a2 , , an-1 ,0,0, ,0] [ b0 , b1 , b2 , , bn-1 ,0,0, ,0] DFT DFT [ y0 ,y1 ,y2 , , y2n-1 ] [z0 ,z1 ,z2 , , z2n-1 ] Khối thực nhân [y0 z0 , y1 z1 , ,y2n-1 z2n-1 ] DFT ngƣợc [c0 ,c1 , c2 , , c2n-1 ] Sơ đồ 3.1: Thực giải thuật nhân nhanh sử dụng DFT Số hóa Trung tâm Học liệu – Đại học Thái Nguyên http://www.lrc-tnu.edu.vn 57 3.2.3.1 Cài đặt thuật tốn FFT DFT Mơ thuật tốn FFT: Cho dãy A có chiều dài m, w nguyên thủy bậc m đơn vị Kết đƣợc lƣu vector V FFT(A, m, w,V) { if (m==1) return vector V = (a_0) else { A_even = (a_0, a_2, , a_{m-2}) A_odd = (a_1, a_3, , a_{m-1}) V_even = FFT(A_even, m/2, w^2) //w^2 nguyên thủy bậc m/2 đơn vị V_odd = FFT(A_odd, m/2, w^2) for (j=0; j < m/2; ++j) { V[j] = V_even[j] + w^j*V_odd[j] V[j+m/2] = V_even[j] - w^j*V_odd[j] } } Thuật toán Direct fourier transform int DFT(int dir,int m,double *x1,double *y1) { long i,k; double arg; double cosarg,sinarg; double *x2=NULL,*y2=NULL; x2 = malloc(m*sizeof(double)); y2 = malloc(m*sizeof(double)); if (x2 == NULL || y2 == NULL) return(FALSE); for (i=0;i

Ngày đăng: 30/10/2023, 16:23

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

TÀI LIỆU LIÊN QUAN

w