Luận văn thạc sĩ VNU UET vấn đề kiểm tra các số nguyên tố lớn

79 1 0
Luận văn thạc sĩ VNU UET vấn đề kiểm tra các số nguyên tố lớn

Đ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 HỌC QUỐC GIA HÀ NÔI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ TRƯƠNG CÔNG QUYỀN VẤN ĐỀ KIỂM TRA CÁC SỐ NGUYÊN TỐ LỚN LUẬN VĂN THẠC SỸ HÀ NỘI – 2011 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ĐẠI HỌC QUỐC GIA HÀ NÔI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ  TRƯƠNG CÔNG QUYỀN VẤN ĐỀ KIỂM TRA CÁC SỐ NGUYÊN TỐ LỚN Ngành: Công nghệ Thông tin Chuyên ngành: Hệ thống Thông tin Mã số: 60 48 05 LUẬN VĂN THẠC SỸ NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS TS Trịnh Nhật Tiến HÀ NỘI – 2011 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC LỜI CAM ĐOAN LỜI CẢM ƠN .3 GIỚI THIỆU DANH MỤC TỪ VIẾT TẮT Chương CÁC KHÁI NIỆM CƠ BẢN .8 1.1 MỘT SỐ KHÁI NIỆM TRONG SỐ HỌC, ĐẠI SỐ 1.1.1 Khái niệm số học .8 1.1.2 Khái niệm đại số 1.1.3 Đồng dư phương trình đồng dư tuyến tính .12 1.1.4 Thặng dư thu gọn phần tử nguyên thủy 15 1.1.5 Phương trình đồng dư bậc hai thặng dư bậc hai 17 1.2 MỘT SỐ THUẬT TOÁN 20 1.2.1 Thuật tốn tính ước chung lớn .20 1.2.2 Thuật tốn tính phần tử nghịch đảo theo Modulo 24 1.2.3 Thuật tốn phân tích số thừa số nguyên tố 25 1.3 ĐỘ PHỨC TẠP TÍNH TOÁN .30 1.3.1 Khái niệm độ phức tạp tính tốn .30 1.3.2 Lớp phức tạp 33 1.3.3 Hàm phía cửa sập phía 35 Chương MỘT SỐ PHƯƠNG PHÁP KIỂM TRA SỐ NGUYÊN TỐ .37 2.1 SỐ NGUYÊN TỐ 37 2.1.1 Khái niệm số nguyên tố .37 2.1.2 Tính chất số nguyên tố 37 2.1.3 Định lý số học 38 2.1.4 Sự phân bố số nguyên tố 39 2.2 SỐ NGUYÊN TỐ CÓ DẠNG ĐẶC BIỆT 41 2.2.1 Số nguyên tố Mersenne .41 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2.2.2 Số nguyên tố Fermat 47 2.3 MỘT SỐ PHƯƠNG PHÁP KIỂM TRA SỐ NGUYÊN TỐ 49 2.3.1 Phương pháp cổ điển 49 2.3.2 Phương pháp xác suất 52 Chương ỨNG DỤNG CỦA SỐ NGUYÊN TỐ VÀ THỬ NGHIỆM CHƯƠNG TRÌNH .62 3.1 MÃ HÓA .62 3.1.1 Hệ mã hóa RSA 62 3.1.1 Hệ mã hóa Elgamal .63 3.1.1 Hệ mã hóa Rabin 64 3.2 KÝ SỐ 65 3.2.1 Chữ ký RSA 66 3.2.2 Chữ ký Elgamal 67 3.2.3 Sơ đồ chuẩn chữ ký số DSS .68 3.2.4 Chữ ký phủ định 69 3.3 CÁC GIAO THỨC THỎA THUẬN, PHÂN PHỐI KHĨA 71 3.3.1 Giao thức phân phối khố Blom 71 3.3.2 Giao thức phân phối khoá Diffie-Hellman .72 3.3.3 Giao thức thoả thuận khoá Diffie-Hellman 73 3.3.4 Giao thức thoả thuận khoá “Trạm tới Trạm” 74 3.3.5 Giao thức thoả thuận khoá MTI 75 3.4 THỬ NGHIỆM CHƯƠNG TRÌNH 76 3.4.1 Cấu hình hệ thống 76 3.4.2 Chức 76 3.4.3 Chương trình 77 KẾT LUẬN 80 TÀI LIỆU THAM KHẢO .81 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com DANH MỤC TỪ VIẾT TẮT Gcd (Greatest Common Divisor) Ước số chung lớn Lcm (Least Common Multiple) Bội số chung nhỏ Mod Modulo LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chương CÁC KHÁI NIỆM CƠ BẢN 1.1 MỘT SỐ KHÁI NIỆM TRONG SỐ HỌC, ĐẠI SỐ 1.1.1 Khái niệm số học 1) Ký hiệu chia hết Cho a b hai số nguyên dương Số a chia hết cho số b ký hiệu a  b  Tồn n  N cho: a=b*n Khi người ta nói b ước a ký hiệu: b | a 2) Ước số chung lớn Cho a b hai số nguyên dương Ước số chung lớn a b số tự nhiên m lớn cho m | a m | b Khi ký hiệu gcd(a, b) = m 3) Hai số nguyên tố Cho a b hai số nguyên dương Số a số b gọi nguyên tố  gcd(a, b) = 4) Đồng dư modulo Cho n  N, n  a, b  Z n* Ký hiệu a  b (mod n) nghĩa a đồng dư với b theo mod n  Tồn số nguyên k  Z n* cho a = b + k * n Tức (a - b) = k * n, n | (a - b) 5) Một số tính chất đồng dư modulo (a  b) (mod n)  [(a mod n)  (b mod n)] (mod n) (a * b) (mod n)  [(a mod n) * (b mod n)] (mod n) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.1.2 Khái niệm đại số 1) Khái niệm nhóm Nhóm cặp (G, *), G tập hợp khác rỗng, * phép tốn hai ngơi G thoả mãn ba điều kiện sau: Phép toán có tính kết hợp: (x * y) * z = x * (y * z) với x, y, z G Có phần tử phần tử trung lập e  G: x * e = e * x = x với x  G Với x  G, có phần tử nghịch đảo x’ G: x * x’ = x’ * x = e 2) Nhóm Cho G Nhóm, cho S  G S   S gọi Nhóm G nếu: 1/ Phần tử trung lập e G nằm S 2/ S khép kín luật hợp thành G (tức x * y  S với x, y S) 3/ S khép kín phép lấy nghịch đảo G (tức x-1  S với xS) 3) Nhóm Cyclic a) Khái niệm Nhóm Cyclic Nhóm (G, *) gọi Nhóm Cyclic sinh phần tử Tức có phần tử g  G mà với a  G, tồn số n  N để g n = g * g * … * g = a (Chú ý: g * g * … * g g * g với n lần) Khi g gọi phần tử sinh hay phần tử nguyên thuỷ nhóm G Nói cách khác: G gọi Nhóm Cyclic tồn g  G cho phần tử G luỹ thừa nguyên g LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Ví dụ: Nhóm (Z + , +) gồm số nguyên dương Cyclic với phần tử sinh g = b) Cấp Nhóm Cyclic: Cho (G, *) Nhóm Cyclic với phần tử sinh g phần tử trung lập e Nếu tồn số tự nhiên nhỏ n mà g n = e, G gồm có n phần tử khác nhau: e, g, g2, g3, , gn - Khi G gọi nhóm Cyclic hữu hạn cấp n Nếu không tồn số tự nhiên n để g n = e, G có cấp  Ví dụ: (Z + , +) gồm số nguyên dương Cyclic với phần tử sinh g = 1, e = Đó Nhóm Cyclic vơ hạn, khơng tồn số tự nhiên n để g n = e, c) Cấp phần tử Nhóm Cyclic: Phần tử   G gọi có cấp d, d số nguyên dương nhỏ cho  d = e, e phần tử trung lập G Như phần tử  có cấp 1,  = e 4) Tập Zn Z* Zn = 0, 1, 2, , n - 1 Tức Zn tập số nguyên không âm < n Tập với phép cộng lập thành Nhóm Cyclic có phần tử sinh Đó Nhóm hữu hạn có cấp n Zn* = e  Zn, e nguyên tố với n Tức e # Đó tập số nguyên dương < n, nguyên tố với n gọi tập Thặng dư thu gọn theo mod n, lập thành Nhóm với phép nhân mod n (n) số phần tử tập Z n* 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 5) Một số kết Những kết sau chứng minh, nhắc lại để sử dụng: * Định lý Lagrange: Cho G nhóm Cấp n g G Khi cấp g ước n * Hệ quả: Giả sử g Z n* có Cấp m m ước  (n) Nếu b  Z n* b (n)  (mod n) Nếu p số nguyên tố  (p) = p -1 Do với b  Z *p (tức b nguyên tố với p) b (p)  (mod n) hay bp -1  (mod n) * Định lý: Nếu p số ngun tố Z *p Nhóm Cyclic Chú ý: Phần tử   Z n* có cấp d d số nguyên dương nhỏ cho d = e Z n* , tức d  (mod n) 6) Khái niệm Logarit rời rạc Cho p số nguyên tố,  phần tử nguyên thuỷ Zp,  Z *p Logarit rời rạc việc giải phương trình x = log  (mod p) với ẩn x Hay phải tìm số x cho: x   (mod p) - Bổ đề: Nếu (a, n) = tồn a-1  Zn thoả mãn a * a-1  (mod n) - Định lý (Euler tổng quát): Nếu (a, n) = a(n) mod n = - Hệ quả: Với p số nguyên tố (a, p) = ap-1 (mod p) = 11 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.1.3 Đồng dư phương trình đồng dư tuyến tính Cho n số nguyên dương Hai số nguyên a b đồng dư với theo mô đun n, viết a  b (mod n), n/a-b (tức a – b chia hết cho n, hay chia a b cho n số dư nhau) Ví dụ: 23  (mod 5), 23 – = 5.3, -19  (mod 7) -19 – = - 4.7 Quan hệ đồng dư (theo môđun n) tập hợp số ngun có tính chất phản xạ, đối xứng bắc cầu, tức quan hệ tương đương, tạo phân hoạch tập hợp tất số nguyên Z thành lớp tương đương: hai số nguyên thuộc lớp tương đương chúng cho số dư chia cho n Mỗi lớp tương đương đại diện số tập hợp Zn = {0, 1, 2, 3, , n-1}, số dư chung chia số lớp cho n Vì vậy, ta đồng Zn với tập hợp tất lớp tương đương số nguyên theo mod n; tập ta xác định phép tính cộng, trừ nhân theo mod n Ví dụ: Z25 = {0, 1, 2, 24} Trong Z25, 15 +14 = 4, 15 + 14 = 29  (mod 25) Tương tự, 15.14  10 Z25 Cho a  Zn Một số nguyên x  Zn gọi nghịch đảo a theo modn, a.x  (modn) Nếu có số x ta nói a khả nghịch, ký hiệu x a-1 mod n Thí dụ 22-1 mod 25 = 8, 22.8 = 186  (mod 25) Từ định nghĩa ta suy a khả nghịch theo mod n gcd (a,n) = 1, tức a n nguyên tố với Dịnh nghĩa phép chia Zn sau: a : b (mod n) = a.b-1 mod n Phép chia thực b khả nghịch theo mod n Ví dụ 15: 22 (mod 25) = 15 : 22-1 mod 25 = 20 12 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.2.2 Chữ ký Elgamal 1) Sơ đồ chữ ký Elgamal *Tạo cặp khóa (bí mật, cơng khai) (a, h) : Chọn số nguyên tố p cho toán logarit rời rạc Zp “khó” giải Chọn phần tử nguyên thuỷ g  Zp* Đặt P = Z p*, A = Z p* x Z p-1 Chọn khóa bí mật a  Zp* Tính khóa cơng khai h  g a mod p Định nghĩa tập khóa:  = {(p, g, a, h): h  g a mod p} Các giá trị p, g, h công khai, phải giữ bí mật a * Ký số: Dùng khóa ký: khóa a khóa ngẫu nhiên bí mật r  Zp-1* (Vì r  Zp-1* , nên nguyên tố p -1, tồn r -1 mod (p -1) ) Chữ ký x  P Trong y = Sig k (x, r) = (, ), yA (E1)   Z p*,   Zp-1 :  = g r mod p  = (x – a *  ) * r -1 mod (p -1) * Kiểm tra chữ ký: Ver k (x, , ) =  h  *    g x mod p (E2) Chú ý: Nếu chữ ký tính đúng, kiểm thử thành cơng h *  ga  * g r *  mod p  g (a  + r * ) mod p  g x mod p Do  = (x – a *  ) * r -1 mod (p -1) nên (a *  + r *)  x mod (p-1) 2) Ứng dụng số nguyên tố Chọn số nguyên tố p cho tốn logarit rời rạc Zp “khó” giải Bài tốn bảo đảm độ an tồn Sơ đồ chữ ký Elgamal: Bài tốn tính Logarit rời rạc: Biết khóa cơng khai h  ga mod p Nên xác định khóa bí mật a cách tính Logg h 67 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.2.3 Sơ đồ chuẩn chữ ký số DSS 1) Sơ đồ *Tạo cặp khóa (bí mật, cơng khai) (a, h) : - Chọn số nguyên tố p cho tốn logarit rời rạc Zp “khó” giải Chọn q ước nguyên tố p - Tức p - = t * q hay p = t * q + (Số nguyên tố p cỡ 512 bit, q cỡ 160 bit) - Chọn g  Zp* bậc q mod p, (g phần tử sinh Zp* ) Tính  = g t , chọn khóa bí mật a  Zp*, tính khóa cơng khai h   a mod p - Đặt: P = Z q*, A = Z q* x Z q* , K = (p, q, , a, h)/ a  Zp*, h   a mod p - Với khóa (p, q, , a, h), k’ = a bí mật, k” = (p, q, , h) công khai * Ký số: Dùng khóa ký: khóa a khóa ngẫu nhiên bí mật r  Z q* Chữ ký x  Zp* Sig k’ (x, r) = (, ),  = ( r mod p) mod q,  = ((x + a *  ) * r -1 mod q (Chú ý r  Z q*, để bảo đảm tồn r -1 mod q) * Kiểm tra chữ ký: Với e1 = x *  -1 mod q, e2 =  *  -1 mod q Ver k” (x, , ) =  ( e1 * h e2 mod p) mod q =  2) Ứng dụng số ngun tố Trong tạo cặp khóa (bí mật, cơng khai) (a, h) : - Chọn số nguyên tố p cho toán logarit rời rạc Zp “khó” giải - Chọn q ước nguyên tố p - Tức p - = t * q hay p = t * q + (Số nguyên tố p cỡ 512 bit, q cỡ 160 bit) 68 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.2.4 Chữ ký phủ định 1) Sơ đồ chữ ký phủ định (Chaum - van Antverpen) Chuẩn bị tham số: Chọn số nguyên tố p cho toán log rời rạc Zp khó p = 2*q + 1, q số nguyên tố Gọi P nhóm nhân Zp* theo q (P gồm thặng dư bậc hai theo mod p) Chọn phần tử sinh g nhóm P cấp q Đặt P = A = P, K = (p, g, a, h): a  Z q*, h  g a mod p  a) Thuật toán ký: Dùng khố bí mật k’ = a để ký lên x: Chữ ký b) Giao thức kiểm thử: y = Sig k’ (x) = x a mod p Dùng khoá công khai k” = (p, g, h) Với x, y  P, người nhận N người gửi G thực giao thức kiểm thử: 1/ N chọn ngẫu nhiên e , e  Zq * 2/ N tính c = y e1 h e2 mod p, 3/ G tính d  ca 1 modq modp gửi cho G gửi cho N 4/ N chấp nhận y chữ ký đúng, d  x e1 g e2 mod p 69 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com c) Giao thức chối bỏ: 1/ N chọn ngẫu nhiên e , e  Zq * 2/ N tính c = y e1 h e2 mod p, gửi cho G 3/ G tính d  ca 1 modq modp gửi cho N 4/ N thử điều kiện d  x e1 g e2 (mod p) 5/ N chọn ngẫu nhiên f1, f2  Zq* f 6/ N tính C  y * 7/ G tính D  C  f2 modp a1 modq modp 8/ N thử điều kiện D  x f1 g f2 gửi cho G gửi cho N (mod p) 9/ N kết luận y chữ ký giả mạo nếu: (d *  e2 ) f1  (D *   f2 ) e1 (modp) (thay  g) 2) Ứng dụng số nguyên tố Chọn số nguyên tố p cho toán log rời rạc Zp khó p = 2*q + 1, q số nguyên tố 70 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.3 CÁC GIAO THỨC THỎA THUẬN, PHÂN PHỐI KHĨA 3.3.1 Giao thức phân phối khố Blom 1) Ý tưởng Giả thiết có mạng gồm n người dùng Giả sử khoá chọn trường hữu hạn Zp (số nguyên tố p ≥ n) Chọn số nguyên k, (1 < k < n-2), giá trị k để hạn chế kích thước lớn nhất, mà sơ đồ trì độ mật Trung tâm uỷ quyền (TT) phải thiết kế sơ đồ phân phối khóa để thực yêu cầu sau: - Truyền (k+1) phần tử Zp , cho người dùng kênh an toàn (Theo phương pháp phân phối thông thường, TT phải truyền n-1 phần tử) - Mỗi cặp người dùng U V phải có khả tính khố chung Ku, v = Kv, u - Bảo đảm điều kiện an toàn sau: Tập gồm nhiều k người dùng khơng liên kết với U hay V, “khó” thể xác định thơng tin Ku,v 2) Ứng dụng số nguyên tố Chọn số nguyên tố p cho p ≥ n (n số người dùng mạng) 71 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.3.2 Giao thức phân phối khoá Diffie-Hellman 1) Sơ đồ a/ Chọn số nguyên tố p cho toán logarit rời rạc Zp “khó” giải Chọn  phần tử nguyên thuỷ Zp * Giá trị p  công khai (Người dùng TT chọn) Mỗi người dùng U chọn số mũ bí mật au (0 ≤ au ≤ p - 2) tính giá trị cơng khai tương ứng: b u =  a mod p u Mỗi người dùng U có dấu xác nhận TT ID(U) bu: C(U) = (ID(U), bu, sigTT (ID(U), bu)) b/ Để có khố chung với V, người dùng U (có au) tính: Ku, v = bv au mod p =  a a mod p u v c/ Để có khố chung với U, người dùng V (có av) tính: Kv, u = bu av mod p =  a a mod p u v a a mod p R ràng khoá  u v 2) Ứng dụng số nguyên tố Sơ đồ “an tồn” mặt tính tốn, liên quan đến chọn số nguyên tố p để tốn logarit rời rạc “khó ” giải Cụ thể “khó” tính au từ phần tử cơng a khai b u =  mod p u 72 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.3.3 Giao thức thoả thuận khoá Diffie-Hellman 1) Sơ đồ Người dùng chọn số nguyên tố p lớn cho toán logarit rời rạc Zp* “khó” giải; chọn  phần tử nguyên thuỷ  Zp * Phần tử p,  công khai a/ Người dùng U chọn au ngẫu nhiên, bí mật (0 ≤ au ≤ p – 2) a Tính b u =  mod p gửi đến V u b/ Người dùng V chọn av ngẫu nhiên, bí mật (0 ≤ av ≤ p – 2) a Tính b v =  mod p gửi đến U v a a c/ U tính khố chung Ku, v = ( ) mod p v u a a d/ V tính khố chung Kv, u = ( ) mod p u v Hai giá trị khố nhau! 2) Ứng dụng số nguyên tố Sơ đồ “an toàn” mặt tính tốn, liên quan đến chọn số ngun tố p để tốn logarit rời rạc “khó ” giải 73 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.3.4 Giao thức thoả thuận khoá “Trạm tới Trạm” Giao thức thoả thuận khoá “Trạm tới Trạm” (STS) cải tiến giao thức phân phối khố Diffie-Hellman, bổ sung phần xác thực danh tính người dùng STS gọi giao thức thoả thuận khố có xác thực, nhờ trung tâm tin cậy TT 1) Sơ đồ Trung tâm tin cậy TT chọn số nguyên tố p lớn cho toán logarit rời rạc Zp * “khó” giải Chọn  phần tử nguyên thuỷ Zp * Giá trị p,  cơng khai, có dấu xác nhận TT Mỗi người dùng U có chữ ký với thuật tốn xác minh veru TT có chữ ký với thuật tốn xác minh verTT Mỗi người dùng U có dấu xác nhận định danh ID(U) là: C(U) = (ID(U), veru , sigTT (ID(U), veru)) a a/ U chọn au ngẫu nhiên, bí mật (0 ≤ au ≤ p – 2), tính  mod p, gửi tới V u b/ V chọn av ngẫu nhiên, bí mật (0 ≤ av ≤ p – 2) a a a a Tính  mod p, yv = sig v (  ,  ) Gửi (C(V),  mod p, yv) tới U v v u v a a V tính khóa chung Kv, u = ( ) mod p u v a a Ku, v = ( ) mod p v c/ U tính khóa chung u Dùng verv để xác minh yv xác minh C(V) nhờ verTT a a Tính yu = sig u(  ,  ) Gửi (C(U), yu) tới V u v d/ Dùng veru để xác minh yu xác minh C(U) nhờ verTT 2) Ứng dụng số ngun tố Sơ đồ “an tồn” mặt tính tốn, liên quan đến chọn số ngun tố p để tốn logarit rời rạc “khó ” giải 74 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.3.5 Giao thức thoả thuận khoá MTI Matsumoto, Takashima Imai (MTI) xây dựng giao thức thoả thuận khoá cách cải biên giao thức trao đổi khoá STS Giao thức khơng địi hỏi U V phải tính chữ ký Đó giao thức “2 lần”, có lần truyền tin riêng biệt (một từ U đến V từ V đến U) 1) Sơ đồ Chọn số nguyên tố p lớn cho toán logarit rời rạc Zp * “khó” giải Chọn  phần tử nguyên thuỷ  Zp * Mỗi người dùng U có số mũ bí mật au (0 ≤ au ≤ p -2) giá trị công khai a tương ứng: bu =  mod p u TT có sơ đồ chữ ký với thuật tốn ký bí mật sigTT thuật tốn xác minh verTT Mỗi người dùng U có định danh ID(U) dấu xác nhận TT: C(U) = (ID(U), bu , sig TT (ID(U), bu)) a/ U chọn ngẫu nhiên bí mật ru , ≤ ru ≤ p – 2, tính su =  ru mod p gửi (C(U), su) đến V b/ V chọn ngẫu nhiên bí mật rv , ≤ rv ≤ p – 2, tính r sv =  mod p gửi v (C(V), sv) đến U c/ U tính khố a r K = sv *bv mod p, bv nhận từ C(V) d/ V tính khố a r K = su *bu mod p, bu nhận từ C(U) u v u v r *a Cuối giao thức, U V tính khố K =  u v  rv * au mod p 2) Ứng dụng số nguyên tố Sơ đồ “an toàn” mặt tính tốn, liên quan đến chọn số nguyên tố p để toán logarit rời rạc “khó ” giải 75 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.4 THỬ NGHIỆM CHƯƠNG TRÌNH 3.4.1 Cấu hình hệ thống - Yêu cầu phần cứng: Phần cứng tối thiểu đề nghị cho tất máy dự cài đặt sử dụng chương trình Demo + Tối thiểu Pentium III + Dung lượng RAM đề nghị 256 + Dung lượng cần để cài đặt chương trình 10MB - Yêu cầu phần mềm : Chương trình chạy tảng hệ điều hành Windows, cần cài đặt Dotnet Framework 4.0 trở lên (Có gửi kèm cài đặt thư mục tài liệu báo cáo) 3.4.2 Chức Chương trình cho phép thực chức sau : - Kiểm tra số nguyên tố lớn phương pháp Fermat - Kiểm tra số nguyên tố lớn phương pháp Miller-Rabin 76 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 3.4.3 Chương trình 1) Giao diện chương trình Giao diện chương trình Demo 77 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 2) Chức kiểm tra số nguyên tố lớn phương pháp Fermat Modul kiểm tra số có phải số nguyên tố khơng theo thuật tốn Fermat 3) Chức kiểm tra số nguyên tố lớn phương pháp Miller-Rabin Modul kiểm tra số có phải số nguyên tố khơng theo thuật tốn Miller – Rabin 78 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Modul đưa số nguyên tố số vừa nhập 79 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com KẾT LUẬN Như để kiểm tra số nguyên có số nguyên tố hay không, theo suy nghĩ trực quan tất lập trình viên hay chí người khơng hiểu biết thuật tốn cần kiểm tra xem số có ước số khác hay khơng, có hợp số (combine number) cịn khơng có số số ngun tố Tùy thuộc theo lĩnh vực sử dụng kiểm tra số nguyên tố mà ta áp dụng thuật toán cho phù hợp Đối với việc kiểm tra số nguyên nhỏ ta áp dụng phương pháp cổ điển để kiểm tra, song việc kiểm tra số ngun lớn số phép tốn thực lớn Khi đó, việc áp dụng thuật toán theo phương pháp xác suất khả thi nhiều chờ đợi khơng nhiều thời gian Luận văn đạt kết sau: 1) Nghiên cứu lý thuyết thực tế để hệ thống lại vấn đề sau: + Một số phương pháp kiểm tra số nguyên tố + Ứng dụng số nguyên tố thuật toán bảo vệ thơng tin 2) Xây dựng thử nghiệm chương trình với chức sau: + Kiểm tra số nguyên tố phương pháp Fermat + Kiểm tra số nguyên tố phương pháp Miller-Rabin 80 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com TÀI LIỆU THAM KHẢO Tiếng Việt [1] PGS TS Trịnh Nhật Tiến (2009), Bài giảng cao học: An ninh Cơ sở liệu, ĐH Công nghệ, ĐHQG HN [2] PGS TS Trịnh Nhật Tiến (2008), Giáo trình: An tồn liệu, ĐH Cơng nghê, ĐHQG HN [3] HN Phan Đình Diệu (2006), Lý thuyết mật mã An tồn thơng tin, NXB ĐHQG [4] Nguyễn Xn Dũng (2007), Bảo mật thơng tin mơ hình & ứng dụng, NXB Thống kê [5] Bùi Dỗn Khanh, Nguyễn Đình Thúc, Trần Đan Thư (2007), Cơ sở lí thuyết số an tồn - bảo mật thơng tin, NXB Giáo dục [6] Hà Huy Khoái, Phạm Huy Điển (2003), Số học thuật tốn: Cở sở lý thuyết tính tốn thực hành, NXB ĐHQG HN [7] Hà Huy Khoái, Phạm Huy Điển (2004), Mã hỗ thơng tin: Cơ sở tốn học ứng dụng, NXB ĐHQG HN Tiếng Anh [8] Manindra Agrawal (2005), “Primality tests based on Fermat’s little theorem”, Department of CS, Indian Institute of Technology, Kanpur [9] Manindra Agrawal, Neeraj Kayal, Nitin Saxena (2004), “PRIMES is in P”, Ann of Math, (2), 160(2): 781-793 [10] R Crandall, Carl Pomerance (2001), “Prime Numbers: A Computational Perspective”, Springer-Verlag, NewYork, 2001 [11] R Crandall and J Papadopoulos (2003), “On the implementation of AKSclass primality tests”, Technical paper, Apple Advanced Computation Group 81 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... MỘT SỐ PHƯƠNG PHÁP KIỂM TRA SỐ NGUYÊN TỐ 2.1 SỐ NGUYÊN TỐ 2.1.1 Khái niệm số nguyên tố Số nguyên tố: số tự nhiên có ước số Ví dụ: Các số nguyên tố 79, 83, 89, 97 2.1.2 Tính chất số nguyên tố Ký... dựng sở thuật toán kiểm tra thiên hợp số Nó kiểm tra số n giả nguyên tố với số lần kiểm tra k, kết luận n số nguyên tố với xác suất vượt qua k lần kiểm tra Thuật tốn sau: Thuật tốn pseudoprime có... Một số nguyên a > gọi số nguyên tố, a ước số ngồi a; gọi hợp số, nguyên tố Ví dụ số 2, 3, 5, số nguyên tố; số 6, 8, 10, 12, 14, 15 hợp số Hai số a b gọi ngun tố với nhau, chúng khơng có ước số

