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ĩ)
Trang 1ĐẠ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
Trang 2ĐẠ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ỌCGS.TSKH: HÀ HUY KHOÁI
Thái Nguyên - Năm 2014
Trang 3Mục lục
1.1 Kiến thức cơ sở 4
1.1.1 Định lý Euler 4
1.1.2 Thuật toán Euclide 7
1.1.3 Đa thức nội suy Lagrange 7
1.2 Tổng quan về mật mã - Hệ mã công khai RSA 8
1.2.1 Tổng quan về mật mã 8
1.2.2 Hệ mã mũ của Pohlig và Hellman 11
1.2.3 Hệ mã công khai RSA 13
2 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 Quá trình kí văn bản 25
Trang 4LỜI NÓI ĐẦU
Hiện nay, mạng máy tính ngày càng thể hiện rõ vai trò thiết yếu trong mọi lĩnhvực của xã hội Nó đã và đang trở thành phương tiện điều hành các hệ thống, khi
đó nhu cầu bảo mật thông tin được đặt lên hàng đầu Nét nổi bật trong sự pháttriển của công nghệ bảo mật thông tin ngày nay là sự thâm nhập ngày càng sâucủa phương pháp Toán học vào lĩnh vực này (đặc biệt là của các phương pháp Sốhọc và Hình hoc Đại số) Với sự tăng truởng nhanh về tốc độ của các bộ vi xử lí,các phương pháp mã hoá truyền thống (kể cả nhiều máy mã từng nổi tiếng trongcác cuộc Đại chiến Thế giới) đã không thể chống cự nổi khả năng phá khoá củacác siêu máy tính ngày nay Vì vậy người ta đã buộc phải tìm những phương phápmới, dựa trên kết quả nghiên cứu sâu sắc của Toán học Một điều đã trở thànhrất phổ biến hiện nay là các chuyên gia hàng đầu thế giới về mã hóa đều là nhàtoán học hoặc được đào tạo toán học một cách cơ bản Chính Toán học đã làmcho công nghệ mã có một bước nhảy vọt và đáp ứng một cách suất xắc các yêucầu của thực tiễn hiện tại Mục đích của luận văn này nhằm trình bày cơ sở củaviệc ứng dụng số học trong lý thuyết mật mã đặc biệt là chữ kí số - chữ kí ngưỡng.Luận văn gồm 2 chương: Chương I : Kiến thức cơ sở.Chương này nhằm giới thiệuchung về lý thuyết mật mã, nhắc lại một số khái niệm cơ sở, một số công cụ toánhọ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 vềmật mã và hệ mã công khai RSA Chương II: Chữ kí số - Chữ kí ngưỡng Chươngtrình trình bày về hàm băm mã, chữ kí số và chữ kí ngưỡng Luận văn này đượchoàn thành dưới sự hướng dẫn tận tình và nghiêm khắc của Giáo sư - Tiến sĩ khoahọc Hà Huy Khoái Qua đây cho tôi bày tỏ lònh kính trọng và biết ơn chân thành
2
Trang 5đối với thầy hướng dẫn, người đã tận tình chỉ bảo, quan tâm động viên và giúp đỡtôi hoàn thành bản luận văn này Đồng thời tôi xin chân thành cảm ơn các thầy
cô, các cán bộ khoa Toán và các cán bộ phòng quản lí Khoa học - Trường Đại họcKhoa học Thái Nguyên đã hết lòng giúp đỡ tôi trong suốt quá trình học tập vànghiên cứu Cuối cùng tôi xin cảm ơn các anh,các chị,các bạn lớp cao học toánK6b của trường Đại học Khoa Học Thái Nguyên đã động viên tinh thần ,chia sẻnhững khó khăn và giúp đỡ tôi hoàn thành luận văn này
Thái Nguyên, ngày 10 tháng 5 năm 2013
Người viết
Ngô Thị Nga
Trang 6Lưu ý: Nếu p là số nguyên tố thì ϕ(p) = p − 1
Định nghĩa 1.2 Một hệ thặng dư đầy đủ modulo n là một tập hợp số nguyênsao cho mỗi số nguyên tùy ý đều đồng dư modnlo n với đúng một số của tập hợp.Định nghĩa 1.3 Một hệ thặng dư thu gọn modulo n là một tập gồm ϕ(n) sốnguyên sao cho mỗi phần tử của tập hợp đều nguyên tố cùng nhau với n, và không
có hai phần tử khác nhau nào đồng dư với nhau theo modulo n
Ví dụ 1.2 Tập hơp 1, 3, 5, 7 là một hệ thặng dư thu gọn modulo 8
Định lý 1.1 Giả sửr1; r2; rϕ(n) là hệ thặng dư thu gọn modulo n, a là số nguyêndương và (a,n)= 1 Khi đó, tập hợp ar1, ar2, arϕ(n) cũng là hệ thặng dư thu gọnmodulo n
Chứng minh
Trước hết ta chứng tỏ rằng, mỗi số arj nguyên tố cùng nhau với n Giả sử ngượclại (ar j; n) > 1 với j nào đó Khi đó, tồn tại ước nguyên tố p của (ar j;n) Do đóhoặc p là ước số của a hoặc p là ước của rj; tức là p là ước số của a và p là ướccủa n; hoặc p là ước của rjvà p là ước số của n Tuy nhiên, không thể có p là ước
4
Trang 7số của rj và p là ước số của n, vì rj và n nguyên tố cùng nhau Tương tự, khôngthể có p là ước số của a và p là ước số của n Vậy arj và n nguyên tố cùng nhauvới mọi j=1,2, ,ϕ(n)
Còn phải chứng tỏ không có hai số arj; ark nào đồng dư nhau modulo n Giả sử
arj ≡ ark modn, j 6= k và 1 ≤ j ≤ ϕ(n); j 6= k; 1 ≤ k ≤ ϕ(n) Vì (a,n) = 1 nên ta suy
ra r j ≡ rkmod n Điều này mâu thuẫn vì r j; rk cùng hệ thặng dư thu gọn ban đầumodulo n
Mệnh đề 1.1 Nếu m, n là hai số tự nhiên nguyên tố cùng nhau thì ta có
và r
Vậy để tìm số hạng nguyên tố cùng nhau với m.n ta chỉ xét trên dòng thứ r với m
và r nguyên tố cùng nhau
Trên dòng r đó ta có các số: r; m+r; 2m+r; ;(n-1)m+r Vì m và r nguyên tố cùngnhau nên trên dòng r các số đều nguyên tố cùng nhau với n Như vậy, n số nguyêntrên dòng r lập thành hệ thặng dư đầy đủ modulo n Do đó, có đúngϕ(n) số hạngtrên dòng đó nguyên tố cùng nhau với n Do các số cũng nguyên tố cùng nhau với
m nên chúng nguyên tố cùng nhau với m.n
Vì có ϕ(m) dòng, mỗi dòng có chứa ϕ(n) số nguyên tố cùng nhau với m.n nên suy
ra ta được ϕ(m.n) = ϕ(m).ϕ(n)
Trang 8dư bé nhất của ar 1 ; ar 2 ; ; arϕ(m) phải là các số nguyên r 1 ; r 2 ; ; rϕ(m) xếp theo thứ
tự nào đó
Dễ thấy rằng : ar1.ar2 arϕ(m) ≡ r1, r2, ,rϕ(m) (mod m)
Do đó ta có: aϕ(m)r1r2 rϕ(m) ≡ r1r2 rϕ(m)modm
Vì (r1.r2 rϕ(m), m) = 1 nên ta có: aϕ(m) ≡ 1modm
Hệ quả 1.1 Nếu (c, m) = 1 và a ≡ bmodϕ(m)thì ca = cbmodm
Chứng minh a ≡ bmodϕ(m) suy ra a = k.ϕ(m) + b với k là số nguyên suy ra
Trang 91.1.2 Thuật toán Euclide
Giả sử r0 = a; r1 = b là các số nguyên không âm và b 6= 0 Ta áp dụng liên tiếpthuật toán chia rj = rj+1.qj+1+ rj+2với 0 < rj+2 < rj+1; j= 0,l,2, ,n - 2 và rn = 0
khi đó (a,b)=r n−1
Ta chứng minh rn−1 nói trên là ước số chung lớn nhất
Thật vậy, giả sử: a = b.q + r ta chứng minh (a,b)=(b,r) Giả sử m là ước chungnào đó của a và b khi đó m là ước của r Ngược lại nếu m’ là ước của b và r thìm’ là ước của a Như vậy ước chung của a và b trùng ước chung của b và r, nên(a,b)=(b,r) Từ thuật toán trên giả sửr0 = a; r1 = b là các số nguyên dương và a>b.Bằng cách áp dụng liên tục thuật toán chia, ta được:
VD1.4 Tính ước chung lớn nhất d = (18; 84) bằng thuật toán Euclid
Trang 10Thật vậy, giả sử f(x) và g(x) là hai đa thức có bậc không quá n và trùng nhau ởn+1 điểm (xi; yi); i = 1,2 ,n+1 Vì f(x) và g(x) là hai đa thức có bậc không quá nnên suy ra phương trình f(x) - g(x) = 0 là phương trình có bậc không quá n Nên
số nghiệm của phương trình không vượt quá n
Theo giả thiết, f(x) và g(x) trùng nhau ở n+1 điểm (xi; yi);
i= 1,2, n + 1 nên suy ra phương trình f(x) - g(x) = 0 có n+1 nghiệm x i, i = 1,2, n + 1
Vậy ta có được phương trình f(x) - g(x) = 0 là phương trình có bậc không vượtquá n nhưng lại có đến n+1 nghiệm
Điều đó xảy ra khi phương trình f(x) - g(x) = 0 có các hệ số đều bằng không.Điều đó dẫn đến f(x) - g(x) ≡ 0 hay f(x)≡g(x)
Đa thức nội suy Lagrange:
Cho n+1 điểm (x i ; y i ) Từ n+1 điểm đó ta xây dựng đa thức nội suy Lagrange f(x)
đó, ta thấy F (x) ≡ f (x) Thậm chí nếu ta tăng số điểm lên nhiều hơn k+1 điểm(k+2 điểm trở lên) thì kết quả cho ta vẫn không thay đổi tức là F (x) ≡ f (x)
1.2 Tổng quan về mật mã - Hệ mã công khai RSA
1.2.1 Tổng quan về mật mã
Ta có thể hiểu nôm na, mật mã học là cách ngụy trang văn bản giữa các đối tác
có quan hệ trao đổi thông tin mật với nhau và chỉ có họ mới hiểu và đọc được nộidung văn bản, mà người khác dù có vô tình hay cố ý có được cũng không thể đọcđược nội dung chính xác của văn bản Mầm mống mật mã học đã có từ thời Hy
8
Trang 11lạp cổ đại (khoảng 400 năm trước công nguyên) và nó được dùng chủ yếu trong
bí mật quân sự Người Hy lạp cổ đại dùng một dải băng dài và quấn thành khốihình trụ tròn xoay rồi viết chữ lên đó theo cách thức thông thường Mẫu tin đượcchuyển đi dưới dạng dải băng và chỉ có thể đọc ra khi biết được bán kính khối trụ
và quấn lại dải băng như khi đã viết Trong cách dùng này ta thấy được điều thú
vị ở đây là, giả sử có ai đó có được giải băng mà không biết được đường kính thìcũng không thể quấn lại được giải băng như mong muốn để đọc nội dung Rõ ràngtrong cách dùng này thì chỉ có người trong cuộc (những người biết được chính xácđường kính khối trụ) thì mới có thể đọc được nội dung văn bản, người ngoài cuộckhông thể đọc được nội dung văn bản Nên vấn đề bảo mật thông tin là có cơ sở
Ở đây đường kính khối trụ xem như chìa khóa lập và giải mã văn bản Dù cònrất sơ khai nhưng chúng ta cũng thấy được sức mạnh sự bảo mật của nó, và đâyđúng thực là cái nôi của mật mã học Đến thời Hoàng để Caesar thì mật mã đượcdùng tinh vi hơn, cụ thể như sau : Hoàng đế Caesar đã từng dùng phép mã thaythế trong quân sự, trong đó mỗi kí tự được được thay thế bởi kí tự đứng sau nó
ba vị trí trong bảng chữ cái alphabet; nghĩa là chữ A được thay thế bằng chữ D,chữ B được thay tliế bằng chữ E, Trong thực tế, việc triển khai một hệ mã nhưthế là khá đơn giản và cũng thuận tiện trong việc sử dụng, với việc dùng hai chiếcđĩa đồng tâm có bán kính khác nhau và có các bảng chữ cái rải đều trên vành đĩa.Việc xoay một trong hai cái đĩa sao cho chữ A trên vành đĩa nhỏ nằm trên bánkính nối tâm đĩa vối chữ D trên vành đĩa lớn sẽ xác định được phép mã Caesar.nói trên, thông qua phép tương ứng giữa các chữ cái trên vành đĩa nhỏ với các chữcái trên vành đĩa lớn Nói chung, việc xoay đĩa theo một góc bất kỳ sẽ mang lạimột phép mã Caesar Mấu chốt vấn đề là ở chỗ, nếu ta không nắm được qui ướcthay thế thì các kí tự thì không thể dịch văn bản mật thành văn bản gốc được và
vì thế không thể đọc được nội dung văn bản Từ hai cách dùng trên ta thấy mộtđiều là tầm quan trọng trong việc bảo mật thông tin của con người Đặc biệt làtrong lĩnh vực quân sự, nếu thông tin quân sự mật mà bị đối phương nắm bắt thì
Trang 12Luận án đầy đủ ở file: Luận án Full