Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 91 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
91
Dung lượng
2,64 MB
Nội dung
1 ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN BÙI QUANG THÀNH KHẢO SÁT MÃ MA TRẬN, PHÂN TÍCH ĐỘ AN TOÀN, HIỆU NĂNG VÀ CẢI TIẾN Chuyên ngành: ĐẢM BẢO 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Ĩ: TOÁN HỌC NGƯỜI HƯỚNG DẪN KHOA HỌC : TS. NGUYỄN ĐÌNH THÚC Thành Phố Hồ Chí Minh – Năm 2009
2 LỜI CÁM ƠN Lời đầu tiên. tôi xin gởi lời cám ơn đến tất cả các thầy cô ở Khoa Toán - Tin Học đã tận tụy truyền đạt các kiến thức cho chúng tôi trong suốt thời gian học tại trường. Tôi xin gởi lời cám ơn sâu sắc đến TS. Nguyễn Đình Thúc; thầy đã tận tình hướng dẫn chúng tôi trong thời gian học cũng như trong suốt thời gian tôi làm bài luận văn với thầy; thầy đã tận tình hướng dẫn, giúp đỡ và động viên để tôi hoàn thành luận văn. Tôi cũng cám ơn đến tất cả các anh chò học viên cao học các khóa đã giúp đỡ tôi trong suốt khóa học cũng như trong thời gian làm luận văn. Tôi xin gởi lời cám ơn đến toàn thể cán bộ viên chức Khoa Dược Đại học Y Dược TPHCM, nơi tôi đang công tác. Cơ quan đã tạo mọi điều kiện thuận lợi để tôi hoàn thành luận văn và khóa học. Cuối cùng tôi xin gởi lời cám ơn đến tất cả những người thân của tôi, gồm ba, mẹ và em tôi. Gia đình đã là nguồn động viên về mặt tinh thần cũng như là vật chất để tôi hoàn thành khóa học. Tôi mong nhận được sự góp ý, chỉ dẫn của quý thầy cô và các bạn để luận văn được hoàn thiện hơn. Thành phố Hồ Chí Minh, tháng 09 năm 2009 Học viên cao học Bùi Quang Thành
3 MỤC LỤC Trang Trang phụ bìa . 1 Lời cảm ơn 2 Mục lục . 3 Tóm tắt . 6 Các ký hiệu 8 Chương 1: Các khái niệm cơ bản 1. Tổng quan 9 2. Mật mã học (Cryptography) 9 2.1. Mật mã học . 9 2.2. Hệ thống mã hóa (Cryptosystem) . 10 2.3. Mã hóa đối xứng 11 3. Kiến thức lý thuyết số . 11 3.1. Modulo 11 3.1.1. Đònh nghóa 11 3.1.2. Một số tính chất . 11 3.1.3. Đònh lý Fermat nhỏ . 12 3.2. m . 12 3.2.1. Đònh nghóa . 12 3.2.2. Phép toán trên m 12 3.2.3. Các tính chất của m 12
4 3.2.4. Đònh lý m là trường khi m là số nguyên tố. . 13 4. Modulo ma trận 13 4.1. Đònh nghóa . 13 4.2. Tính chất . 14 Chương 2: Mã ma trận/Mã hill – Khảo sát không gian khóa 1. Mã thay thế (Substitution ciphers) 16 1.1. Đònh nghóa 16 1.2. Ví dụ . 16 2. Mã ma trận (Matrix cipher) . 17 3. Mã Hill (Hill cipher) 18 3.1. Bảng chữ cái (Alphabet) . 18 3.2. Hill – 2 cipher . 19 3.3. Thuật toán: Mã hóa với Hill cipher . 21 4. Không gian khóa . 24 4.1. Đònh nghóa không gian khóa . 24 4.2. Khái niệm khóa yếu 24 5. Khảo sát không gian khóa . 25 Ta xét khóa K là ma trận vuông có kích thước d×d trên trường m 5.1. Xét không gian khóa trên trường p (p nguyên tố) . 25 5.2. Xét không gian khóa là với đặc số nguyên tố p ( = n mp ) 26 5.3. Xét không gian khóa trên miền m , 0 i z n i i mp = = ∏ , i p nguyên tố 28 5.4. Không gian tốt nhất của Alphabet 30 6. Xét các trường hợp khóa yếu . 35 6.1. Ma trận đối hợp (Involutory matrix) 35
5 6.1.1. Xây dựng ma trận đối hợp . 35 6.1.1.1. Ma trận đối hợp trên trường ;2 p p > 35 6.1.1.2. Ma trận đối hợp trên trường 2 37 6.1.2. Đếm số ma trận đối hợp 42 6.2. K là khóa yếu với Kv = v hoặc vK = v . 45 6.2.1. Xác đònh khóa yếu bằng đònh thức 45 6.2.2. Xác đònh khóa yếu bằng trò riêng . 47 7. Tóm tắt 50 Chương 3: Xây dựng thuật giải sinh khóa cho mã Hill 1. Đònh lý sinh khóa trên p . 51 2. Xác đònh cơ sở hình thành thuật giải . 53 3. Thuật giải 55 4. Ví dụ 56 5. Khảo sát không gian khóa vừa sinh theo thuật giải . 58 Chương 4: Các vấn đề liên quan đến mã Hill 1. Sinh khóa theo pincodes . 60 2. Cách tấn công mã Hill gốc 65 3. Cải tiến thuật giải (sinh khóa từ pincodes và chuỗi ngẫu nhiên) . 66 4. Tính nhanh ma trận khả nghòch của khóa: K -1 = U -1 L -1 . 68 Kết luận và kiến nghò . 71 Tài liệu tham khảo . 72 Phụ lục Code demo thuật toán chương 4 74
6 TÓM TẮT Tìm hiểu mã đối xứng; mã Hill dùng khóa là ma trận khả nghòch. Tìm hiểu không gian khóa của mã Hill và chỉ ra là ta nên chọn khóa trên p , với p nguyên tố thì không gian khóa là tốt nhất. Khảo sát các trường hợp khóa yếu của mã Hill để loại bỏ khi xây dựng thuật toán sinh khóa an toàn. Xây dựng thuật toán sinh khóa là an toàn nghóa là đã loại những trường hợp khóa yếu đã nêu ở trên. Áp dụng sinh khóa theo pincodes và cải tiến thuật toán khi sinh khóa theo pincodes. Chương 1: Các khái niệm cơ bản Tóm tắt: Nêu các khái niệm về mã hóa, mã đối xứng. Nêu các kiến thức lý thuyết số, các tính chất trên trường hữu hạn p Nêu đònh nghóa modulo ma trận. Chương 2: Hệ mã Hill/mã ma trận – Khảo sát không gian khóa của Tóm tắt: Tìm hiểu thuật toán xây dựng mã Hill. Khảo sát không gian khóa của mã Hill, tìm hiểu khóa yếu. Xác đònh không gian khóa tốt nhất. Xác đònh các trường hợp khóa yếu để loại bỏ khi xây dựng thuật toán tìm khóa an toàn cho mã Hill.
7 Chương 3: Xây dựng thuật giải sinh khóa cho mã Hill Tóm tắt: Đònh lý sinh khóa trên p và xác đònh cơ sở xây dựng thuật toán sinh khóa Xác đònh thuật giải sinh khóa an toàn Khảo sát không gian khóa vừa sinh từ thuật giải (không gian khóa đủ lớn?). Chương 4: Các vấn đề liên quan đến mã Hill Tóm tắt: Sinh khóa dựa trên pincodes . Người A và người B dùng chung pincodes để sinh ra khóa và áp dụng thuật toán mã Hill để trao đổi. Nêu các vấn đề yếu của mã Hill. Cải tiến thuật toán mã Hill. Đối với chuỗi thông điệp có kích thước nhỏ hơn d×d – 1 Người A và người B trao có chung pincodes; khi sinh khóa, người A tạo ngẫu nhiên chuỗi u; người A dùng pincodes kết hợp với chuỗi u tạo thành pincodes mới và sinh khóa K dựa trên pincodes mới; áp dụng thuật toán mã Hill để mã hóa thông điệp. Sau đó gửi cho B phần thông điệp đã mã hóa và chuỗi u. Người B có pincodes và chuỗi u; kết hợp pincodes với chuỗi u để tính khóa K và K -1 sau đó áp dụng thuật toán Hill tính thông điệp. Đối với chuỗi thông điệp có kích thước lớn hơn d×d – 1 Người A sẽ chia thông điệp thành k nhóm mỗi nhóm có kích thước d×d – 1(nhóm k có thể có kích thước nhỏ hơn d×d – 1). Người A lần lượt mã hóa từng nhóm và gởi sang người B tương tự như trên(thông điệp có kích thước nhỏ hơn d×d – 1) và người B giải mã và ghép từng nhóm lại thành thông điệp gốc.Tính toán nhanh ma trận khả nghòch khi xây dựng bằng thuật toán trong chương 3.
8 CÁC KÝ HIỆU ≡ Modulo M ≡ Modulo ma trận ⎢⎥ ⎣⎦ Phần nguyên của một số ⎡⎤ ⎢⎥ Phần nguyên trên của một số gcd(a,b) Ước số chung lớn nhất của a và b I n Ma trận đơn vò n × n Z r×s Ma trận 0 có kích thước r × s P Ma trận hoán vò (hoán vò các hàng trong ma trận đơn vò) L Ma trận tam giác dưới U Ma trận tam giác trên GL (n,F) Không gian ma trận khả nghòch cấp n trên trường F p Trường p với p là số nguyên tố () ,MdF Không gian ma trận vuông trên trường F
9 Chương 1: CÁC KHÁI NIỆM CƠ BẢN 1. Tổng quan Ngày nay do thông tin ngày càng phát triển, việc bảo vệ thông tin khi gởi và nhận càng trở nên quan trọng. Bên cạnh tính toàn vẹn thông tin và xác thực các đối tác trong liên lạc và xác thực nội dung thông tin trong liên lạc, thì việc xuất hiện nhiều công cụ cũng như nhiều thuật toán để giải quyết vấn đề bảo mật thông tin cũng phong phú. Việc tìm hiểu và phát triển thuật toán Hill cũng nhằm vào mục đích đó. Việc tìm hiểu về không gian khóa : phân phối, kích thước khóa; và việc phát sinh một khóa sao cho tốt là vấn đề quan trọng và góp phần làm hoàn thiện thuật toán mã hóa Hill. 2. Mật mã học (cryptography) 2.1 Mật mã học Mật mã học - Cryptography (hay crypto)- là ngành khoa học ứng dụng toán học vào việc biến đổi thông tin sang một dạng khác với mục đích che dấu nội dung, ý nghóa thông tin gốc. Đâ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 tin đang được sử dụng ngày càng phổ biến hơ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…[1]
10 Mật mã học nghiên cứu về việc giấu thông tin. Cụ thể hơn, mật mã học là ngành học nghiên cứu về những cách chuyển đổi thông tin từ dạng "có thể hiểu được sang dạng "không thể hiểu được" và ngược lại. Mật mã học giúp đảm bảo những tính chất sau: Tính bí mật (confidentiality): thông tin chỉ được tiết lộ cho những ai được phép. Tính toàn vẹn (integrity): thông tin không thể bò thay đổi mà không bò phát hiện. Tính xác thực (authentication): người gửi (hoặc người nhận) có thể chứng minh đúng họ. Tính không chối bỏ (non-repudiation): người gửi hoặc nhận sau này không thể chối bỏ việc đã gửi hoặc nhận thông tin. Encrypt (encipher): mã hóa – quá trình biến đổi thông tin từ dạng ban đầu - có thể hiểu được sang dạng không thể hiểu được, với mục đích giữ bí mật thông tin đó. Decrypt (decipher): giải mã – quá trình ngược lại với mã hóa, khôi phục lại thông tin ban đầu từ thông tin đã được mã hóa. Plaintext (cleartext): dữ liệu gốc (chưa được mã hóa). Ciphertext: dữ liệu đã được mã hóa. 2.2. Hệ thống mã hóa (Cryptosystem) Đònh nghóa 1: [Theo 1] Hệ thống mã hóa (cryptosystem) là một bộ năm (P, C, K, E, D) thỏa mãn các điều kiện sau: 1. Tập nguồn P là tập hữu hạn tất cả các mẩu tin nguồn cần mã hóa có thể có.