Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
312,25 KB
Nội dung
TRƯỜNG ĐẠI HỌC SƯ PHẠM HÀ NỘI KHOA TOÁN **************** NGUYỄN HỒNG NHUNG BÀI TOÁN LOGARIT RỜI RẠC VÀ ỨNG DỤNG TRONG MẬT MÃ KHÓA LUẬN TỐT NGHIỆP ĐẠI HỌC Chuyên ngành: Toán ứng dụng Người hướng dẫn khoa học TS Trần Vĩnh Đức Hà Nội - 2015 LỜI CẢM ƠN Em xin chân thành cảm ơn Thầy giáo Trần Vĩnh Đức tận tình hướng dẫn, giúp đỡ em suốt thời gian thực khóa luận Em xin chân thành cảm ơn thầy, cô tổ ứng dụng-khoa Toán, trường Đại học sư phạm Hà Nội tạo điều kiện giúp đỡ em hoàn thành khóa luận Em xin chân thành cảm ơn gia đình bạn bè tạo điều kiện thuân lợi cho em trình thực khóa luận Em xin chân thành cảm ơn Hà Nội, tháng 05 năm 2015 Sinh viên Nguyễn Hồng Nhung i LỜI CAM ĐOAN Em xin cam đoan, hướng dẫn Thầy giáo Trần Vĩnh Đức khóa luận "Bài toán logarit rời rạc ứng dụng mật mã" hoàn thành không trùng với đề tài khác Trong trình hoàn thành khóa luận, em thừa kế thành tựu nhà khoa học với trân trọng biết ơn Hà Nội, tháng 05 năm 2015 Sinh viên Nguyễn Hồng Nhung ii Mục lục Mở đầu 1 Tổng quan lý thuyết nhóm 2 Bài toán logarit rời rạc ứng dụng mật mã 2.1 Bài toán logarit rời rạc 2.2 Diffie-Hellman trao đổi khóa bảo mật 2.3 Hệ thống mật mã khóa công khai ElGamal 11 2.4 Bài toán logarit rời rạc khó đến mức nào? 14 2.5 Thuật toán va chạm cho DLP 16 2.6 18 2.7 Thuật toán Pohlig–Hellman 23 Định lý phần dư Trung Quốc Kết luận 30 Tài liệu tham khảo 31 iii MỞ ĐẦU Lí chọn đề tài Bài toán logarit rời rạc có ứng dụng quan trọng thực tiễn, xuất sở phát triển khoa học kĩ thuật yêu cầu đòi hỏi thực tế Đặc biệt toán logarit rời rạc có ứng dụng quan trọng mật mã Với mong muốn sâu tìm hiểu môn góc độ sinh viên sư phạm Toán phạm vi khóa luận tốt nghiệp với hướng dẫn thầy giáo - TS Trần Vĩnh Đức, em xin trình bày hiểu biết đề tài "Bài toán logarit rời rạc ứng dụng mật mã." Mục đích nghiên cứu Quá trình thực đề tài bước đầu làm quen với việc nghiên cứu khoa học, tìm hiểu sâu toán logarit rời rạc ứng dụng mật mã Nhiệm vụ nghiên cứu Đề tài nghiên cứu nhằm sâu khai thác ứng dụng toán logarit rời rạc mật mã Phương pháp nghiên cứu Đề tài hoàn thành dựa kết hợp phương pháp: nghiên cứu lí luận, phân tích, tổng hợp, đánh giá Cấu trúc khóa luận Ngoài phần mở đầu, kết luận, danh mục tài liệu tham khảo khóa luận bao gồm chương: Chương 1: Tổng quan lí thuyết nhóm Chương 2: Bài toán logarit rời rạc ứng dụng mật mã Chương Tổng quan lý thuyết nhóm Chương giới thiệu tổng quan vài kết lý thuyết nhóm có ứng dụng toán logarit rời rạc Trước hết, ta nói lũy thừa phần tử F∗p (với Fp = {0, 1, , p − 1}, p nguyên tố trường) lũy thừa đơn giản việc lặp lại phép nhân Chúng ta nhấn mạnh số đặc trưng quan trọng phép nhân F∗p vài tính chất Các tính chất là: • Có phần tử ∈ F∗p thỏa mãn 1.a = a với a ∈ F∗p • Mỗi a ∈ F∗p có nghịch đảo a−1 ∈ F∗p thỏa mãn a.a−1 = a−1 a = • Phép nhân có tính kết hợp: a.(b.c) = (a.b).c với a, b, c ∈ F∗p • Phép nhân có tính giao hoán: a.b = b.a với a, b ∈ F∗p Giả sử thay phép nhân F∗p phép cộng Fp Ta thay vị trí số −a vị trí a−1 Khi tất bốn tính chất đúng: • + a = a với a ∈ Fp • Mỗi a ∈ Fp có phần tử đối −a ∈ Fp với a + (−a) = (−a) + a = Khóa luận tốt nghiệp Nguyễn Hồng Nhung • Ngoài có tính kết hợp, a + (b + c) = (a + b) + c với a, b, c ∈ Fp • Ngoài có tính giao hoán, a + b = b + a với a, b ∈ Fp Định nghĩa 1.1 Một nhóm gồm tập G phép toán, mà chúng biểu thị , kết hợp hai phần tử a, b ∈ G để có phần tử a b ∈ G Phép toán yêu cầu phải có ba tính chất sau đây: [ Nhân với phần tử đơn vị] Có e ∈ G cho e a = a e = a với a ∈ G [Nhân với phần tử nghịch đảo] Đối với a ∈ G có (duy nhất) a−1 ∈ G thỏa mãn a a−1 = a−1 a = e [Kết hợp] a (b c) = (a b) c với a, b, c ∈ G Ngoài ra, phần tử thỏa mãn [Luật giao hoán] a b = b a với a, b ∈ G, nhóm gọi nhóm giao hoán nhóm abel Nếu G có hữu hạn phần tử, ta nói G nhóm hữu hạn Bậc G số phần tử G; ký hiệu |G| #G Ví dụ 1.1 Nhóm có mặt khắp nơi toán học khoa học tự nhiên Dưới số ví dụ: (a) G = F∗p = phép nhân Phần tử đơn vị e = 1, phần tử nghịch đảo tồn G nhóm hữu hạn có bậc p − (b) G = Z/N Z = phép cộng Phần tử đơn vị e = phần tử đối a −a G nhóm hữu hạn có bậc N Khóa luận tốt nghiệp (c) G = Z Nguyễn Hồng Nhung = phép cộng Phần tử đơn vị e = phần tử đối a −a Nhóm G nhóm vô hạn (d) Chú ý G = Z = phép nhân nhóm, hầu hết phần tử phần tử nghịch đảo phép nhân bên Z (e) Tuy nhiên, G = R∗ = phép nhân nhóm, tất phần tử có phần tử nghịch đảo phép nhân bên R∗ (f) Một ví dụ nhóm không giao hoán G= với phép toán a b c d : a, b, c, d ∈ R ad − bc = = phép nhân ma trận Phần tử đơn vị e = 0 nghịch đảo cho công thức quen thuộc −1 a b c d d ad−bc −c ad−bc = −b ad−bc a ad−bc Chú ý G nhóm không giao hoán, ví dụ 1 1 1 1 1 1 không (g) Tổng quát hơn, ta sử dụng ma trận có kích thước Điều tạo nhóm tuyến tính tổng quát GLn (R) = ma trận vuông A cấp n với hệ số thực det(A) = phép toán = phép nhân ma trận Ta tạo nhóm khác cách thay R với số trường khác, ví dụ trường hữu hạn Fp Cho g phần tử nhóm G cho x số nguyên dương Khi Khóa luận tốt nghiệp Nguyễn Hồng Nhung g x có nghĩa ta áp dụng phép toán nhóm x lần tới phần tử g, g x = g g g g x lần lặp lại Nếu x số nguyên âm, ta định nghĩa g x (g −1 )−x Cho x = 0, tập g = e phần tử đơn vị G Định nghĩa 1.2 Cho G nhóm cho a ∈ G phần tử nhóm Giả sử tồn số nguyên dương d với ad = e Số d nhỏ gọi bậc a Nếu d vậy, a cho có bậc vô hạn Mệnh đề 1.1 Cho G nhóm hữu hạn Thì phần tử G có bậc hữu hạn Ngoài ra, a ∈ G có bậc d ak = e, d | k Chứng minh Vì G hữu hạn, dãy a, a2 , a3 , a4 , cuối phải có lặp lại Nghĩa tồn số nguyên dương i j với i < j cho = aj Nhân hai vế với a−i áp dụng tính chất nhóm ta ai−j = e Khi i − j > 0, gọi d số mũ dương nhỏ thỏa mãn ad = e Bây giả sử k ≥ d thỏa mãn ak = e Chúng ta chia k cho d để có k = dq + r với ≤ r < d Sử dụng ak = ad = e, nhận thấy e = ak = adq+r = (ad )q ar = eq ar Nhưng d số mũ dương nhỏ a thỏa mãn ad = e, phải có r = Do k = dq, d | q ✷ Khóa luận tốt nghiệp Nguyễn Hồng Nhung Định nghĩa 1.3 (Định lý Lagrange) Cho G nhóm hữu hạn cho a ∈ G Thì bậc G chia hết cho bậc a Chính xác hơn, cho n = |G| bậc G cho d bậc a, tức là, ad số mũ dương nhỏ a e Khi an = e d | n Chứng minh Chúng ta cho chứng minh đơn giản trường hợp G giao hoán Vì G hữu hạn, liệt kê phần tử sau G = {g1 , g2 , , gn } Bây nhân phần tử G với a để có tập mới, gọi Sa , Sa = {a g1 , a g2 , , a gn } Chúng ta thấy phần tử Sa khác Để thấy điều này, giả sử a gi = a gj Nhân hai vế với a−1 cho gi = gj Do Sa chứa n phần tử khác số phần tử G Do Sa = G, nhân tất phần tử Sa với nhân tất phần tử G với (Chú ý sử dụng giả định G giao hoán.) Như (a g1 ) (a g2 ) (a gn ) = g1 g2 gn Chúng ta xếp lại bậc tích số bên trái (lại sử dụng giao hoán) để đạt an g1 g2 gn = g1 g2 gn Bây nhân với (g1 g2 gn )−1 an = e ✷ Khóa luận tốt nghiệp Nguyễn Hồng Nhung Tìm thấy kết hợp hai dãy, g i = hg −jn Thì x = i + jn kết cho g x = h k gk h.uk k gk h.uk 9704 347 6181 13357 10 12918 11741 5763 12423 11 16360 16367 1128 13153 12 13259 7315 8431 7928 13 2549 16568 1139 14 16911 10221 14567 6259 15 4351 16289 2987 12013 16 1612 4062 k gk h.uk k gk h.uk 17 10137 10230 25 4970 12260 18 17264 3957 26 9183 6578 19 4230 9195 27 10596 7705 20 9880 13628 28 2427 1425 21 9963 10126 29 6902 6594 22 15501 5416 30 11969 12831 23 6854 13640 31 6045 4754 24 15680 5276 32 7583 14567 15774 16564 4125 Bảng 2.1: Babystep-giantstep để giải 9704x ≡ 13896 mod 17389 Ví dụ 2.6 Chúng ta minh họa phương pháp Babystep-giantstep Shanks cách sử dụng để giải toán logarit rời rạc g x = h F∗p với g = 9704, h = 13896, p = 17389 √ Số 9704 có bậc 1242 F∗17389 Đặt n = 1242 + u = g −n = 9704−36 = 2494 Bảng 2.1 dãy giá trị g k h.uk k = 1, 2, Từ 17 Khóa luận tốt nghiệp Nguyễn Hồng Nhung bảng, tìm thấy va chạm 97047 = 14567 = 13896.249432 F17389 Bằng cách sử dụng thực tế 2494 = 9704−36 , tính toán 13896 = 97047 2494−32 = 97047 (970436 )32 = 97041159 F17389 Do x = 1159 giải toán 9704x F17389 2.6 Định lý phần dư Trung Quốc Định lý phần dư Trung Quốc mô tả giải pháp cho hệ thống đồng dư dồng thời Đơn giản hệ thống hai đồng dư, x ≡ a mod m x ≡ b mod n, (2.3) với gcd(m, n) = 1, trường hợp định lý phần dư Trung Quốc giải pháp độc đáo theo mô đun mn Ví dụ 2.7 Chúng ta tìm kiếm số nguyên x đồng thời thỏa mãn hai đồng dư x≡1 mod x ≡ mod 11 (2.4) Đồng dư cho biết x ≡ mod , tất đáp án thỏa mãn đồng dư tập hợp số nguyên x = + 5y, y ∈ Z (2.5) Thay (2.5) vào đồng dư thứ hai (2.4) cho + 5y ≡ mod 11, 5y ≡ mod 11 (2.6) Chúng ta giải cho y cách nhân hai vế (2.6) với nghịch đảo theo mô đun 11 Nghịch đảo tồn gcd(5, 11) = Trong 18 Khóa luận tốt nghiệp Nguyễn Hồng Nhung trường hợp mô đun nhỏ nên tìm thấy cách thử báo lỗi; 5.9 = 45 ≡ mod Với trường hợp bất kì, nhân hai vế (2.6) với y ≡ 9.8 ≡ 72 ≡ mod 11 Cuối cùng, thay giá trị y vào (2.5) cung cấp kết x = + 5.6 = 31 cho toán ban đầu Định lý 2.1 (Định lý phần dư Trung Quốc) Cho m1 , m2 , , mk tập hợp số nguyên nguyên tố đôi Điều có nghĩa gcd(mi , mj ) = với i = j Cho a1 , a2 , , ak số nguyên Sau có hệ thống đồng thời đồng dư x ≡ a1 mod m1 , x ≡ a2 mod m2 , , x ≡ ak mod mk (2.7) có đáp án x = c Hơn nữa, x = c x = c hai đáp án, c ≡ c mod m1 m2 mk (2.8) Chứng minh Giả sử giá trị i tìm đáp án x = ci cho đồng dư đồng thời, x ≡ a1 mod m1 , x ≡ a2 mod m2 , , x ≡ mod mi (2.9) Ví dụ, i = 1, c1 = a1 Chúng ta giải thích làm để tìm đáp số cho thêm đồng dư, x ≡ a1 mod m1 , x ≡ a2 mod m2 , , x ≡ ai+1 mod mi+1 19 Khóa luận tốt nghiệp Nguyễn Hồng Nhung Ý tưởng để tìm đáp số có dạng x = ci + m1 m2 mi y Chú ý giá trị x thỏa mãn tất đồng dư (2.9), cần chọn y thỏa mãn x ≡ ai+1 mod mi+1 Nói cách khác, cần phải tìm giá trị y thỏa mãn ci + m1 m2 mi y ≡ ai+1 mod mi+1 Ta có gcd(mi+1 , m1 m2 mi ) = điều hoàn thành chứng minh ✷ tồn đáp số Ví dụ 2.8 Chúng ta giải đồng thời ba đồng dư x ≡ mod 3, x ≡ mod 7, x ≡ mod 16 (2.10) Định lý phần dư Trung Quốc nói đáp án độc đáo theo mô đun 336, 336 = 3.7.16 Chúng ta bắt đầu với đáp án x = để đồng dư x ≡ mod Chúng ta sử dụng để tạo thành đáp áp tổng hợp x = + 3y thay vào đồng dư thứ hai để có + 3y ≡ mod Đơn giản hoá điều để 3y ≡ mod 7, nhân hai vế với để có y ≡ mod Điều đưa giá trị x = + 3y = + 3.5 = 17 đáp án cho đồng dư (2.10) Đáp án tổng hợp hai đồng dư là, x = 17 + 21z Chúng ta thay vào đồng dư thứ ba để có 17 + 21z ≡ mod 16 20 Khóa luận tốt nghiệp Nguyễn Hồng Nhung Đơn giản hoá điều để 5z ≡ mod 16 Chúng ta nhân với 13 để có z ≡ 3.13 ≡ 39 ≡ mod 16 Cuối cùng, thay vào x = 17 + 21z để có đáp án x = 17 + 21.7 = 164 Tất đáp án thu cách cộng trừ bội số 336 để đáp án cụ thể Giải đồng dư với mô đun phức hợp Mệnh đề 2.4 Cho p số nguyên tố thỏa mãn p ≡ mod Cho a số nguyên đồng dư x2 ≡ a mod p có đáp án, tức có bậc hai p Thì b ≡ a(p+1)/4 mod p đáp án; thỏa mãn b2 ≡ a mod p Chứng minh Cho g nguyên thủy mô đun p Khi đó, a có bậc hai mô đun p a lũy thừa g, nói a ≡ g 2k mod p Bây tính toán b2 ≡ a p+1 mod p, định nghĩa b, ≡ (g 2k ) p+1 a ≡ g 2k , ≡ g (p+1)k mod p ≡ a.(g p−1 )k mod p a ≡ g 2k mod p, ≡ a mod p g p−1 ≡ mod p Do b thực bậc hai a mô đun p ✷ Ví dụ 2.9 Một bậc hai a = 2201 mô đun nguyên tố p = 4127 b ≡ a(p+1)/4 = 22014128/4 ≡ 22011032 ≡ 3718 mod 4127 21 Khóa luận tốt nghiệp Nguyễn Hồng Nhung Để thấy a thực có bậc hai mô đun 4127, đơn giản bình phương b kiểm tra 37182 = 13823524 ≡ 2201 mod 4127 Ví dụ 2.10 Chúng ta tìm kiếm đáp số cho đồng dư x2 ≡ 197 mod 437 (2.11) Các thừa số mô đun 437 = 19.23, lần giải hai đồng dư y ≡ 197 ≡ mod 19 z ≡ 197 ≡ 13 mod 23 Từ 19 23 đồng dư với theo mô đun 4, tìm thấy bậc hai sử dụng Mệnh đề 2.4 Trong trường hợp, có y ≡ ±8 mod 19 z ≡ ±6 mod 23 Chúng ta chọn hai −8 cho y hoặc −6 cho z Lựa chọn hai đáp án dương, sử dụng định lý số dư Trung Quốc để giải đồng dư đồng thời x ≡ mod 19 x ≡ mod 23 (2.12) Chúng ta thấy x ≡ 236 mod 437, cung cấp đáp án mong muốn cho (2.11) Chú ý 2.5 Đáp án cho Ví dụ 2.10 không Ở bước đầu tiên, luôn theo số âm, −236 ≡ 201 mod 437, để có bậc hai 197 mô đun 437 Nếu mô đun số nguyên tố, có hai bậc hai Tuy nhiên, 437 = 19.23 dương Để tìm thấy chúng, thay số với số âm (2.12) Điều dẫn đến giá trị x = 144 x = 293, 197 có bậc mô đun 437 22 Khóa luận tốt nghiệp 2.7 Nguyễn Hồng Nhung Thuật toán Pohlig–Hellman Nếu m = m1 m2 mt tích số cặp số nguyên tố, định lý số dư Trung Quốc nói việc giải phương trình mô đun m tương đương việc giải phương trình mô đun mi cho i, chúng cho biết cách đan đáp án với để có đáp án mô đun m Trong toán logarit rời rạc (DLP), cần phải giải phương trình g x ≡ h mod p Trong trường hợp này, mô đun p số nguyên tố, cho thấy định lý phần dư Trung Quốc không thích hợp Tuy nhiên, nhớ lại đáp án x xác định mô đun p − 1, nghĩ đáp án Z/(p − 1)Z Điều gợi ý thừa số số nguyên tố p − đóng vai trò việc xác định khó khăn DLP F∗p Tổng quát hơn, G nhóm g ∈ G phần tử N , đáp án để g x = h G xác định theo mô đun N , thừa số nguyên tố N xuất có liên quan Ý tưởng cốt lõi thuật toán Pohlig-Hellman Định lý 2.2 (Thuật toán Pohlig-Hellman) Cho G nhóm, giả sử có thuật toán để giải toán logarit rời rạc G cho phần tử mà bậc lũy thừa nguyên tố Để cụ thể, g ∈ G có bậc q e , giải g x = h O(Sqe ) bước Bây cho g ∈ G phần tử có bậc N , giả sử tồn tích số thừa số lũy thừa số nguyên tố N = q1e1 q2e2 qtet 23 Khóa luận tốt nghiệp Nguyễn Hồng Nhung Thì toán logarit rời rạc g x = h giải t O Sqiei + log N bước (2.13) i=1 cách sử dụng phương pháp sau đây: (1) Đối với ≤ i ≤ t, cho ei ei gi = g N/qi hi = hN/qi Chú ý gi lũy thừa số nguyên tố bậc qiei , sử dụng thuật toán để giải toán logarit rời rạc giy = hi (2.14) Cho y = yi đáp án cho (2.14) (2) Sử dụng định lý phần dư (Định lý 2.1) để giải x ≡ y1 mod q1e1 , x ≡ y2 mod q2e2 , , x ≡ yt mod qtet Chứng minh Thời gian chạy rõ ràng, kể từ Bước (1) lấy O (2.15) Sqtet bước, Bước (2), thông qua định lý số dư, phải O(logN ) bước Trong thực tế, tính toán định lý phần dư Trung Quốc thường không đáng kể so với tính toán logarit rời rạc Nó cho thấy Bước (1) (2) đưa đáp án cho g x = h Cho x đáp án cho hệ thống đồng dư (2.15) Thì với i viết x = yi + qiei zi với zi 24 (2.16) Khóa luận tốt nghiệp Nguyễn Hồng Nhung Điều cho phép tính toán ei ei ei (g x )N/qi = (g yi +qi zi )N/qi từ (2.16), ei = (g N/qi ).g N zi ei = (g N/qi )yi g N phần tử đồng nhất, = giyi định nghĩa gi = hi từ (2.14) ei = hN/qi định nghĩa hi Trong quan điểm logarit rời rạc số g, viết lại N N (2.17) ei x ≡ ei logg (h) mod N, qi qi nhớ lại logarit rời rạc số g xác định theo mô đun N , từ g N phần tử đồng Tiếp theo quan sát số N N N e1 , e2 , , et q1 q2 qt nhân tử chung, tức là, ước chung lớn Lặp lặp lại ứng dụng định lý Euclid mở rộng nói tìm thấy số nguyên c1 , c2 , , ct cho N N N e1 c1 + e2 c2 + + et ct = q1 q2 qt (2.18) Bây nhân hai vế (2.17) với ci tổng tất với i = 1, 2, , t Điều cho t i=1 N ci x ≡ qiei t i=1 N ci logg (h) mod N, qiei sau (2.18) cho biết x = logg (h) mod N Điều hoàn thành chứng minh x thỏa mãn g x ≡ h 25 ✷ Khóa luận tốt nghiệp Nguyễn Hồng Nhung Chú ý 2.6 Các thuật toán Pohlig-Hellman nhiều làm giảm toán bậc tuỳ ý đến toán logarit rời rạc cho phần tử có bậc lũy thừa số nguyên tố Một điều quan trọng, mà thảo luận phần này, làm giảm toán với phần tử lũy thừa Chính xác hơn, thời gian chạy Sqe cho phần tử có bậc q e giảm xuống O(eSq ) Mệnh đề 2.5 Cho G nhóm Giả sử q số nguyên tố, giả sử biết thuật toán mà có Sq bước để giải toán logarit rời rạc g x = h G g có bậc q Bây cho g ∈ G phần tử có bậc q e với e ≥ Thì giải toán logarit rời rạc g x = h O(eSq ) bước (2.19) √ Chú ý 2.7 Mệnh đề 2.3 nói Sq = O( q), √ Mệnh đề 2.5 nói giải DLP (2.19) O(e q) bước Chú ý áp dụng Mệnh đề 2.3 trực tiếp đến DLP (2.19), thời gian chạy O(q e/2 ), mà chậm nhiều e ≥ Chứng minh Mệnh đề 2.5 Ý tưởng quan trọng để chứng minh định lí viết số mũ chưa biết x có dạng x = x0 + x1 q + x2 q + + xe−1 q e−1 với ≤ xi < q, (2.20) sau xác định tiếp x0 , x1 , x2 , Chúng ta bắt đầu cách quan sát phần tử g q hq e−1 e−1 bậc q Điều cho phép tính toán = (g x )q e−1 đưa lên hai vế (2.19) với lũy thừa q e−1 = (g x0 +x1 q+x2 q = g x0 q = (g q e−1 e−1 + +xe−1 q e−1 q e−1 ) e (g q )x1 +x2 q+ +xe−1 q e )x0 g q = 26 e−2 từ (2.20) Khóa luận tốt nghiệp Khi g q e−1 Nguyễn Hồng Nhung phần tử bậc q G, phương trình gq x0 e−1 = hq e−1 toán logarit rời rạc có số phần tử bậc q Theo giả thiết, giải toán Sq bước Một điều thực hiện, biết số mũ x0 với tính chất g x0 q e−1 = hq e−1 G Tiếp theo ta làm tính toán tương tự, lần thời gian hai bên (2.19) tăng lên với q e−2 lũy thừa, cho hq e−2 = (g x )q e−2 = (g x0 +x1 q+x2 q + +xe−1 q e−1 q e−2 ) = g x0 q e−2 g x1 q e−1 = g x0 q e−2 g x1 q e−1 e (g q )x2 +x3 q+ +xe−1 q e−3 Hãy nhớ xác định giá trị x0 phần tử g q e−1 có bậc q G Để tìm x1 , phải giải toán logarit rời rạc gq x1 e−1 = h.g −x0 q e−2 chưa biết x1 Một lần áp dụng thuật toán định, giải Sq bước Do O(2Sq ) bước, xác định giá trị cho x0 x1 thỏa mãn g (x0 +x1 q)q e−2 = hq e−2 G Tương tự vậy, thấy x2 cách giải toán logarit rời rạc gq e−1 x2 = h.g −x0 −x1 q q e−3 , nói chung, sau xác định x0 , , xi−1 , giá trị xi thu cách giải g q e−1 xi = h.g −x0 −x1 q− −xi−1 q i−1 27 q e−i−1 G Khóa luận tốt nghiệp Nguyễn Hồng Nhung Trong số toán logarit rời rạc có số bậc q, số chúng giải Sq bước Do sau O(eSq ) bước, có số mũ x = x0 + x1 q + + xe−1 q e−1 thỏa mãn g x = h, ✷ giải toán logarit rời rạc ban đầu Ví dụ 2.11 Chúng ta làm ví dụ để làm rõ thuật toán mô tả chứng minh Mệnh đề 2.5 Chúng ta giải 5448x = 6909 F∗11251 (2.21) Số nguyên tố p = 11251 có tính chất p − chia hết cho 54, dễ dàng để kiểm tra xem 5448 có bậc xác 54 F11251 Bước giải 54485 x0 = 69095 , làm giảm đến 11089x0 = 11089 Cái dễ dàng; câu trả lời x0 = 1, giá trị x x = Bước giải x1 54485 = 6909.5448−x0 52 = 6909.5448−1 52 , làm giảm đến 11089x1 = 3742 Lưu ý cần kiểm tra giá trị x1 4, q lớn, chúng sử dụng thuật toán nhanh Mệnh đề 2.3 để giải toán logarit rời rạc Trong trường hợp, kết x1 = 2, giá trị x x = 11 = + 2.5 Tiếp tục, giải 54485 x2 = 6909.5448−x0 −x1 5 = 6909.5448−11 , làm giảm đến 11089x2 = Do x2 = 0, có nghĩa giá trị x lại x = 11 Bước cuối giải 54485 x3 = 6909.5448−x0 −x1 5−x2 = 6909.5448−11 28 Khóa luận tốt nghiệp Nguyễn Hồng Nhung Điều làm giảm để đáp án 11089x3 = 6320, đáp án x3 = Do trả lời cuối x = 511 = + 2.5 + 4.53 Khi kiểm tra, tính toán 5448511 = 6909 F11251 Ví dụ 2.12 Hãy xem xét toán logarit rời rạc 23x = 9689 F11251 (2.22) Cơ số 23 gốc nguyên thủy F11251 , tức là, có bậc 11250 Từ 11250 = 2.32 54 tích số số nguyên tố nhỏ, thuật toán Pohlig-Hellman làm việc tốt Trong ký hiệu Định lý 2.2, đặt p = 11251, g = 23, h = 9689, N = p − = 2.32 54 Bước giải ba toán logarit rời rạc con, bảng sau q e g (p−1)/q e h(p−1)/q e e e Giải (g (p−1)/q )x = h(p−1)/q cho x 11250 11250 5029 10724 5448 6909 511 Bước thứ hai sử dụng định lý phần dư Trung Quốc để giải đồng thời đồng dư x≡1 mod 2, x ≡ mod 32 , x ≡ 511 mod 54 Đáp án nhỏ x = 4261 Chúng ta kiểm tra câu trả lời cách tính toán 234261 = 9689 F11251 29 Khóa luận tốt nghiệp Nguyễn Hồng Nhung KẾT LUẬN Trên toàn nội dung khóa luận "Bài toán logarit rời rạc ứng dụng mật mã" Cụ thể: Chương 1: Trình bày tổng quan lí thuyết nhóm Chương 2: Mục 2.1 trình bày toán logarit rời rạc Mục 2.2 Diffie-Hellman trao đổi khóa bảo mật Mục 2.3 trình bày hệ mật khóa công khai ElGamal Mục 2.4 toán logarit rời rạc khó đến mức Mục 2.5 nghiên cứu thuật toán va chạm cho DLP Mục 2.6 trình bày định lí phần dư Trung quốc Mục 2.7 nghiên cứu thuật toán Pohlig-Hellman Do thời gian nghiên cứu lực hạn chế nên khóa luận đạt số kết định Em mong thầy cô, bạn góp ý nhận xét để khóa luận đầy đủ hoàn thiện Trước kết thúc khóa luận này, lần em xin bày tỏ lòng biết ơn sâu sắc thầy giáo trường, đặc biệt thầy giáo Trần Vĩnh Đức tận tình giúp đỡ em hoàn thành khóa luận 30 Tài liệu tham khảo [1] Jeffrey, Hoffstein, Jill Pipher, Joseph H.Silverman An Introduction to Mathematical Cryptography [2] W Diffie and M E Hellman New directions in cryptography IEEE Trans Information Theory, IT-22(6):644-654, 1976 [3] T ElGamal A public key cryptosystem and a signature scheme based on discrete logarithms IEEE Trans Inform Theory, 31(4):469-472, 1985 [...]...Chương 2 Bài toán logarit rời rạc và ứng dụng trong mật mã 2.1 Bài toán logarit rời rạc Bài toán logarit rời rạc là bài toán xuất hiện ở nhiều dạng, bao gồm cả các dạng mod p mô tả trong phần này và các dạng đường cong elliptic hiện đang được sử dụng rộng rãi trong thực tế Các đề xuất đầu tiên về giao thức trao đổi khóa chung do Diffie và Hellman, dựa trên bài toán logarit rời rạc trong trường... toán 234261 = 9689 trong F11251 29 Khóa luận tốt nghiệp Nguyễn Hồng Nhung KẾT LUẬN Trên đây là toàn bộ nội dung khóa luận "Bài toán logarit rời rạc và ứng dụng trong mật mã" Cụ thể: Chương 1: Trình bày tổng quan về lí thuyết nhóm Chương 2: Mục 2.1 trình bày về bài toán logarit rời rạc Mục 2.2 Diffie-Hellman trao đổi khóa bảo mật Mục 2.3 trình bày về hệ mật khóa công khai ElGamal Mục 2.4 bài toán logarit. .. F∗p và bất kỳ h ∈ F∗p , bài toán logarit rời rạc là xác định một số mũ x thỏa mãn g x ≡ h mod p, giả sử rằng tồn tại x Định nghĩa 2.2 Cho G là một nhóm với phép nhân Bài toán logarit cho G là bài toán có đầu vào là hai phần tử g ∈ G và h ∈ G Tìm số nguyên x thỏa mãn: g g g g = h x lần 2.2 Diffie-Hellman trao đổi khóa bảo mật Thuật toán Diffie-Hellman trao đổi giải quyết tình trạng khó xử sau Alice và. .. và các phần tử g q e−1 có bậc q trong G Để tìm x1 , chúng ta phải giải bài toán logarit rời rạc gq x1 e−1 = h.g −x0 q e−2 chưa biết x1 Một lần nữa áp dụng thuật toán nhất định, chúng ta có thể giải quyết trong Sq bước Do đó trong O(2Sq ) bước, chúng ta đã xác định các giá trị cho x0 và x1 thỏa mãn g (x0 +x1 q)q e−2 = hq e−2 trong G Tương tự như vậy, chúng ta thấy x2 bằng cách giải quyết bài toán logarit. .. Chú ý 2.4 Trong các hệ thống mật mã ElGamal, bản rõ là một số nguyên m giữa 2 và p − 1, trong khi văn bản viết thành mật mã bao gồm hai số nguyên c1 và c2 trong cùng khoảng biến thiên 2.4 Bài toán logarit rời rạc khó đến mức nào? Ký hiệu bậc đã được phát minh ra để thực hiện những ý tưởng chính xác Nó phổ biến khắp toán học và khoa học máy tính và cung cấp một cách tiện dụng để có được sự thu hút về... “các” logarit rời rạc như các số nguyên x nằm giữa 0 và p − 2 thỏa mãn g x ≡ h mod p Chú ý 2.2 Không khó để chứng minh rằng logg (ab) = logg (a) + logg (b) với mọi a, b ∈ F∗p Trong thuật ngữ toán học, logarit rời rạc logg là phép đẳng cấu nhóm từ F∗p đến Z/(p − 1)Z Ví dụ 2.1 Số p = 56509 là số nguyên tố, và ta kiểm tra xem g = 2 có là một căn nguyên thủy mô đun p Làm thế nào để tính toán logarit rời rạc. .. giảm xuống O(eSq ) Mệnh đề 2.5 Cho G là một nhóm Giả sử q là số nguyên tố, và giả sử rằng chúng ta biết một thuật toán mà có Sq bước để giải quyết bài toán logarit rời rạc g x = h trong G khi g có bậc q Bây giờ cho g ∈ G là một phần tử có bậc q e với e ≥ 1 Thì chúng ta có thể giải quyết các bài toán logarit rời rạc g x = h trong O(eSq ) bước (2.19) √ Chú ý 2.7 Mệnh đề 2.3 nói rằng chúng ta có thể mất... hệ thống mật mã khóa công khai của ElGamal (PKC ElGamal) được dựa trên bài toán logarit rời 11 Khóa luận tốt nghiệp Nguyễn Hồng Nhung rạc cho F∗p PKC ElGamal là ví dụ đầu tiên của ta về một hệ thống mật mã khóa công khai Alice bắt đầu bằng việc xuất bản thông tin bao gồm một khóa công khai và một thuật toán Khóa công khai chỉ đơn giản là một con số, và các thuật toán là phương pháp mà Bob mã hóa thông... mod p và g b mod p Rõ ràng là DHP không khó hơn DLP Nếu Eve có thể giải quyết DLP, thì cô ấy có thể tính toán số mũ bí mật a và b của Alice và Bob cắt ra từ các giá trị A = g a và B = g b , và sau đó nó rất dễ dàng cho cô ấy để tính toán khóa chia sẻ g ab của họ (Trong thực tế, Eve cần phải tính toán duy nhất a và b.) Nhưng chuyện này là chưa rõ ràng 2.3 Hệ thống mật mã khóa công khai ElGamal Trong. .. toàn Cuối cùng, Bob và Alice một lần nữa sử dụng số nguyên bí mật của họ để tính toán A ≡ Ba mod p và B ≡ Ab Alice tính toán này mod p Bob tính toán này Các giá trị mà họ tính toán, A và B tương ứng, thực sự giống nhau, khi đó A ≡ B a ≡ (g b )a ≡ g ab ≡ (g a )b ≡ Ab ≡ B mod p Giá trị chung này là chìa khoá trao đổi chúng Ví dụ 2.2 Alice và Bob đồng ý sử dụng số nguyên tố p = 941 và căn nguyên thủy g ... ✷ Chương Bài toán logarit rời rạc ứng dụng mật mã 2.1 Bài toán logarit rời rạc Bài toán logarit rời rạc toán xuất nhiều dạng, bao gồm dạng mod p mô tả phần dạng đường cong elliptic sử dụng rộng... nhóm 2 Bài toán logarit rời rạc ứng dụng mật mã 2.1 Bài toán logarit rời rạc 2.2 Diffie-Hellman trao đổi khóa bảo mật 2.3 Hệ thống mật mã. .. thuyết nhóm Chương 2: Bài toán logarit rời rạc ứng dụng mật mã Chương Tổng quan lý thuyết nhóm Chương giới thiệu tổng quan vài kết lý thuyết nhóm có ứng dụng toán logarit rời rạc Trước hết, ta nói