Luận văn Thạc sĩ Khoa học: Ứng dụng mã Xyclic cục bộ xây dựng hệ mật
lượt xem 3
download
Nội dung của luận văn nhằm tìm hiểu hệ mật khóa công khai McEliece; nghiên cứu về mã xyclic cục bộ, tìm hiểu một phương án phân hoạch tổng quát vành theo nhóm nhân xyclic đơn vị; xây dựng một hệ mật dựa trên lược đồ McEliece sử dụng mã xyclic cục bộ.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Luận văn Thạc sĩ Khoa học: Ứng dụng mã Xyclic cục bộ xây dựng hệ mật
- ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN ------------------- PHẠM XUÂN CÔNG ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT LUẬN VĂN THẠC SĨ KHOA HỌC Hà Nội – 2010 1
- ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN ------------------- PHẠM XUÂN CÔNG ỨNG DỤNG MÃ XYCLIC CỤC BỘ XÂY DỰNG HỆ MẬT Chuyên ngành: Bảo đảm toán học cho máy tính và hệ thống tính toán Mã số: 60.46.35 LUẬN VĂN THẠC SĨ KHOA HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC: TS. PHẠM VIỆT TRUNG Hà Nội – 2010 2
- MỤC LỤC MỤC LỤC ............................................................................................................. 1 CÁC CHỮ VIẾT TẮT.......................................................................................... 3 DANH MỤC BẢNG BIỂU ................................................................................... 4 DANH MỤC HÌNH VẼ ........................................................................................ 5 MỞ ĐẦU ............................................................................................................... 6 CHƯƠNG 1 - TỔNG QUAN VỀ HỆ MẬT ...................................................10 1.1. Khái quát chung hệ mật mã cổ điển ...........................................................10 1.1.1. Mô hình hệ thống truyền tin mật ...........................................................10 1.1.2. Một số hệ mật mã cổ điển điển hình......................................................11 1.2. Hệ mật khoá công khai...............................................................................13 1.2.1. Khái quát chung....................................................................................13 1.2.2. Nguyên tắc chung mã hoá với khoá công khai ......................................14 1.2.3. Quá trình phát triển của hệ mật mã khoá công khai ...............................14 1.3. Kết luận .....................................................................................................24 CHƯƠNG 2 - LÝ THUYẾT VỀ MÃ XYCLIC CỤC BỘ VÀ PHÂN HOẠCH VÀNH ĐA THỨC ................................................................................25 2.1. Khái niệm mã xyclic và vành đa thức .........................................................25 2.1.1. Mã tuyến tính........................................................................................25 2.1.2. Vành đa thức.........................................................................................26 2.1.3. Mã xyclic..............................................................................................28 2.1.4. Mã hoá cho mã xyclic ...........................................................................30 2.1.5. Giải mã ngưỡng ....................................................................................31 2.1.6. Khái niệm mã xyclic cục bộ..................................................................34 2.1.7. Mối quan hệ giữa mã xyclic và xyclic cục bộ........................................34 2.1.8. Mã xyclic cục bộ xây dựng trên các nhóm nhân xyclic .........................35 2.2. Phân hoạch vành đa thức theo nhóm nhân xyclic.......................................35 2.2.1. Phân hoạch của vành theo các nhóm nhân xyclic ..................................35 2.2.2. Phân hoạch vành đa thức theo nhóm nhân xyclic đơn vị .......................37 2.2.3. Thuật toán xây dựng vành đa thức theo nhóm nhân xyclic đơn vị .........39 2.3. Kết luận .....................................................................................................41 CHƯƠNG 3 - XÂY DỰNG HỆ MẬT MCELIECE TRÊN MÃ XCB..........42 3.1. Tiêu chí lựa chọn bộ mã xyclic cục bộ và mô hình toán học để xây dựng hệ mật McEliece .........................................................................................................42 3.1.1. Tiêu chí lựa chọn bộ mã XCB để xây dựng hệ mật McEliece................42 3.1.2. Mô hình toán học xây dựng hệ mật McEliece với mã xyclic cục bộ ......42
- 3.2. Sơ đồ khối xây dựng hệ mật McEliece với mã xyclic cục bộ .......................43 3.2.1. Sơ đồ mã hoá ........................................................................................43 3.2.2. Sơ đồ giải mã........................................................................................46 3.3. Về một phương pháp xây dựng hệ mật McEliece trên mã XCB...................48 3.3.1. Phương pháp tạo khoá mã .....................................................................48 3.3.2. Thuật toán mã hoá ................................................................................50 3.3.3. Thuật toán giải mã ................................................................................53 3.4. Nghiên cứu thử nghiệm hệ mật McEliece trên mã xyclic cục bộ .................59 3.4.1. Quá trình tạo khoá ................................................................................59 3.4.2. Quá trình mã hoá ..................................................................................62 3.4.3. Quá trình giải mã ..................................................................................63 3.5. Đánh giá hệ mật McEliece trên mã xyclic cục bộ .......................................66 3.6. Kết luận .....................................................................................................67 KẾT LUẬN CHUNG...........................................................................................68 TÀI LIỆU THAM KHẢO ...................................................................................69 2
- CÁC CHỮ VIẾT TẮT deg Bậc của đa thức (degree ) UCLN Ước chung lớn nhất (gcd) ord Cấp (order) XCB xyclic cục bộ 3
- DANH MỤC BẢNG BIỂU Bảng 2.1: Các mã xyclic trên vành Z2[x]/x7+1 Bảng 2.2: Phân hoạch vành Z2[x]/x5+1 theo nhóm nhân xyclic đơn vị Bảng 2.3: Phân hoạch vành với a(x) = 1 + x + x2 Bảng 2.4: Kết quả phân hoạch vành đa thức trên máy tính core 2 duo 2.26GHz Bảng 3.1: Phân hoạch vành đa thức theo nhóm nhân xyclic đơn vị với k =8 Bảng 3.2: Các lớp kề lựa chọn để xây dựng bộ mã (64,8,32) Bảng 3.3: Ma trận G1 (8,64) Bảng 3.4: Ma trận sinh G (7,64) Bảng 3.5: Các dữ liệu nhị phân của 10 ký tự là: "1234567890" Bảng 3.6: Đánh giá hiệu suất phần mềm mã hoá và giải mã 4
- DANH MỤC HÌNH VẼ Hình 1.1: Mô hình hệ thống truyền tin mật Hình 2.1: Thiết bị mã hoá cho mã xyclic (n,k) có đa thức sinh g(x) Hình 2.2: Cấu trúc vành Z2[x] / xn+1 Hình 2.3: Sơ đồ thuật toán tính phân hoạch vành theo nhóm nhân xyclic đơn vị Hình 2.4. Chương trình tính phân hoạch vành theo nhóm nhân xyclic đơn vị Hình 3.1: Sơ đồ khối xây dựng hệ mật McEliece với mã XCB – Sơ đồ mã hoá Hình 3.2: Sơ đồ khối xây dựng hệ mật McEliece với mã XCB – Sơ đồ giải mã Hình 3.3: Sơ đồ thuật toán mã hoá Hình 3.4: Sơ đồ thuật toán giải mã Hình 3.5: Chương trình phần mềm mã hoá và giải mã 5
- MỞ ĐẦU Ngày nay với sự phát triển mạnh mẽ của công nghệ thông tin và truyền thông, máy tính và mạng máy tính đang ngày càng đóng vai trò thiết yếu trong mọi lĩnh vực hoạt động của toàn xã hội. Dữ liệu trao đổi trên mạng chứa rất nhiều thông tin quan trọng cần được bảo vệ nên an toàn thông tin truyền trên mạng đóng một vai trò rất quan trọng. Trong những thập kỷ 70 và 80 của thế kỷ trước công nghệ mã hoá thông tin đã có bước phát triển vượt bậc. Các công nghệ mã hoá hiện đại đều không dựa vào khả năng giữ bí mật về công nghệ mã hoá (thuật toán là công khai) mà chỉ dựa vào bí mật chìa khoá giải mã, một hệ mật như vậy được gọi là hệ mật khoá công khai. Hệ mật này đáp ứng được đầy đủ đòi hỏi về bảo mật thông tin và phù hợp cho các ứng dụng rộng rãi trong cộng đồng. Trong thời gian gần đây, nhiều thuật toán tốt đã được xây dựng song song với tốc độ phát triển của công nghệ thông tin nói chung, tuy nhiên đó là những thuật toán và công nghệ mã hoá do nước ngoài cung cấp, do vậy để bảo vệ các thông tin, đặt biệt trong lĩnh vực an ninh quốc phòng, chúng ta phải tự mình xây dựng các giải pháp cho bảo mật thông tin. Ý tưởng về một hệ mật khoá công khai được Diffie và Hellman đưa ra vào năm 1976, sau đó Rivesrt, Shamir và Adleman đưa ra hệ mật nổi tiếng RSA vào năm 1977. Tiếp theo đó một số hệ mật dựa trên các thuật toán khác nhau ra đời, trong đó, quan trọng nhất là các hệ mật khoá công khai sau: - Hệ mật RSA: Độ bảo mật của hệ RSA dựa trên độ khó của việc phân tích ra thừa số nguyên lớn. - Hệ mật xếp ba lô Merkle – Hellman: Hệ này và các hệ liên quan dựa trên tính khó giải của bài toán tổng các tập con (bài toán NP đầy đủ). Tuy nhiên, tất cả các hệ mật xếp ba lô khác nhau đều đã chứng tỏ là không mật (ngoại trừ hệ mật Chor-Rivest). - Hệ mật McEliece: Hệ mật này dựa trên lý thuyết mã hoá đại số và vẫn còn được coi là an toàn. Hệ mật McEliece dựa trên bài toán giải mã cho các mã tuyến tính (cũng là một bài toán NP đầy đủ). 6
- - Hệ mật ElGamal: Hệ mật ElGamal dựa trên tính khó giải của bài toán logarithm rời rạc trên các trường hữu hạn . - Hệ mật Chor-Rivest: Hệ mật Chor-Rivest cũng được xem như một hệ mật xếp ba lô, hiện nay nó vẫn được coi là an toàn. - Hệ mật trên các đường cong Elliptic: Các hệ mật này là biến tướng của các hệ mật khác (chẳng hạn như hệ mật ElGamal), chúng làm việc trên các đường cong Elliptic chứ không phải là trên các trường hữu hạn. Hệ mật này đảm bảo độ mật với số khoá nhỏ hơn các hệ mật khoá công khai khác. Trong các hệ mật khoá công khai ở trên, duy nhất có hệ mật McEliece dựa trên lý thuyết mã đại số để xây dựng hệ mật, với ứng dụng cụ thể là mã Goppa. Từ năm 1987, GS.TSKH. Nguyễn Xuân Quỳnh và PGS.TS Nguyễn Bình lần đầu tiên đề xuất phương pháp xây dựng mã xyclic cục bộ (XCB) [1][2][3][4], cùng với các kết quả nghiên cứu của các nghiên cứu sinh [5][6], mở ra khả năng có thể nghiên cứu phát triển tiếp lý thuyết về mã xyclic cục bộ. Các kết quả nghiên cứu trước đây đã đưa ra các phương pháp phân hoạch tổng quát vành theo các nhóm nhân xyclic khác nhau trong vành. Phương pháp giải mã cho xyclic cục bộ dùng phương pháp giải mã ngưỡng biểu quyết theo đa số, giải mã ngưỡng một cấp hoặc hai cấp ngưỡng. Việc cải tạo các mã xyclic cục bộ thành các mã tối ưu được sử dụng theo các phương pháp sử dụng dấu kiểm tra chẵn, sử dụng dấu thông tin giả, các lớp mã xyclic cục bộ tự trực giao và có khả năng trực giao đã được đưa ra. Các ưu điểm nổi bật của mã xyclic cục bộ là khả năng lựa chọn mã phong phú, thuật toán mã hoá và giải mã là tường minh, có hướng mở cho các nghiên cứu kế tiếp. Chính vì vậy, chúng tôi đã chọn đề tài “Ứng dụng mã xyclic cục bộ xây dựng hệ mật” với mục đích ứng dụng khả năng của mã xyclíc cục bộ để xây dựng một hệ mật khoá công khai dựa trên hệ mật McEliece. 7
- Mục đích của luận văn Xây dựng một hệ mật khoá công khai dựa trên lược đồ hệ mật McEliece sử dụng mã xyclic cục bộ. Đối tượng nghiên cứu Lý thuyết về mật mã, hệ mật khoá công khai, lý thuyết số, đại số, lý thuyết mã xyclic cục bộ. Ý nghĩa khoa học và thực tiễn của luận văn Về khoa học: Nghiên cứu của luận văn góp phần làm phong phú thêm về lý thuyết mã xyclic cục bộ, chứng minh một khả năng mới xây dựng hệ mật khoá công khai dựa trên lý thuyết mã đại số. Về thực tiễn: Kết quả nghiên cứu sẽ đưa ra một khả năng có thể ứng dụng trong thực tế, góp phần nâng cao tính bảo mật của thông tin trên đường truyền. Phương pháp tiếp cận: Dựa trên cơ sở toán học về lý thuyết đại số, lý thuyết số học, các thuật toán để xây dựng các hệ mật khoá công khai, các giải thuật lập trình. Phương pháp nghiên cứu: Nghiên cứu lý thuyết mới về mã xyclic cục bộ. Ứng dụng các kết quả mới nhất về mã xyclic cục bộ vào hệ mật McEliece. Nội dung của luận văn - Tìm hiểu hệ mật khoá công khai McEliece - Nghiên cứu về mã xyclic cục bộ, tìm hiểu một phương án phân hoạch tổng quát vành theo nhóm nhân xyclic đơn vị. - Xây dựng một hệ mật dựa trên lược đồ McEliece sử dụng mã xyclic cục bộ. Nội dung của luận văn được chia thành các chương sau: 8
- Chương 1. Nghiên cứu tổng quan về hệ mật: Khái quát chung về hệ mật mã cổ điển, sự ra đời của hệ mật khoá công khai, phân tích hệ mật khoá công khai dựa trên thuật toán McEliece. Chương 2. Các nghiên cứu về mã xyclic cục bộ, nghiên cứu thuật toán phân hoạch vành dựa trên nhóm nhân xyclic đơn vị. Viết chương trình và chạy thử phân hoạch vành đa thức. Nghiên cứu phương án sử dụng mã xyclic cục bộ xây dựng hệ mật khoá công khai dựa trên thuật toán McEliece. Chương 3. Xây dựng hệ mật McEliece trên mã xyclic cục bộ: Về một phương pháp xây dựng hệ mật McEliece trên mã xyclic cục bộ, xây dựng thuật toán mã hoá và giải mã. Xây dựng thuật toán và viết chương trình thử nghiệm hệ mật. Kết luận. Kết luận về kết quả nghiên cứu và kiến nghị về hướng phát triển tiếp theo. 9
- Chương 1 - TỔNG QUAN VỀ HỆ MẬT Chương này trình bày tổng quan về quá trình hình thành và phát triển các hệ mật cổ điển và hệ mật khoá công khai, trong đó đi sâu phân tích về hệ mật McEliece làm tiền đề cho các chương tiếp theo. 1.1. Khái quát chung hệ mật mã cổ điển 1.1.1. Mô hình hệ thống truyền tin mật Nhiệm vụ cơ bản của mật mã là tạo ra khả năng liên lạc trên một kênh không mật cho hai người sử dụng sao cho người thám mã không thể hiểu được nội dung thông tin được truyền đi. Thông tin mà người gửi muốn gửi cho người nhận có cấu trúc tuỳ ý. Người gửi sẽ mã hoá bản tin (bản rõ) bằng một khoá đã được xác định trước và gửi bản mã tới người nhận qua kênh thông tin. Người thám mã không thể xác định được nội dung của bản rõ, nhờ có khoá mật KD người nhận có thể giải mã và thu được bản rõ. Mô hình hệ thống truyền tin mật được mô tả trên hình sau: Thám mã (Người thám mã) Bản rõ Bản mã Bản rõ Nguồn tin Bộ mã hoá Bộ giải mã Nhận tin (Người gửi) KE KD (Người nhận) Kênh an toàn truyền khoá Nguồn khoá Hình 1.1: Mô hình hệ thống truyền tin mật Theo quan niệm toán học ta có định nghĩa về hệ mật như sau [11]: Định nghĩa 1.1 Một hệ mật là bộ 5 (R, M, K, E, D) thoả mãn các điều kiện sau: 10
- 1. R là một tập hữu hạn các bản rõ có thể. 2. M là tập hữu hạn các bản mã có thể. 3. K (không gian khoá) là tập hữu hạn các khoá có thể. 4. Đối với mỗi k∈ K có một quy tắc mã ek ∈ E và một quy tắc giải mã tương ứng dk ∈ D. Mỗi ek: R → M và dk: M → R là những hàm mà: dk(ek(x)) = x với mọi bản rõ x ∈ R Theo định nghĩa trên nếu một bản rõ x được mã hoá bằng ek và bản mã nhận được giải mã bằng dk thì ta phải thu được bản rõ ban đầu x. Người nhận và người gửi sẽ áp dụng thủ tục sau dùng hệ mật khoá riêng. Trước tiên, họ chọn một khoá ngẫu nhiên k ∈ K. Tiếp theo, giả sử người gửi muốn gửi một thông báo cho người nhận trên một kênh không mật và ta xem thông báo này là một chuỗi: x = x1 x2 … xn với số nguyên n ≥ 1 nào đó. Với xi ∈ R, 1 ≤ i ≤ n, mỗi xi đều sẽ được mã hoá bằng quy tắc mã ek với khoá k xác định trước. Người gửi sẽ tính: yi = ek(xi), 1 ≤ i ≤ n Chuỗi bản mã nhận được: y = y1 y2 … yn sẽ được gửi trên kênh. Khi nhận được y, người nhận sẽ giải mã bằng dk và thu được bản rõ x = x1x2 … xn. Hàm mã hoá ek phải là hàm ánh xạ một – một, nếu không việc giải mã sẽ không thể thực hiện được một cách tường minh. Chú ý rằng nếu R = M thì mỗi hàm mã hoá sẽ là một phép hoán vị, tức là nếu tập các bản mã và tập các bản rõ là đồng nhất, thì mỗi một hàm mã sẽ là một sự sắp xếp lại (hay hoán vị) các phần tử của tập này. Hệ mật mã cổ điển (hệ mã bí mật hay hệ mã đối xứng) là hệ mã trong đó việc mã hoá và giải mã cùng sử dụng chung một khoá bí mật. 1.1.2. Một số hệ mật mã cổ điển điển hình 1.1.2.1 Mã dịch vòng 11
- Hệ mật được xây dựng dựa trên số học modulo. Ký hiệu m là số chữ cái của bộ chữ xây dựng bản rõ R. Mã dịch vòng được định nghĩa như sau. Theo định nghĩa 1.1, cho R = M = K = Zm với 0 ≤ k ≤ (m - 1) và x, y ∈ Zm, ta định nghĩa: ek(x) = (x + k) mod m và dk(x) = (y – k) mod m Các hệ mã hiện đại về thực chất là sự cải tiến của hệ mã dịch vòng. Về bản chất, mã hoá một văn bản tiếng Anh thông thường là sự thiết lập sự tương ứng giữa các chữ cái với các số theo modulo 26. Tính bảo mật của hệ mã dịch vòng nói chung là không cao, người ta có thể dùng phương pháp tìm khoá vét cạn để xác định bản rõ. Như vậy, điều kiện cần để một hệ mật an toàn là phép tìm khoá vét cạn không thể thực hiện được. 1.1.2.2 Mã thay thế Mã thay thế về bản chất là xem phép mã hoá và giải mã như các hoán vị của các ký tự và được định nghĩa như sau. Theo định nghĩa 1.1, cho R= M = Z26 , K chứa mọi hoán vị có thể của m ký hiệu. Với mỗi phép hoán vị π ∈ K, ta định nghĩa: eπ(x) = π(x) và dπ(y) = π -1 (y), trong đó π-1 là hoán vị ngược của π. Về mã này, với các văn bản tiếng Anh khi cần mã hoá, mỗi khoá của mã thay thế là một trong số 26! hoán vị. Do vậy, áp dụng phương pháp tìm khoá vét cạn sẽ khó khăn hơn. mã thay thế có thể dễ dàng bị thám mã bằng phương pháp thống kê. Cả hai hệ mã dịch vòng và mã thay thế được gọi là hệ thay thế đơn biểu. Về cơ bản, cả hai hệ đều xoay quanh phép thay thế. 1.1.2.3 Mã hoán vị Về ý tưởng mã hoán vị là thay đổi vị trí giữa các ký tự của bản rõ. Mã hoán vị được định nghĩa như sau: Cho m là một số nguyên dương xác định nào đó. Theo định nghĩa 1.1, cho R = M = (Z26)m và K gồm tất cả các hoán vị π của {1, ..., m}. Đối với một khoá π (tức là một hoán vị) ta xác định: eπ(x1, ..., xm) = (xπ(1), ..., xπ(m)) và dπ(y1, ..., ym) = (yπ-1(1), ..., yπ-1(m)) 12
- 1.1.2.4 Các hệ mã dòng Trong các hệ mật nghiên cứu ở trên, các phần tử liên tiếp của bản rõ được mã hoá bằng cùng một khoá k. Bản mã y nhận được có dạng: y = y1y2 ... = eK(x1) eK(x2) ... Các hệ mật thuộc dạng này thường được gọi là các mã khối. Trên một quan điểm khác, người ta xây dựng các hệ mã dòng. Ý tưởng cơ bản ở đây là tạo ra một dòng khoá z = z1z2z3... và dùng nó để mã hoá một xâu bản rõ x = x1x2x3... theo quy tắc: y = y1y 2 ...= e Z1 (x1 )e Z2 (x 2 )... Về mặt toán học mã dòng theo [11] được định nghĩa như sau: Định nghĩa 1.2 Mật mã dòng là một bộ (R, M, K, L, F, E, D) thoả mãn các điều kiện sau: 1. R là tập hữu hạn các bản rõ có thể. 2. M là tập hữu hạn các bản mã có thể. 3. K là tập hữu hạn các khoá có thể (không gian khoá). 4. L là tập hữu hạn bộ chữ của dòng khoá. 5. F = (f1f2 ...) là bộ tạo dòng khoá. Với i ≥ 1, fi: K × R-1 → L 6. Với mỗi z ∈ L có một quy tắc mã ez ∈ E và một quy tắc giải mã tương ứng dz ∈ D thoả mãn dz(ez(x)) = x với mọi bản rõ x ∈ R. Ta có thể coi mã khối là một trường hợp đặc biệt của mã dòng khi dùng khoá không đổi zi = K, với ∀i ≥ 1. 1.2. Hệ mật khoá công khai 1.2.1. Khái quát chung Việc xây dựng các hệ mật khoá công khai là thiết kế một hệ mật sao cho khả năng tính toán để xác định quy tắc giải mã (dk) là rất thấp dù biết quy tắc mã 13
- hoá ek. Vì vậy quy tắc mã hoá ek có thể được công khai rộng rãi. Ưu điểm của hệ mật này là người gửi có thể gửi bản tin cho người nhận mà không cần thông tin trước về khoá mật. Người nhận là người duy nhất có thể giải mã thông tin nhận được nhờ sử dụng quy tắc giải mã dk. Hàm mã khoá công khai ek là một hàm dễ tính toán. Việc tìm hàm ngược dk (hàm giải mã) là cực kỳ khó khăn. Điều kiện cần thiết ek phải là hàm một chiều. [11] 1.2.2. Nguyên tắc chung mã hoá với khoá công khai Trong hệ thống có N đối tượng cùng trao đổi thông tin mật. Từng đối tượng chọn cho mình một khoá lập mã k và hàm mã hoá ek được công khai. Như vậy có N khoá lập mã công khai k1 ,k2 ,k3, ..., kn. Khi đối tượng i muốn gửi thông tin cho đối tượng j thì dữ liệu được chuyển thành từng khối với độ dài nào đó, mỗi khối P trong văn bản được mã hoá bằng khoá lập mã e k của đối tượng j, thông tin gửi đi có dạng: j M = e k j (P) . Để giải mã, đối tượng j thực hiện: ( ) d k j (M) = d k j e k j (P) = P . Do e k và d k là khoá lập mã và giải mã của đối tượng j nên các đối tượng j j khác trong hệ thống không thể tìm ra khoá giải mã d k trong thời gian chấp nhận j được mặc dù biết e k . j 1.2.3. Quá trình phát triển của hệ mật mã khoá công khai Các hệ mật khoá công khai được nghiên cứu và phát triển mạnh mẽ vào cuối những năm 70 của thế kỷ trước. Các hệ mật điển hình đã được tập trung nghiên cứu phát triển và đưa vào ứng dụng trong thực tế là hệ mật RSA, hệ mật RABIN, hệ mật ELGAMAL, hệ mật CHOR-RIVEST, hệ mật McELIECE [11].. 1.2.3.1 Hệ mật RSA Hệ RSA được xây dựng trên cơ sở mã mũ, trong đó khoá lập mã là cặp (b,n), gồm số mũ b và mod n. Với n = p.q trong đó p và q là các số nguyên tố cực lớn. Còn b được chọn là một số nguyên ngẫu nhiên sao cho UCLN(b,Φ(n)) = 1, với 14
- Φ(n) là giá trị hàm Euler của n, ở đây Φ(n) = (p-1)(q-1). Đặt R = M = Zn và định nghĩa K= {(n, p, q, a, b): ab ≡ 1 (mod Φ(n)) Với k=(n, p, q, a, b) ta xác định ek (x) = xb mod n và dk (y) = ya mod n (x,y ∈ Zn). Các giá trị n và b được công khai và các giá trị p, q, a được giữ kín. - Tạo khoá: Mỗi đối tượng trong hệ thống trao đổi thông tin cần tạo một khoá công khai và một khoá riêng tương ứng theo các bước sau: + Tạo 2 số nguyên tố lớn ngẫu nhiên và khác nhau p và q. + Tính n = p.q và Φ(n) = (p - 1)(q - 1). + Chọn một số nguyên ngẫu nhiên b (0 < b < Φ(n)) sao cho: (b, Φ) = 1 + Sử dụng thuật toán Euclide mở rộng để tính a = b-1 mod Φ(n). + Khoá công khai là cặp số (n,b). Khoá riêng bí mật là a. - Mã hoá: B mã hoá một thông báo m để gửi cho A bản mã cần giải. B phải thực hiện: + Thu nhận khoá công khai (n,b) của A. + Biểu diễn bản tin dưới dạng một số nguyên m trong khoảng [0,n - 1]. + Tính c = mb mod n. + Gửi bản mã c cho A. - Giải mã: Khôi phục bản rõ m từ c. A phải thực hiện phép tính sau bằng cách dùng khoá riêng m = ca mod n. - Đánh giá: Nếu ta chọn các số p và q vào khoảng 100 chữ số, thì n sẽ vào khoảng 200 chữ số như vậy hệ mật RSA được coi là an toàn. Để tránh bị rơi vào các trường hợp đặc biệt (n bị phân tích nhanh nhờ những thuật toán mới) thì cần phải chọn (p – 1) và (q – 1) có toàn các ước nguyên tố nhỏ, UCLN (p – 1, q – 1) phải là số nhỏ. 15
- Trong thực tế tốc độ mã hoá theo thuật toán RSA là rất chậm do vậy người ta không ứng dụng hệ mật RSA cho mã hoá khối dữ liệu lớn mà thường chỉ tập trung cho các vấn đề như: xác nhận chủ thể, tạo vỏ bọc an toàn cho văn bản mật.. 1.2.3.2 Hệ mật ELGAMAL Hệ mật ElGamal được xây dựng trên bài toán logarithm rời rạc. Việc mô tả bài toán này được thiết lập trong trường hữu hạn Zp, p là số nguyên tố (Bài toán logarithm rời rạc trong Zp) (Nhóm nhân Z p* là nhóm nhân xyclicvà phần tử sinh của Z p* được gọi là phần tử nguyên thủy). Hệ mật ElGamal theo [11] được định nghĩa như sau: Định nghĩa 1.5: Cho p là một số nguyên tố sao cho bài toán logarithm rời rạc trong Zp là khó giải. Cho α ∈ Z p* là phần tử nguyên thủy. Giả sử P = Z p* , C = Z p* x Z p* . Ta định nghĩa: K = {(p, α, a, β): β ≡ α a (mod p)} Các giá trị p, α, β được công khai, còn a giữ kín. Với K = (p, α, a, β) và một số ngẫu nhiên bí mật k ∈ Zp, ta xác định: ek(x, k) = (y1, y2) trong đó: y1 = α k mod p y2 = x βk mod p với y1, y2 ∈ Z p* ta xác định: dk(x, k) = y2 ( y1a )-1 mod p Bài toán logarithm rời rạc trong Zp Đặc trưng của bài toán: I = (p, α, β) trong đó p là số nguyên tố, α ∈ Zp là phần tử nguyên thủy, β ∈ Z p* . Mục tiêu: Hãy tìm một số nguyên duy nhất a, 0 ≤ a ≤ p – 2 sao cho: 16
- αa ≡ β (mod p) Bài toán logarithm rời rạc trong Zp là đối tượng trong nhiều công trình nghiên cứu và được xem là bài toán khó nếu p được chọn cẩn thận. Cụ thể là không có một thuật toán thời gian đa thức nào cho bài toán logarithm rời rạc. Để gây khó khăn cho các phương pháp tấn công đã biết, p phải có ít nhất 150 chữ số và (p - 1) phải có ít nhất một thừa số nguyên tố lớn. Lợi thế của bài toán logarithm rời rạc trong xây dựng hệ mật là khó tìm được các logarithm rời rạc, song bài toán ngược lấy lũy thừa lại có thể tính toán hiệu quả theo thuật toán nhân và bình phương. Nói cách khác, lũy thừa theo modulo p là hàm một chiều với các số nguyên tố p thích hợp. Elgamal đã phát triển một hệ mật khóa công khai dựa trên bài toán logarithm rời rạc. Hệ mật Elgamal là một hệ mật không tất định vì bản mã phụ thuộc vào cả bản rõ x lẫn giá trị ngẫu nhiên do người mã hóa chọn. Bởi vậy, sẽ có nhiều bản mã được mã từ cùng bản rõ. 1.2.3.3 Hệ mật xếp ba lô MERKLE – HELLMAN Hệ mật xếp ba lô Merkle – Hellman nổi tiếng lần đầu được Merkle- Hellman mô tả vào năm 1978. Mặc dù hệ mật này và một vài biến thể của nó đã bị phá vào đầu những năm 1980, nhưng nó vẫn là một cống hiến có giá trị do sự tinh tế về khái niệm và kỹ thuật thiết kế có tính nền tảng của mình. Hệ thống này xây dựng trên cơ sở bài toán tổng tập con (là bài toán NP-đầy đủ). Với một danh sách các cỡ (s1, s2, s3,.., sn) là một dãy siêu tăng nếu: j −1 s j > ∑ si i =1 với 2 ≤ j ≤ n. Nếu danh sách các cỡ là một dẫy siêu tăng thì dạng tìm kiếm của bài toán tổng các tập con có thể giải rất dễ dàng với thời gian O(n) và nghiệm x (nếu tồn tại) phải là nghiệm duy nhất. Giả sử s = (s1,...,sn) là một dẫy siêu tăng, xét hàm 17
- n es :{0,1}n → {0,..., ∑ si } i =1 Hàm này được xác định như sau: n es ( x1 ,..., xn ) = ∑ xi si i =1 Từ đó có thể dùng es như một quy tắc mã hoá. Vì s là một dẫy siêu tăng nên es là một đơn ánh và thuật toán để giải trường hợp siêu tăng của bài toán tổng các tập con sẽ là thuật toán giải mã tương ứng. Tuy nhiên một hệ thống như vậy sẽ hoàn toàn mất an toàn vì bất kỳ ai cũng có thể giải mã một bản tin theo cách trên. Vấn đề cơ bản ở đây là biến đổi danh sách các cỡ theo cách sao cho nó không còn là dãy siêu tăng nữa. Người nhận sẽ không thể áp dụng một phép biến đổi ngược để khôi phục lại danh sách siêu tăng các cỡ. Mặt khác, người thám mã (không biết phép biến đổi được dùng) phải đối mặt với bài toán tổng quát (là một bài toán khó của bài toán tổng các tập con) trong khi cố gắng giải mã một bản mã. Một kiểu biến đổi thích hợp là phép biến đổi theo modulo, điều này có nghĩa là phép biến đổi modulo p được chọn sao cho: n p > ∑ si i =0 Ta chọn thừa số a thoả mãn 1 ≤ a ≤ p-1. Sau đó xác định: ti = a si mod p 1 ≤ i ≤ n. Danh sách các cỡ t = (t1,.., tn) là khoá công khai được dùng để mã hoá. Các giá trị a, p dùng để xác định phép biến đổi theo modulo sẽ được giữ kín. Theo [11] ta có định nghĩa sau: Định nghĩa 1.6: n Cho s = (s1,....,sn) là một danh sách các số nguyên siêu tăng. Cho p > ∑ si i =1 là một số nguyên tố và 1 ≤ a ≤ p-1. Với 1 ≤ i ≤ n, ta xác định: 18
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Tóm tắt luận văn thạc sĩ khoa học xã hội và nhân văn: Ảnh hưởng của văn học dân gian đối với thơ Tản Đà, Trần Tuấn Khải
26 p | 788 | 100
-
Tóm tắt luận văn thạc sĩ khoa học: Bài toán tô màu đồ thị và ứng dụng
24 p | 491 | 83
-
Luận văn thạc sĩ khoa học: Hệ thống Mimo-Ofdm và khả năng ứng dụng trong thông tin di động
152 p | 328 | 82
-
Tóm tắt luận văn thạc sĩ khoa học: Bài toán màu và ứng dụng giải toán sơ cấp
25 p | 369 | 74
-
Tóm tắt luận văn thạc sĩ khoa học: Bài toán đếm nâng cao trong tổ hợp và ứng dụng
26 p | 411 | 72
-
Tóm tắt luận văn thạc sĩ khoa học: Nghiên cứu thành phần hóa học của lá cây sống đời ở Quãng Ngãi
12 p | 541 | 61
-
Tóm tắt luận văn Thạc sĩ Khoa học: Nghiên cứu vấn đề an ninh mạng máy tính không dây
26 p | 516 | 60
-
Luận văn thạc sĩ khoa học Giáo dục: Biện pháp rèn luyện kỹ năng sử dụng câu hỏi trong dạy học cho sinh viên khoa sư phạm trường ĐH Tây Nguyên
206 p | 299 | 60
-
Tóm tắt luận văn thạc sĩ khoa học: Bài toán tìm đường ngắn nhất và ứng dụng
24 p | 341 | 55
-
Tóm tắt luận văn thạc sĩ khoa học: Bất đẳng thức lượng giác dạng không đối xứng trong tam giác
26 p | 311 | 46
-
Tóm tắt luận văn Thạc sĩ Khoa học xã hội và nhân văn: Đặc trưng ngôn ngữ và văn hóa của ngôn ngữ “chat” trong giới trẻ hiện nay
26 p | 318 | 40
-
Tóm tắt luận văn thạc sĩ khoa học: Bài toán ghép căp và ứng dụng
24 p | 263 | 33
-
Tóm tắt luận văn thạc sĩ khoa học xã hội và nhân văn: Phật giáo tại Đà Nẵng - quá khứ hiện tại và xu hướng vận động
26 p | 234 | 22
-
Tóm tắt luận văn Thạc sĩ Khoa học: Nghiên cứu ảnh hưởng của quản trị vốn luân chuyển đến tỷ suất lợi nhuận của các Công ty cổ phần ngành vận tải niêm yết trên sàn chứng khoán Việt Nam
26 p | 286 | 14
-
Tóm tắt luận văn Thạc sĩ Khoa học xã hội và nhân văn: Thế giới biểu tượng trong văn xuôi Nguyễn Ngọc Tư
26 p | 245 | 13
-
Tóm tắt luận văn Thạc sĩ Khoa học xã hội và nhân văn: Đặc điểm ngôn ngữ của báo Hoa Học Trò
26 p | 214 | 13
-
Tóm tắt luận văn Thạc sĩ Khoa học xã hội và nhân văn: Ngôn ngữ Trường thơ loạn Bình Định
26 p | 191 | 5
-
Tóm tắt luận văn Thạc sĩ Khoa học xã hội và nhân văn: Đặc điểm tín hiệu thẩm mĩ thiên nhiên trong ca từ Trịnh Công Sơn
26 p | 200 | 5
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn