Vấn đề bảo mật của phương pháp mã hóa số học

75 7 0
Vấn đề bảo mật của phương pháp mã hóa số học

Đ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

i ĐẠ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 THỊ NGHĨA VẤN ĐỀ BẢO MẬT CỦA PHƢƠNG PHÁP MÃ HÓA SỐ HỌC LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH Thái Nguyên - 2014 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ii ĐẠ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 THỊ NGHĨA VẤN ĐỀ BẢO MẬT CỦA PHƢƠNG PHÁP MÃ HÓA SỐ HỌC 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: PGS.TS Phạm Văn Ất Thái Nguyên - 2014 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ i LỜI CAM ĐOAN Tôi xin cam đoan luận văn “Vấn đề bảo mật phương pháp mã hóa số học” cơng trình nghiên cứu tơi, hướng dẫn khoa học PGS.TS Phạm Văn Ất, tham khảo nguồn tài liệu rõ trích dẫn danh mục tài liệu tham khảo Các nội dung cơng bố kết trình bày luận văn trung thực chưa cơng bố cơng trình Học viên thực luận văn Nguyễn Thị Nghĩa Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ ii MỤC LỤC Trang Trang phụ bìa Lời cam đoan i Mục lục ii Danh mục hình vẽ iv Danh mục bảng v MỞ ĐẦU Chƣơng TỔNG QUAN VỀ MÃ HỐ THƠNG TIN 1.1 Lịch sử phát triển mật mã 1.2 Khái niệm phân loại hệ mật mã 1.2.1 Một số thuật ngữ, khái niệm ứng dụng 1.2.2 Khái niệm hệ mã hoá 1.2.3 Phân loại hệ mã hoá 10 1.3 Các tốn an tồn thơng tin 21 1.4 Thám mã tính an tồn hệ mật mã 22 1.4.1 Các vấn đề thám mã 22 1.4.2 Tính an tồn hệ mật mã 23 Chƣơng II PHƢƠNG PHÁP MÃ HÓA SỐ HỌC VÀ MỘT SỐ CẢI TIẾN 2.1 Cơ sở toán học phương pháp mã hóa số học 25 2.1.1 Phép chiếu điểm lên đoạn thẳng 25 2.1.2 Phép chiếu đoạn thẳng lên đoạn thẳng 26 2.1.3 Các phép biến đổi ngược 26 2.1.4 Một số tính chất phép chiếu 27 2.1.5 Biểu diễn thuật toán mã hoá số học qua phép chiếu 32 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ iii 2.2 Tìm hiểu thuật toán nâng cao tốc độ xử lý phương pháp mã hóa số học 44 2.2.1 Cách chọn miền phân bố 44 2.2.2 Thuật toán mã hoá 45 2.2.3 Thuật toán giải mã 47 2.3 Cải tiến để nâng cao độ bảo mật phương pháp mã hóa số học 49 2.3.1 Phương pháp phân tách khoảng 49 2.3.2 Mã hóa số học nhị phân (1 bít) với miền phân bố ngẫu nhiên 52 2.3.3 Thuật tốn mã hóa số học với miền phân bố không cố định 53 2.4 Phân tích độ bảo mật thuật tốn mã hóa số học 58 2.4.1 Số tổ hợp khóa thuật tốn mục 2.2 59 2.4.2 Số tổ hợp khóa thuật toán mục 2.3.3 59 2.4.3 So sánh độ bảo mật hai phương pháp mục 2.2 2.3.3 59 Chƣơng CHƢƠNG TRÌNH THỬ NGHIỆM 3.1 Xây dựng phần mềm cho thuật tốn mã hóa số học 60 3.1.1 Cấu trúc lớp 60 3.1.2 Bảng lũy thừa bậc (bảng h) 61 3.1.3 Các thuật toán chuyển đổi 62 3.1.4 Thuật toán chia (div, mod) 64 3.1.5 Thuật toán phân rã nhị phân tính lũy thừa mod 65 3.2 Kết thử nghiệm chương trình 65 KẾT LUẬN VÀ KIẾN NGHỊ 67 Kết luận 67 Kiến nghị 67 TÀI LIỆU THAM KHẢO 68 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ iv DANH MỤC CÁC HÌNH VẼ Hình 1.1 Mã hóa với khóa mã khóa giải giống 11 Hình 1.2 Mã hóa với khóa mã khóa giải khác 13 Hình 2.1 Phép chiếu điểm lên đoạn thẳng 25 Hình 2.2 Phép chiếu đoạn thẳng lên đoạn thẳng 26 Hình 2.3 Phép chiếu [B1,B2] lên [A1,A2] 27 Hình 2.4 Phép chiếu [C1,C2] lên [X1,X2] 27 Hình 2.5 Phép chiếu [Z1,Z2] lên [A1,A2] 29 Hình 2.6 Mơ tả tính chứa phép biến đổi ngược 32 Hình 2.7 Hình chiếu P(kt[i]) lên Ti-1 36 Hình 2.8 Code[i] nghịch ảnh code[i-1] theo P[i-1] 38 Hình 2.9 Biểu diễn low_range[i] hi_range[i] [0,D) 46 Hình 2.10 Mơ hình trước sau tách khoảng 51 Hình 2.11 Sơ đồ hệ thống hốn vị kết hợp với mã hóa số học tách khoảng 52 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ v DANH MỤC CÁC BẢNG Bảng 2.1 Bảng tần suất ký tự 33 Bảng 2.2 Bảng phân bố với D=1 dựa theo tần suất 34 Bảng 2.3 Bảng miền phân bố ký tự với rõ “eaii!” 41 Bảng 2.4 Miền phân bố ký tự với rõ ABAAB 53 Bảng 2.5 Bảng tần suất kí tự với rõ ABAABCD 54 Bảng 2.6 Miền phân bố ký tự với rõ ABAABCD 55 Bảng 3.1 Bảng lưu trữ giá trị thập phân 2i 62 Bảng 3.2 Bảng kết thử nghiệm so sánh tốc độ 66 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ MỞ ĐẦU Mật mã học ngành nghiên cứu kỹ thuật Toán học nhằm cung cấp dịch vụ an tồn thơng tin Mặc dù khoa học mật mã đời từ hàng nghìn năm trải qua nhiều kỷ, kết Mật mã học chủ yếu sử dụng lĩnh vực quân sự, trị, ngoại giao Ngày nay, Các ứng dụng mã hóa bảo mật thông tin sử dụng ngày phổ biến lĩnh vực khác giới, từ việc bảo mật nội dung tài liệu điện tử, bảo vệ an toàn giao dịch thương mại điện tử, đấu giá mạng, bầu cử trực tuyến, đến ứng dụng hệ thống thể thông minh, mạng cảm ứng không dây Cho đến thập niên 1970, hầu hết nghiên cứu ứng dụng mật mã học tập trung vào việc bảo mật thông tin Từ thập niên 1970 nay, phạm vi nghiên cứu Mật mã học mở rộng, ứng dụng Mật mã học ngày đa dạng phong phú Tùy vào đặc thù hệ thống bảo vệ thông tin mà ứng dụng có tính với đặc trưng riêng sau: Bảo mật thông tin: hệ thống đảm bảo thơng tin bí mật Ví dụ q trình truyền nhận thơng tin, thơng tin bị phát người công, người công khơng thể hiểu nội dung thơng tin đánh cắp Tồn vẹn thơng tin: hệ thống bảo đảm tính tồn vẹn thơng tin liên lạc giúp phát thông tin bị sửa lỗi Xác thực đối tác liên lạc xác thực nội dung thông tin liên lạc Chống từ chối trách nhiệm: hệ thống đảm bảo đối tác hệ thống từ chối trách nhiệm hành động mà thực Các ứng dụng phổ biến Mật mã học bảo mật nội dung thông tin sử dụng hệ thống mã hóa đối xứng (hay cịn gọi hệ thống mã Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ hóa quy ước) Trong hệ thống này, q trình mã hóa giải mã thơng điệp sử dụng khóa gọi khóa bí mật (secret key) hay khóa đối xứng (symmetric key) Do đó, vấn đề bảo mật thơng tin mã hóa hồn tồn phụ thuộc vào việc giữ bí mật nội dung khóa sử dụng Trong lĩnh vực bảo mật thơng tin, phương pháp mã hóa số học xem phương pháp hay Tuy nhiên, phương pháp chưa ứng dụng phổ biến vào thực tế gặp phải số khó khăn định như: tốc độ thực thuật toán mã hóa giải mã chậm, đồng thời độ bảo mật thuật tốn cịn chưa cao Luận văn tập trung sâu vào nghiên cứu sở toán học phương pháp mã hóa số học vấn đề liên quan Luận văn nghiên cứu số cải tiến thuật tốn mã hóa giải mã nhằm tăng tốc độ thực Phát triển mơ hình mã hóa số học nhị phân với miền phân bố động (khơng cố định) mơ hình bit (256 ký tự) để nâng cao độ bảo mật phương pháp mã hóa Dựa mục tiêu xác định, nội dung luận văn trình bày qua chương sau: - Chương 1: Tổng quan mã hóa thơng tin - Chương 2: Phương pháp mã hóa số học số cải tiến - Chương 3: Chương trình thử nghiệm Do thời gian trình độ cịn hạn chế nên luận văn khó tránh khỏi thiếu sót, kính mong nhận đóng góp, bảo thầy giáo, cô giáo bạn đồng nghiệp Cuối cùng, tác giả xin chân thành bày tỏ lòng biết ơn sâu sắc đến thầy giáo PGS TS Phạm Văn Ất – Đại học Giao thông Vận tải tận tình hướng dẫn, bảo, giúp đỡ, khích lệ tác giả suốt q trình làm luận văn Đồng thời, tác giả xin chân thành cảm ơn thầy Phịng Sau Đại học – Trường Đại học Công nghệ thông tin Truyền thông, thầy Viện Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ Công nghệ thông tin – Viện Khoa học Công nghệ Việt Nam tạo điều kiện thuận lợi, giúp đỡ tác giả hoàn thành luận văn Thái Nguyên, ngày tháng năm 2014 Học viên thực Nguyễn Thị Nghĩa Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 54 Bảng 2.5 Bảng tần suất kí tự với rõ ABAABCD STT Ký tự Tần suất A B C D Gọi m số ký tự khác ban rõ, ví dụ ta có: m=4 Gọi ch[i] ký tự thứ i chưa hốn vị bảng tần suất (ví dụ ch[1]= „A‟, ch[2]= „B‟, ch[3]= „C‟, ch[4]= „D‟ Gọi ch1[i] ký tự thứ i hoán vị bảng tần suất (giả sử hoán vị ta được: ch1[1]= „B‟, ch1[2] = „C‟, ch1[3] = „A‟, ch1[4] = „D‟ Thuật tốn mã hóa số học mở rộng cải tiến miền [0, D), ví dụ ta chọn miền D= 25 Gọi Mm giá trị nhỏ cho 2Mm >= M (trong M=4) suy ví dụ Mm=2 Gọi độ dài miền phân bố ký tự miền [0, D) Dd (Dd= 2h), Dd = 25-Mm =25-2, nên Dd=8 hay h=3 Dãy khóa K với K={0, 1} Trong ví dụ độ dài khóa ta kí hiệu là: dodaiK=M độ dài khóa sinh ngẫu nhiên, giả sử dãy khóa K là: 0110 Từ ta có bảng miền phân bố sau: Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 55 Bảng 2.6 Miền phân bố ký tự với rõ ABAABCD Ký tự Ký tự ban đầu sau hoán (CH) vị (CH1) 1 A B [0, 8) [8, 16) B C [8, 16) [16, 24) C A [16, 24) [0, 8) D D [24, 32) [24, 32) STT Miền phân bố 2.3.3.2 Thuật tốn mã hóa * Ý tƣởng thuật tốn mã hóa Ta coi rõ chuỗi gồm n ký tự Gọi kt[i] ký tự thứ i rõ tính từ trái qua phải (i= 1, 2, …, n) Sk (k=1, 2…, n) chuỗi gồm k ký tự Gọi Ti = [ low_code[i], hi_code[i]) miền mã chuỗi Si P0(ch[i])= [low_range(ch[i]), hi_range(ch[i])) miền phân bố ký tự ch[i] ứng với khóa k=0 P1(ch[i])= [low_range(ch[i]), hi_range(ch[i])) miền phân bố ký tự ch[i] ứng với khóa k=1 Các đoạn Ti xác định sau: Với i=1: Nếu k=0 T1= P0(kt[1]) ngược lại T1=P1(kt[1]) Với i>=2 Ti xác định theo cơng thực lặp: Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 56 Nếu ki =0 Ti= Ti-1 Po(kt[i]) Ngược lại P1(kt[i]) Ti= Ti-1 * Thuật tốn mã hóa Input: n: số ký tự rõ Dãy ký tự rõ kt[i] (i=1, 2, 3,…, n) m: số ký tự bảng miền phân bố low_range(ch[i]), hi_range(ch[i]) giá trị hai đầu mút ứng với ký tự ch[i] bảng phân bố ( với i= 1, 2,…, n) Dãy khóa K (K[i]= {0, 1}) Output: Code: mã rõ Thuật toán: Xác định f(i): if (K[1]= = 0) CH[f(i)]= kt[1]; else CH1[f(i)]= kt[1]; lc[1]= lr(f(i)); (2.60) hc[1]= hr(f(i)); (2.61) For(i=2; i> (s-h) Số hóa Trung tâm Học liệu (2.62) http://www.lrc-tnu.edu.vn/ 57 hc[i] = lc[i] +(hc[i-1]-lc[i-1])>> (s-h) (2.63) } Code [ lc[n], hc[n]) 2.3.3.3 Thuật toán giải mã Để trình bày ý tưởng thuật tốn ta cần xây dựng hàm g(x, k) Hàm xác định với x [0, D] theo công thức: TH1: k=0 Nếu x P0(ch[i]) g(x, k) = ch[i] TH2: k=1 Nếu x P0(ch[i]) g(x, k)= ch[j] * Ý tƣởng thuật tốn Từ mã số code mã cần khơi phục ký tự z[i] (i=1, 2,…, n) rõ Với i =1: Nếu k1= Code[1]= code Z[1]= g(code[1], k1) Ngược lại Code[1]= code Z[1]= g(code[1], k1) Với i>=2: Nếu ki=0 Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 58 Code[i]= P0(kt[i-1]) code[i-1] Ngược lại Code[i]= P1(kt[i-1]) code[i-1] Z[i]= g(code[i], ki) * Thuật toán giải mã Input: Code: mã rõ n: số ký tự rõ Bảng phân bố ký tự khác rõ Dãy khóa K, với k1, k2…, km K={0, 1} dodaiK: Độ dài khóa K Output: z[i] với i= 1, 2, 3…, n Thuật toán: code[1]=code; z[1] = g(code[1],K[1]); for(i= 2;i< =n ;++i) { k=K[i-1]; code[i]= code[i-1]=q) số nhị phân kiểu NgLon Output: div=p DIV q, mod=p MOD q Thuật toán: Ký hiệu: + p[t] – số nguyên nhị phân tạo t bit cao p + u=sizeof(p) //độ dài theo bit + v=sizeof(q) //độ dài theo bit Xác định S (trích phần đầu); + S=p[v] p[v]>=q + S= p[v+1] trái lại Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 65 k=sizeof(S) Đặt bit thứ u-k div=1 Thay p[k] p[k] – S Nếu p>=q quay lại bước 1, trái lại kết thúc thuật toán Kết quả: div xác định mod=p Độ phức tạp thuật toán trường hợp xấu sizeof(p) – sizeof(q), độ phức tạp 3.1.5 Thuật tốn phân rã nhị phân tính lũy thừa mod Phương pháp cài đặt theo đệ quy tổ chức hai vòng lặp để phân rã số mũ tính biểu thức Khi cài đặt nên sử dụng phương pháp lặp để giảm nhớ tăng tốc độ tính tốn Dạng đệ quy thuật tốn trình bày sau: Input: s, a, m, n Output: q = s*am mod n Thuật toán: Nếu: m=1 q=s*a mod n Nếu: m>1, thực bước 2.1 Nếu m chẵn: m1 =m/2 q= (s*am1 mod n)/( am1 mod n) mod n 2.2 Nếu m lẻ: m1 = (m-1)/2 q= (s*am1 mod n)/( a*am1 mod n) mod n 3.2 Kết thử nghiệm chƣơng trình Chương trình mã hóa giải mã viết cho thuật tốn mã hóa số học cải tiến miền [0, D) với việc lựa chọn miền D= 200, dãy khóa K, miền phân bố ký tự xác định dựa vào khóa K Để cài đặt thuật Số hóa Trung tâm Học liệu http://www.lrc-tnu.edu.vn/ 66 tốn mã hóa giải mã luận văn sử dụng kiểu nguyên lớn size byte (size

Ngày đăng: 25/02/2021, 07:20

Tài liệu cùng người dùng

Tài liệu liên quan