Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 55 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
55
Dung lượng
810,97 KB
Nội dung
LỜI CẢM ƠN Tôi xin chân thành cảm ơn thầy cô trường Đại học Công nghệ thông tin truyền thông - Đại học Thái Nguyên, Viện Công nghệ thông tin, Viện Khoa học Công nghệ Việt Nam tận tình truyền đạt kiến thức cho tơi suốt q trình học tập, giúp đỡ tơi hồn thành tốt khoá học luận văn tốt nghiệp Đặc biệt xin gửi tới TS Nguyễn Thị Hồng Minh, 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 Cô giúp nhận học phong cách học tập, làm việc nghiên cứu khoa học Thái Nguyên, ngày 30 tháng 08 năm 2011 Nguyễn Văn Sỹ Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn LỜI CAM ĐOAN Tôi xin cam đoan, toàn nội dung liên quan tới đề tài trình bày luận văn thân tơi tìm hiểu nghiên cứu, hướng dẫn TS Nguyễn Thị Hồng Minh Các tài liệu, số liệu tham khảo trích dẫn nguồn gốc Tơi xin chịu trách nhiệm trước lời cam đoan Học viên thực Nguyễn Văn Sỹ Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT DES: Data Encryption Standard DFT: Direct Fourier Transform RSA: Rivest ShamirAdleman FFT: Fast Fourier Transform Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn DANH MỤC CÁC HÌNH VẼ Trang Hình 1.1: Sơ đồ hoạt động hệ mã hoá khoá đối xứng 16 Hình 1.2: Sơ đồ hoạt động hệ mã hoá khoá đối xứng 17 Hình 2.1 Phân lớp chữ ký số 28 Hình 3.1 Sơ đồ thực giải thuật nhân nhanh sử dụng DFT 41 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG NGUYỄN VĂN SỸ TỐI ƯU HỐ TRONG BẢO MẬT THƠNG TIN VÀ ỨNG DỤNG VÀO CHỮ KÝ SỐ LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH Thái Ngun - 2011 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THƠNG NGUYỄN VĂN SỸ TỐI ƯU HỐ TRONG BẢO MẬT THÔNG TIN VÀ ỨNG DỤNG VÀO CHỮ KÝ SỐ Chuyên ngành: Khoa học máy tính Mã số: 60.48.01 LUẬN VĂN THẠC SĨ: KHOA HỌC MÁY TÍNH NGƯỜI HƯỚNG DẪN KHOA HỌC TS Nguyễn Thị Hồng Minh Thái Nguyên - 2011 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn MỞ ĐẦU Đặt vấn đề Bảo mật thông tin vấn đề quan trọng việc ứng dụng công nghệ thông tin lĩnh vực trị, kinh tế xã hội Ngày cơng nghệ thông tin phát triển mạnh mẽ nên lƣợng thông tin cần mã hóa ngày đa dạng có khối lƣợng lớn thời gian xử lý chƣơng trình mã hóa tăng lên, mặt khác cơng cụ giải thuật nhằm bẻ khóa hệ mật mã ngày cải tiến đòi hỏi hệ mật mã cần đƣợc nâng cấp tối ƣu tính bảo mật Việc xây dựng số thuật tốn tối ƣu hóa nhằm tăng hiệu chƣơng trình bảo mật thông tin ứng dụng vào chữ ký số sở nội dung đề tài luận văn Đố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 vào chữ ký số á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ố nguyên 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 Hƣớng nghiên cứu đề tài Đề 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ố nguyên lớn Đề 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 Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn hệ mã ứng dụng vào chữ ký số Đề tài sâu tìm hiểu q 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 Những nội dung nghiên cứu MỞ ĐẦU CHƢƠNG LÝ THUYẾT MẬT MÃ 1.1 Một số khái niệm mã hoá 1.2 Lý thuyết độ phức tạp tính tốn 1.3 Cơ sở tốn học mật mã CHƢƠNG HỆ MẬT MÃ KHOÁ CÔNG KHAI VÀ CHỮ KÝ SỐ 2.1 Hệ mật mã khóa cơng khai 2.2 Hệ mật mã khố cơng khai RSA 2.3 Phân tích chế hoạt động hệ mã RSA 2.4 Các phƣơng pháp công hệ mã RSA 2.5 Độ an toàn hệ mã RSA 2.6 Hệ mật mã Elgamal 2.7 Chữ ký số CHƢƠNG TỐI ƢU HOÁ TRONG HỆ MÃ RSA 3.1 Các phép toán hệ mã RSA 3.2 Giải thuật Fast Fourier Transform xử lý phép nhân số lớn CHƢƠNG CÀI ĐẶT THỬ NGHIỆM VÀ ỨNG DỤNG VÀO CHỮ KÝ SỐ 4.1 Cài đặt thử nghiệm phép toán với số lớn 4.2 Cài đặt thử nghiệm chữ ký số RSA 4.3 Đánh giá nhận xét kết Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN TÀI LIỆU THAM KHẢO Phƣơng pháp nghiên cứu Về lý thuyết: 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 chữ ký số Từ lựa chọn thuật tố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 hóa phép xử lý với số học lớn ứng dụng vào chữ ký số Thu thập tài liệu tạp chí khoa học tài liệu mạng Internet có liên quan đến vấn đề nghiên cứu Về thực nghiệm: Chƣơng trình đƣợc viết ngơn ngữ Visual C# cơng cụ Visual studio 2005, thiết kế chƣơng trình theo thuật tốn tối ƣu hóa nghiên cứu Ý nghĩa khoa học đề tài Trình bày kiến thức toán học, lý thuyết độ phức tạp thuật toán, thuật toán 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 sinh tạo chữ ký số, phƣơng pháp mã hố khóa bí mật 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 Tối ƣu phép xử lý số học với số nguyên lớn áp dụng việc xây dựng hệ mã hóa có tốc độ xử lý nhanh độ an tồn cao Đóng góp đề tài Luận văn trình bày sở lý thuyết hệ mật mã khóa cơng khai Phân tích q trình tạo khố, mã hoá giải mã hệ mã RSA từ tối ƣu Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn thuật toán trình cách áp dụng thuật tốn Fast Fourier Transform để nhân hai số nguyên lớn nhằm tăng tính bảo mật an tồn hệ mã khố cơng khai Xây dựng chƣơng trình thử nghiệm chữ ký số ứng dụng bảo mật xác thực chữ ký số Từ mở rộng hồn thiện thêm số tính để ứng dụng thực tiễn Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 35 chọn cho wk số phức đơn vị phần tử 2ik wk exp 2n 2i k , exp 2n Sự lựa chọn wk thoả mãn hai thuộc tính: • Các thiết lập giá (P(w0),,P(w2n-1)) (Q(w0),,Q(w2n-1)) đƣợc tính tốn 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) Từ thấy hệ số thứ k rk R (z) thoả mãn: rk n 1 T wk , T ( z ) R w j z j 2n j 0 Trong biến đổi Fourier, hệ số R (z) thu đƣợc từ biến đổi Fourier T (z) 3.2.2 Biến đổi Fourier Cho chuỗi A = (a0, a1,, a2n-1), tính tốn biến đổi Fourier A kí hiệu F2n(A) F2 n A b0 , b1 , b2 n 1 , bk n 1 a j 0 jk j Cuối để lấy R (z) từ biến đổi Fourier ngƣợc hệ số R( j)viết dƣới dạng: F n ( F2 n ( R)) 2nR Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 36 biến đổi Fourier liên hợp F n ( A) (b0 , b1 , , b2 n 1 ), bk n 1 a j 0 jk j 3.2.3 Biến đổi Fourier nhanh Biến đổi Fourier nhanh (FFT) cách để tính tốn biến đổi Fourier dãy A thời gian O (n logn) thay O (n2) với cách cổ điển, n luỹ thừa Với ký hiệu (*), nguyên tắc để viết bk n 1 a j 0 j n 1 jk a2 j ( ) jk j 0 n 1 k a j 0 j 1 ( ) jk Nói cách khác, để tính tốn hệ số bk F2n (A), thực bƣớc sau đây: • Xác định hai tập hợp có kích thƣớc n A0 = (a0, a2, , a2n-2), A1 = (a1,a3,,a2n-1) • Tính tốn biến đổi Fourier C = Fn(A0) = (c0,c1,,cn-1) D = Fn(A1) = (d0,d1,,dn-1) • Suy biến đổi B = (b0,,b2n-1) = F2n(A) với công thức bk = ck + k dk, bn+k = ck - k dk, k < n Nhƣ chi phí T (2n) việc tính tốn F2n (A) với FFT đáp ứng T(2n) = 2T(n) + O(n).Khi n luỹ thừa hai, trình đƣợc thực đệ quy dẫn đến ràng buộc T (n) = O (n logn) Thuật tốn khóa học tƣơng tự cho biến đổi Fourier Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 37 3.2.4 Phép nhân với FFT 3.2.4.1 Thuật toán Các thuật toán để nhân số lƣợng lớn với FFT (phƣơng pháp đƣợc gọi phƣơng pháp nhân Strassen): Cho n luỹ thừa hai số nguyên lớn X Y với n hệ số n 1 n 1 j 0 j 0 X xjB j, Y yjB j Để tính Z = XY thời gian O (nlog (n)), thực bƣớc sau đây: Nhờ trình FFT, tính biến đổi Fourier X * kích thƣớc 2n chuỗi (xj): X* = (x0*,x1*,,x2n-1*) F2n(x0,x1,,xn-1,0,,0) Tính biến đổi Fourier Y * (yj): Y* = (y0*,y1*,,y2n-1*) F2n(y0,y1,,yn-1,0,,0) Tính tích X* Y* lƣu Z* : Z* = (z0*,z1*,,z2n-1*), zi* xi* yi* Tính biến đổi Fourier ngƣợc Z Z*: Z ( z0 , z1 , , z2 n1 ) F2 n ( Z * ) 2n Sau đó, sau xếp lại hệ số zi tích số X Y n 1 Z zi B i i 0 Chú ý rằng: X * biến đổi Fourier chuỗi x0,,xn-1 với n số liên tiếp đƣợc thêm vào sau chuỗi (điều với Y *) Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 38 * Cài đặt giải thuật nhân nhanh [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 ] Hình 3.1 Sơ đồ thực giải thuật nhân nhanh sử dụng DFT Số hóa Trung tâm Học liệu – ĐHTN http://www.lrc-tnu.edu.vn 39 3.2.4.2 Cài đặt thuật toán DFT FFT 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