1. Trang chủ
  2. » Khoa Học Tự Nhiên

LÝ THUYẾT SỐ TRONG MÃ HÓA THÔNG TIN Nghiên cứu lý thuyết số trong mã hóa thông tin

89 361 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

Lý thuyết số trong mã hóa thông tin. tìm hiểu ứng dụng lý thuyết số trong mã hóa thông tin. Luận văn thạc sĩ đáng xem nhất Mã hóa thông tin với lý thuyết số, ứng dụng thực thực tế của lý thuyết số trong mã hóa thông tin. Mã hóa thông tin với lý thuyết số, ứng dụng thực thực tế của lý thuyết số trong mã hóa thông tin

BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG PHẠM THANH LÊ THUYẾT SỐ TRONG 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Ê THUYẾT SỐ TRONG HÓA THÔNG TIN Chuyên ngành: PHƯƠNG PHÁP TOÁN CẤP 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 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 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 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 HÓA VÀ CÁC HỆ ĐỐ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ệ đối xứng hệ phi đối xứng .28 2.2 LịCH SỬ MẬT HỌC .29 2.3 NGUYÊN TẮC CHUNG VÀ MỘT SỐ HỆ ĐƠN GIẢN 30 2.3.1 Hệ Ceasar 30 2.3.2 Hệ khối 32 2.4 HỆ 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 TOÁN HÓA DỮ LIỆU QUỐC TẾ IDEA 49 2.5.1 Nhận xét chung .49 2.5.2 hóa giải IDEA .50 2.5.3 Những đặc tính quan trọng 55 2.6 HỆ 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Ũ VÀ PHI ĐỐI XỨNG 64 3.1 MỘT SỐ HỆ THÔNG DỤNG 64 3.1.1 Hệ mũ Pohlig Hellman 64 3.1.2 Giao thức trao đổi chìa khóa Diffie - Hellman 68 3.1.3 Hệ ElGamal 69 3.1.4 Nguyên tắc chung hóa với khóa công khai 69 3.2 HỆ 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Ệ PHI ĐỐI XỨNG 72 3.3.1 Cơ sở Toán học 72 3.3.2 Hệ dùng đường cong elliptic trường hữu hạn 74 3.3.3 Mật khóa công khai dùng đường cong elliptic 76 3.3.4 Hệ tương tự 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 hoá giải IDEA 53 2.4 Cấu trúc vòng SAFER 61 MỞ ĐẦU chọn đề tài Khoa học mật đời cách hàng nghìn năm người áp dụng mật cách có hệ thống để đảm bảo bí mật thông tin quân nhà quân thiên tài La cổ đại, Julius Caesar Mật 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 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 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 đề 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ệ hóa đại không dựa vào khả giữ bí mật phương pháp hóa, thường không người nắm giữ, 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, cho bí mật giữ người có lợi ích gắn liền với bí mật Mật đại có đòi hỏi mang tính nguyên tắc so với mật thường dùng trước Những hệ thống mật cũ biết khoá lập họ ta dễ dàng tìm khoá giải 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 họ, người hệ biết bí mật Nhiều người sử dụng hệ không bí mật Các hệ thống mật đại khắc phục nhược điểm đó: công nghệ hóa phương pháp chung (thuật toán) công khai, 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 hóa riêng), việc lập giải 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ệ đạ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, vào phương pháp (thuật toán) hóa Một hệ không đáp ứng đòi hỏi chuyên gia bảo mật thông tin, phù hợp cho ứng dụng mang tính toàn dân nơi người sử dụng chút nghiệp vụ bảo mật an toàn thông tin nói chung Để có hệ đáp ứng yêu cầu trên, người ta dựa vào công cụ Toán học, đặc biệt phương pháp thuyết số Có thể nói, 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 thuyết số lĩnh vực đẹp, túy 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, 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 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 khối C ta dùng công thức: C  712853 (mod 2938) c Độ an toàn Muốn 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 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 toán lập giải thực tương đối nhanh máy tính Tuy nhiên thực tế việc tìm chìa khóa 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 toá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, 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ũ 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ệ công khai RSA Trước hết, làm quen với hệ đơn giản hơn, phần mang tính phi đối xứng hữu ích Trong hệ 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), 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ệ đố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ố 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 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 tính K Nhận xét Thuật toán không cho ta phương pháp hóa liệu, mang lại công cụ trao đổi chìa khóa an toàn 69 3.1.3 Hệ ElGamal Giả sử A muốn chuyển cho B thông báo mật M (đang dạng 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ệ an toàn (chú ý không để lộ tham số s) Ý tưởng hệ ElGamal tổng quát Nó dùng cho hệ sử dụng hàm mũ, hàm chiều vài hệ khác Một nét chung hai hệ cho phép công bố công khai phần thông tin phục vụ cho việc lập hỗ trợ cho việc “trao đổi chìa” vốn thường thấy hệ đối xứng Ưu điểm hệ thông tin khác thuộc loại “bí mật chung” cần phải gửi Đây mô hình phát triển ngày hoàn thiện, có tên gọi chung hóa với khóa công khai 3.1.4 Nguyên tắc chung 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 k công thức hóa Ek thông báo công khai Như có n khóa lập 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 hóa khóa lập Ek j cá thể thứ j (đã thông báo công khai) gửi dạng C  Ek j ( P ) Để giải thông báo này, cá thể thứ j cần dùng khóa giải (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 giải cá thể thứ j Nhận xét 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 giải Mỗi cá nhân cần giữ kín chìa khóa giải mã, chìa khóa lập thông báo công khai (để người khác hóa tin mật gửi cho mình) Điều then chốt từ chìa khóa lập tìm chìa khóa giải (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 nguyên tắc vừa trình bày cụ thể hóa hệ công khai phát minh năm 1978 Rivest, Shamir Adleman mang tên RSA 3.2 HỆ 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  e1(mod  (n)) Quy trình lập 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 (còn gọi chìa khóa bí mật) Nhờ hệ định lí Euler, ta có quy trình giải 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 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 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) hóa toà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 toán Euclid mở rộng, ta tính d = 2753 Như vậy, để giải 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 toàn Người ta công khai khóa lập (e, n) hoàn toàn yên tâm khóa giải (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ệ RSA xem “cách mạng” bảo mật thông tin Sau Rivest, Shamir Adleman, công bố phát minh hệ nêu, tạp chí Scientific American đưa lời thách thức giải mẩu tin nhỏ 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 hóa (với phép “số hóa” theo tương ứng a  01, b  02, c  03, ) giải 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Ệ PHI ĐỐI XỨNG 3.3.1 Cơ sở toán học Hệ phi đối xứng (hệ khóa công khai) sử dụng đường cong elliptic dựa độ phức tạp thuật toán tìm số nguyên 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 toá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 toá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, toà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 toá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 toán nhanh đòi hỏi thời gian mũ Điều hoà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ệ 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 hoàn toàn tự nhiên hóa đại, tin “số hóa” cách Khi tin dài phân thành “khối” việc 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 toán tất định hữu hiệu để tìm số đủ lớn điểm đường cong elliptic Thuật toán 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 toá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 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 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   toá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 toá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 toán để hóa m, cách tương ứng với điểm đường cong elliptic E Tuy nhiên, yêu cầu 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 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, toán tìm logarit điểm đường cong đòi hỏi thời gian mũ, đó, 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 tìm thấy thời gian chấp nhận biết sB, logarit (sB) sở B Trong hệ vừa trình bày, ta không cần biết số N đường cong E 3.3.4 Hệ tương tự 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ố nguyên dương nằm N, cho (ei, N) = Bằng thuật toá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 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ố nguyên 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 Ở đâ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 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 toá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ố nguyên tố bé, có thuật toán đặc biệt để tìm “logarit” sở B, đó, hệ 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 thuyết số hóa thông tin, luận văn hoà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 hóa hệ đối xứng Giới thiệu hệ Caesar, khối, hệ DES, thuật toán hóa liệu quốc tế IDEA hệ SAFER Khảo sát cách chi tiết có hệ thống hệ phi đối xứng Cụ thể hệ thông dụng, hệ RSA, đường cong elliptic hệ 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 thuyết số 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ệ khóa công khai RSA, hệ sử dụng nhiều nay, để thấy ứng dụng 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 quý thầy cô 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 toán: Cơ sở thuyết Tính toán thực hành, NXB ĐHQG Hà Nội, Hà Nội [2] Phạm Huy Điển, Hà Huy Khoái (2004), 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), 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 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), 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 ... = 74, v1 = 0, v2 = 1, v3 = 28 - Bước 2: q = 2, u = 0, u2 = 1, u3 = 28, v1 = 1, v2 = -2 , v3 = 18 - Bước 3: q = 1, u = 1, u2 = -2 , u3 = 18 , v1 = -1 , v2 = 3, v3 = 10 - Bước 4: q = 1, u = -1 , u2 =... [a0 ;a1 , , ak , ak 1 ] =  k 1 k   k 1 ak 1qk  qk 1 qk 1    ak   qk 1  qk  ak 1   17 Ví dụ 1. 8 1) 5544   4 ;1, 1 ,1, 1 ,1, 2,2 ta có bảng giản phân 12 00 k ak 1 1 2 pk 14 23... dụ 1. 5 Tính 70923 (mod 313 7) Ta có 23 = 1+ 2+4 +16 = 20 + + 22 + 24 70 91( mod 313 7) = 709 7092(mod 313 7) = 7 61 7094(mod 313 7) = 7 61 (mod 313 7) = 19 13 7098(mod 313 7) = 19 132 (mod 313 7) = 18 27 70 916 (mod

Ngày đăng: 12/03/2017, 17:13

Xem thêm: LÝ THUYẾT SỐ TRONG MÃ HÓA THÔNG TIN Nghiên cứu lý thuyết số trong mã hóa thông tin

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

TÀI LIỆU LIÊN QUAN

w