Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 89 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
89
Dung lượng
845,43 KB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG PHẠM THANH LÊ LÝ THUYẾT SỐ TRONG MÃ HĨA THƠNG TIN LUẬN VĂN THẠC SĨ KHOA HỌC Đà Nẵng - Năm 2013 BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG PHẠM THANH LÊ LÝ THUYẾT SỐ TRONG MÃ HĨA THƠNG TIN Chun ngành: PHƯƠNG PHÁP TỐN SƠ CẤP Mã số : 60.46.40 LUẬN VĂN THẠC SĨ KHOA HỌC Người hướng dẫn khoa học: PGS.TS NGUYỄN GIA ĐỊNH ĐÀ NẴNG - NĂM 2013 LỜI CAM ĐOAN Tôi xin cam đoan Những nội dung trình bày luận văn thực hướng dẫn thầy giáo PGS.TS Nguyễn Gia Định Mọi tài liệu dùng luận văn trích dẫn rõ ràng trung thực tên tác giả, tên cơng trình, thời gian địa điểm cơng bố Nếu có chép không hợp lệ, vi phạm qui chế đào tạo xin chịu hoàn toàn trách nhiệm Tác giả Phạm Thanh Lê MỤC LỤC MỞ ĐẦU 1 Lý chọn đề tài Mục tiêu nghiên cứu 3 Đối tượng phạm vi nghiên cứu Phương pháp nghiên cứu Ý nghĩa khoa học thực tiễn đề tài Cấu trúc luận văn CHƯƠNG KIẾN THỨC CƠ SỞ 1.1 PHÉP TÍNH ĐỒNG DƯ VÀ CÁC VẤN ĐỀ LIÊN QUAN 1.1.1 Số nguyên tố định lý số học 1.1.2 Thuật toán Euclid mở rộng 1.1.3 Phi hàm Euler 1.1.4 Phép tính đồng dư phương trình đồng dư 1.1.5 Định lí Fermat mở rộng 10 1.1.6 Tính toán với đồng dư lũy thừa bậc lớn 11 1.1.7 Định lý Phần dư Trung Hoa 12 1.1.8 Thặng dư bình phương kí hiệu Legendre 13 1.2 LIÊN PHÂN SỐ 14 1.2.1 Khái niệm liên phân số 14 1.2.2 Giản phân 15 1.3 TRƯỜNG HỮU HẠN 19 1.3.1 Trường Fp .19 1.3.2 Cách xây dựng trường Fq từ trường Fp 19 1.4 ĐƯỜNG CONG ELLIPTIC 21 1.4.1 Khái niệm đường cong elliptic 21 1.4.2 Đường cong elliptic trường số thực 23 1.4.3 Đường cong elliptic trường hữu hạn 25 CHƯƠNG CÁC KHÁI NIỆM CƠ BẢN CỦA MÃ HÓA VÀ CÁC HỆ MÃ ĐỐI XỨNG 27 2.1 MỘT SỐ THUẬT NGỮ VÀ KHÁI NIỆM .27 2.1.1 Một số thuật ngữ 27 2.1.2 Hệ mã đối xứng hệ mã phi đối xứng .28 2.2 LịCH SỬ MẬT MÃ HỌC .29 2.3 NGUYÊN TẮC CHUNG VÀ MỘT SỐ HỆ MÃ ĐƠN GIẢN 30 2.3.1 Hệ mã Ceasar 30 2.3.2 Hệ mã khối 32 2.4 HỆ MÃ DỮ LIỆU TIÊU CHUẨN - DES 33 2.4.1 Phương án thu gọn DES 34 2.4.2 Mô hình đầy đủ DES 39 2.4.3 Các phương thức sử dụng DES .47 2.4.4 Độ an toàn DES 48 2.5 THUẬT TỐN MÃ HĨA DỮ LIỆU QUỐC TẾ IDEA 49 2.5.1 Nhận xét chung .49 2.5.2 Mã hóa giải mã IDEA .50 2.5.3 Những đặc tính quan trọng 55 2.6 HỆ MÃ SAFER .57 2.6.1 Mô tả SAFER .57 2.6.2 Một số biến thể nâng cấp 63 CHƯƠNG CÁC HỆ MÃ MŨ VÀ MÃ PHI ĐỐI XỨNG 64 3.1 MỘT SỐ HỆ MÃ MŨ THÔNG DỤNG 64 3.1.1 Hệ mã mũ Pohlig Hellman 64 3.1.2 Giao thức trao đổi chìa khóa Diffie - Hellman 68 3.1.3 Hệ mã ElGamal 69 3.1.4 Nguyên tắc chung mã hóa với khóa cơng khai 69 3.2 HỆ MÃ RSA 70 3.2.1 Nguyên tắc thực 70 3.2.2 Độ an toàn 71 3.3 ĐƯỜNG CONG ELLIPTIC VÀ HỆ MÃ PHI ĐỐI XỨNG 72 3.3.1 Cơ sở Toán học 72 3.3.2 Hệ mã dùng đường cong elliptic trường hữu hạn 74 3.3.3 Mật mã khóa cơng khai dùng đường cong elliptic 76 3.3.4 Hệ mã tương tự mã mũ 77 3.3.5 Chọn đường cong elliptic 77 KẾT LUẬN 79 DANH MỤC TÀI LIỆU THAM KHẢO QUYẾT ĐỊNH GIAO ĐỀ TÀI LUẬN VĂN (BẢN SAO) DANH MỤC CÁC CHỮ VIẾT TẮT DES – Data Encryption Standard E-Box – Expansion Box IDEA – International Encryption Algorihm IP – Initial Permutation P-Box – Permutation Box PC – Permuted Choice SAFER – Secure And Fast Encryption Routine S-Box – Substitution Box DANH MỤC CÁC HÌNH Số hiệu Tên hình hình Trang 1.1 Một ví dụ đường cong elliptic 23 1.2 Điểm vô 23 1.3 Phép cộng đường cong elliptic 24 1.4 Phép nhân đôi đường cong elliptic 24 2.1 Cấu trúc Multiplication/Additio (MA) 50 2.2 Cấu trúc IDEA 51 2.3 Mã hoá giải mã IDEA 53 2.4 Cấu trúc vòng SAFER 61 MỞ ĐẦU Lý chọn đề tài Khoa học mật mã đời cách hàng nghìn năm người áp dụng mật mã cách có hệ thống để đảm bảo bí mật thơng tin qn nhà qn thiên tài La Mã cổ đại, Julius Caesar Mật mã ngành khoa học nghiên cứu kỹ thuật toán học nhằm cung cấp dịch vụ bảo vệ thông tin Đây ngành khoa học quan trọng, có nhiều ứng dụng đời sống – xã hội Tuy nhiên, suốt nhiều kỷ, kết lĩnh vực không ứng dụng lĩnh vực dân thông thường đời sống – xã hội mà chủ yếu sử dụng lĩnh vực quân sự, trị, ngoại giao Ngày nay, với phát triển ngày nhanh chóng Internet ứng dụng giao dịch điện tử mạng, nhu cầu bảo vệ thông tin hệ thống ứng dụng điện tử ngày quan tâm có ý nghĩa quan trọng Vì vậy, ứ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ừ lĩnh vực an ninh, quân sự, quốc phòng…, lĩnh vực dân thương mại điện tử, ngân hàng… Do ý nghĩa quan trọng mà đề tài thu hút quan tâm đông đảo chuyên gia khắp giới xem trọng tâm nghiên cứu quốc gia, nước phát triển Một điểm đặc biệt cơng nghệ mã hóa đại khơng dựa vào khả giữ bí mật phương pháp mã hóa, thường khơng người nắm giữ, mà nói chung thường có nhóm người biết Ngày nay, người ta khơng tin vào khả giữ bí mật tuyệt đối nhóm người, mà cho bí mật giữ người có lợi ích gắn liền với bí mật Mật mã đại có địi hỏi mang tính ngun tắc so với mật mã thường dùng trước Những hệ thống mật mã cũ biết khoá lập mã họ ta dễ dàng tìm khố giải mã Hiển nhiên muốn gửi thông báo mật cho đối tượng ta cần phải biết khóa lập mã họ, người hệ mã biết bí mật Nhiều người sử dụng hệ mã khơng cịn bí mật Các hệ thống mật mã đại khắc phục nhược điểm đó: cơng nghệ mã hóa mà phương pháp chung (thuật tốn) cơng khai, cịn việc triển khai cho phép thay đổi theo tham số người sử dụng tự ấn định (mỗi giá trị tham số xác định cách mã hóa riêng), việc lập mã giải mã thực biết tham số Tham số thường gọi “chìa khóa” thơng tin cần phải giữ bí mật Tóm lại, hệ mã đại cần phải dựa nguyên tắc: chốt tính bảo mật vào chìa khóa, mà khơng phải vào phương pháp (thuật tốn) mã hóa Một hệ mã khơng đáp ứng địi hỏi chuyên gia bảo mật thông tin, mà cịn phù hợp cho ứng dụng mang tính tồn dân nơi mà người sử dụng khơng có chút nghiệp vụ bảo mật an toàn thơng tin nói chung Để có hệ mã đáp ứng yêu cầu trên, người ta dựa vào cơng cụ Tốn học, đặc biệt phương pháp Lý thuyết số Có thể nói, lý thuyết số kiến thức toán học lâu đời Từ trước tới nay, người ta thường coi lý thuyết số lĩnh vực đẹp, túy lý thuyết toán học Với phát triển khoa học máy tính cơng nghệ thơng tin, lý thuyết số đóng góp ứng dụng thực tế bất ngờ quan trọng, đặc biệt lĩnh vực mã hóa thơng tin Chính nhờ kết nghiên cứu sâu sắc toán học, người ta có phương pháp 67 q u1 u2 u3 v1 v2 v3 -1 29 38 31 94 31 -94 24 1 -94 24 -1 95 -1 95 -379 -379 -9 853 -9 853 31 -2938 Như vậy, ta có: 31.853 – 9.2938 = 1, d = 853 Để giải mã khối C ta dùng công thức: C 712853 (mod 2938) c Độ an tồn Muốn mã hóa khối P văn bản, ta cần tính Pe (mod p), phép tính bit cần thiết O((log 2p) 3) Để giải mã trước hết ta phải tìm nghịch đảo d e modulo(p – 1) điều thực với O((logp)3) phép tính bit cần làm lần Tiếp theo ta tính thặng dư nguyên dương nhỏ Cd modulo p, số phép tính bit địi hỏi O((log2p)3) Như vậy, thuật tốn lập mã giải mã thực tương đối nhanh máy tính Tuy nhiên thực tế việc tìm chìa khóa khơng thể khơng biết e Thật vậy, giả sử ta biết p C, ta phải xác định e từ công thức C Pe (mod p ) Khi thuật tốn nhanh tìm e địi hỏi khoảng exp( logp.loglogp ) phép tính bit Khi p có khoảng 100 chữ số thập phân, việc tìm logarit modulo p cần khoảng 74 năm, cịn p có khoảng 200 chữ số thời gian cần thiết hàng tỉ năm Nhận xét Hệ mã mũ nêu hệ bí mật số e, d phải giữ bí mật Tuy nhiên, ý tưởng việc sử dụng định lí Fermat để thay 68 phép tính “Căn rời rạc” (của việc giải mã) phép tính lũy thừa tuyệt vời Ta gặp lại ý tưởng hệ mã công khai RSA Trước hết, làm quen với hệ mã đơn giản hơn, phần mang tính phi đối xứng hữu ích Trong hệ mã sau thường có nhiều người tham gia A, B, C, … người ta thống chung việc chọn số nguyên tố p phân tử sở g nhóm Fp* (phép tính lấy theo modulo p) Mỗi người chọn cho số làm chìa khóa bí mật, chẳng hạn kA, kB, kC, … Những giá trị g k A , g k B , g k B , … cơng bố cơng khai (thường xem chìa khóa cơng khai), khơng thể tìm chìa khóa bí mật người, p chọn đủ lớn 3.1.2 Giao thức trao đổi chìa khóa Diffie - Hellman Nếu A B muốn có chung số để làm chìa khóa chung (cho hệ mã đối xứng đó) họ chọn số M g k A k B Cả hai người A B tính số (bằng cách lấy số mà người công bố công khai nâng lên lũy thừa với bậc chìa khóa bí mật mình) Nếu nhu cầu trao đổi thơng tin lớn A B nên sử dụng số khác cho lần trao đổi thông tin khác để tránh bị lộ trước công cụ thám mã ngày mạnh Muốn vậy, A chọn ngẫu nhiên số x gửi cho B giá trị X g x , B chọn ngẫu nhiên số y gửi cho A giá trị Y g y Khi hai người dễ dàng tính số chung sau đây: K Y x (g y )x (g x ) y X y Như vậy, người “ngoài cuộc” biết X, Y khơng thể tính K Nhận xét Thuật tốn khơng cho ta phương pháp mã hóa liệu, mang lại cơng cụ trao đổi chìa khóa an tồn 69 3.1.3 Hệ mã ElGamal Giả sử A muốn chuyển cho B thơng báo mật M (đang dạng mã hóa nằm khoảng p) Khi A cần chọn ngẫu nhiêu số nguyên s nằm khoảng (1; p – 1) gửi cho B cặp số ( g s , Mg sk B ) Cặp số A tính nhờ biết trước phần tử sở g khóa cơng khai g k B B Khi nhận cặp số này, B tính M thủ tục gồm hai bước sau: Lấy số thứ (trong cặp số) nâng lên lũy thừa với bậc khóa bí mật kB mình, tức nhận ( g s ) k B g skB Lấy nghịch đảo số vừa nhận theo modulo p thuật toán Euclid đem nhân với số thứ hai, tức có: ( g sk B ) 1.M g sk B ( g sk B ) 1.g sk B M M Nhận xét Hệ mã an toàn (chú ý không để lộ tham số s) Ý tưởng hệ mã ElGamal tổng quát Nó dùng cho hệ mã sử dụng hàm mũ, hàm chiều vài hệ khác Một nét chung hai hệ mã cho phép công bố công khai phần thông tin phục vụ cho việc lập mã hỗ trợ cho việc “trao đổi chìa” vốn thường thấy hệ mã đối xứng Ưu điểm hệ mã khơng có thơng tin khác thuộc loại “bí mật chung” cần phải gửi Đây mơ hình ln phát triển ngày hồn thiện, có tên gọi chung mã hóa với khóa cơng khai 3.1.4 Ngun tắc chung mã hóa với khóa cơng khai Giả sử hệ thống xét có n cá thể trao đổi thông tin mật Mỗi cá thể chọn cho chìa khóa lập mã k cơng thức mã hóa Ek thơng báo cơng khai Như có n khóa lập mã cơng khai k1, k2 , , kn Khi cá thể thứ i muốn gửi thông báo cho cá thể thứ j (đã chuyển thành số, nhóm thành khối có độ dài đó) Với khối P văn 70 mã hóa khóa lập mã Ek j cá thể thứ j (đã thông báo công khai) gửi dạng C Ek j ( P ) Để giải mã thông báo này, cá thể thứ j cần dùng khóa giải mã (bí mật riêng mình) Dk j Dk j (C ) Dk j Ek j ( P) P Vì Dk j Ek j khóa lập mã giải mã cá thể thứ j Nhận xét Mã hóa với khóa cơng khai sử dụng hai chìa khóa khác biệt thực cho hai công việc lập mã giải mã Mỗi cá nhân cần giữ kín chìa khóa giải mã, cịn chìa khóa lập mã thơng báo cơng khai (để người khác mã hóa tin mật gửi cho mình) Điều then chốt từ chìa khóa lập mã khơng thể tìm chìa khóa giải mã (nếu thông tin đặc biệt khác) Rõ ràng với chế này, việc bảo mật thông tin trở nên dễ dàng (mỗi người việc giữ bí mật mình) Các ngun tắc vừa trình bày cụ thể hóa hệ mã cơng khai phát minh năm 1978 Rivest, Shamir Adleman mang tên RSA 3.2 HỆ MÃ RSA 3.2.1 Nguyên tắc thực Chọn hai số nguyên tố lớn p q (có độ dài cỡ 150 chữ số thập phân) Tính n p.q , ( n) ( p 1)( q 1) , e chọn cho (e, ( n)) , d e1(mod (n)) Quy trình lập mã tin P sau số hóa, thực công thức: C P e (mod n) Cặp số (d, n) dùng để giải mã (còn gọi chìa khóa bí mật) Nhờ hệ định lí Euler, ta có quy trình giải mã thực theo công thức: P C d (mod n) , e.d 1(mod ( n)) , 71 C d ( Pe ) d P de P(mod n) , theo hệ 1.5 Ví dụ 3.2 Lấy n = 53.61 = 3233 e = 17 Trong trường hợp ta có: (e, ( n)) (17,52.60) Giả sử ta cần mã hóa thơng báo sau: ĐA GƯI TIÊN Trước tiên ta chuyển chữ văn thành số tương ứng nhóm chúng thành khối chữ số Ta có: 0701 1026 1224 1209 1628 Ta mã hóa khối nhờ cơng thức: C P17 (mod 3233) Ta lại dùng phương pháp bình phương liên tiếp Chẳng hạn, khối đầu tiên, ta nhận được: (701)17 140(mod 3233) Mã hóa tồn văn bản, ta văn mật sau đây: 140 721 1814 1819 361 Khi nhận văn mật này, để giải mã, ta phải tìm nghịch đảo d e modulo φ(3233) Ta có φ(53.61) = 52.60 = 3120 Dùng thuật tốn Euclid mở rộng, ta tính d = 2753 Như vậy, để giải mã khối C ta dùng P C 2753 (mod 3233) , P 3233 cơng thức: Có thể thử lại: C 2743 ( P17 )2753 P( P3210 )15 P(mod 3233) , ta dùng định lí Euler để nhận P P3120 1(mod 3233) , (P, 3233) = (điều với khối thông báo chúng ta) 3.2.2 Độ an tồn Người ta cơng khai khóa lập mã (e, n) mà hồn tồn n tâm khóa giải mã (d, n) khơng bị phát Bởi để có khóa giải mã, ta phải tìm d, nghịch đảo e theo modulo hàm (n) Tuy nhiên, muốn tìm (n), ta phải phân tích n thừa số nguyên tố (n = p.q) Nếu ta 72 chọn hai số p, q cỡ 100 chữ số thập phân n = p.q có khoảng 200 chữ số thập phân Khi đó, để phân tích n, ta cần vài tỉ năm Sự xuất hệ mã RSA xem “cách mạng” bảo mật thông tin Sau Rivest, Shamir Adleman, công bố phát minh hệ mã nêu, tạp chí Scientific American đưa lời thách thức giải mã mẩu tin nhỏ mã hóa với: n = 1143816257578888676692357799761466120102182967212423625625 6184293570693524573389783059712356395870505898907514759929 0026879543541 e = 9007 Mẩu tin “first solver wins one hundred dollas” (Người giải thắng 100 USD) xuất dạng mã hóa (với phép “số hóa” theo tương ứng a 01, b 02, c 03, ) giải mã vào ngày 26/4/1994 (sau 16 năm) cố gắng tổng lực mang tính quốc tế qua internet với việc sử dụng 1600 workstations, mainframes, supercomputers cơng tháng liên tục để phân tích số nêu thừa số nguyên tố 3.3 ĐƯỜNG CONG ELLIPTIC VÀ HỆ MÃ PHI ĐỐI XỨNG 3.3.1 Cơ sở toán học Hệ mã phi đối xứng (hệ mã khóa cơng khai) sử dụng đường cong elliptic dựa độ phức tạp thuật tốn tìm số ngun x cho xB = P, P, B điểm cho trước đường cong (nếu số tồn tại) Chú ý rằng, điểm đường cong lập thành nhóm, ta quan niệm xB “Bx” Trước tiên, ta cần xét thuật tốn tìm bội điểm đường cong 73 Định lí 3.1 Cho E đường cong elliptic trường hữu hạn Fq, P điểm đường cong Khi tính tọa độ điểm kP O(log k log3 p ) phép tính bit Chứng minh Thật vậy, giả thiết rằng, trường Fq có đặc số khác 2, Trong trường hợp q 2r q 3r , có thuật tốn nhanh để tính tọa độ bội điểm cho trước Như vậy, phương trình xác định đường cong cho dạng Weierstrass sau y x ax b Khi đó, tổng P Q ( x3 , y3 ) hai điểm khác P ( x1, y1) Q ( x2 , y2 ) tính theo cơng thức sau: y y x3 x1 x2 , x2 x1 y y y3 y1 ( x1 x3 ) x2 x1 Trong trường hợp P = Q, ta có cơng thức để tính 2P sau: x2 a x3 x1, y 3x12 a y3 y1 ( x x ) y Như vậy, ta phải dùng không 20 phép nhân, chia, cộng, trừ để tính tọa độ tổng hai điểm biết tọa độ điểm Số phép tính bit địi hỏi O (log3 p) Khi dùng phương pháp nhân đôi liên tiếp, ta phải thực O(log k ) phép tính cộng hai điểm nhân đơi điểm Như vậy, tồn số phép tính bit phải dùng O(log k log3 p ) 74 Tóm lại, ta có thuật tốn thời gian đa thức để tính bội điểm Ngược lại, biết kP P, việc tìm k với thuật tốn nhanh địi hỏi thời gian mũ Điều hồn toàn tương tự trường hợp số mũ modulo p, sở cho việc xây dựng hệ khóa cơng khai sử dụng đường cong elliptic 3.3.2 Hệ mã dùng đường cong elliptic trường hữu hạn Để đơn giản trình bày, ta xem thông báo cần chuyển số nguyên dương m Điều hồn tồn tự nhiên mã hóa đại, tin “số hóa” cách Khi tin dài phân thành “khối” việc mã hóa thực riêng rẽ khối Như vậy, số m không thiết phải số đủ lớn, giả thiết giới hạn số M Việc phải chọn đường cong elliptic E trường hữu hạn Fq Sau đó, ta tìm cách tương ứng số nguyên m với điểm đường cong E Để dễ hiểu trình lập mã, ta xem đường cong E chọn Việc chọn đường cong trình bày phần sau a Tương ứng số với điểm đường cong elliptic Cho đến nay, chưa có thuật tốn tất định hữu hiệu để tìm số đủ lớn điểm đường cong elliptic Thuật tốn mà ta trình bày sau thuật toán xác suất với thời gian đa thức Trước hết, ta chọn số k theo yêu cầu sau: trường hợp thuật tốn tiến hành khơng cho kết mong muốn xảy với xác suất khơng vượt q 2-k Như vậy, nói chung k = 40 chấp nhận Giả sử, số m nằm khoảng ≤ m < M Ta chọn q cho q Mk Trước tiên, ta tương ứng số nguyên dương s không vượt q với phần tử trường hữu hạn Fq Việc dễ dàng làm cách 75 sau Giả sử q = pr, số s biểu diễn số p có dạng s (c0 , c1, , cr 1) p Khi đó, đa thức r 1 S ( X ) ci X i i 0 tương ứng với phần tử trường Fq Như vậy, với m cho, với số j khoảng từ đến k ta ln có mk j (m 1)k Mk q , tìm phần tử xj trường Fq tương ứng với số s j mk j (theo quy tắc trên) Ta thuật tốn để, với xác suất lớn, tìm tập x j | j 1,2, , k phần tử xj cho tồn điểm có dạng (xj, yj) đường cong E Khi ta cho tương ứng số m với điểm Pm = (xj, yj) ∈ E vừa tìm b Thuật tốn tìm Pm El1 Đặt j ← El2 Nếu j > k : kết thúc thuật toán Trong trường hợp ngược lại, đặt Y j x3j ax j b Nếu tồn yj ∈ Fq cho Y j y 2j , in Pm = (xj, yj) kết thúc thuật toán Ngược lại, sang bước El3 El3 Đặt j ← j + quay lại bước El2 Ta biết rằng, với phần tử x ∈ Fq, xác suất để f ( x) x ax b “chính phương” , nên thuật toán cho phép ta tìm điểm Pm với xác suất thất bại 2k Như vậy, ta có thuật tốn để mã hóa m, cách tương ứng với điểm đường cong elliptic E Tuy nhiên, yêu cầu mã hóa biết đường cong E Fq, biết Pm, ta phải khôi phục m cách dễ dàng Trong trường hợp này, yêu cầu đảm bảo Thật 76 s( x) vậy, giả sử Pm = (x, y) Khi đó, m , [ ] kí hiệu phần k nguyên, s(x) số nguyên ứng với phần tử x trường Fq theo quy tắc nói Thật vậy, theo quy tắc s ( x ) mk j với số j khoảng từ đến k, mk mk j s ( x ) 1 mk (k 1) m k m m k k 3.3.3 Mật mã khóa công khai dùng đường cong elliptic Giả sử B, P điểm đường cong elliptic E, k số nguyên P kB Khi ta nói k logarit sở B P Trong trường hợp E đường cong trường Fq, q = p r, p ≠ 2, tốn tìm logarit điểm đường cong đòi hỏi thời gian mũ, đó, khơng thể thực khoảng thời gian chấp nhận (nếu q chọn đủ lớn) Bây giả sử có tập hợp n cá thể cần trao đổi thông tin mật với nhau: A1, A2 , , An Trước tiên, ta chọn đường cong elliptic E trường hữu hạn Fq với điểm B ∈ E dùng làm “cơ sở” Những thông tin thông báo công khai Dĩ nhiên q phải số đủ lớn Sau đó, cá thể Aj chọn cho khóa ej, số nguyên Khóa giữ bí mật, Aj thơng báo cơng khai phần tử ejB Điều khơng làm lộ khóa ej độ phức tạp phép tính logarit Giả sử Aj cần gửi thông báo mật m cho Ai Trước tiên, m tương ứng với điểm Pm ∈ E trình bày Sau đó, Aj chọn ngẫu nhiên số s chuyển cho Ai cặp điểm “mã hóa” (sB, Pm + s(eiB)), tính nhờ eiB công khai Khi nhận cặp điểm này, Ai tiến hành “giải mã” việc lấy số sau trừ ei lần số trước để nhận Pm : Pm Pm s(ei B) ei (sB) 77 Chú ý rằng, có Ai làm điều ei giữ bí mật, số s khơng thể tìm thấy thời gian chấp nhận biết sB, logarit (sB) sở B Trong hệ mã vừa trình bày, ta khơng cần biết số N đường cong E 3.3.4 Hệ mã tương tự mã mũ Trong trường hợp này, cá thể chọn chung cho đường cong elliptic E trường hữu hạn Fq với N điểm Các tham số thông báo công khai Để xây dựng hệ mã, cá thể Ai chọn cho khóa ei, số ngun dương nằm N, cho (ei, N) = Bằng thuật tốn Euclid, Ai tìm di thỏa mãn diei ≡ 1(mod N) Bây giờ, giả sử Ai cần gửi thông báo m cho Aj Cũng trước đây, Ai tìm hiểu Pm tương ứng đường cong Sau đó, Bước 1: Ai gửi cho Aj thơng báo ei Pm Dĩ nhiên, nhận thông báo này, Aj chưa thể giải mã khơng biết ei di Bước 2: Aj nhân thông báo nhận với ej gửi trả lại cho Ai thông báo ej(eiPm) Bước 3: Ai lại gửi cho Aj thông báo sau nhân với di: diei(eiPm) Bước 4: Nhận thông báo cuối này, Aj nhân với khóa dj để nhận P = djdieiejPm Do cách chọn ei, di, ej, dj ta có di d j ei e j 1(mod N ) , tức P (1 sN ) Pm với số ngun s Vì N số điểm đường cong nên NPm = 0, P = Pm.Aj nhận thông báo ban đầu Để ý rằng, bước đây, khóa bí mật ei, di cá thể không bị phát 3.3.5 Chọn đường cong elliptic Có nhiều cách chọn đường cong điểm B dùng làm “cơ sở” lập mã Ở đây, ta trình bày hai cách theo hai hướng ngược Thứ nhất, chọn 78 điểm đường cong cụ thể Thứ hai, lấy đường cong trường số hữu tỉ “sửa” theo modulo p khác để thu đường cong trường hữu hạn a Chọn đường cong điểm ngẫu nhiên Ta luôn giả thiết rằng, đặc số trường Fq khác 2, (những trường hợp xét riêng) Khi đó, phương trình đường cong viết dạng Weierstrass Giả sử x, y, a ba phần tử lấy ngẫu nhiên trường Fq Ta đặt b y ( x3 ax) Có thể kiểm tra dễ dàng đa thức x3 ax b có nghiệm bội hay khơng (xét biệt thức 4a 27b ) Nếu đa thức khơng có nghiệm bội, ta đường cong E cho phương trình: Y X aX b điểm B = (x, y) ∈ E Nếu đa thức có nghiệm bội, ta làm lại với số a ngẫu nhiên khác b Sửa theo modulo p Ta xuất phát từ đường cong elliptic E trường số hữu tỉ, chọn B ∈ E điểm bậc vơ hạn Sau đó, ta lấy số nguyên tố p đủ lớn Như nói, đường cong chọn có “sửa xấu” với số hữu hạn số nguyên tố Vì thế, p chọn đủ lớn sửa theo modulo p cho ta đường cong elliptic E “modulo” p điểm B modulo p Cuối cùng, ý là, nay, chưa có thuật tốn tương đối tốt để xác định số điểm N đường cong elliptic trường hữu hạn Fq với q số lớn Trong trường hợp N tích số ngun tố bé, có thuật tốn đặc biệt để tìm “logarit” sở B, đó, hệ mã mà xét khơng giữ tính bảo mật Tuy nhiên, có nhiều phương pháp xác suất để tránh xảy tình trạng số điểm N đường cong tích số nguyên tố bé 79 KẾT LUẬN Qua thời gian tìm hiểu, tiếp cận nghiên cứu ứng dụng lý thuyết số mã hóa thơng tin, luận văn hồn thành đạt mục tiêu nghiên cứu đề tài với kết cụ thể sau: Tổng quan hệ thống cách đầy đủ kết phép tính đồng dư, liên phân số, trường hữu hạn đường cong elliptic Trình bày cách đầy đủ chi tiết khái niệm mã hóa hệ mã đối xứng Giới thiệu hệ mã Caesar, mã khối, hệ mã DES, thuật tốn mã hóa liệu quốc tế IDEA hệ mã SAFER Khảo sát cách chi tiết có hệ thống hệ mã mũ mã phi đối xứng Cụ thể hệ mã mũ thông dụng, hệ mã RSA, đường cong elliptic hệ mã phi đối xứng Với khảo sát, luận văn tài liệu tham khảo hữu ích cho thân tiếp tục sâu nghiên cứu sau hy vọng nguồn tư liệu tốt cho quan tâm nghiên cứu lý thuyết số mã hóa thơng tin Trong điều kiện thời gian khuôn khổ luận văn nên chưa nghiên cứu sâu hệ mã khóa cơng khai RSA, hệ mã sử dụng nhiều nay, để thấy ứng dụng lý thuyết số phép tính đồng dư liên phân số Đó hướng phát triển luận văn Trong trình làm luận văn, có nhiều cố gắng, song điều kiện khách quan lực có hạn thân nên luận văn khó tránh khỏi thiếu sót, tác giả mong nhận góp ý chân thành q thầy bạn đọc để tiếp tục tìm hiểu, nghiên cứu phát triển luận văn sau DANH MỤC TÀI LIỆU THAM KHẢO TIẾNG VIỆT [1] Phạm Huy Điển, Hà Huy Khoái (2002), Số học Thuật tốn: Cơ sở lý thuyết Tính tốn thực hành, NXB ĐHQG Hà Nội, Hà Nội [2] Phạm Huy Điển, Hà Huy Khối (2004), Mã hóa thơng tin: Cơ sở toán học & ứng dụng, NXB ĐHQG Hà Nội, Hà Nội [3] Dương Anh Đức, Trần Minh Triết (2005), Mã hóa ứng dụng, Đại học Khoa học Tự nhiên, Đại học Quốc gia TP Hồ Chí Minh [4] Vũ Thị Thanh Hậu (2009), Một số ứng dụng số học lý thuyết mật mã, Luận văn Thạc sĩ, Đại học Khoa học, Thái Nguyên [5] Nguyễn Hữu Hoan (2003), Lý thuyết số, NXB Đại học Sư Phạm, Huế [6] Hà Huy Khoái (2006), Số học, NXB Giáo dục, Huế TIẾNG ANH [7] A Enge (1999), Elliptic Curves and their Applications to Cryptography, Kluwer Academic Publishers [8] R.A Mollin (2007), An Introduction to Cryptography, Chapman & Hall/CRC [9] FIPS 197 (2001), Announcing the Advanced Encryption Standard (AES) ĐỊA CHỈ CÁC NGUỒN TRÊN INTERNET [10] http://www.quadibloc.com/crypto/co040301.htm [11] http://www.vi.wikipedia.org/wiki/DES_(mã_hóa) [12]http://www.soict.hut.edu.vn/~vannk/AntoanThongtin/ /GTATTT_Chuong2 pdf [13]http://www.soict.hut.edu.vn/~vannk/AntoanThongtin/ /GTATTT_Chuong1 pdf [14] http://www.updatebook.org/threads/21411-Giai-thuat-ma-hoa-mat-marsa [15] http://www.myebook.vn/ebook/giao-duc hoc-tap/cao-dang dai-hoc/hemat-idea.322373.html [16] http://www.download.com.vn/docs/download/cac-phuong-phap-ma-hoava-bao-mat-thong-tin-ebook [17] http://chuyentoan.com.vn/Home/Download/6f6aafa9-332b-4469-a75335531ec8bfa5 ... Nghiên cứu mã hóa thơng tin qua phương pháp mã hóa dựa cơng cụ lý thuyết số Đối tượng phạm vi nghiên cứu 3.1 Đối tượng nghiên cứu Mã hóa thơng tin vai trị lý thuyết số phương pháp mã hóa 3.2 Phạm... niệm mã hóa hệ mã đối xứng Giới thiệu hệ mã Caesar, mã khối, hệ mã DES, thuật tốn mã hóa liệu quốc tế IDEA, hệ mã SAFER Chương 3: Các hệ mã mũ mã phi đối xứng Trong chương trình bày số hệ mã mũ thông. .. cầu muốn tìm hiểu vai trị lý thuyết số mã hóa thơng tin, định chọn đề tài với tên gọi ? ?Lý thuyết số mã hóa thơng tin? ?? để tiến hành nghiên cứu Ngày nay, cơng nghệ mã hóa phát triển đến mức vượt