Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 27 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
27
Dung lượng
179 KB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC ĐÀ NẴNG NGÔ PHƯƠNG NAM NGHIÊNCỨUCÁCPHƯƠNGPHÁPTHÁMMÃMỘTSỐLUẬTMÃTHUỘCHỆMẬTMÃCỔĐIỂNTRÊN VĂN BẢNTIẾNGVIỆT Chuyên ngành : KHOA HỌC MÁY TÍNH Mãsố : 60.48.01 TÓM TẮT LUẬN VĂN THẠC SĨ KỸ THUẬT Đà Nẵng - Năm 2012 1 Công trình được hoàn thành tại ĐẠI HỌC ĐÀ NẴNG Người hướng dẫn khoa học: PGS.TSKH. Trần Quốc Chiến Phản biện 1 : GS.TS. Nguyễn Thanh Thủy Phản biện 2 : TS. Nguyễn Thanh Bình Luận văn được bảo vệ tại Hội đồng chấm Luận văn tốt nghiệp thạc sĩ Kỹ thuật họp tại Đại học Đà Nẵng vào ngày 04 tháng 03 năm 2012. *. Có thể tìm hiểu luận văn tại : - Trung tâm Thông tin - Học liệu, Đại học Đà Nẵng - Trung tâm H ọc liệu, Đại học Đà Nẵng. 2 MỞ ĐẦU 1. Lý do chọn đề tài Mậtmã học là một ngành khoa học về mã hóa dữ liệu nhằm bảo mật thông tin. Mã hóa dữ liệu là một quá trình màcác dữ liệu dạng văn bản gốc được chuyển thành văn bảnmậtmã để làm nó không thể đọc được. Ngày nay, để đảm bảo sự an toàn và bí mật của các thông tin quan trọng, nhạy cảm, vấn đề mã hóa dữ liệu ngày càng trở nên cấp thiết và được nhiều người quan tâm. Có nhiều phươngphápmã hóa dữ liệu được đưa ra. Vậy làm thế nào để đánh giá được mộtphươngphápmã hóa nào là tốt? Có nhiều phươngpháp đánh giá nhưng phươngpháp tốt nhất và trực quan nhất là phươngpháp phân tích trực tiếp bảnmã khi không có khóa mã trong tay mà người ta thường gọi là thámmã (Cryptanalysis). Có thể chia cácphươngphápmã hóa dữ liệu thành hai hệmậtmãcơ bản: Hệmậtmãcổđiển với cáchệmậtmã như hệmã Caesar, Affine, thay thế, Vigenere… và hệmậtmã hiện đại với hệmã đối xứng (DES - Data Encryption Standard) và hệmã bất đối xứng (RSA – Rivest, Shamir, Adleman). Với mỗi hệmậtmã ta có những phươngphápthámmã tương ứng. Việc tìm hiểu, nghiêncứu cả hai hệmãtrên là rất cần thiết song vì điều kiện thời gian không cho phép, luận văn tập trung tìm hiểu, nghiêncứucácphươngphápthámmãhệmậtmãcổ điển. Tuy hệmậtmãcổđiển đến nay không còn được sử dụng nhiều nhưng chính hệmậtmã này là nền tảng cho sự phát triển của mậtmã hiện đại. Việc nghiêncứuthámmãhệmậtmãcổđiểncó ý ngh ĩa quan trọng hỗ trợ việc nghiêncứuthámmãcáchệ thống mã hiện đại vì vậy việc nghiêncứu chúng vẫn rất cần thiết. 3 Bên cạnh đó, trong cáccác tài liệu về mậtmã hiện nay, cácphươngphápmã hóa, giải mã, thámmã chủ yếu thực hiện trêncác văn bảntiếng Anh với 26 ký tự chữ cái (A-Z) mà rất ít thực hiện trêncác văn bảntiếng Việt. Từ những lý do trên, em đã chọn đề tài “Nghiên cứucácphươngphápthámmãmộtsốluậtmãthuộchệmậtmãcổđiểntrên văn bảntiếng Việt” làm định hướng nghiêncứu của mình. 2. Mục đích và nhiệm vụ nghiêncứu của đề tài Tìm hiểu, cài đặt cácphươngphápthámmãmộtsốluậtmãthuộchệmãcổđiểntrên văn bảntiếngViệt ở dạng file text sử dụng bảng mã unicode dựng sẵn. Đánh giá, so sánh độ phức tạp, ưu nhược điểm giữa cácphương pháp. So sánh việc thực hiện cácphươngpháptrên văn bảntiếngViệt và văn bảntiếng Anh. Cài đặt, mô phỏng cácphươngpháp ở dạng trực quan. Tìm ra mối liên hệ giữa mộtsốphươngphápthámmãcổđiển với phươngphápthámmã hiện đại. 3. Đối tượng và phạm vi nghiêncứuCác kiến thức toán học cơsở dưới góc nhìn của mã hóa thông tin Cácphươngphápmã hóa, giải mãhệmậtmãcổđiểnCácphươngphápthámmãmộtsốluậtmãthuộchệmậtmãcổđiểnCác đặc điểm của tiếngViệt dưới góc nhìn của mã hóa thông tin Các bảng mãtiếngViệt thông dụng (VNI-Windows, TCVN3, Unicode) Các d ạng file văn bản (TXT, DOC, PDF) 4 Đề tài tập trung nghiêncứucácphươngphápthámmãhệmãcổđiểntrên văn bảntiếng Việt. 4. Phươngphápnghiêncứu Thu thập tài liệu về mã hóa bảo mật từ nhiều nguồn (tài liệu, sách giáo trình, Internet…). Tổng hợp các kết quả nghiêncứu để lựa chọn cách tiếp cận phù hợp với nội dung nghiên cứu. So sánh ưu, nhược điểm của cácphươngpháp để đề xuất giải pháp thích hợp. Lựa chọn công nghệ phù hợp để thể hiện các kết quả nghiên cứu. 5. Phương tiện nghiêncứuNghiêncứu giáo trình, tài liệu, các bài báo về lĩnh vực mã hóa, bảo mậttrên Internet, các bài báo trêncác tạp chí trong và ngoài nước. Bộ công cụ lập trình C, C++ hoặc C# Thư viện mã nguồn mở về mã hóa bảo mật. 6. Ý nghĩa khoa học và thực tiễn Tìm hiểu, nghiêncứucác kiến thức về hệmậtmãcổđiểnmột cách hoàn chỉnh từ mã hóa, giải mã đến thámmã qua đó đánh giá một cách trực quan mộtphươngphápthám mã. Vận dụng cácphươngphápthámmãhệmãcổđiểntrên văn bảntiếngViệt qua đó có sự so sánh với việc áp dụng cácphươngpháp đó trên văn bảntiếng Anh. Tìm được mối liên hệ giữa mộtsốphươngphápthámmãhệmã c ổ điển với phươngphápthámmãhệmã hiện đại. Giúp tìm hiểu sâu hơn về cácphươngphápthámmãtrên văn bảntiếng Việt. 5 CHƯƠNG 1. CƠSỞ LÝ THUYẾT 1.1. CÁC THUẬT NGỮ CƠBẢN VỀ MẬTMÃ VÀ THÁMMÃ 1.1.1. Mậtmã (Cryptography) Mậtmã là tập hợp mọi phươngpháp (hoặc quy tắc) biến đổi nào đó nhằm chuyển các thông báo (messages) dưới dạng nhận thức được nội dung (như chữ viết, tiếng nói, hình vẽ, hình ảnh…) thành dạng bí mậtmà những người ngoài cuộc không hiểu được nội dung nếu họ không biết được phươngpháp (hoặc quy tắc) biến đổi đó. 1.1.2. Thámmã (Cryptanalysis) Thámmã là quá trình khôi phục lại bản rõ hoặc khóa khi chỉ cóbảnmã tương ứng cho trước (không biết khóa và quy tắc mã/dịch) gọi là thám mã. 1.1.3. Mậtmã học (Cryptology) Mậtmã học (Cryptology) là một bộ môn khoa học chuyên nghiêncứu về mậtmã và thám mã. 1.1.4. Bản rõ (Plain text) 1.1.5. Bảnmã (Cipher text) 1.1.6. Phép biến đổi mã/dịch Hình 1.1. S ơ đồ quá trình mã hóa và giải mã ab cd … ab cd … Decryption Encryption Key Key plaintext plaintext ciphertext 6 1.1.7. Khóa (key) 1.1.8. Độ dài khóa (Keysize/Keylength) 1.2. ĐẶC TRƯNG CƠBẢN CỦA BẢN RÕ Ở mỗi ngôn ngữ, mỗi loại văn bảncó những đặc trưng riêng dựa trên quy luật tần số, quy luật trùng lắp, quy luật văn phong . Muốn thám mã, đặc biệt là trêncácbảnmã truyền thống ta cần nắm được các đặc trưng này. 1.2.1. Tần số (Frequency) Tần số xuất hiện một ký tự, một nhóm ký tự, một từ hay một vần… trong một văn bản là số lần xuất hiện của ký tự, nhóm ký tự, từ, vần đó trong văn bản đã cho. Tần suất (hay còn gọi là tần số tương đối – relative frequency) của một ký tự trong một văn bản là xác suất ký tự đó xuất hiện so với các ký tự khác. Nó được tính bằng việc lấy số lần xuất hiện ký tự đó trong văn bản chia cho độ dài văn bản đó. 1.2.2. Sự trùng lặp Sự trùng lặp là một quy luật của bất cứ ngôn ngữ tự nhiên nào. Đó là đặc trưng thứ hai của ngôn ngữ được thể hiện trêncác văn bản thông báo (bản rõ). 1.2.3. Quy luật hành văn trong văn bản Mỗi loại văn bản, nhất là văn bản hành chính thường có những cấu trúc chung. Đây cũng là điểm cần chú ý khi thực hiện thám mã. 1.2.4. Quy luật tình huống Để chống lại việc thámmã của đối phương, các nhà mậtmã phải thiết kế các cách thức mã hóa sao cho các thông tin về khóa và và 7 bản rõ không lộ rõ trênbản mã. Tuy nhiên luôn chứa đựng những mâu thuẫn nội tại màcác nhà mãthám dựa vào đó để khai thác, đó là: trình độ về mậtmã ở các nước khác nhau là khác nhau, khóa mã không phải luôn được bảo vệ cẩn thận theo quy định. 1.2.5. Tiêu chuẩn bản rõ Tiêu chuẩn bản rõ của một loại văn bản là các thống kê thể hiện quy luật tần số, quy luật trùng lặp của loại văn bản đó. 1.3. CÁCHỆMÃ KHÓA Cáchệmãcó thể được phân thành hai loại là mã đối xứng và mã bất đối xứng. Ở mậtmã đối xứng lại có thể phân thành hai loại là mậtmãcổđiển và mậtmã “hiện đại”. 1.3.1. Cáchệmậtmãcổđiển 1.3.1.1. Hệmã hóa thay thế (Substitution cipher) Hệmã hóa thay thế là hệmã hóa trong đó mỗi ký tự của bản rõ được thay thế bằng một ký tự khác trong bản mã. 1.3.1.2. Hệmã Dịch vòng (Mã Caesar) Hệmã Caeser là mộthệmã hóa thay thế đơn âm. Để mã hóa người ta đánh sốcác chữ cái từ 0 đến N-1. Không gian khóa K=Z N . Với mỗi khóa k∈K hàm mã hóa và giải mãmột ký tự cósố thứ tự là i sẽ thực hiện như sau: Mã hóa: E k (i) = (i+k) mod N Giải mã: D k (i) = (i-k) mod N 1.3.1.3. Hệmã Affine M ột trường hợp khác của mã thay thế là mã Affine. Trong mã Affine, ta giới hạn chỉ xét các hàm mãcó dạng: 8 E(x) = (ax + b) mod N Với N là số ký tự trong bảng chữ cái và a, b ∈ Z N . 1.3.1.4. Hệmã Vigenere Không gian khóa K được xác định như sau: Với mỗi số nguyên dương M, khóa có độ dài M là một xâu ký tự có độ dài M, K=k 1 k 2 k 3 …k M . Để mã hóa mộtbản rõ P người ta chia P thành các đoạn có độ dài M. và chuyển thành số thứ tự tương ứng của chúng trong bảng chữ cái, chẳng hạn X = x 1 x 2 …x M . Khi đó việc mã hóa và giải mã được thực hiện như sau: E K (X) = x 1 +k 1 , x 2 +k 2 ,…, x M +k M ) mod N. D K (Y) = (y 1 -k 1 , y 2 -k 2 ,…, y M -k M ) mod N Với N là số phần tử của bảng chữ cái và Y=y 1 y 2 …y M là bản mã. 1.3.1.5. Hệmã Hill Phươngphápmã hóa Hill có thể được phát biểu như sau: Cho số nguyên dương m. Định nghĩa: P = C = (Z n ) m và K là tập hợp cácma trận m x m khả nghịch Với mỗi khóa K = 11 12 1n 21 22 2n n1 n2 nn k k . k k k . k . . . . k k . k ∈ K, định nghĩa: E K (x) = xK = (x 1 , x 2 , ., x m ) 11 12 1n 21 22 2n n1 n2 nn k k . k k k . k . . . . k k . k 9 với x = (x 1 , x 2 , ., x m ) ∈ P và D K (y) = yK -1 với y ∈ C. Mọi phép toán số học đều thực hiện trên Z n . 1.3.1.6. Hệmã đổi chỗ (transposisition cipher) Mộthệmã đổi chỗ là hệmã hóa trong đó các ký tự của bản rõ vẫn được giữ nguyên nhưng thứ tự của chúng được đổi chỗ cho nhau. 1.3.2. Cáchệmã đối xứng hiện đại và mã công khai Vì luận văn tập trung nghiêncứuthámmãcáchệmãcổđiển nên trong luận văn chỉ giới thiệu tóm tắt về cáchệmã đối xứng hiện đại và mã công khai là: mã lặp, mã DES, mã AES và mã RSA. CHƯƠNG 2. MỘTSỐ KIẾN THỨC BỔ TRỢ 2.1. ĐỘ BẤT ĐỊNH (ENTROPY) Phần này đưa ra các kiến thức liên quan đến việc xác định độ bất định của các đại lượng ngẫu nhiên, từ đó giúp ta đoán nhận khả năng xuất hiện các ký tự trong một văn bản nhằm phục vụ việc thámmãcáchệmậtmã truyền thống và cho cả mã khối. 2.1.1. Các khái niệm 2.1.2. Các tính chất của Entropy 2.2. ĐỘ PHỨC TẠP CỦA THUẬT TOÁN Để giải các bài toán phức tạp trong thám mã, đặc biệt là thámmãcác h ệ mậtmã hiện đại, độ phức tạp tính toán đóng vai trò rất . của mã hóa thông tin Các phương pháp mã hóa, giải mã hệ mật mã cổ điển Các phương pháp thám mã một số luật mã thuộc hệ mật mã cổ điển Các đặc điểm của tiếng. NGÔ PHƯƠNG NAM NGHIÊN CỨU CÁC PHƯƠNG PHÁP THÁM MÃ MỘT SỐ LUẬT MÃ THUỘC HỆ MẬT MÃ CỔ ĐIỂN TRÊN VĂN BẢN TIẾNG VIỆT Chuyên ngành : KHOA HỌC MÁY TÍNH Mã số