Ứng dụng MAPLE trong an toàn thông tin với mật mã khóa công khai

11 601 0
Ứng dụng MAPLE trong an toàn thông tin với mật mã khóa công khai

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Lê Thị Nguyệt ỨNG DỤNG MAPLE TRONG AN TOÀN THÔNG TIN VỚI MẬT KHÓA CÔNG KHAI Chuyên ngành: Kỹ thuật điện tử Mã số: 60.52.70 TÓM TẮT LUẬN VĂN THẠC SĨ HÀ NỘI – NĂM 2013 Luận văn được hoàn thành tại: HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG Người hướng dẫn khoa học: GS.TS Nguyễn Bình Phản biện 1: …………………………………………………………………………… Phản biện 2: ………………………………………………………………………… Luận văn sẽ được bảo vệ trước Hội đồng chấm luận văn thạc sĩ tại Học viện Công nghệ Bưu chính Viễn thông Vào lúc: giờ ngày tháng năm Có thể tìm hiểu luận văn tại: - Thư viện của Học viện Công nghệ Bưu chính Viễn thông 1 BẢNG TÓM TẮT LUẬN VĂN ỨNG DỤNG MAPLE TRONG AN TOÀN THÔNG TIN VỚI MẬT KHÓA CÔNG KHAI MỞ ĐẦU Các hệ công khai như ELGAMAL, ELIPTIC thực hiện tính toán với các số nguyên lớn hàng trăm chữ số. Độ phức tạp trong việc giải các hệ này tỉ lệ thuận với độ lớn của các số nguyên tham gia vào việc tạo khóa hóa và khóa công khai. Do đó để hệ an toàn, cần tăng kích thước của các số nguyên. Mặt khác, khi kích thước của các số nguyên cần xử lý lớn thì thời gian xử lý của chương trình m ã hóa cũng tăng lên. Thông tin cần hóa ngày càng đa dạng và có khối lượng lớn, đòi hỏi hệ giảm thiểu thời gian xử lý. Các công cụ và giải thuật nhằm bẻ khóa các hệ mật được cải tiến đòi hỏi hệ cần được nâng cấp tính bảo mật. Tuy nhiên, việc nghiên cứu và triển khai các nâng cấp trong việc tối ưu hóa về mặt thuật toán bằng ngôn ngữ lập trình mạnh của các hệ m ã còn hạn chế. Để hỗ trợ giải quyết các vấn đề trên, đề tài này tập trung vào việc ứng dụng một số thuật toán tối ưu trên ngôn ngữ lập trình bậc cao nhằm tăng hiệu quả các phép tính toán thực hiện với số nguyên lớn. Từ tính cấp thiết của vấn đề tối ưu hóa các hệ công khai, đồng thời đư ợc sự hướng dẫn và gợi ý của GS.TS Nguyễn Bình tôi đã chọn đề tài cho luận văn tốt nghiệp Cao học ngành kỹ thuật điện tử là: “Ứng dụng Maple trong an toàn thông tin với mật khóa công khai”. Cấu trúc đề tài gồm: Phần mở đầu; phần nội dung; phần kết luận; tài liệu tham khảo; Nội dung chính của đề tài: - Chương 1: Tổng quan về hệ mật khóa công khai. - Chương 2: Ngôn ngữ Maple và định hướng ứng dụng tr ong an toàn thông tin. - Chương 3: Ứng dụng Maple trong mật khóa công khai. Trong suốt quá trình nghiên cứu, mặc dù đã hết sức cố gắng nhưng chắc chắn đề tài không tránh khỏi những thiếu sót, rất mong quý thầy cô góp ý để đề tài được hoàn chỉnh hơn. 2 Chương 1 TỔNG QUAN VỀ HỆ MẬT KHÓA CÔNG KHAI 1.1. Một số khái niệm cơ bản về hóa 1.1.1. Khái niệm chung về mật Hệ mật hiện đại thường gồm 5 thành phần (P, C, K, E, D) trong đó: P (Plaintext) tập hợp hữu hạn các bản rõ có thể (không gian các bản rõ). C (Ciphertext) tập hợp hữu hạn các bản có thể (không gian các bản mã). K (Key) tập hợp các bản khoá có thể. E (Encrytion) tập hợp các qui tắc hoá có thể. D (Decrytion) tập hợp các qui tắc giải có thể. Nội dung cần m ã hóa thể hiện dưới dạng bản rõ (P). Người gửi sử dụng qui tắc (E) và khóa (K) hoá bản rõ (P), kết quả thu được gọi là bản E k (P) = C. Bản này được gửi đi trên một đường truyền tới người nhận, sau khi nhận được bản (C) người nhận sử dụng qui tắc (D) và khóa (K) giải nó để hiểu được nội dung thông điệp gốc D k (C) = P. 1.1. 2. Những yêu cầu đối với hệ mật hiện đại Hệ mật hiện đại cần đảm bảo được hai yêu cầu sau: - Đảm bảo tính bảo mật. - Đảm bảo tính xác thực. 1.1.3 Các phương pháp hóa 1.1.3.1 Hệ thống hóa đối xứng . 1.1. 3.2 Hệ thống hóa bất đối xứng Hệ thống hóa bất đối xứng hay còn gọi là hóa với khóa công khai đã được Martin Hellman, Ralph Merkle và Whitfield Diffie thuộc Đại học Stanford giới thiệu vào năm 1976. 3 Hệ này được áp dụng các kết quả của toán học đã khắc phục được các hạn chế của các phương pháp hóa khóa đối xứng. Phương pháp hóa bất đối xứng sử dụng hai loại khóa trong cùng một cặp khóa: Khóa công khai (public key) được công bố rộng rãi và sử dụng để hóa các thông điệp, khóa riêng (private key) chỉ do chủ thể nắm giữ và được sử dụng để giải thông điệp đã được hóa bằng khóa công khai. Bn mã Bn r õ hóa Gii mã Bn r õ Khóa mã Khóa gii Hình 1. 2 Sơ đồ hoạt động của hóa khóa bất đối xứng Khi thực hiện hóa bất đối xứng, người A sử dụng khóa công khai do người B tạo để hóa thông điệp và gửi cho người B. Do biết được khóa riêng nên B mới có thể giải mã được thông điệp A đã hóa. Trong trường hợp bản bị một người thứ ba có được, nếu chỉ kết hợp với thông tin về khóa công khai đã đư ợc công bố, cũng rất khó có khả năng giải được bản này trong khoảng thời gian chấp nhận được do không nắm được khóa riêng của B. Khóa công khaikhóa riêng có quan hệ toán học với nhau theo nghĩa từ khóa riêng có thể tính toán để suy ra được khóa công khai, nhưng để từ khóa công khai suy ra khóa riêng sẽ rất phức tạp vì số lượng phép tính toán là rất lớn dẫn đến thời gian thực hiện để giải mã là không khả thi khi chiều dài của khóa đủ lớn. Đây cũng là mấu chốt của vấn đề bảo mật và tấn công trong các hệ khóa công khai. Đề tài này sẽ đề cập đến vấn đề a n toàn của hệ công khai. Nghiên cứu đưa ra các giải pháp hỗ trợ làm tăng tính an toàn của các hệ này bằng cách cố gắng áp dụng các thuật toán xử lý nhanh với số lớn. Từ đó có thể tăng chiều dài của khóa vẫn đảm bảo yếu tố thời gian m ã hóa và giải chấp nhận được. 1.2. Cơ sở toán học của mật 1.2.1. Hàm phi Euler 1.2.2. Lý thuyết đồng dư thức 1.2.3. Không gian Z n 4 1.2.4 Nhóm nhân Z n * 1.2.5 Thặng dư 1.2.6 Căn bậc hai Modulo 1.2.7 Các thuật toán trong Z n 1.2.8 Thuật toán kiểm tra tính nguyên tố 1.3 Giới thiệu về hệ mật với khó a công khai 1.3. 1 Hệ mật khóa công khai RSA 1.3. 2. Hệ mật khóa công khai ELGAMAL 1.3. 2.1. Thuật toán tạo khoá Tóm lược: Mỗi đầu liên lạc tạo một khoá công khai và một khoámật tương ứng : (1) Tạo 1 số nguyên tố p lớn và một phần tử sinh  của nhóm nhân của các số nguyên . * p Z pmod (2) Chọn một số nguyê n ngẫu nhiên a, 2 p a1    và tính pmod a .  (3) Khoá công khai là bộ 3 số   a ,,p  , khoámật là a. 1.3.2.2. Thuật Toán Hoá Khóa Công Khai ElGamal Tóm lược: B hoá một thông tin báo m để gửi cho A bản cần gửi. hoá: B phải thực hiện các bước sau: (1) Nhận khoá công khai   a ,,p  của A. (2) Biểu thị bản tin dưới dạng một số nguyên m trong dải   1p, . ,1,0  (3) Chọn số nguyê n ngẫu nhiên k, 2pk1    . (4) Tính pmod k và    pmodm k a  . (5) Gửi bản   ,c cho A. Giải mã: Để khôi phục bản rõ m từ c, A phải thực hiện các bước sau: (1) Sử dụng khoá riêng a để tính pmod a (Chú ý aka ). 1p   a1p   (2) Khôi phục bản r õ bằng cách tính   pmod a   . 1.3.3. Hệ mật khóa công khai trên đường cong Elliptic 5 Chương 2 NGÔN NGỮ MAPLE VÀ ĐỊNH HƯỚNG ỨNG DỤNG TRONG AN TOÀN THÔNG TIN 2.1. Giới thiệu phần mềm Maple 2.1.1. Giới thiệu chung Maple ra đời vào khoảng năm 1980, đến nay đã phát triển đến phiên bản 15.x và vẫn không ngừng phát triển. Maple có cách cài đặt đơn giản, chạy trên hầu hết các hệ điều hành, có cấu trúc linh hoạt để sử dụng tối ưu cấu hình máy và đặc biệt có trình trợ giúp rất dễ sử dụng. Maple có những đặc điểm nổi bật sau: - Tính toán số, tính toán ký hiệu nhanh và dễ hình dung, người sử dụng có thể vào biểu thức toán học theo ký hiệu truyền thống. Có thể tạo ra giao diện người sử dụng; - Dễ sử dụng, có thể tìm phần trợ giúp Help ngay trong chương trình hoặc trên Internet; - Có khả năng mở rộng: dễ dàng tích hợp chức năng xác định mới để tính toán những ứng dụng đặc biệt; - Được hầu hết các hệ điều hà nh hỗ trợ ( MS Windows, Linux, Unix, Mac OS); - Ngôn ngữ lập trình mạnh, dễ gỡ rối. Maple tích hợp ngôn ngữ lập trình dạng mệnh lệnh tương tự với Pascal, nó cho phép các biến đổi trong phạm vi mềm dẻo. Maple cũng có giao diện cho các ngôn ngữ khác như C, C#, Fortran, Java, Matlap, Visual Basic. Nó cũng có giao diện với Excel; - Có thể mở rộng thư viện các hàm toán học và các gói đặc biệt; Có hai giao diện tương tác là dòng lệnh và m ôi trường đồ thị. Những phần chính của Maple: Maple gồm có 3 phần, đó là giao diện, nhân (bộ phận tính toán cơ bản) và thư viện. Giao diện và nhân lập nên một phần nhỏ của hệ thống, chúng được viết bằng ngôn ngữ lập trình C và được tải đến khi phiên Maple bắt đầu. Giao diện nhận đầu vào của các biểu thức toán học, hiển thị đầu ra, vẽ đồ thị của các hàm số và hỗ trợ người sử dụng trong những liện lạc khác với hệ thống. Môi trường giao diện là các trang làm việc Maple. Trang làm việc Maple là một tài liệu mềm dẻo để khai thác các ý tưởng toán học và để tạo ra các báo cáo kỹ thuật phức tạp. Có thể tiếp cận đến sức mạnh của bộ máy tính toán Maple thông qua nhiều giao diện người sử dụng như: trang làm việc chuẩn, phiên bản dòng lệnh, trang là m việc cổ điển, và các ứng dụng Maple khách 6 thể hóa. Hệ thống Maple đầy đủ luôn sẵn sàng thông qua tất cả các giao diện này. Các giao diện chuẩn và giao diện tính toán được viết bằng Java, còn giao diện cổ điển được viết bằng C Nhân giải thích đầu vào của người sử dụng, thực hiện các phép toán đại số và giải quyết vấn đề quản lý lưu trữ. Thư viện gồm hai phần là thư viện cơ bản và tuyển tập c ác gói. Thư viện cơ bản gồm nhiều hàm ở đó có hầu hết các kiến thức toán học phổ biến của Maple và chúng được mã hóa bằng ngôn ngữ Maple. Mỗi gói chứa những lệnh đặc biệt để thực hiện những nhiệm vụ riêng khác nhau, từ những tính toán của sinh viên đến lý thuyết tương đối tổng quát. Hầu hết các chức năng của Maple được thực hiện bởi các thư viện số NAG, các t hư viện ATLAS hoặc các thư viện GMP. Hầu hết các thư viện được viết bằng ngôn ngữ Mapletrong trường hợp này, có thể xem nguồn mở của chúng. 2.1.2. Những hiểu biết trước khi vận dụng Mapple 2.2. Các ký hiệu và phép toán trên Maple 2.2.1. Các ký hiệu phép toán số học, logic, quan hệ 2.2.2. Các hằng số, hàm số 2.2.3. Các thủ tục và Module 2.3. Các đầu vào và đầu ra 2.3.1. Đọc tệp 2.3.2. Ghi dữ liệu lên tệp 2.3. 3. Xuất các Worksheets 2.4. Những nội dung Maple dùng nhiều trong mật 2.4.1. Các cấu trúc đại số 2.4.2. Các gói thống kê Chương 3 ỨNG DỤNG MAPLE TRONG MẬT KHÓA CÔNG KHAI Trong chương 1, phần 1.3 ta đã nói một cách xúc tích nhất về mặt lý thuyết của hệ mật Elgamal cũng như hệ mật trên đường cong Elliptic, đã đưa ra các bước của thuật toán tạo khóa, hóa và giải mã. Sang đến chương 2 với cách trình bày ngắn gọn nhất về phần mềm Maple cũng đã đưa ra những hàm hay sử dụng của ngôn ngữ Maple về mật toán 7 học. Trong chương 3, với cơ sở lý thuyết của chương 1 và chương 2 sẽ thiết lập các thuật toán đó trong ngôn ngữ Maple với hai hệ là hệ ELGAMAL và hệ mật trên đường công ELLIPTIC. 3.1. Sử dụng hệ mật ELGAMAL 3.1.1. Thuật toán tạo khóa * Chương trình tìm số nguyên tố * Chương trình tìm phần tử sinh * Chương trình tìm số mũ bí mật a * Chương trình tìm khóa công khai 3.1.2. Thuật toán hóa 3.1.3. Thuật toán giải 3.2. Sử dụng hệ mật trên đường cong Elliptic Định nghĩa: cho p > 3 là số nguyên tố. Đường cong elliptic E (Z p ): y 2 = x 3 + ax +b trên Z p là tập các nghiêm (x,y) ϵ Z p xZ p của đồng dư thức y 2 ≡ x 3 +ax+b (mod p). Trong đó: a,b ϵ Z p là các hằng số thỏa mãn 4a 3 + 27b mod p cùng với điểm đặc biệt O được gọi là điểm vô hạn. Các điểm trên đường cong elliptic có thể trở thành nhóm Abel với việc xác định phép toán thích hợp trên các điểm của nó. Ta xét trường hợp đường cong elliptic E được xác định trên Z p . Giả sử   11 y,xP  ,   22 y,xQ  là các điểm trong nhóm   b,aE p , O là điểm vô cực. Các quy tắc đối với phép cộng trên nhóm con   b,aE p như sau: (1) P + O = O + P = P. (2) Nếu và tức là 12 xx  12 yy    11 y,xP  và     Py,xy,xQ 1122     thì P + Q = 0. (3) Nếu PQ   thì tổng   33 y,xQP   được cho bởi:  pmodyxxy pmodxxx 131 3 21 23   Trong đó: 8              QP y ax xx yy khi QP khi 1 2 1 12 12 2 3  * Chương trình thực hiện phép cộng điểm * Chương trình thực hiện tính 2*P: * Chương trình thực hiện tính k*P: * Chương trình liệt kê các điểm của đường cong elliptic * Chương trình tín bậc của một điểm * Sơ đồ trao đổi khóa KẾT LUẬN Các kết quả đạt được Đề tài bước đầu đưa ra giải pháp để xử lý các phép toán số học với số lớn trong các hệ m ã công khai dựa trên cơ sở toán học và tính toán độ an toàn của các hệ công khai. Các kết quả nghiên cứu và ứng dụng bước đầu đã thực hiện được mục đích của đề tài. Bằng việc tối ưu hóa các phép xử lý tính toán phức tạp trong hệ công khai và minh chứng trong hệ cụ thể như hệ Elgamal và hệ mật trên đường cong Elliptic. Chương trình hoàn thiện cần có sự đầu tư nhiều hơn về mặt thời gian và công sức. Đề tài có thể tiếp tục phát triển để đem lại ứng dụng đáp ứng được yêu cầu thực tế. Hướng phát triển đề tài Các kết quả của đề tài có thể được áp dụng trong nhiều hệ công khai khác nhau và tiếp tục được cải tiến để có được tốc độ thực thi tốt hơn. Các kết quả có thể được áp dụng trên nhiều hệ thống bảo mật, thực hiện trong các giao dịch trên mạng, thực hiện tạo và xác thực chữ ký điện tử bằng ngôn ngữ lập trình mạnh. Tác giả m ong muốn có thể tiếp tục phát triển để đưa các kết quả đã nghiên cứu vào ứng dụng trong thực tế. . quan về hệ mật khóa công khai. - Chương 2: Ngôn ngữ Maple và định hướng ứng dụng tr ong an toàn thông tin. - Chương 3: Ứng dụng Maple trong mật mã khóa. VĂN ỨNG DỤNG MAPLE TRONG AN TOÀN THÔNG TIN VỚI MẬT MÃ KHÓA CÔNG KHAI MỞ ĐẦU Các hệ mã công khai như ELGAMAL, ELIPTIC thực hiện tính toán với các

Ngày đăng: 17/02/2014, 09:46

Hình ảnh liên quan

Hình 1.2 Sơ đồ hoạt động của mã hóa khóa bất đối xứng - Ứng dụng MAPLE trong an toàn thông tin với mật mã khóa công khai

Hình 1.2.

Sơ đồ hoạt động của mã hóa khóa bất đối xứng Xem tại trang 5 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan