Tìm hiểu chữ ký số và ứng dụng của nó

28 374 2
Tìm hiểu chữ ký số và ứng dụng của 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Ệ NGUYỄN VĂN LIỆU TÌM HIỂU CHỮ KÝ SỐ VÀ ỨNG DỤNG CỦA NÓ Ngành: Công nghệ thông tin Chuyên ngành: Truyền liệu Mạng máy tính Mã số: 60 48 15 LUẬN VĂN THẠC SĨ NGƢỜI HƢỚNG DẪN KHOA HỌC TS HỒ VĂN CANH HÀ NỘI - 2009 ii MỤC LỤC LỜI CAM ĐOAN Error! Bookmark not defined LỜI CẢM ƠN Error! Bookmark not defined MỤC LỤC ii DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT iv DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ vi MỞ ĐẦU CHƢƠNG 1: CÁC KHÁI NIỆM TOÁN HỌC CƠ BẢN 1 CÁC CẤU TRÚC ĐẠI SỐ 1.1.1 Nhóm 1.1.2 Vành 1.1.3 Trƣờng 1.2 SỐ HỌC TRÊN MODULO 1.2.1 Định nghĩa Modulo 1.2.2 Các phép toán số học Modulo 1.2.3 Tính chia hết số nguyên - Thuật toán Euclide 1.3 TRƢỜNG GALOA 11 1.3.1 Trƣờng Galoa 11 1.3.2 Tìm số nghịch đảo 11 1.3.3 Số học đa thức 12 1.3.4 Phép toán đa thức với Modulo đa thức 12 1.4 LÝ THUYẾT SỐ 13 1.4.1 Các số nguyên tố 13 1.4.2 Phân tích thừa số nguyên tố 13 1.4.3 Các số nguyên tố GCD 14 1.4.4 Định lý Ferma (Định lý Ferma nhỏ) 14 1.4.5 Hàm Ole 14 1.4.6 Định lý Ole 15 1.4.7 Kiểm tra tính nguyên tố 15 1.4.8 Định lý phần dƣ Trung Hoa 16 1.4.9 Căn nguyên tố 16 1.4.10 Logarit rời rạc 17 CHƢƠNG 2: MẬT MÃ, HÀM BĂM 17 2.1 HỆ MẬT MÃ KHOÁ CÔNG KHAI 17 2.1.1 Giới thiệu 17 2.1.2 Hệ mật mã RSA [3] 18 2.1.3 Hệ mật mã Elgamal [3] 19 2.1.4 Hệ mật mã Rabin [3] 22 2.1.5 Các hệ mật mã dựa toán NP-đầy đủ [3] 23 2.1.6 Các Hệ mật mã xác suất [3] 25 2.2 HỆ MẬT TRÊN ĐƢỜNG CONG ELLIPTIC Error! Bookmark not defined 2.2.1 Cơ đƣờng cong Elliptic Error! Bookmark not defined 2.2.2 Các hệ mật dựa đƣờng cong Elliptic [4] Error! Bookmark not defined 2.2.3 Đánh giá hệ mật ECC Error! Bookmark not defined 2.3 HỆ MẬT TRÊN KHÔNG GIAN KHÔNG GIAO HOÁN Error! Bookmark not defined 2.3.1 Giới thiệu chung Error! Bookmark not defined 2.3.2 Hệ mã hoá khoá công khai nhóm Bện [6] Error! Bookmark not defined iii 2.4 HÀM BĂM Error! Bookmark not defined 2.4.1 Đặt vấn đề Error! Bookmark not defined 2.4.2 Hàm băm MD5 Error! Bookmark not defined 2.4.4 Hàm băm Davies – Mayer ứng dụng TT Rijndael vào hàm băm Error! Bookmark not defined 2.4.5 Các hàm băm sử dụng thuật toán Rijndael Error! Bookmark not defined CHƢƠNG 3: CÁC MÔ HÌNH CHỮ KÝ SỐ Error! Bookmark not defined 3.1 TỔNG QUAN VỀ CHỮ KÝ SỐ Error! Bookmark not defined 3.1.1 Giới thiệu chữ ký số Error! Bookmark not defined 3.1.2 Định nghĩa lƣợc đồ chữ ký số Error! Bookmark not defined 3.1.3 Phân loại chữ ký số Error! Bookmark not defined 3.1.4 Tầm quan trọng ý nghĩa thực tiễn chữ ký số Error! Bookmark not defined 3.2 CÁC LƢỢC ĐỒ CHỮ KÝ SỐ CƠ BẢN Error! Bookmark not defined 3.2.1 Lƣợc đồ RSA [3] Error! Bookmark not defined 3.2.2 Lƣợc đồ Elgamal [3] Error! Bookmark not defined 3.2.3 Lƣợc đồ chữ ký số chuẩn DSS [3] Error! Bookmark not defined 3.3 LƢỢC ĐỒ CHỮ KÝ SỐ TRÊN EC Error! Bookmark not defined 3.3.1 Lƣợc đồ chữ ký ECDSA [4] Error! Bookmark not defined 3.3.2 Lƣợc đồ ký mù Harn EC [4] Error! Bookmark not defined 3.3.3 Lƣợc đồ chữ ký Nyberg – Rueppel EC Error! Bookmark not defined 3.4 LƢỢC ĐỒ CHỮ KÝ SỐ TRÊN KHÔNG GIAN KHÔNG GIAO HOÁN Error! Bookmark not defined 3.4.1 Giao thức trao đổi khoá mật không gian không giao hoán Error! Bookmark not defined 3.4.2 Lƣợc đồ chữ ký số không gian không giao hoán Error! Bookmark not defined 3.5 MỘT SỐ LƢỢC ĐỒ CHỮ KÝ SỐ KHÁC Error! Bookmark not defined 3.5.1 Lƣợc đồ chữ ký số Rabin [3] Error! Bookmark not defined 3.5.2 Lƣợc đồ chữ ký số Schnorr [3] Error! Bookmark not defined 3.5.3 Lƣợc đồ chữ ký số lần [5] Error! Bookmark not defined 3.5.4 Lƣợc đồ chữ ký số Fail – Stop Error! Bookmark not defined 3.5.5 Lƣợc đồ chữ ký uỷ nhiệm Error! Bookmark not defined CHƢƠNG 4: CHỮ KÝ CHỐNG CHỐI BỎ VÀ ỨNG DỤNG Error! Bookmark not defined 4.1 ĐẶT VẤN ĐỀ Error! Bookmark not defined 4.2 LỊCH SỬ PHÁT TRIỂN CỦA CHỮ KÝ CHỐNG CHỐI BỎ [32] Error! Bookmark not defined 4.3 LƢỢC ĐỒ CHỮ KÝ CHỐNG CHỐI BỎ Error! Bookmark not defined 4.3.1 Lƣợc đồ chữ ký Chaum-van Antverpen [3] Error! Bookmark not defined 4.3.2 Tính hợp thức giao thức Error! Bookmark not defined 4.3.3 Tính an toàn Lƣợc đồ chữ ký Chaum-van Antverpen Error! Bookmark not defined 4.4 MỘT SỐ BIẾN THỂ CỦA LƢỢC ĐỒ CHỮ KÝ CHỐNG CHỐI BỎ Error! Bookmark not defined 4.4.1 Chữ ký chống chối bỏ Zero-Knowledge Error! Bookmark not defined 4.4.2 Chữ ký chống chối bỏ chuyển đổi Error! Bookmark not defined 4.4.3 Chữ ký chống chối bỏ với ngƣời chứng minh phân tán Error! Bookmark not defined 4.4.4 Chữ ký chống chối bỏ EC Error! Bookmark not defined 4.4.5 Chữ ký với ngƣời thẩm định đƣợc định Error! Bookmark not defined 4.5 ỨNG DỤNG CỦA LƢỢC ĐỒ CHỮ KÝ CHỐNG CHỐI BỎ Error! Bookmark not defined iv 4.5.1 Nhận xét chung Error! Bookmark not defined 4.5.2 Một số ứng dụng chung Error! Bookmark not defined KẾT LUẬN Error! Bookmark not defined CÁC VẤN ĐỀ ĐƢỢC TÌM HIỂU TRONG LUẬN VĂN Error! Bookmark not defined HƢỚNG NGHIÊN CỨU TIẾP THEO Error! Bookmark not defined TÀI LIỆU THAM KHẢO 26 DANH MỤC CÁC KÝ HIỆU, CÁC CHỮ VIẾT TẮT CHỮ VIẾT TẮT TỪ GỐC NGHĨA TIẾNG VIỆT 3-DES Triple Data Encrytion Standard Áp dụng giải thuật DES lần cho khối liệu AES Advanced Encryption Standard Hệ mật mã tiên tiến CDP Conjugacy Decision Problem Vấn đề phân xử liên hợp CDP Conjugacy Decomposition Problem Vấn đề phân tích liên hợp CSP Conjugacy Search Problem Vấn đề tìm kiếm liên hợp DES Data Encryption Standard Hệ mật mã chuẩn DLP Discrete Logarithm Problem Vấn đề Logarit rời rạc DSS Digital Signature Standard Chuẩn chữ ký số DVS Designated Verifier Signature Chữ ký ngƣời thẩm định đƣợc định ECC Elliptic curve cryptography Hệ mã hóa đƣờng Elliptic ECDSA Elliptic Curve Digital Signature Algorithm Elliptic Discrete Logarithm Thuật toán ký EC EDLP Vấn đề Logarith rời rạc EC Problem GCD Greatest Common Divisor GCSP Generalized Conjugacy Search Problem Ƣớc số chung lớn Vấn đề tìm kiếm liên hợp suy rộng IFP Integer Factorization Problem Vấn đề phân tích thừa số nguyên LCM Least Common Multiple Bội số chung nhỏ v LHS Left Hand Side Phía bên trái MUO M Mambo, K Usuda, E Okamoto Lƣợc đồ ký uỷ nhiệm đƣợc đề xuất M Mambo, K Usuda E Okamoto RHS Right Hand Side Phía bên phải RSA Ron Rivest, Adi Shamir, Len Adleman Thuật toán mã hóa khóa công khai tác giả Ron Rivest, Adi Shamir, Len Adleman đề xuất SDVS Strong Designated Verifier Signature Chữ ký ngƣời thẩm định đƣợc định mạnh SHA Secure Hash Algorithm Thuật toán hàm băm an toàn TTP Trusted Third Party Thành phần thứ ba tin cậy vi DANH MỤC CÁC HÌNH VẼ, ĐỒ THỊ Hình 2.1 So sánh kích thƣớc khóa RSA ECC với mức độ an toàn Error! Bookmark not defined Hình 2.2 So sánh mức độ bảo mật ECC với RSA / DSA Error! Bookmark not defined Hình 2.3 Biểu diễn hình học số bện Error! Bookmark not defined Hình 2.4 Biểu diễn hình học bện kết hợp, bện nghịch đảo, bện tƣơng đƣơng Error! Bookmark not defined Hình 3.1 Lƣợc đồ chữ ký số với phần đính kèm Error! Bookmark not defined Hình 3.2 Lƣợc đồ chữ ký số khôi phục thông điệp Error! Bookmark not defined Hình 3.3 Sự trao đổi khóa k Bob Alice Error! Bookmark not defined Hình 3.4 Sự trao đổi khóa f Bob Alice Error! Bookmark not defined Hình 3.5 Sơ đồ xác nhận chữ ký số Bob Alice Error! Bookmark not defined Hình 3.6 Cách thứ hai để xác nhận chữ ký số Error! Bookmark not defined Hình 4.1 Mô hình để P1,2 chứng tỏ với P3 quyền đƣợc thẩm định chữ ký Error! Bookmark not defined MỞ ĐẦU Trong hoạt động thƣơng mại điện tử nhƣ việc xây dựng hành điện tử, không tính đến mức độ xác, an toàn thông báo điện tử đƣợc gửi đến nhƣ việc xác thực đối tƣợng gửi thông báo Điều nói lên cần thiết việc xác thực chữ ký số Hiện nay, Bộ Thƣơng mại Ngân hàng Nhà nƣớc Việt Nam đƣợc Chính phủ cho phép triển khai chữ ký số xác thực toán điện tử từ năm 2006 Hiện nay, Hàn Quốc giúp ta triển khai hạ tầng sở khoá công khai PKI phủ điện tử Tất kết chủ yếu đƣợc chuyển giao từ bên Xét lĩnh vực an ninh quốc gia, đặt câu hỏi: mức độ an toàn chữ ký số tính xác thực văn có đảm bảo yêu cầu không mà phải nhập ngoại hoàn toàn dây chuyền công nghệ ? Để giúp nhà an ninh an toàn mạng có đƣợc sở đánh giá mức độ an toàn hệ thống đó, em chọn đề tài: “Tìm hiểu chữ ký số ứng dụng nó” làm đối tƣợng để nghiên cứu phục vụ cho luận văn Bố cục luận văn gồm chƣơng: Chƣơng Các khái niệm toán học Chƣơng Mật mã, hàm băm Chƣơng Các mô hình chữ ký số Chƣơng Chữ ký chống chối bỏ ứng dụng Trong đó, Chƣơng trọng tâm luận văn Ở chƣơng này, luận văn sâu tìm hiểu mô hình chữ ký số chống chối bỏ, số biến thể mô hình nhƣ đƣa số trƣờng hợp áp dụng mô hình chữ ký sống Trong chƣơng em đƣa chƣơng trình demo ngôn ngữ C# để hình dung rõ mô hình chữ ký đƣợc áp dụng Do khả hạn chế, đặc biệt khả toán học em có nhiều cố gắng nhằm hoàn thành tốt nhiệm vụ nhƣng không khỏi có nhiều thiếu sót Em mong đƣợc bảo, đóng góp thầy cô giáo để luận văn đƣợc hoàn thiện Em xin chân thành cảm ơn./ CHƯƠNG 1: CÁC KHÁI NIỆM TOÁN HỌC CƠ BẢN 1 CÁC CẤU TRÚC ĐẠI SỐ 1.1.1 Nhóm Cho tập phần tử “số” phép toán hai ngôi, mà kết phần tử tập hợp Tức ứng với cặp phần tử tập đó, kết phép toán phần tử xác định tập cho Tính chất ta gọi tính đóng phép toán tập xét, ta có định nghĩa sau nhóm Định nghĩa nhóm Tập hợp G với phép toán „.’ đóng kín G đƣợc gọi nhóm, thỏa mãn tính chất sau với phần tử a, b, c thuộc G: - Tính kết hợp (a.b).c = a.(b.c) - Có đơn vị e: e.a = a.e = a - Có nghịch đảo a-1: a.a-1 = e Nếu có thêm tính giao hoán a.b = b.a, gọi nhóm Aben Định nghĩa nhóm Cyclic Giả sử cho trƣớc nhóm hữu hạn (G, ) (tức G tập hợp khác rỗng gồm số hữu hạn phần tử) Khi đó, phần tử a Є G đƣợc gọi phần tử sinh G nếu: ak = a.a.a .a = e (k lần a) không tồn số nguyên dƣơng h < k mà ah = e , số k số phần tử tập hợp G Một nhóm (G, ) có phần tử sinh đƣợc gọi nhóm cyclic 1.1.2 Vành Cho tập R “số” với hai phép toán cộng nhân Tập với hai phép toán đƣợc gọi vành, hai phép toán thoả mãn tính chất sau: - Với phép cộng, R nhóm Aben - Với phép nhân, có: tính đóng ; tính kết hợp; tính phân phối phép cộng a(b+c) = ab + ac Nếu phép nhân có tính giao hoán tạo thành vành giao hoán Nếu phép nhân có nghịch đảo thƣơng 0, tạo thành miền nguyên 1.1.3 Trường Trường tập hợp F với hai phép toán cộng nhân, thoả mãn: - Với phép cộng F nhóm Aben - Với phép nhân F trừ phần tử nhóm Aben - a(b+c) = ab + ac (với a, b, c Є ) 1.2 SỐ HỌC TRÊN MODULO 1.2.1 Định nghĩa Modulo Cho số tự nhiên n số nguyên a Định nghĩa: a mod n phần dƣ dƣơng chia a cho n 1.2.2 Các phép toán số học Modulo Cho số n Ta muốn thực phép toán theo Modulo n Ta thực phép toán số nguyên nhƣ phép cộng, nhân số nguyên thông thƣờng sau rút gọn lại phép lấy Modulo vừa tính toán, kết hợp với rút gọn thời điểm nào: (a+b) mod n = [a mod n + b mod n] mod n (*) (a.b) mod n = [a mod n b mod n] mod n (**) Nhƣ thực phép toán ta thay số số tƣơng đƣơng theo Modulo n đơn giản thực phép toán đại diện nó: Zn = { 0, 1, 2, 3, …, n-1 } - Zn với phép toán theo Modulo n tạo thành vành giao hoán có đơn vị Thực tính đóng phép cộng nhân dựa hai công thức (*) (**) Các tính chất kết hợp, giao hoán nghịch đảo đƣợc suy từ tính chất tƣơng ứng số nguyên - Các ý tính chất rút gọn: + Nếu (a+b) ≡ (a+c) mod n, b ≡ c mod n + Nhƣng (ab) ≡ (ac) mod n, b ≡ c mod n a nguyên tố với n 1.2.3 Tính chia hết số nguyên - Thuật toán Euclide Tập hợp Z đóng kín phép cộng, trừ nhân, nhƣng không đóng kín phép chia Cho hai số nguyên a b, b  Thực phép chia a cho b ta đƣợc hai số q r cho a = b.q + r ,  r  b 10 Số q đƣợc gọi số thương phép chia a cho b, ký hiệu a div b, số r đƣợc gọi số dư phép chia a cho b, ký hiệu a mod b Một số nguyên d đƣợc gọi ước số chung hai số nguyên a b da db Số nguyên d đƣợc gọi ước số chung lớn a b d  0, d ƣớc số chung a b, ƣớc số chung a b ƣớc số d Ta ký hiệu ƣớc số chung lớn a b gcd(a,b) Hai số a b đƣợc gọi nguyên tố với nhau, chúng ƣớc số chung khác 1, tức gcd(a,b) = Một số nguyên n > viết dƣới dạng: n = p1a1 p2a pka k p1 , p2 , , pk số nguyên tố khác nhau, 1 , 2 , , k số mũ nguyên dƣơng Nếu không kể thứ tự thừa số nguyên tố, dạng biểu diễn nhất, ta gọi dạng khai triển tắc n Định lý 1.1 Nếu b  b a gcd(a ,b) = b Nếu a = bq + r gcd(a,b) = gcd(b,r) Một số nguyên m đƣợc gọi bội số chung a b am bm Số m đƣợc gọi bội số chung bé a b , đƣợc ký hiệu lcm(a ,b), m  0, m bội số chung a b , bội số chung a b bội m Với hai số nguyên dƣơng a b ta có quan hệ lcm(a,b).gcd(a,b) = a.b Thuật toán sau thực tìm USCLN hai số nguyên bất kỳ: Thuật toán Euclide tìm ƣớc số chung lớn INPUT: hai số nguyên không âm a b , với a b OUTPUT: ƣớc số chung lớn a b Trong b  0, thực hiện: 1.1 đặt r a modb , a b , b  r Cho kết (a) Ta biết gcd(a,b) = d, phƣơng trình bất định a.x + b.y = d có nghiệm nguyên (x,y), nghiệm nguyên (x,y) nhƣ tìm đƣợc thuật toán Euclide mở rộng nhƣ sau: Thuật toán Euclide mở rộng : INPUT: hai số nguyên không âm a b với a b 14 Ví dụ: 91=7×13; 3600=24×32×52 Thông thƣờng để tìm phân tích trên, ta phải kiểm tra tính chia hết cho số nguyên tố từ nhỏ đến lớn thực phép chia liên tiếp cho số nguyên tố, gộp thành lũy thừa số nguyên tố 1.4.3 Các số nguyên tố GCD Hai số nguyên dƣơng a b ƣớc chung 1, đƣợc gọi nguyên tố Ngƣợc lại xác định ƣớc chung lớn cách phân tích thừa số chúng, tìm thừa số nguyên tố chung lấy bậc lũy thừa nhỏ hai phân tích hai số 1.4.4 Định lý Ferma (Định lý Ferma nhỏ) ap-1 mod p = p số nguyên tố a số nguyên khác bội p: GCD(a,p) = Hay với số nguyên tố p số nguyên a không bội p, ta có ap = a mod p Công thức đúng, p số nguyên tố, a số nguyên dƣơng nhỏ p 1.4.5 Hàm Ole Cho n số nguyên dƣơng Khi thực phép tính đồng dƣ n số nguyên khác ta nhận đƣợc tập đầy đủ phần dƣ có là: 0, 1, 2,…, n-1 Từ tập ta tìm tập rút gọn bao gồm số nguyên tố với n quan tâm đến số lƣợng phần tử nhƣ số nguyên dƣơng n cho trƣớc Ví dụ Với n = 10: - Tập đầy đủ phần dƣ {0,1,2,3,4,5,6,7,8,9} - Tập rút gọn phần dƣ nguyên tố với 10 {1,3,7,9} - Số phần tử tập rút gọn giá trị hàm Ole Ф(n) Nhƣ vậy, Ф(10) = Muốn tính Ф(n) việc đếm số số ngƣyên tố với n nhỏ n đƣợc loại bỏ toán tốn nhiều công sức Nói chung tính hàm Ơle số dựa biểu thức phân tích thừa số số - Dễ dàng thấy, p số nguyên tố Ф(p) = p-1 - Nếu p q hai số nguyên tố khác nhau, chứng minh đƣợc rằng: Ф(p.q) = (p-1)(q-1) 15 - Nếu s t hai số nguyên tố nhau, Ф(s.t) = Ф(s).Ф(t) 1.4.6 Định lý Ole Định lý Ole tổng quát hoá Định lý Ferma aФ(n)mod n = với cặp số nguyên dƣơng nguyên tố a n: gcd(a,n)=1 1.4.7 Kiểm tra tính nguyên tố Giả sử cần tìm số nguyên tố lớn Lấy ngẫu nhiên số đủ lớn, ta kiểm tra xem số có phải số nguyên tố không Phƣơng pháp truyền thống thử phép chia Tuy nhiên phƣơng pháp hiệu xét số nhỏ Có phƣơng pháp khác, mà ta xét đây, sử dụng phép kiểm tra tính nguyên tố thống kê dựa tính chất: - Mọi số nguyên tố phải thỏa mãn - Nhƣng có số số không nguyên tố, gọi giả nguyên tố thoả mãn tính chất Cụ thể phép kiểm tra dựa Định lý Ferma nhƣ sau: số n cần kiểm tra tính nguyên tố số nguyên tố, thoã mãn định lý Ferma số a nhỏ an-1 mod n = Nhƣ vậy, lấy ngẫu nhiên số a kiểm tra xem có tính chất không Nếu có n số nguyên tố, cần độ tin cậy lớn hơn, ta kiểm tra liên tiếp nhiều lần nhƣ với số ngẫu nhiên a đƣợc chọn Sau lần qua đƣợc phép thử, xác suất để n số nguyên tố lại tăng lên Chú ý: - bi mod n = 1, b2i mod n = (1)2 mod n = - bi mod n = n–1, b2i mod n = (n-1)2 mod n = (n2 –2n +1) mod n = Kiểm tra số n có số nguyên tố không, ta cần xét n lẻ, n-1 chẵn biểu diễn dạng (n–1)= 2k.q Khi để tính an-1, ta tính aq, sau bình phƣơng liên tiếp k lần Thuật toán Miller - Rabin TEST (n) is: Find integers k, q, k > 0, q odd, so that (n–1)= 2k.q Select a random integer a, 1[...]... sử dụng số nguyên tố p đủ lớn (tối thiểu là 512-bit) và q là số nguyên tố 160-bit là ƣớc số của p-1 Nếu sử dụng số nguyên tố p có 512 bit thì chữ ký đƣợc tạo ra sẽ có độ dài 1024-bit và không phù hợp với các ứng dụng sử dụng thẻ thông minh vốn có nhu cầu sử dụng chữ ký ngắn hơn Ngoài ra, còn có khả năng khoá bí mật k'' = a bị lộ do cẩu thả trong việc sử dụng số ngẫu nhiên d, đặc biệt là khi để lộ số. .. số phần tử lớn tuỳ ý, ta chỉ việc tăng và lấy n thích hợp Đặc biệt việc tính toán các phép toán cộng trừ, nhân, chia trên đó rất nhanh và hiệu quả trên các thao tác của các thiết bị phần cứng 1.4 LÝ THUYẾT SỐ 1.4.1 Các số nguyên tố Số nguyên tố là các số nguyên dƣơng chỉ có ƣớc số là 1 và chính nó Các số nguyên tố là trung tâm của lý thuyết số Số các số nguyên tố là vô hạn 1.4.2 Phân tích ra thừa số. .. tích của hai số đó 1.4.4 Định lý Ferma (Định lý Ferma nhỏ) ap-1 mod p = 1 trong đó p là số nguyên tố và a là số nguyên bất kỳ khác bội của p: GCD(a,p) = 1 Hay với mọi số nguyên tố p và số nguyên a không là bội của p, ta luôn có ap = a mod p Công thức trên luôn đúng, nếu p là số nguyên tố, còn a là số nguyên dƣơng nhỏ hơn p 1.4.5 Hàm Ole Cho n là một số nguyên dƣơng Khi thực hiện phép tính đồng dƣ n của. .. rút gọn trên là giá trị của hàm Ole Ф(n) Nhƣ vậy, Ф(10) = 4 Muốn tính Ф(n) việc đếm số các số ngƣyên tố cùng nhau với n và nhỏ hơn n đƣợc loại bỏ vì đây là bài toán tốn nhiều công sức Nói chung có thể tính hàm Ơle của một số dựa trên biểu thức phân tích ra thừa số của số đó - Dễ dàng thấy, nếu p là số nguyên tố Ф(p) = p-1 - Nếu p và q là hai số nguyên tố khác nhau, thì có thể chứng minh đƣợc rằng: Ф(p.q)... Rabin trả về số “composite” thì số đó chắc chắn không là số nguyên tố Ngƣợc lại số đó có thể là số nguyên tố hoặc giả nguyên tố theo nghĩa nó thoả mãn định lý Fecma với số a < n Ngƣời ta chứng minh đƣợc rằng xác suất để số giả nguyên tố đó không là số nguyên tố là là ¼ Suy ra nếu lặp t phép thử với các lựa chọn ngẫu nhiên khác nhau của số a, thì khi đó xác suất để số n sau t phép thử là số nguyên tố... cho các số nguyên tố từ nhỏ đến lớn và thực hiện phép chia liên tiếp cho các số nguyên tố, rồi gộp thành lũy thừa của các số nguyên tố 1.4.3 Các số nguyên tố cùng nhau và GCD Hai số nguyên dƣơng a và b không có ƣớc chung nào ngoài 1, đƣợc gọi là nguyên tố cùng nhau Ngƣợc lại có thể xác định ƣớc chung lớn nhất bằng cách trong các phân tích ra thừa số của chúng, tìm các thừa số nguyên tố chung và lấy... cho ta ký tự mã tƣơng ứng y =E (k', x)  C , và với ký tự mã y thuật toán giải mã D sẽ cho ta lại ký tự bản rõ x : D (k'', y) = D (k'', E (k', x)) =x Để xây dựng hệ mật mã khoá công khai RSA, chọn một số nguyên n =p.q là tích của hai số nguyên tố lớn, chọn một số e sao cho gcd(e,  (n)) =1, và tính số d sao cho : e.d  1(mod (n)) Mỗi cặp k =(k’,k''), với k' =(n,e) và k'' = d sẽ là một cặp khoá của một... nguyên tố của p, thì các luỹ thừa của a: a0, a1, …, ap-2 sẽ sinh ra nhóm modulo p Việc tìm các căn nguyên tố a của n sẽ có ích trong việc xét mã công khai 1.4.10 Logarit rời rạc Bài toán ngƣợc của bài toán lũy thừa là tìm logarit rời rạc của một số modulo p, tức là tìm số nguyên x sao cho ax = b mod p Hay còn đƣợc viết là x = logab mod p hoặc x = inda,p(b) Nếu a là căn nguyên tố của p và p là số nguyên... Khởi đầu là ý tƣởng của W Diffie và M.E Hellman đƣợc trình bày vào năm 1976 tại Hội nghị quốc gia hàng năm của AFIPS (Hoa kỳ) Năm 1977, R.L Rivest, A Shamir và L.M Adleman đề xuất hệ mật mã khoá công khai RSA mà độ an toàn dựa vào bài toán khó “phân tích số nguyên thành thừa số nguyên tố” Cũng vào thời gian đó, M.O Rabin đề xuất hệ mật mã khoá công khai dựa vào cùng bài toán số học khó nói trên Sau đó,... những bài toán cơ bản của số học là phân tích ra thừa số nguyên tố số a, tức là viết nó dƣới dạng tích của các số nguyên tố Lƣu ý rằng phân tích là bài toán khó hơn rất nhiều so với bài toán nhân các số để nhận đƣợc tích Ta có kết luận, mọi số nguyên dƣơng đều có thể phân tích duy nhất thành tích các lũy thừa của các số nguyên tố: 14 Ví dụ: 91=7×13; 3600=24×32×52 Thông thƣờng để tìm phân tích trên,

Ngày đăng: 21/11/2016, 16:21

Từ khóa liên quan

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

Tài liệu liên quan