1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tìm hiểu một số thuật toán mã hóa dữ liệu và ứng dụng

51 22 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 51
Dung lượng 0,99 MB

Nội dung

Tìm Hiểu Một Số Thuật Tốn Mã Hóa Dữ Liệu Và Ứng Dụng TRƢỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ THÔNG TIN ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC Đề tài: TÌM HIỂU MỘT SỐ THUẬT TỐN MÃ HĨA DỮ LIỆU VÀ ỨNG DỤNG Giáo viên hướng dẫn Sinh viên thực VINH – 2011 : ThS Cao Thanh Sơn : Trần Thị Kim Nhung Tìm Hiểu Một Số Thuật Tốn Mã Hóa Dữ Liệu Và Ứng Dụng LỜI CẢM ƠN Em xin gửi lời cảm ơn chân thành tới quý thầy cô giáo khoa Công Nghệ Thông Tin, trƣờng Đại học Vinh nói chung thầy giáo mơn Hệ Thống Thơng Tin nói riêng, giúp đỡ, tạo điều kiện cho em suốt trình làm đề tài Đặc biệt em xin chân thành cảm ơn thầy giáo ThS Cao Thanh Sơn, ngƣời giúp đỡ, bảo, hƣớng dẫn tận tình cho em trình làm đề tài Trong thời gian làm việc với thầy, em học hỏi đƣợc nhiều kiến thức bổ ích phƣơng pháp mã hóa tầm quan trọng mã hóa liệu thời đại ngày mà học đƣợc tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc thầy Xin gửi lời cảm ơn chân thành đến gia đình, cha mẹ bạn bè ln nguồn động viên to lớn, giúp đỡ vƣợt qua khó khăn suốt q trình làm việc Mặc dù em cố gắng hoàn thành đề tài với tất nổ lực thân nhƣng chắn khơng tránh khỏi thiếu sót Em kính mong nhận đƣợc cảm thơng tận tình bảo quý thầy cô bạn Một lần nữa, em xin chân thành cảm ơn mong nhận đƣợc đóng góp quý báu tất ngƣời Ngày 20 tháng năm 2011 Sinh viên thực Trần Thị Kim Nhung Trang - - Tìm Hiểu Một Số Thuật Tốn Mã Hóa Dữ Liệu Và Ứng Dụng MỤC LỤC LỜI CẢM ƠN MỤC LỤC - MỞ ĐẦU - CHƢƠNG 1: TỔNG QUAN VỀ HỆ MẬT MÃ - 1.1 Khái niệm mã hóa thơng tin - 1.1.1 Khái niệm - 1.1.2 Vai trị mã hóa - 1.1.3 Các thành phần hệ mã hóa - 1.2 Tiêu chuẩn để đánh giá hệ mã hóa - 1.2.1 Độ an tồn thuật tốn - 1.2.2 Tốc độ mã hóa giải mã - 1.2.3 Phân phối khóa - 1.3 Khóa - 1.3.1 Khái niệm - 1.3.2 Ví dụ - 1.4 Phân loại thuật tốn mã hóa - 10 1.4.1 Phân loại theo phương pháp - 10 1.4.2 Phân loại theo số lượng khóa - 11 CHƢƠNG 2: MỘT SỐ PHƢƠNG PHÁP MÃ HÓA CỔ ĐIỂN - 14 2.1 Hệ mã hóa thay - 14 2.1.1 Hệ mã hóa CEASAR - 14 2.1.2 Hệ mã hóa VIGENERE - 15 2.2 Hệ mã hóa hốn vị - 17 2.2.1 Đảo ngược toàn rõ - 17 2.2.2 Mã hóa theo mẫu hình học - 17 2.2.3 Đổi chỗ cột - 18 2.2.4 Hoán vị ký tự rõ theo chu kì cố định - 19 CHƢƠNG 3: MỘT SỐ THUẬT TỐN MÃ HĨA HIỆN ĐẠI - 20 3.1 Thuật tốn mã hóa DES - 20 3.1.1 Lịch sử đời - 20 3.1.2 Mô tả thuật toán DES - 20 3.1.3 Giải mã DES - 30 3.1.4 Độ an tồn thuật tốn - 30 3.2 Thuật tốn mã hóa RSA - 31 2.2.1 Khái quát RSA - 31 3.2.2 Mơ tả thuật tốn - 31 3.2.3 Một số phương pháp công - 35 3.2.4 Đánh giá thuật toán - 37 3.3 Thuật tốn mã hóa MD5 - 37 3.3.1 Hàm băm MD5 - 37 3.3.2 MD5 - 40 KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN - 49 Kết đạt đƣợc - 49 Hƣớng phát triển - 49 Kết luận - 50 TÀI LIỆU THAM KHẢO - 51 - Trang - - Tìm Hiểu Một Số Thuật Tốn Mã Hóa Dữ Liệu Và Ứng Dụng DANH MỤC VIẾT TẮT, THUẬT NGỮ STT Từ viết tắt Giải nghĩa DES Data Encryption Standard AES Advanced Encryption Standard RC Rivest Cipher CATS MD Message Digest SHA Secure Hash Alorithm FIPS RSA Rivest, Shamir, Adleman MIT Học viện công nghệ Massachusetts 10 NSA Cơ quan Bảo mật quốc gia Hoa Kỳ Carlisle Adams, and Stafford Tavares Federal Information Processing Standard (tiêu chuẩn xử lý thơng tin liên bang) Trang - - Tìm Hiểu Một Số Thuật Tốn Mã Hóa Dữ Liệu Và Ứng Dụng DANH MỤC HÌNH VẼ Hình 1.1: Mơ hình mã hóa Hình 1.2: Mơ hình mã hóa khóa bí mật 10 Hình 1.3: Mơ hình mã hóa khóa cơng khai 11 Hình 2.1: Hình vng Vigenere 15 Hình 3.1: Sơ đồ tổng qt mã hóa DES 20 Hình 3.2: Sơ đồ tạo khóa 21 Hình 3.3: Biểu diễn dãy 64 bit x chia thành thành phần L0,R0 23 Hình 3.4: Sơ đồ chi tiết vịng 23 Hình 3.5: Sơ đồ hoạt động hàm f 24 Hình 3.6: Hốn vị mở rộng 25 Hình 3.7: Sơ đồ thuật tốn RSA 32 Hình 3.8: Mơ hình vịng 38 Hình 3.9: Sơ đồ vòng lặp MD5 40 Hình 3.10: Sơ đồ khối tổng quát 44 Hình 3.11: Sơ đồ xử lý 512 bit 46 Hình 3.12: Ứng dụng MD5 đăng ký quyền công ty 48 Trang - - Tìm Hiểu Một Số Thuật Tốn Mã Hóa Dữ Liệu Và Ứng Dụng MỞ ĐẦU Lí chọn đề tài Trong năm gần đây, mạng Internet trở thành tảng cho trao đổi thơng tin tồn cầu Có thể thấy cách rõ ràng Internet tác động lên nhiều mặt đời sống từ việc tìm kiếm thơng tin, trao đổi liệu đến việc hoạt động thƣơng mại, học tập nghiên cứu làm việc trực tuyến Nhờ Internet mà việc trao đổi thông tin ngày tiện lợi, nhanh chóng hơn, khái niệm thƣ điện tử (email) khơng cịn xa lạ với ngƣời Tuy nhiên mơi trƣờng truyền thơng này, ngồi mặt tích cực Internet tiềm ẩn tiêu cực vấn đề bảo vệ thơng tin Do đó, yêu cầu đƣợc đặt việc trao đổi thông tin mạng:  Bảo mật tuyệt đối thông tin giao dịch  Đảm bảo tính tồn vẹn thơng tin  Chứng thực đƣợc tính đắn pháp lí thực thể tham gia trao đổi thông tin  Đảm bảo thực thể phủ nhận hay chối bỏ trách nhiệm họ hoạt động giao dịch Internet Mã hóa thơng tin ngành quan trọng có nhiều ứng dụng đời sống xã hội Ngày ứng dụng mã hóa bảo mật thơng tin đƣợc sử dụng ngày phổ biến lĩnh vực khác Thế giới, từ lĩnh vực an ninh, quân sự, quốc phòng… Cho đến lĩnh vực dân nhƣ thƣơng mại điện tử, ngân hàng… Trong đề tài tơi tìm hiểu số phƣơng pháp mã hóa đƣợc sử dụng rộng rãi Cấu trúc khóa luận nhƣ sau:  Chƣơng 1: Tổng quan hệ mật mã  Chƣơng 2: Một số phƣơng pháp mã hóa cổ điển  Chƣơng 3: Một số thuật tốn mã hóa đại Trang - - Tìm Hiểu Một Số Thuật Tốn Mã Hóa Dữ Liệu Và Ứng Dụng CHƢƠNG 1: TỔNG QUAN VỀ HỆ MẬT MÃ 1.1 Khái niệm mã hóa thơng tin 1.1.1 Khái niệm Mã hóa thơng tin chuyển đổi thông tin từ dạng rõ (dạng đọc đƣợc) sang dạng mờ (dạng đọc đƣợc) ngƣợc lại Nhằm mục đích ngăn chặn nguy truy cập thông tin truyền mạng cách bất hợp pháp Thông tin đƣợc truyền mạng dƣới dạng mờ đọc đƣợc với cố tình muốn lấy thơng tin Khi có nhu cầu trao đổi thơng tin, Internet mơi trƣờng khơng an tồn, đầy rủi ro nguy hiểm, khơng có đảm bảo thơng tin mà truyền không bị đọc trộm đƣờng truyền Vì mã hóa biện pháp giúp ta bảo vệ nhƣ thơng tin mà ta gửi [1, 2, 7] Ngoài mã hóa cịn đảm bảo tính tồn vẹn liệu 1.1.2 Vai trị mã hóa Các hệ mã hóa phải thực đƣợc vai trò sau  Các hệ mã hóa phải che dấu đƣợc nội dung văn rõ (PlainText) để đảm bảo cho ngƣời chủ hợp pháp thơng tin có quyền truy cập thơng tin, hay nói cách khác chống truy cập không quyền hạn  Tạo yếu tố xác thực thông tin, đảm bảo thông tin lƣu hành hệ thống đến ngƣời nhận hợp pháp xác thực  Tổ chức sơ đồ chữ ký điện tử, đảm bảo khơng có tƣợng giả mạo, mạo danh để gửi thông tin mạng Ƣu điểm lớn hệ mã hóa đánh giá đƣợc độ phức tạp tính tốn mà “kẻ địch” phải giải tốn để lấy đƣợc thông tin liệu Tuy nhiên hệ mã hóa có số ƣu nhƣợc điểm khác nhau, nhƣng nhờ đánh giá đƣợc độ phức tạp tính tốn, mức độ an tồn hệ mã hóa mà ta ứng dụng cụ thể tùy theo yêu cầu độ an toàn [1, 2, 3] Trang - - Tìm Hiểu Một Số Thuật Tốn Mã Hóa Dữ Liệu Và Ứng Dụng 1.1.3 Các thành phần hệ mã hóa Một hệ mã hóa (P, C, D, K, E) thõa mã điều kiện sau - P tập hợp hữu hạn rõ (PlainText), cịn đƣợc gọi không gian rõ - C tập hợp hữu hạn mã (CipherText), cịn đƣợc gọi không gian mã Mỗi phần tử C nhận đƣợc cách áp dụng phép mã hóa Ek lên phần tử P - K tập hợp hữu hạn khóa hay cịn gọi khơng gian khóa Đối với phần tử k K đƣợc gọi khóa (Key) Số lƣợng khơng gian khóa phải đủ lớn để “kẻ địch” khơng đủ thời gian để thử khóa (phƣơng pháp vét cạn) - E D lần lƣợt tập luật mã hóa giải mã Với k K có quy tắc mã hóa ek: PC quy tắc giải mã tƣơng ứng d k € D Mỗi ek: PC dk: CP hàm mà: dk(ek(x))=x với rõ x € P Hình 1.1: Mơ hình mã hóa 1.2 Tiêu chuẩn để đánh giá hệ mã hóa 1.2.1 Độ an tồn thuật toán Nguyên tắc mã hoá “Thuật tốn bị phá vỡ” Các thuật tốn khác cung cấp mức độ an tồn khác nhau, phụ thuộc vào độ phức tạp để phá vỡ chúng Tại thời điểm, độ an toàn thuật tốn phụ thuộc [1, 7] o Nếu chi phí hay phí tổn cần thiết để phá vỡ thuật tốn lớn giá trị thơng tin mã hóa thuật tốn thuật tốn tạm thời đƣợc coi an tồn Trang - - Tìm Hiểu Một Số Thuật Tốn Mã Hóa Dữ Liệu Và Ứng Dụng o Nếu thời gian cần thiết dùng để phá vỡ thuật tốn q lâu thuật tốn tạm thời đƣợc coi an tồn o Nếu lƣợng liệu cần thiết để phá vỡ thuật toán lớn so với lƣợng liệu đƣợc mã hố thuật tốn tạm thời đƣợc coi an tồn 1.2.2 Tốc độ mã hóa giải mã Khi đánh giá hệ mã hóa phải ý đến tốc độ mã hóa giải mã Hệ mã hóa tốt thời gian mã hóa giải mã nhanh 1.2.3 Phân phối khóa Một hệ mã hóa phụ thuộc vào khóa, khóa đƣợc truyền cơng khai hay truyền bí mật Phân phối khóa bí mật chi phí cao so với thuật tốn mã hóa khóa cơng khai Vì tiêu chí lựa chọn hệ mã hóa 1.3 Khóa 1.3.1 Khái niệm Một khóa mã hóa phần thông tin đặc biệt đƣợc kết hợp với thuật tốn để thi hành mã hóa giải mã Mỗi khóa khác tạo văn mã hóa khác nhau, khơng chọn khóa khơng thể mở đƣợc tài liệu mã hóa trên, cho dù biết đƣợc thuật toán dùng thuật toán mã hóa gì, sử dụng khóa phức tạp độ an toàn liệu lớn [1, 2, 7] 1.3.2 Ví dụ Mã hóa nội dung thƣ với khóa “Thay ký tự xuất thƣ ký tự đứng thứ sau nó” Cùng thật tốn nhƣng sử dụng khóa “Thay ký tự xuất thƣ ký tự đứng thứ sau nó” Nhƣ kết thƣ có nội dung nhƣ sau sử dụng hai khóa khác có hai mã khác Trang - - Tìm Hiểu Một Số Thuật Tốn Mã Hóa Dữ Liệu Và Ứng Dụng 1.4 Phân loại thuật tốn mã hóa 1.4.1 Phân loại theo phương pháp 1.4.1.1 Mã hoá cổ điển Xuất lịch sử, thuật tốn sử dụng khóa đơn giản, dễ hiểu Là phƣơng pháp mà ký tự (hay nhóm ký tự) rỏ đƣợc thay ký tự (hay nhóm ký tự) khác tạo nên mã [1, 7] Bên nhận cần đảo ngƣợc lại trình tự thay nhận đƣợc rõ ban đầu Mã hóa cổ điển có hai phƣơng pháp bật là: Mã hóa thay mã hóa hốn vị Các hệ mã hóa thƣờng đƣợc sử dụng lịch sử là: Hệ mã hóa Ceasar, Vigenere, Hill… 1.4.1.2 Mã hóa đối xứng Mã hóa đối xứng hay mã hóa chia sẻ khóa mơ hình mã hóa hai chiều, có nghĩa tiến trình mã hóa giải mã dùng chung khóa Khóa đƣợc chuyển giao bí mật hai đối tƣợng tham gia giao tiếp Khóa đƣợc cấu hình Software đƣợc mã hóa Hardware Mã hóa đối xứng thực nhanh nhƣng gặp rủi ro khóa bị đánh cắp [1, 7] Một số thuật tốn mã hóa đối xứng tiếng nhƣ: DES, AES, RC2, RC4, RC5, RC6… Ngồi cịn số thuật tốn nhƣ: Skipjact, Blowfish, CATS-128 1.4.1.3 Mã hóa bất đối xứng Mã hóa bất đối xứng mơ hình mã hóa hai chiều sử dụng cặp khóa khóa chung (Public Key) khóa riêng (Private Key) Trong khóa chung Public Key đƣợc cơng bố rộng rải Thông thƣờng thông tin đƣợc ngƣời gửi sử dụng khóa Public Key để mã hóa gửi Ngƣời nhận thơng tin dùng khóa Private Key để giải mã Khóa Private Key ngƣời giữ phƣơng pháp mã hóa bất đối xứng đảm bảo tính bí mật Một điều quan trọng phƣơng pháp mã hóa cặp khóa Public Key Private Key phải tƣơng đồng Có nghĩa có Private Key cặp khóa giải mã đƣợc liệu mã hóa khóa Public Key tƣơng ứng [1, 2, 7] Trang - 10 - Tìm Hiểu Một Số Thuật Tốn Mã Hóa Dữ Liệu Và Ứng Dụng Nếu có phần tử Cj chuỗi C1, C2,…, Ci Sao cho Cj = C kẻ cơng sẻ tìm đƣợc M = Cj-1 Cj = Cej-1 mod n C = Me mod n Ví dụ : Giả sử biết {e, n, C} = {17, 35, 3} Ngƣời ta sẻ tính C1 = Ce mod n = 317 mod 35 = 33 C2 = C1e mod n = 3317 mod 35 = Vì C2 = C nên M = C1 =33 3.2.4 Đánh giá thuật toán - RSA đơn giản, dễ hiểu, dễ cài đặt - Hiệu suất hoạt động: RSA chạy chậm việc phát sinh khố cơng khai, khố bí mật hay q trình mã hố, giải mã tốn nhiều thời gian phải tính tốn số ngun dƣơng cực lớn, có chiều dài vƣợt khả chứa ghi nên phải thực lại nhiều lần sử dụng nhiều đến xử lý Do đó, RSA khơng đƣợc sử dụng vào mục đích mã hố khối lƣợng liệu lớn mà ứng dụng chữ ký điện tử để mã hố thơng điệp ngắn qua hàm băm (hash), giải thuật trao đổi khố bí mật (khoá dùng cho hệ thống mã hoá đối xứng, hay khoá riêng) mã hoá liệu với số lƣợng nhỏ - Tính bảo mật: Độ an tồn RSA dựa tốn phân tích thừa số nguyên tố Do đó, chiều dài số lớn khó phân tích thừa số ngun tố 3.3 Thuật tốn mã hóa MD5 3.3.1 Hàm băm MD5 3.3.1.1 Khái niệm MD5 (Message-Digest algorithm 5) hàm băm để mã hóa với giá trị băm 128 bit Từng đƣợc xem chuẩn Internet, MD5 đƣợc sử dụng rộng rãi chƣơng trình an ninh mạng, thƣờng đƣợc dùng để kiểm tra tính nguyên vẹn tập tin MD5 đƣợc thiết kế Ronald Rivest vào năm 1991 để thay cho hàm băm trƣớc MD4 (cũng ông thiết kế, trƣớc MD2) [5, 8] Trang - 37 - Tìm Hiểu Một Số Thuật Tốn Mã Hóa Dữ Liệu Và Ứng Dụng 3.3.1.2 Ứng dụng MD5 có ứng dụng quan trọng:  MD5 đƣợc sử dụng rộng rãi giới phần mềm để đảm bảo tập tin tải không bị hỏng Ngƣời sử dụng so sánh thơng số kiểm tra phần mềm MD5 đƣợc công bố với thông số kiểm tra phần mềm tải MD5 Hệ điều hành Unix sử dụng MD5 để kiểm tra gói tin mà phân phối, hệ điều hành Windows sử dụng phần mềm hãng thứ ba  MD5 đƣợc dùng để mã hóa mật Mục đích việc mã hóa biến đổi chuỗi mật thành đoạn mã khác, cho từ đoạn mã khơng thể lần trở lại mật Có nghĩa việc giải mã phải khoảng thời gian vô tận (đủ để làm nản lòng hacker) 3.3.1.3 Thuật giải MD5 biến đổi thơng điệp có chiều dài thành khối có kích thƣớc cố định 128 bit Thông điệp đƣa vào đƣợc cắt thành khối 512 bit Thông điệp đƣợc đƣa vào đệm để chiều dài chia hết cho 512 Bộ đệm hoạt động nhƣ sau: - Trƣớc tiên chèn bit vào cuối thơng điệp - Tiếp hàng loạt bit Zero chiều dài nhỏ bội số 512 khoảng 64 bit - Phần lại đƣợc lấp đầy số nguyên 64 bit biểu diễn chiều dài ban đầu thơng điệp Thuật tốn MD5 hoạt động 128 bit Chia nhỏ thành từ 32 bit, ký hiệu A, B, C D Các giá trị số cố định Sau thuật tốn luân phiên hoạt động khối 512 bit Mỗi khối phối hợp với Quá trình xử lý khối thông điệp bao gồm bƣớc tƣơng tự nhau, gọi vòng (“round”) Mỗi vòng lại gồm 16 trình tƣơng tự dựa hàm chiều F, phép cộng module phép xoay trái… Hình bên dƣới mơ tả q trình vịng Có hàm hiều F sử dụng Mỗi vòng sử dụng hàm khác Trang - 38 - Tìm Hiểu Một Số Thuật Tốn Mã Hóa Dữ Liệu Và Ứng Dụng Hình 3.8: Mơ hình vòng Hàm băm MD5 (còn đƣợc gọi hàm tóm tắt thơng điệp - message degests) trả chuỗi số hexa phân gồm 32 số liên tiếp Dƣới ví dụ mơ tả kết thu đƣợc sau băm MD5("cộng hòa xã hội chủ nghĩa việt nam") = 7b8e76fac176d53c53cb24843e31e759 Thậm chỉ cần thay đổi nhỏ làm thay đổi hoàn toàn kết trả : MD5(“ Cộng Hòa Xã Hội Chủ Nghĩa Việt Nam “) = 4B290F07CAC9A678797B6D23CCD1062B Ngay chuổi rỗng cho kết phức tạp: MD5(“”) = d41d8cd98f00b204e9800998ecf8427e Trang - 39 - Tìm Hiểu Một Số Thuật Tốn Mã Hóa Dữ Liệu Và Ứng Dụng 3.3.2 MD5 3.3.2.1 Mô tả Đầu vào khôi 512 bit, đƣợc chia cho 16 khôi 32 bit Đầu thuật toán thiết lập khôi 32 bit để tạo thành môt hàm Băm 128 bit Đầu tiên, ta chia thông điệp thành khôi 512 bit, với khối cuối (đăt x x

Ngày đăng: 07/10/2021, 23:44

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w