Ngày đăng: 05/12/2022, 18:08

Hình ảnh liên quan

Bảng 1.2.1. Mơ tả q trình tính tốn của thuật toán Euclid - Luận văn thạc sĩ VNU UET vấn đề kiểm tra các số nguyên tố lớn

Bảng 1.2.1..

Mơ tả q trình tính tốn của thuật toán Euclid Xem tại trang 19 của tài liệu.
Bảng 1.2.2. Mơ tả q trình tính tốn của thuật tốn Euclid mở rộng - Luận văn thạc sĩ VNU UET vấn đề kiểm tra các số nguyên tố lớn

Bảng 1.2.2..

Mơ tả q trình tính tốn của thuật tốn Euclid mở rộng Xem tại trang 21 của tài liệu.
Hình 1. 2: Thuật tốn phân tích thừa số p-1 - Luận văn thạc sĩ VNU UET vấn đề kiểm tra các số nguyên tố lớn

Hình 1..

2: Thuật tốn phân tích thừa số p-1 Xem tại trang 24 của tài liệu.
Hình 1. 4: Thuật tốn phân tích cổ điển - Luận văn thạc sĩ VNU UET vấn đề kiểm tra các số nguyên tố lớn

Hình 1..

4: Thuật tốn phân tích cổ điển Xem tại trang 26 của tài liệu.
Bảng dưới đây so sánh giá trị gần đúng và giá trị chính xác của (n) mà ta - Luận văn thạc sĩ VNU UET vấn đề kiểm tra các số nguyên tố lớn

Bảng d.

ưới đây so sánh giá trị gần đúng và giá trị chính xác của (n) mà ta Xem tại trang 37 của tài liệu.
Bảng dưới đây liệt kê một vài Mersenne và cho biết số nào là số nguyên tố. - Luận văn thạc sĩ VNU UET vấn đề kiểm tra các số nguyên tố lớn

Bảng d.

ưới đây liệt kê một vài Mersenne và cho biết số nào là số nguyên tố Xem tại trang 39 của tài liệu.

Mục lục

    DANH MỤC TỪ VIẾT TẮT

    Chương 1. CÁC KHÁI NIỆM CƠ BẢN

    1.1. MỘT SỐ KHÁI NIỆM TRONG SỐ HỌC, ĐẠI SỐ

    1.1.1. Khái niệm trong số học

    1.1.2. Khái niệm trong đại số

    1.1.3. Đồng dư và phương trình đồng dư tuyến tính

    1.1.4. Thặng dư thu gọn và phần tử nguyên thủy

    1.1.5. Phương trình đồng dư bậc hai và thặng dư bậc hai

    1.2. MỘT SỐ THUẬT TOÁN

    1.2.1. Thuật toán tính ước chung lớn nhất

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

Tài liệu liên quan