Luận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mãLuận văn thạc sĩ: Một số vấn đề toán học trong lý thuyết mật mã
ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC NGÔ THỊ NGA MỘT SỐ VẤN ĐỀ TOÁN HỌC TRONG LÝ THUYẾT MẬT MÃ LUẬN VĂN THẠC SĨ TOÁN HỌC Thái Nguyên - Năm 2014 ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC NGÔ THỊ NGA Chuyên ngành: PHƯƠNG PHÁP TOÁN SƠ CẤP Mã số : 60.46.01.13 LUẬN VĂN THẠC SĨ TOÁN HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC GS.TSKH: HÀ HUY KHOÁI Thái Nguyên - Năm 2014 Mục lục Lời nói đầu KIẾN THỨC CƠ SỞ 1.1 1.2 Kiến thức sở 1.1.1 Định lý Euler 1.1.2 Thuật toán Euclide 1.1.3 Đa thức nội suy Lagrange Tổng quan mật mã - Hệ mã công khai RSA 1.2.1 Tổng quan mật mã 1.2.2 Hệ mã mũ Pohlig Hellman 11 1.2.3 Hệ mã công khai RSA 13 CHỮ KÍ SỐ - CHỮ KÍ NGƯỠNG 17 2.1 Hàm băm mật mã 18 2.2 Chữ kí số 19 2.3 Chữ kí ngưỡng 25 2.3.1 25 Q trình kí văn LỜI NĨI ĐẦU Hiện nay, mạng máy tính ngày thể rõ vai trò thiết yếu lĩnh vực xã hội Nó trở thành phương tiện điều hành hệ thống, nhu cầu bảo mật thông tin đặt lên hàng đầu Nét bật phát triển công nghệ bảo mật thông tin ngày thâm nhập ngày sâu phương pháp Toán học vào lĩnh vực (đặc biệt phương pháp Số học Hình hoc Đại số) Với tăng truởng nhanh tốc độ vi xử lí, phương pháp mã hoá truyền thống (kể nhiều máy mã tiếng Đại chiến Thế giới) chống cự khả phá khố siêu máy tính ngày Vì người ta buộc phải tìm phương pháp mới, dựa kết nghiên cứu sâu sắc Toán học Một điều trở thành phổ biến chuyên gia hàng đầu giới mã hóa nhà tốn học đào tạo tốn học cách Chính Tốn học làm cho cơng nghệ mã có bước nhảy vọt đáp ứng cách suất xắc yêu cầu thực tiễn Mục đích luận văn nhằm trình bày sở việc ứng dụng số học lý thuyết mật mã đặc biệt chữ kí số - chữ kí ngưỡng Luận văn gồm chương: Chương I : Kiến thức sở.Chương nhằm giới thiệu chung lý thuyết mật mã, nhắc lại số khái niệm sở, số cơng cụ tốn học sử dụng tong lý thuyết mật mã liên quan đến luận văn, giới thiệu tổng quan mật mã hệ mã công khai RSA Chương II: Chữ kí số - Chữ kí ngưỡng Chương trình trình bày hàm băm mã, chữ kí số chữ kí ngưỡng Luận văn hồn thành hướng dẫn tận tình nghiêm khắc Giáo sư - Tiến sĩ khoa học Hà Huy Khoái Qua cho tơi bày tỏ lịnh kính trọng biết ơn chân thành thầy hướng dẫn, người tận tình bảo, quan tâm động viên giúp đỡ tơi hồn thành luận văn Đồng thời xin chân thành cảm ơn thầy cô, cán khoa Tốn cán phịng quản lí Khoa học - Trường Đại học Khoa học Thái Ngun hết lịng giúp đỡ tơi suốt q trình học tập nghiên cứu Cuối tơi xin cảm ơn anh,các chị,các bạn lớp cao học toán K6b trường Đại học Khoa Học Thái Nguyên động viên tinh thần ,chia sẻ khó khăn giúp đỡ tơi hồn thành luận văn Thái Nguyên, ngày 10 tháng năm 2013 Người viết Ngô Thị Nga Chương KIẾN THỨC CƠ SỞ 1.1 1.1.1 Kiến thức sở Định lý Euler Định nghĩa l.1 Cho n số tự nhiên, số lượng số tự nhiên bé n nguyên tố với n gọi phi hàm Euler n Kí hiệu: ϕ (n) Ví dụ 1.1.ϕ(5) = 4; ϕ(6) = 2; ϕ (7) = Lưu ý: Nếu p số nguyên tố ϕ(p) = p − Định nghĩa 1.2 Một hệ thặng dư đầy đủ modulo n tập hợp số nguyên cho số nguyên tùy ý đồng dư modnlo n với số tập hợp Định nghĩa 1.3 Một hệ thặng dư thu gọn modulo n tập gồm ϕ(n) số nguyên cho phần tử tập hợp nguyên tố với n, khơng có hai phần tử khác đồng dư với theo modulo n Ví dụ 1.2 Tập hơp 1, 3, 5, hệ thặng dư thu gọn modulo Định lý 1.1 Giả sử r1 ; r2 ; rϕ(n) hệ thặng dư thu gọn modulo n, a số nguyên dương (a,n)= Khi đó, tập hợp ar1 , ar2 , arϕ(n) hệ thặng dư thu gọn modulo n Chứng minh Trước hết ta chứng tỏ rằng, số arj nguyên tố với n Giả sử ngược lại (arj ; n) > với j Khi đó, tồn ước nguyên tố p (arj ;n) Do p ước số a p ước rj ; tức p ước số a p ước n; p ước rj p ước số n Tuy nhiên, khơng thể có p ước số rj p ước số n, rj n nguyên tố Tương tự, khơng thể có p ước số a p ước số n Vậy arj n nguyên tố với j=1,2, ,ϕ(n) Còn phải chứng tỏ khơng có hai số arj ; ark đồng dư modulo n Giả sử arj ≡ ark modn, j 6= k ≤ j ≤ ϕ(n); j 6= k; ≤ k ≤ ϕ(n) Vì (a,n) = nên ta suy rj ≡ rk mod n Điều mâu thuẫn rj ; rk hệ thặng dư thu gọn ban đầu modulo n Mệnh đề 1.1 Nếu m, n hai số tự nhiên ngun tố ta có ϕ(m.n) = ϕ(m).ϕ(n) Chứng minh Ta viết tất số nguyên dương không vượt m.n thành bảng sau: m+1 m+ m 2m + (n - 1) m + 2m + 2m 3m (n - l) m + nm Bây giờ, ta giả sử r số nguyên không vượt m (m,r)=d với d>l Khi đó, khơng có số dịng r nguyên tố với m.n, phần tử có dạng k.m+r với ≤ k ≤ n − Ta thấy d ước số k.m+r d ước số m r Vậy để tìm số hạng nguyên tố với m.n ta xét dòng thứ r với m r ngun tố Trên dịng r ta có số: r; m+r; 2m+r; ;(n-1)m+r Vì m r nguyên tố nên dòng r số nguyên tố với n Như vậy, n số nguyên dòng r lập thành hệ thặng dư đầy đủ modulo n Do đó, có ϕ(n) số hạng dịng ngun tố với n Do số nguyên tố với m nên chúng nguyên tố với m.n Vì có ϕ(m) dịng, dịng có chứa ϕ(n) số nguyên tố với m.n nên suy ta ϕ(m.n) = ϕ(m).ϕ(n) Hệ Giả sử n = p1 α1 pk αk phân tích n thành thừa số nguyên tố Khi ta có: ϕ (n) = n − p1 1− p2 − pk VD 1.3 ϕ (8) = ϕ 23 = 23 − = 22 Định lý 1.2 (Định lý Euler): Giả sử m số nguyên dương với (a,m)=l Khi đó, aϕ(m) ≡ 1modm Chứng minh Giả sử r1 ; r2 ; ;rϕ(m) hệ thặng dư thu gọn gồm số nguỵên dương không vượt qua m nguyên tố với m Theo định lí (a,m) = 1, tập hợp ar1 ; ar2 , ,arϕ(m) hệ thặng dư thu gọn modulo m Như vậy, thặng dư bé ar1 ; ar2 ; ; arϕ(m) phải số nguyên r1 ; r2 ; ; rϕ(m) xếp theo thứ tự Dễ thấy : ar1 ar2 arϕ(m) ≡ r1 , r2 , ,rϕ(m) (mod m) Do ta có: aϕ(m) r1 r2 rϕ(m) ≡ r1 r2 rϕ(m) modm Vì (r1 r2 rϕ(m) , m) = nên ta có: aϕ(m) ≡ 1modm Hệ 1.1 Nếu (c, m) = a ≡ bmodϕ(m) ca = cb modm Chứng minh a ≡ bmodϕ(m) suy a = k.ϕ(m) + b với k số nguyên suy ca = ck.ϕ(m)+b = ck.ϕ(m) cb Theo định lý Euler cϕ(m) ≡ 1modm từ suy ca ≡ cb modm Hệ 1.2 Nếu d số nguyên thỏa ed ≡ 1modϕ(m) (c,m)= l ced ≡ cmodm Chứng minh: Thật vậy, ed ≡ 1modϕ(m) suy ed = + k.ϕ(m) với k số nguyên Vì (c,m)= l nên cϕ(m) ≡ 1modm Như vậy, ced ≡ c1+k.ϕ(m) ≡ cmodm 1.1.2 Thuật toán Euclide Giả sử r0 = a; r1 = b số nguyên không âm b 6= Ta áp dụng liên tiếp thuật toán chia rj = rj+1 qj+1 + rj+2 với < rj +2 < rj+1 ; j= 0,l,2, ,n - rn = (a,b)=rn−1 Ta chứng minh rn−1 nói ước số chung lớn Thật vậy, giả sử: a = b.q + r ta chứng minh (a,b)=(b,r) Giả sử m ước chung a b m ước r Ngược lại m’ ước b r m’ ước a Như ước chung a b trùng ước chung b r, nên (a,b)=(b,r) Từ thuật toán giả sử r0 = a; r1 = b số nguyên dương a>b Bằng cách áp dụng liên tục thuật toán chia, ta được: r0 = r1 q1 + r2 ; ≤ r2 < r1 r1 = r2 q2 + r3 ; ≤ r3 < r2 rn−2 = rn−1 qn−1 + rn ; ≤ rn < rn−1 rn−1 = rn qn Ta thấy đến phép chia với phần dư thực sau hữu hạn bước Vì a = r0 > r1 > ≥ Ngược lại, (a,b)=d từ kết ta tìm cặp số nguyên x,y cho ax+by=d Nếu (a,b)=l ta tìm cặp số nguyên x, y thỏa mãn ax+by=l VD1.4 Tính ước chung lớn d = (18; 84) thuật tốn Euclid Ta có d = (18; 84) = (12; 18) = (6; 12) = (6; 6) = 1.1.3 Đa thức nội suy Lagrange Bài toán: Cho f(x) g(x) hai đa thức có bậc khơng q n Chứng minh hai đa thức trùng n+1 điểm hai đa thức trùng Chứng minh: Thật vậy, giả sử f(x) g(x) hai đa thức có bậc không n trùng n+1 điểm (xi ; yi ); i = 1,2 ,n+1 Vì f(x) g(x) hai đa thức có bậc khơng q n nên suy phương trình f(x) - g(x) = phương trình có bậc khơng q n Nên số nghiệm phương trình khơng vượt q n Theo giả thiết, f(x) g(x) trùng n+1 điểm (xi ; yi ); i= 1,2, n + nên suy phương trình f(x) - g(x) = có n+1 nghiệm xi , i = 1, 2, n + Vậy ta có phương trình f(x) - g(x) = phương trình có bậc khơng vượt q n lại có đến n+1 nghiệm Điều xảy phương trình f(x) - g(x) = có hệ số khơng Điều dẫn đến f(x) - g(x) ≡ hay f(x)≡g(x) Đa thức nội suy Lagrange: Cho n+1 điểm (xi ; yi ) Từ n+1 điểm ta xây dựng đa thức nội suy Lagrange f(x) n+1 n+1 Q x−xj P yi = xi −xj i=1 j=1,i6=j Ta thấy đa thức xây dựng thỏa mãn f (xi ) = yi ;i= 1,2, ,n + Nhận xét: Từ toán Đa thức nội suy Lagrange ta có kết luận sau: Cho đa thức bậc k: f (x) = a0 + a1 x + a2 x2 + + ak xk (ak 6= 0) Ta lấy k+1 điểm (xi ; f (xi )); i = 1,2, , k + Từ k+1 điểm ta xây dựng đa thức nội suy Lagrange F(x) Khi đó, ta thấy F (x) ≡ f (x) Thậm chí ta tăng số điểm lên nhiều k+1 điểm (k+2 điểm trở lên) kết cho ta không thay đổi tức F (x) ≡ f (x) 1.2 1.2.1 Tổng quan mật mã - Hệ mã công khai RSA Tổng quan mật mã Ta hiểu nơm na, mật mã học cách ngụy trang văn đối tác có quan hệ trao đổi thơng tin mật với có họ hiểu đọc nội dung văn bản, mà người khác dù có vơ tình hay cố ý có khơng thể đọc nội dung xác văn Mầm mống mật mã học có từ thời Hy B tất khối C Đến xem kết thúc q trình mã hóa Khi nhận vàn mật gửi từ A nhiệm vụ B tiến hành giải mã toàn văn để biết xác nội dung văn mà A cần gửi cho Quá trình giải mã Để giải mã văn mật B dùng khóa giải mã riêng d d nghịch đảo e theo mod n Công việc giải mã tiến hành dựa công thức Cd ≡ N ed ≡ N mod n Khi giải mã xong tồn khối C kết thúc trình giải mã Như vậy, việc giải mã khối văn mật việc nâng lên lũy thừa bậc d rút gọn theo modulo n Điều đáng lưu ý đảm bảo an tồn thơng tin RSA nâng lên đáng kể so với hệ mã mũ, vấn đề đề trở nên rõ ràng ta so sánh q trình tìm khóa giải mã hai hệ mã Hệ mã mũ tìm d từ phương trình ed ≡ 1modϕ(p) hệ mã RSA việc tìm d dựa vào phương trình ed ≡ 1modϕ(n) Trong hệ mã mũ p số nguyên tố RSA n tích hai số nguyên tố lớn, nên việc tìm ϕ(p) ϕ(n) khơng giống Như ta biết ϕ(n) = (p - l)(q- 1) nên để tính ϕ(n) ta cần phải phân tích n thừa số nguyên tố vấn đề trở nên vơ khó khăn chí hợp số nguyên n lớn Điều khó khăn chứng tỏ việc tìm d hệ mã RSA khó nhiều hệ mã mũ tính ưu việt mà RSA có vai trị vơ quan trọng giới mật mã Minh chứng sau cho ta thấy an toàn RSA: Sau tìm hệ mã, Rivest, Shamir Adleman có viết báo cơng bố phát minh dạng thông báo khoa học MIT cột Martin Gardner’s tờ báo Scientific American, họ đưa lời thách thức bạn đọc bẻ khóa mâu tin nhỏ mã hóa với: n=l14381625757888876692357799761466120102182967212423625625618 429357069325457338978305971235639587050589890751475992900268795 43541 15 số e =9007 Mẫu tin:"first solver wins one hundred dollars" Xuất dạng mã hóa (với a=01, b=02, c=03, ) giải mã vào ngày 24 tháng năm 1994 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, suppercomputer công tháng liên tục để phân tích số thừa số nguyên tố Thực tế cho thấy RSA an tồn, khơng huy động lực lượng vào công việc giải mã mẫu tin Do tính đơn giản thiết kế triển khai nên RSA sử dụng rộng rãi có lẽ nhiều số thuật tốn với khóa cơng khai 16 Chương CHỮ KÍ SỐ - CHỮ KÍ NGƯỠNG Ngày nay, với phát triển công nghệ thông tin, nhiều hoạt động người giải dễ dàng tiện lợi nhiều, từ hoạt động sinh hoạt đời thường đến giao dịch kinh tế hoạt động chuyển giao Nếu ta thực việc gửi thư tín theo cách thơng thường cho người đó, ta phải nhiều ngày thư tín tới người nhận, với công nghệ thư điện tử cần vài phút ta gửi thư tín Thậm chí thực trò chuyện trực tiếp với dù khoảng cách Đại dương Bên cạnh hoạt động hàng ngày hoạt động giao dịch xuyên quốc gia thực hiện, q trình kí kết thực với hổ trợ việc kí kết điện tử Cũng giống kí kết thơng thường kí kết điện tử đảm bảo đặc thù giao dịch hiệu quả, hai bên đối tác hoàn toàn chịu trách nhiệm với chữ kí văn điện tử dần pháp luật bảo hộ Vấn đề, phát triển hết tính ưu việt q trình kí điện tử Ví dụ tránh giả mạo, kí nháy Trong hệ thống có nhiều cá thể tham gia, khóa lại cơng khai, biết thơng tin gửi từ ai? Làm tránh người mạo danh người để gửi thông tin đến người thứ ba? Nói cách khác, kí tên lên văn điện tử, để người nhận biết đích xác nhận văn gửi từ để người gửi khơng thể thối thác trách nhiệm với việc gửi văn Đây vấn đề xác nhận chủ thể chế trao đổi thông tin điện tử 17 Ta biết rằng, hệ thống mã hóa cơng khai, người biết khóa cơng khai cá thể, ngược lại khơng biết khóa mật Và ta biết hệ mã RSA, hai khóa mật khóa cơng khai có vai trị đối xứng có nghĩa dùng đế mã hóa dùng để giải mã Như vậy, cá thể dùng khóa mật để mã hóa văn người giải mã khóa cơng khai cơng bố Đồng thời người biết xác văn gửi Như vậy, cá thể A dùng khóa mật để mã hóa văn đồng nghĩa anh khẳng định với người văn gửi Điều đồng nghĩa kí tên lên văn 2.1 Hàm băm mật mã Hàm băm - hiểu theo nghĩa đơn giản hàm cho tương ứng mảng diữ liệu lớn với mảng liệu nhỏ hơn, hàm băm sử dụng rộng rãi nhiều ứng dụng khác tin học, không thuộc mật mã học Ở xét hàm băm có thuộc tính định, có khả ứng dụng cơng nghệ mã, trước hết lĩnh vực đảm bảo tính tồn vẹn liệu Những hàm băm gọi hàm băm mật mã Các hàm băm nhận chuỗi bit có độ dài tùy ý (hữu hạn) làm liệu đầu vào tạo chuỗi bit có chiều dài cố định n bit (n > số) gọi mã băm Điều đáng quan tâm mã băm không phụ thuộc vào độ dài văn nhạy cảm thay đổi văn đầu vào thay đổi Xác suất để hai liệu đầu vào khác có mã băm vơ thấp xem Nên để tìm chuỗi liệu đầu vào biết mã băm khơng thể thực Trong lĩnh vực mã hóa thơng tin, mã băm xem hình ảnh đặc trưng thu gọn chuỗi bit có độ dài tùy ý (hữu hạn), dùng để nhận diện chuỗi bit Kết hợp với cơng cụ tạo chữ kí số, hàm băm dùng cho việc đảm bảo tính tồn vẹn liệu Và q trình kiểm tra tính tồn vẹn liệu diễn 18 ... ứng dụng số học lý thuyết mật mã đặc biệt chữ kí số - chữ kí ngưỡng Luận văn gồm chương: Chương I : Kiến thức sở.Chương nhằm giới thiệu chung lý thuyết mật mã, nhắc lại số khái niệm sở, số cơng... phương pháp mới, dựa kết nghiên cứu sâu sắc Toán học Một điều trở thành phổ biến chuyên gia hàng đầu giới mã hóa nhà toán học đào tạo toán học cách Chính Tốn học làm cho cơng nghệ mã có bước nhảy vọt...ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC KHOA HỌC NGÔ THỊ NGA Chuyên ngành: PHƯƠNG PHÁP TOÁN SƠ CẤP Mã số : 60.46.01.13 LUẬN VĂN THẠC SĨ TOÁN HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC GS.TSKH: HÀ HUY