Đang tải... (xem toàn văn)
Đề tài : BÀI TOÁN LOGARITH RỜI RẠC VÀ ỨNG DỤNG TRONG MẬT MÃ KHOÁ CÔNG KHAI Luận văn gồm 04 chương cụ thể như sau: Chương 1: Tổng quan về mật mã học Chương 2: Bài toán logarith rời rạc Chương 3: Các hệ mật sử dụng bài toán Logarith rời rạc Chương 4: Kết luận và hướng nghiên cứu tiếp.
TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG TRẦN VĂN DŨNG BÀI TOÁN LOGARITH RỜI RẠC VÀ ỨNG DỤNG TRONG MẬT MÃ KHOÁ CÔNG KHAI LUẬN VĂN THẠC SỸ KỸ THUẬT HÀ NỘI - 2008 TẬP ĐOÀN BƯU CHÍNH VIỄN THÔNG VIỆT NAM HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG TRẦN VĂN DŨNG BÀI TOÁN LOGARITH RỜI RẠC VÀ ỨNG DỤNG TRONG MẬT MÃ KHOÁ CÔNG KHAI Ngành : Kỹ thuật điện tử Mã số : 60.52.70 LUẬN VĂN THẠC SỸ KỸ THUẬT Người hướng dẫn khoa học: GS.TS NGUYỄN BÌNH HÀ NỘI - 2008 H c vi n Công ngh B u chính Vi n thôngọ ệ ệ ư ễ LỜI CẢM ƠN Trước tiên, tôi xin chân thành cảm ơn GS.TS Nguyễn Bình, người trực tiếp hướng dẫn, chỉ bảo, giúp đỡ tôi trong quá trình viết luận văn. Tôi cũng muốn nói lời cảm ơn tới các thầy, cô giáo, Ban Giám đốc Học viện Công nghệ Bưu chính Viễn thông, Khoa Quốc tế và sau đại học và các đồng nghiệp đang cùng công tác tại Viễn thông Phú Thọ đã tận tình chỉ bảo và tạo mọi điều kiện giúp đỡ, động viên tôi trong suốt quá trình học tập. Cuối cùng tôi xin gửi lời cảm ơn đến bố mẹ, tất cả gia đình, bạn bè đã giúp đỡ động viên tôi trong suốt quá trình học tập để tôi có được đến hôm nay. Xin chân thành cảm ơn!. Hà nội, 08-08-2008 Trần Văn Dũng Tr n V n D ngầ ă ũ Lu n v n Th c s k thu tậ ă ạ ỹ ỹ ậ -i- H c vi n Công ngh B u chính Vi n thôngọ ệ ệ ư ễ MỤC LỤC MỤC LỤC ii DANH MỤC HÌNH VẼ v DANH MỤC CÁC BẢNG vi DANH MỤC TỪ VIẾT TẮT vii LỜI NÓI ĐẦU 1 LỜI NÓI ĐẦU 1 CHƯƠNG 1 4 TỔNG QUAN VỀ MẬT MÃ HỌC 4 1.1 Khái quát về mật mã học 4 1.1.1.Giới thiệu về mật mã học 4 1.1.2.Sơ lược về mật mã học 4 1.2.Các hệ mật và các phương pháp thám mã 6 1.2.1.Các hệ mật mã khoá bí mật 6 1.2.2.Các hệ mật mã khoá công khai 8 1.2.3.Các phương pháp thám mã các hệ mật mã khoá bí mật 9 1.3.Ưu nhược điểm của các hệ mật mã 9 CHƯƠNG 2 13 2.1.Bài toán logarit tuyến tính 13 2.1.1.Định nghĩa 13 2.1.2.Các tính chất cơ bản 13 2.2.Phát biểu bài toán logarith rời rạc 13 2.2.1.Bài toán 13 2.2.2.Các tính chất cơ bản 14 2.3.Các phương pháp giải 15 2.3.1.Thuật toán vét cạn 15 2.3.2.Thuật toán bước đi lớn bước đi nhỏ ( Baby-step giant-step ) 15 2.3.3.Thuật toán của Pollard 15 Tr n V n D ngầ ă ũ Lu n v n Th c s k thu tậ ă ạ ỹ ỹ ậ -ii- H c vi n Công ngh B u chính Vi n thôngọ ệ ệ ư ễ 2.3.4.Thuật toán Pohlig – Hellman 16 2.3.5.Thuật toán tính chỉ số ( Index-Calculus) 17 2.3.5.1.Tính chỉ số trên GF(p) 18 2.3.5.2.Tính chỉ số trên GF(2n) 20 2.3.5.3. Sàng trường số đặc biệt SNFS 22 2.3.5.4. Sàng trường số tổng quát GNFS 22 CHƯƠNG 3 24 3.1.Hệ mật Pohlig – Hellman 24 3.2.Hệ mật Massey - Omura 28 3.3.Hệ mật Diffie - Hellman 38 3.3.1.Bài toán Diffie – Hellman: 38 3.3.2 Khởi tạo Diffie Hellman 39 3.3.3 Trao đổi khoá Diffie Hellman 39 3.4.Hệ mật trên đường cong Eliptic 40 3.4.1.Giới thiệu chung về đường cong Eliptic 40 3.4.1.1Quy tắc \“cộng\ 43 3.4.1.2Quy tắc phép nhân đôi 46 3.4.1.3.Bài toán Logarit rời rạc trên đường cong Eliptic (ECDLP) 46 3.4.2. Đường cong Eliptic trên trường hữu hạn: 47 3.4.2.1. Đường cong eliptic trên trường Fp ( p là số nguyên tố ) 47 3.4.2.2.Đường cong eliptic trên trường 48 3.4.2.3.Phép nhân đường cong 52 3.4.3.Xây dựng các hệ mật trên đường cong Elliptic 53 3.4.3.1.Mã hoá dữ liệu 53 3.4.3.2.Thao tác giải mã 54 3.4.3.3.Các hệ mật đường cong Elliptic 55 3.4.3.4.Các phương pháp giải các bài toán ECDLP 58 Tr n V n D ngầ ă ũ Lu n v n Th c s k thu tậ ă ạ ỹ ỹ ậ -iii- H c vi n Công ngh B u chính Vi n thôngọ ệ ệ ư ễ 3.4.3.4.1.Thuật toán vét cạn 58 3.4.3.4.2.Thuật toán bước lớn bước nhỏ 58 3.4.3.4.3.Thuật toán của Pollard 58 3.4.3.4.4.Thuật toán của Pollard 59 3.4.3.4.5.Thuật toán Pohlig – Hellman Elliptic 59 3.4.3.4.6.Phương pháp tính chỉ số và chỉ số ngược trên đường cong Elliptic 59 3.4.3.5.Một số vấn đề cài đặt của thuật toán Elliptic 62 3.4.3.5.1.Cài đặt đường cong Elliptic trên GF(p) 62 3.4.3.5.2.Cài đặt đường cong Elliptic trên GF(2n) 63 3.4.4.Kết luận 64 CHƯƠNG 4 65 TÀI LIỆU THAM KHẢO 67 Tr n V n D ngầ ă ũ Lu n v n Th c s k thu tậ ă ạ ỹ ỹ ậ -iv- H c vi n Công ngh B u chính Vi n thôngọ ệ ệ ư ễ DANH MỤC HÌNH VẼ Hình 1.1. Mô hình hệ thống mã khoá bí mật 7 Hình 1.2. Mô hình hệ thống mã khoá công khai 9 Hình 1.3.Đồ thị so sánh chi phí công phá khoá bí mật và khoá công cộng 11 Hình 3.4.Các giao thức của hệ thống mật Massey - Omura 31 Hình 3.5.Các giao thức của hệ thống EMO-1 33 Hình 3.6.Các giao thức của hệ thống mật EMO-2 37 Hình 3.7.Một ví dụ về đường cong Elliptic 42 Hình 3.8. Điểm vô cực 43 Hình 3.9. Phép cộng trên đường cong Elliptic P+Q=R 44 Hình 3.10. Phép nhân đôi 46 Tr n V n D ngầ ă ũ Lu n v n Th c s k thu tậ ă ạ ỹ ỹ ậ -v- H c vi n Công ngh B u chính Vi n thôngọ ệ ệ ư ễ DANH MỤC CÁC BẢNG Bảng 1.1.So sánh độ an toàn giữa khóa bí mật và khóa công khai 10 Bảng 3.2.So sánh số lượng các thao tác đối với các phép toán trên đường cong Elliptic trong hệ toạ độ Affine và hệ tọa độ chiếu 51 Tr n V n D ngầ ă ũ Lu n v n Th c s k thu tậ ă ạ ỹ ỹ ậ -vi- H c vi n Công ngh B u chính Vi n thôngọ ệ ệ ư ễ DANH MỤC TỪ VIẾT TẮT AES Advanced Encryption Standard Chuẩn mã dữ liệu tiên tiến DES Data Encryption Standard Chuẩn mã dữ liệu ECC Elliptic curves Cryptographically Hệ mật trên đường cong Elliptic ECDLP Elliptic Curves Discrete Logarithm Problem Bài toán Logarith rời rạc trên đường cong Elliptic MDV Mã dịch vòng MHV Mã hoán vị MTT Mã thay thế RSA Thuật toán RSA Tr n V n D ngầ ă ũ Lu n v n Th c s k thu tậ ă ạ ỹ ỹ ậ -vii- H c vi n Công ngh B u chính Vi n thôngọ ệ ệ ư ễ LỜI NÓI ĐẦU Trong sự phát triển của xã hội loài người, kể từ khi có sự trao đổi thông tin thì vấn đề bảo mật thông tin được đặt ra như một nhu cầu tất yếu. Tuy nhiên, trong suốt nhiều thế kỷ, các kết quả nghiên cứu của lĩnh vực này hầu như không được ứng dụng trong các lĩnh vực dân sự thông thường của đời sống – xã hội mà chủ yếu được sử dụng trong lĩnh vực quân sự, chính trị, ngoại giao Ngày nay, các ứng dụng bảo mật thông tin đang được sử dụng ngày càng phổ biến trong các lĩnh vực khác nhau trên thế giới, từ các lĩnh vực an ninh, quân sự, quốc phòng…, cho đến các lĩnh vực dân sự như thương mại điện tử, ngân hàng… Với sự phát triển của khoa học kỹ thuật và công nghệ, cùng với các nhu cầu đặc biệt về bảo mật thông tin, ngày nay các kỹ thuật chính trong bảo mật thông tin gồm: kỹ thuật mật mã (Cryptography), Kỹ thuật nguỵ trang (Steganography), Kỹ thuật tạo bóng mờ (Watermarking-hay xăm điện tử). Bên cạnh việc làm thế nào che giấu nội dung thông tin mật mã học phải đảm bảo các dịch vụ an toàn cơ bản là: - Bí mật (Confidential): hệ thống đảm bảo thông tin được giữ bí mật. Thông tin có thể bị phát hiện, ví dụ như trong quá trình truyền nhận, nhưng người tấn công không thể hiểu được nội dung thông tin bị đánh cắp này. - Đảm bảo tính toàn vẹn(Intergrity ) : hệ thống bảo đảm tính toàn vẹn thông tin trong liên lạc hoặc giúp phát hiện rằng thông tin đã bị sửa đổi. - Xác thực (Authentication): Giúp cho người nhận dữ liệu xác định được dữ liệu mình nhận là dữ liệu gốc ban đầu. Kẻ giả mạo không thể có khả năng để giả dạng một người khác hay nói cách khác là không thể mạo danh để gửi dữ liệu. Người nhận có khả năng kiểm tra nguồn gốc thông tin mà họ nhận được. - Tính không thể chối bỏ ( Non-repudation): Người gửi hay người nhận không thể chối bỏ sau khi đã gửi hoặc nhận thông tin. Để đảm bảo các dịch vụ an toàn này các nhà toán học đã phát triển các thuật toán mã hoá khác nhau. Từ những thuật toán được công khai để mọi người cùng sử Tr n V n D ngầ ă ũ Lu n v n Th c s k thu tậ ă ạ ỹ ỹ ậ -1- [...]... quyền giải mã) Ta nhận thấy bài toán logarith rời rạc là một bài toán khó ( chưa có một thuật toán nào hiệu quả để tính logarith rời rạc một cách tổng quát) trong khi bài toán ngược luỹ thừa rời rạc lại không khó (có thể sử dụng thuật toán bình phương và nhân) Với mục đích là nghiên cứu tìm hiểu các hệ mật mã khoá công khai được sinh ra dựa trên bài toán logarith rời rạc để đánh giá mức độ bảo mật thông... viện Công nghệ Bưu chính Viễn thông dụng và áp dụng như một chuẩn chung cho việc mã hoá dữ liệu; đến những thuật toán mã hoá không được công bố Có thể phân loại các thuật toán mã hoá như sau: bao gồm mật mã khoá bí mật ( như DES, 3DES, RC4, AES…), mật mã khoá công khai (RSA, DIFFIE – HELLMAN…) Mật mã khoá bí mật: quá trình mã hóa và giải mã một thông điệp sử dụng cùng một mã khóa gọi là khóa bí mật. .. mã khóa riêng của B Hình 1.2 Mô hình hệ thống mã khoá công khai 1.2.3.Các phương pháp thám mã các hệ mật mã khoá bí mật Trước tiên ta phân biệt các mức độ tấn công khác nhau vào các hệ mật Sau đây là một số loại thông dụng nhất Chỉ có bản mã: Thám mã chỉ có xâu bản mã y Bản rõ đã biết: Thám mã có xâu bản rõ x và xâu bản mã tương ứng y Bản mã được lựa chọn: Thám mã có được quyền truy nhập tạm thời vào... logarith tuyến tính - Phát biểu bài toán logarith rời rạc - Các phương pháp giải bài toán logarith rời rạc Chương 3: Các hệ mật sử dụng bài toán Logarith rời rạc - Hệ mật Pohlig – Hellman - Hệ mật Massey – Omura - Hệ mật Diffie - Hellman - Hệ mật trên đường cong eliptic: Đường cong eliptic trên trường hữu hạn, Xây dựng các hệ mật trên đường cong eliptic Chương 4: Kết luận và hướng nghiên cứu tiếp Do khả... -4Học viện Công nghệ Bưu chính Viễn thông CHƯƠNG 1 TỔNG QUAN VỀ MẬT MÃ HỌC 1.1 Khái quát về mật mã học 1.1.1.Giới thiệu về mật mã học Mật mã học là ngành khoa học ứng dụng toán học vào việc biến đổi thông tin thành một dạng khác với mục đích che dấu nội dung, ý nghĩa thông tin cần mã hóa Đây là một ngành quan trọng và có nhiều ứng dụng trong đời sống xã hội Ngày nay, các ứng dụng mã hóa và bảo mật thông... thuyết mã bao gồm cả mật mã và thám mã Nó là một thể thống nhất, để đánh giá một mã mạnh hay không, đều phải xét từ cả hai khía cạnh đó Các nhà khoa học mong muốn tìm ra các mô hình mã hóa khái quát cao đáp ứng nhiều chính sách an toàn khác nhau 1.2.Các hệ mật và các phương pháp thám mã 1.2.1.Các hệ mật mã khoá bí mật Hệ thống mã hóa bí mật là hệ thống mã hóa trong đó quy trình mã hóa và giải mã đều sử dụng. .. chính là bài toán trao đổi mã khóa thì ngược lại, các phương pháp mã hóa khóa công khai giúp cho việc trao đổi mã khóa trở nên dễ dàng hơn Nội dung của khóa công khai (public key) không cần phải giữ bí mật như đối với khóa bí mật trong các phương pháp mã hóa bí mật Vấn đề đặt ra đối với mật mã khoá công khai chính là phải tìm ra được hàm mật mã là một hàm dễ tính toán, song việc tìm hàm ngược (giải mã )... tin của các hệ mật trên so với các hệ mật mã khác Luận văn gồm 04 chương cụ thể như sau: Chương 1: Tổng quan về mật mã học - Khái quát về mật mã học - Trình bày tổng quát các hệ mật mã và phân loại, các phương pháp thám mã - Ưu nhược điểm của các hệ mật mã Chương 2: Bài toán logarith rời rạc Trần Văn Dũng Luận văn Thạc sỹ kỹ thuật -3Học viện Công nghệ Bưu chính Viễn thông - Bài toán logarith tuyến... bài toán logarith rời rạc: ngoài tính khó giải của bài toán ngược ra ta còn không thể ước đoán được giá trị của nó Đây là một bài toán rất khó giải hiện này không có thuật toán nào có hiệu quả để giải bài toán này Do vậy các nhà nghiên cứu mật mã học xây dựng các hệ mật có khả năng bảo mật cao dựa trên tính khó giải của bài toán logarith rời rạc Trần Văn Dũng Luận văn Thạc sỹ kỹ thuật -15Học viện Công. .. B sẽ sử dụng mã khóa k để giải mã thông điệp y này Vấn đề an toàn bảo mật thông tin được mã hóa phụ thuộc vào việc giữ bí mật nội dung mã khóa k Nếu người C biết được mã khóa k thì C có thể “mở khóa” thông điệp đã được mã hóa mà người A gửi cho người B Hình 1.1 Mô hình hệ thống mã khoá bí mật Có 3 phương pháp chính trong mật mã khoá bí mật ( mật mã khoá riêng hay mật mã cổ điển) pháp nổi bật đó là: . 58 3.4.3.4.4.Thuật toán của Pollard 59 3.4.3.4.5.Thuật toán Pohlig – Hellman Elliptic 59 3.4.3.4.6.Phương pháp tính chỉ số và chỉ số ngược trên đường cong Elliptic 59 3.4.3.5.Một số vấn đề cài đặt. Hellman 38 3.3.1.Bài toán Diffie – Hellman: 38 3.3.2 Khởi tạo Diffie Hellman 39 3.3.3 Trao đổi khoá Diffie Hellman 39 3.4.Hệ mật trên đường cong Eliptic 40 3.4.1.Giới thiệu chung về đường cong. mã khoá công khai 8 1.2.3.Các phương pháp thám mã các hệ mật mã khoá bí mật 9 1.3.Ưu nhược điểm của các hệ mật mã 9 CHƯƠNG 2 13 2.1.Bài toán logarit tuyến tính 13 2.1.1.Định nghĩa 13 2.1.2.Các