Giáo trình Bảo mật thông tin

180 5 0
Tài liệu đã được kiểm tra trùng lặp
Giáo trình Bảo mật thông tin

Đ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

Untitled Giáo trình Bảo mật thông tin 1 MỤC LỤC LỜI NÓI ĐẦU 5 CHƢƠNG 1 GIỚI THIỆU CHUNG VỀ MẬT MÃ 6 1 1 Sơ lƣợc về lịch sử mật mã 6 1 1 1 Mật mã cổ điển 7 1 1 2 Mật mã hiện đại 7 1 2 Các hệ thống mật[.]

Giáo trình Bảo mật thơng tin MỤC LỤC LỜI NĨI ĐẦU CHƢƠNG 1: GIỚI THIỆU CHUNG VỀ MẬT MÃ 1.1 Sơ lƣợc lịch sử mật mã 1.1.1 Mật mã cổ điển 1.1.2 Mật mã đại .7 1.2 Các hệ thống mật mã 1.2.1 Sơ đồ hệ thống mật mã 1.2.2 Yêu cầu hệ mật mã 1.2.3 Mã khối mã dòng 1.3 Mật mã khóa đối xứng mật mã khóa cơng khai 10 1.3.1 Hệ mật mã khóa đối xứng .10 1.3.2 Hệ mật mã khóa cơng khai 11 1.4 Các tốn an tồn thơng tin 12 1.5 Thám mã tính an tồn hệ mật mã .13 1.5.1 Vấn đề thám mã .13 1.5.2 Tính an tồn hệ mật mã 14 CHƢƠNG 2: MẬT MÃ CỔ ĐIỂN 16 2.1 Giới thiệu 16 2.2 Cơ sở toán học 17 2.2.1 Tính chia hết số nguyên 17 2.2.2 Thuật toán Euclide thuật toán Euclid mở rộng 18 2.2.3 Quan hệ đồng dƣ số học modulo m 21 2.2.4 Phƣơng trình đồng dƣ 24 2.2.5 Các lớp thặng dƣ 25 2.2.6 Hàm Euler 26 2.3 Một số hệ mật mã đơn giản 26 2.3.1 Hệ mật mã dịch chuyển (Shift cipher) 26 2.3.2 Hệ mật mã thay (substitution cipher) 28 2.3.3 Hệ mật mã Affine 29 2.3.4 Hệ mật mã Vigenere 31 2.3.5 Hệ mật mã Hill 32 2.3.6 Hệ mật mã hoán vị .36 Giáo trình Bảo mật thơng tin 2.3.7 Các hệ mật mã dòng 37 2.4 Mã thám hệ mật mã cổ điển 40 2.4.1 Thám hệ mật mã Affine 42 2.4.2 Thám hệ mật mã thay 43 2.4.3 Tấn công với rõ biết hệ mật mã Hill 45 2.4.4 Thám mã hệ mật mã Vigenère 46 2.4.5 Thám mã hệ mã dòng xây dựng LFSR 51 BÀI TẬP 54 CHƢƠNG 3: CHUẨN MÃ DỮ LIỆU 58 3.1 Giới thiệu hệ mật mã chuẩn 58 3.2 Hệ mật mã DES 59 3.2.1 Mô tả DES 59 3.2.2 Cách hoán vị bit 61 3.2.3 Cách tính bảng khố từ khố ban đầu K 62 3.2.4 Cách tính hàm f (Feistel Function) 67 3.2.5 DES thực tế 76 3.2.6 Phép tối ƣu hoá thời gian - nhớ 76 3.2.7 Độ an toàn việc thám mã DES 79 3.3 Hệ mật IDEA 82 3.3.1 Khái quát chung hệ mật IDEA 82 3.3.2 Một số phép toán 82 3.3.3 Mơ tả thuật tốn IDEA 83 3.3.4 Những đặc tính quan trọng 88 CHƢƠNG 4: CÁC HỆ MẬT MÃ KHỐ CƠNG KHAI 89 4.1 Giới thiệu mật mã khố cơng khai 89 4.1.1 Một số toán 90 4.1.2 Một số hệ mật mã khố cơng khai quan trọng : 93 4.1.3 Hàm cửa sập chiều 93 4.1.4 Định nghĩa hệ mật mã khóa cơng khai 95 4.2 Kiểm tra tính nguyên tố theo xác suất 95 4.2.1 Một số khái niệm định nghĩa 96 4.2.2 Thuật toán kiểm tra số nguyên tố theo xác suất 100 4.3 Một số kiến thức toán học 101 4.3.1 Định lý phần dƣ China 101 4.3.2 Một số định lý số học 102 Giáo trình Bảo mật thông tin 4.3.3 Phần tử nguyên thủy 104 4.3.4 Tính đồng dƣ lũy thừa lớn (xe mod n) 105 4.4 Hệ mật mã RSA .107 4.4.1 Định nghĩa 107 4.4.2 Thực hệ mật mã RSA 108 4.4.3 Tính bảo mật hệ mật mã RSA .108 4.4.4 Các phƣơng pháp công hệ mật mã RSA .109 4.5 Hệ mật mã Rabin 116 4.5.1 Định nghĩa 116 4.5.2 Tính an tồn hệ mật mã Rabin 118 4.6 Các thuật tốn phân tích thừa số ngun tố .119 4.6.1 Phƣơng pháp p-1 119 4.6.2 Thuật toán Dixon sàng bậc hai 120 4.6.3 Các thuật tốn phân tích thực tế 122 4.7 Hệ mật mã Elgamal giải thuật rời rạc 123 4.7.1 Hệ mật Elgamal 123 4.7.2 Tính an tồn hệ mật mã ElGamal 124 4.7.3 Các thuật toán cho toán Logarithm rời rạc 125 4.8 Các hệ mật dựa toán NP đầy đủ 129 4.8.1 Khái niệm độ phức tạp tính toán 129 4.8.2 Nguyên tắc chung xây dựng hệ mật dựa toán NP đầy đủ 129 4.8.3 Hệ mật xếp ba lô Merkle – Hellman 130 4.8.4 Hệ mật McEliece 132 BÀI TẬP 138 CHƢƠNG 5: CHỮ KÝ ĐIỆN TỬ HÀM HASH VÀ PHÂN PHỐI KHOÁ 142 5.1 Các sơ đồ chữ ký điện tử 142 5.1.1 Khái niệm sơ đồ chữ ký số 143 5.1.2 Phân loại chữ ký số .144 5.1.3 Sơ đồ chữ ký RSA (đề xuất năm 1978) .145 5.1.4 Sơ đồ chữ ký Elgamal 146 5.1.5 Chuẩn chữ ký điện tử 150 5.1.6 Chữ ký lần 151 5.1.7 Các chữ ký không chối đƣợc .153 5.2 Các hàm Hash 155 5.2.1 Các chữ ký hàm Hash .155 Giáo trình Bảo mật thơng tin 5.2.2 Hàm Hash không va chạm 156 5.2.3 Hàm Hash logarithm rời rạc 157 5.2.4 Các hàm Hash mở rộng 159 5.2.5 Hàm Hash MD4 159 5.3 Phân phối thoả thuận khoá 165 5.3.1 Giới thiệu 165 5.3.2 Phân phối khoá trƣớc 167 5.3.3 Kerboros 170 5.3.4 Trao đổi khoá Diffie - Hellman 171 BÀI TẬP 177 Giáo trình Bảo mật thơng tin LỜI NĨI ĐẦU Từ ngƣời có nhu cầu trao đổi thơng tin với nhu cầu giữ bí mật thơng tin xuất Trong thời đại ngày nay, với phát triển khoa học kỹ thuật, phƣơng tiện truyền thông ngày đa dạng, việc trao đổi thông tin trở nên dễ dàng việc giữ bí mật thơng tin khó khăn Các trao đổi thơng tin qua mạng Intenet, hình ảnh mặt đất, đàm thoại hữu tuyến vơ tuyến… dễ dàng thu đƣợc nhờ thiết bị điện tử mặt đất từ vệ tinh nên an toàn thông tin trở thành nhu cầu bắt buộc cho hệ thống ứng dụng Từ thời xa xƣa, ngƣời nghĩ cách che dấu thông tin cách biến đổi thơng tin thành dạng thơng tin khác mà ngƣời ngồi khơng hiểu đƣợc, đồng thời có cách khơi phục lại ngun dạng ban đầu để ngƣời hiểu đƣợc Phƣơng pháp thực nhƣ gọi mã hóa liệu, sau phát triển thành ngành khoa học gọi mật mã học Đây kỹ thuật lâu đời việc đảm bảo an tồn thơng tin Ngày nay, với phát triển ngành khoa học, kỹ thuật mã hóa ngày đa dạng tinh vi Cơng nghệ mã hóa thơng tin thu hút nhiều quan tâm nhà khoa học giới Từ chỗ đƣợc sử dụng lĩnh vực trị, qn sự, mã hóa liệu đƣợc đƣa vào sử dụng lĩnh vực Hiện có nhiều kỹ thuật mật mã khác nhau, kỹ thuật có ƣu nhƣợc điểm riêng Để đáp ứng nhu cầu học tập tìm hiểu sinh viên ngành Công nghệ thông tin, giáo trình Bảo mật thơng tin đƣợc biên soạn giúp sinh viên có nhìn tổng quan lĩnh vực an tồn bảo mật thơng tin, tiếp cận số phƣơng pháp mã hóa liệu, làm sở cho nghiên cứu mở rộng Giáo trình gồm chƣơng: Chƣơng giới thiệu tổng quan mật mã, chƣơng tóm tắt sơ lƣợc mã hóa cổ điển, chƣơng trình bày chuẩn mã liệu, chƣơng nêu số hệ mật mã khóa công khai, chƣơng giới thiệu số sơ đồ chữ ký điện tử, hàm Hash phân phối khóa Giáo trình đƣợc biên soạn theo khung chƣơng trình mơn học Bảo mật thông tin, nội dung dựa sở “Cryptography: Theory and Practice” Douglas Stinson, ngƣời dịch Nguyễn Bình Với mục đích trang bị kiến thức sở giúp sinh viên tiếp cận với phƣơng pháp bảo vệ liệu cách mã hóa, giáo trình trình bày tóm tắt phần lý thuyết toán học đƣợc áp dụng hệ mật mã, đƣa ví dụ minh họa cụ thể, cuối chƣơng có tập Do lần đầu biên soạn nên khơng tránh khỏi sai sót lỗi in ấn định Tác giả xin vui lịng tiếp nhận đóng góp giúp cho giáo trình “Bảo mật thơng tin” ngày tốt Giáo trình Bảo mật thơng tin CHƢƠNG 1: GIỚI THIỆU CHUNG VỀ MẬT MÃ 1.1 Sơ lƣợc lịch sử mật mã Nhu cầu sử dụng mật mã xuất từ sớm, từ ngƣời biết trao đổi truyền thông tin cho nhau, đặc biệt thơng tin đƣợc thể dƣới hình thức ngơn ngữ, thƣ từ Các hình thức mật mã sơ khai đƣợc tìm thấy từ khoảng bốn nghìn năm trƣớc văn minh Aicập cổ đại Trải qua hàng nghìn năm lịch sử, mật mã đƣợc sử dụng rộng rãi khắp giới để giữ bí mật cho việc giao lƣu thông tin nhiều lĩnh vực hoạt động ngƣời quốc gia, đặc biệt lĩnh vực trị, quân sự, ngoại giao Mật mã học khoa học nghiên cứu mật mã: Tạo mã Phân tích mã Phân tích mã kỹ thuật phân tích mật mã, kiểm tra tính bảo mật phá vỡ bí mật Phân tích mã cịn đƣợc gọi Thám mã Một số khái niệm - Mã hóa q trình chuyển thơng tin đọc đƣợc (gọi rõ) thành thơng tin khó đọc đƣợc (gọi mã) - Giải mã trình chuyển đổi thông tin từ mã thành rõ - Thuật tốn mã hóa hay giải mã thủ tục tính tốn để thực mã hóa hay giải mã - Khóa mã hóa giá trị làm cho thuật tốn mã hóa đƣợc thực theo cách riêng biệt Phạm vi có khóa đƣợc gọi Khơng gian khóa - Hệ mã hóa tập thuật tốn, khóa Mật mã học có lịch sử phát triển dài phức tạp, nhiên chia thành hai giai đoạn Mật mã cổ điển : hệ mật mã đời trƣớc năm 1949 chủ yếu dùng để che giấu liệu Trong giai đoạn mật mã học đƣợc coi nghệ thuật nhiều môn khoa học đƣợc ứng dụng thực tế Mật mã đại : Lịch sử mật mã học đƣợc đánh dấu vào năm 1949 Claude Shannon đƣa lý thuyết thơng tin Mật mã đại ngồi khả che giấu thơng tin cịn dùng để thực ký số, tạo đại diện thông điệp, giao thức bảo toàn liệu, giao thức xác định thực thể,… Kể từ loạt nghiên cứu quan trọng ngành mật mã học đƣợc thực nhƣ nghiên cứu mã khối, đời hệ mật khóa cơng khai chữ ký điện tử Giáo trình Bảo mật thơng tin 1.1.1 Mật mã cổ điển Trong phần lớn thời gian phát triển mình, lịch sử mật mã học lịch sử phƣơng pháp mật mã học cổ điển cần bút giấy Khi thông báo, thƣ từ đƣợc truyền trao đổi với thƣờng văn bản, tức có dạng dãy ký tự ngơn ngữ đó, thuật tốn lập mã thƣờng đơn giản thuật toán xáo trộn, thay đổi ký tự đƣợc xác định phép chuyển dịch, thay hay hoán vị ký tự bảng ký tự ngôn ngữ tƣơng ứng Các cách mã hóa dễ bị dị phƣơng pháp phân tích tần suất Mật mã cổ điển đƣợc phổ biến đến ngày chủ yếu thông qua việc giải ô đố chữ Vào đầu kỷ 20, với tiến kỹ thuật tính tốn truyền thơng, ngành mật mã có tiến to lớn Một số thiết bị khí đƣợc phát minh để thực mã hóa, tiếng máy Enigma đƣợc ngƣời Đức sử dụng đại chiến giới Mật mã đƣợc thực máy móc tăng độ phức tạp lên đáng kể cơng việc phân tích mã Sau chiến thứ II trở đi, hai ngành, mật mã học phân tích mã ngày sử dụng nhiều sở toán học Tuy thế, đến máy tính phƣơng tiện truyền thơng Internet trở nên phổ biến, ngƣời ta mang tính hữu dụng mật mã học vào thói quen sử dụng ngày ngƣời, thay đƣợc dùng quyền quốc gia hay hoạt động kinh doanh lớn trƣớc 1.1.2 Mật mã đại Sau chiến tranh giới thứ II, phủ, qn đội số cơng ty lớn Mỹ riết tiến hành xây dựng cơng cụ mã hóa Đầu năm 1970 phát triển thuật tốn mã hóa khối, Lucipher sau phát triển thành DES DES sau có phát triển rực rỡ đầu năm 90 Bƣớc ngoặt có tính cách mạng lịch sử khoa học mật mã đại xẩy vào năm 1976 hai tác giả Diffie Hellman đƣa khái niệm mật mã khóa cơng khai phƣơng pháp trao đổi cơng khai để tạo khóa bí mật chung mà tính an tồn đƣợc bảo đảm độ khó toán toán học (cụ thể tốn tính "logarithm rời rạc") Hai năm sau, năm 1978, Rivest, Shamir Adleman tìm hệ mật mã khóa cơng khai sơ đồ chữ ký điện tử hồn tồn ứng dụng thực tiễn, tính bảo mật an tồn chúng đƣợc bảo đảm độ phức tạp toán số học tiếng tốn phân tích số ngun thành thừa số nguyên tố Sau phát minh hệ mật mã (nay thƣờng gọi hệ RSA), việc nghiên cứu để Giáo trình Bảo mật thơng tin phát minh hệ mật mã khóa cơng khai khác ứng dụng hệ mật mã khóa cơng khai vào tốn khác an tồn thơng tin đƣợc tiến hành rộng rãi, lý thuyết mật mã an tồn thơng tin trở thành lĩnh vực khoa học đƣợc phát triển nhanh vài ba thập niên cuối kỷ 20, lôi theo phát triển số môn toán học tin học 1.2 Các hệ thống mật mã 1.2.1 Sơ đồ hệ thống mật mã Trong hoạt động ngƣời, nhu cầu trao đổi thơng tin mật thành viên thuộc nhóm với cần thiết Trong thời đại ngày nay, với phát triển phƣơng tiện truyền thơng Internet, việc giữ bí mật ngày trở nên khó khăn Một phƣơng pháp thơng dụng để giữ bí mật thơng tin mã hóa chúng hệ mật mã trƣớc truyền Giả sử ngƣời gửi A muốn gửi đến ngƣời nhận B văn p Để bảo mật, A lập cho p mật mã c gửi c cho B, B nhận đƣợc c "giải mã" c để thu đƣợc văn p nhƣ A định gửi Để A biến p thành c B biến ngƣợc lại c thành p, A B phải thỏa thuận trƣớc với thuật tốn lập mã, giải mã khóa mật mã chung K để thực thuật tốn Ngƣời ngồi khơng biết thơng tin (đặc biệt khơng biết khóa K), cho dù có lấy trộm đƣợc c kênh truyền thông công cộng tìm đƣợc văn p mà hai ngƣời A, B muốn gửi cho Sau định nghĩa hình thức sơ đồ mật mã cách thức thực để lập mật mã giải mật mã Định nghĩa Một hệ mật mã gồm thành phần (P, C, K, E, D), Giáo trình Bảo mật thơng tin  P (Plaintext) tập hữu hạn rõ  C (Ciphertext) tập hữu hạn mã  K (Key) tập hữu hạn khoá  E (Encryption) tập quy tắc mã hóa  D (Decryption) tập hợp quy tắc giải mã Với k K có quy tắc mã ek: P  C quy tắc giải mã tƣơng ứng dk  D Mỗi ek dk hàm thỏa mãn dk(ek (x)) = x với rõ x  P Trong định nghĩa này, phép lập mật mã giải mã đƣợc định nghĩa cho ký tự rõ mã Trong thực tế, rõ thông báo thƣờng dãy ký tự rõ, tức phần tử tập P* mật mã dãy ký tự mã, tức phần tử tập C* 1.2.2 Yêu cầu hệ mật mã Độ tin cậy: cung cấp bí mật cho thông báo liệu đƣợc lƣu việc sử dụng kỹ thuật mã hố Tính tồn vẹn: cung cấp bảo đảm với tất bên thông báo không bị thay đổi từ gửi ngƣời nhận mở Tính khơng chối bỏ: cung cấp cách xác thực tài liệu đến từ họ cố gắng chối bỏ Tính xác thực: cung cấp hai dịch vụ: - Nhận dạng nguồn gốc thông báo cung cấp bảo đảm thực - Kiểm tra đặc tính ngƣời đăng nhập hệ thống Tiếp tục kiểm tra đặc tính họ trƣờng hợp cố gắng kết nối giả mạo ngƣời sử dụng 1.2.3 Mã khối mã dịng Trong mật mã học, mã hố khối thuật toán mã hoá đối xứng hoạt động khối thơng tin có độ dài xác định (block) với chuyển đổi xác định Chẳng hạn thuật tốn mã hố khối xử lý khối 128 bít đầu vào biến thành khối 128 bít đầu Q trình chuyển đổi cịn sử dụng thêm tham số nữa: khố bí mật để cá biệt hố q trình Việc giải mã diễn tƣơng ứng: xử lý khối mã hoá 128 bít với khố để trả khối 128 bít rõ ban đầu Để mã hoá khối văn có độ dài vƣợt độ dài khối, ngƣời ta sử dụng thuật toán theo chế độ mã hố khối Giáo trình Bảo mật thông tin Thực mã theo khối (block cipher): Trƣớc hết ta xác định độ dài khối (chẳng hạn m), tiếp mở rộng khơng gian khóa từ K thành Km , với K =K1 Km  Km, mở rộng eK dK thành thuật toán eK : Pm Cm dK : CmPm nhƣ sau: với x1 xk Pm y1 yk  Cm eK(x1, …, xm) = eK1(x1)…eKm(xm) dK(y1, …, ym) = dK1(y1)…dKm(ym) Giả sử rõ mà ta muốn lập mật mã dãy ký tự X P* Cắt X thành khối, khối có độ dài m, khối cuối có độ dài nhỏ m bổ sung vào phần cuối khối số ký tự qui ƣớc để có độ dài m Do giả thiết X = X1 Xm, X1, ,Xm khối có độ dài m, định nghĩa mật mã X là: eK(X) = eK(X1 Xm ) = eK(X1) eK(Xm) Đặt Y = eK(X1) eK(Xm), viết Y = Y1 Ym với Yi =eK(Xi), có dK(Y) = dK(Y1) dK(Ym) = X1 Xm = X Cách mã theo khối đơn giản thông dụng chọn độ dài khối k =1 Khi với rõ X = x1 xm  P* ta có eK(X) = eK(x1 xm ) = eK(x1) eK(xm) Với cách mã theo dòng (stream cipher), trƣớc hết phải xác định dòng khóa, tức phần tử K = K1 Km  K*, với dịng khóa ta xác định rõ X = x1 xm  P* có mã tƣơng ứng eK(X) = eK(x1,x2, …,xm) = eK1(x1)eK2(x2)… eKm(xm) Giải mã Y = eK(X) ta đƣợc dK(Y) = dK1(eK1(x1))…dKm(eKm(xm) = x1 … xm = X Để sử dụng cách lập mật mã theo dịng, ngồi sơ đồ mật mã gốc cịn phải có dịng khóa, tức dãy có độ dài tùy ý ký tự khóa Đó thƣờng dãy ký tự khóa đƣợc sinh "tạo dãy ngẫu nhiên" xuất phát từ "mầm" chọn trƣớc Trong ứng dụng thực tế, ngƣời ta thƣờng dùng cách mã theo dịng có sơ đồ mật mã gốc sơ đồ Vernam với P = C = K = {0,1} hàm lập mã giải mã đƣợc xác định eK(x) = x + K mod 2, dK(y) = y +K mod (K = 1) dịng khóa đƣợc sinh tạo dãy bit ngẫu nhiên 1.3 Mật mã khóa đối xứng mật mã khóa cơng khai 1.3.1 Hệ mật mã khóa đối xứng Mật mã khố đối xứng hệ mật mã biết đƣợc khoá lập mã (ke) tính đƣợc khố giải mã (kd) ngƣợc lại Đặc biệt số hệ mật mã có khố lập mã khố giải mã trùng nhau, nhƣ hệ mật mã dịch chuyển hay hệ mật mã DES Hệ mật mã khố đối xứng cịn gọi hệ mật mã khố bí mật hay khóa riêng, phải giữ bí mật khố Trƣớc dùng hệ mật mã khoá đối xứng, ngƣời gửi 10 ... nhận đóng góp giúp cho giáo trình ? ?Bảo mật thông tin? ?? ngày tốt Giáo trình Bảo mật thơng tin CHƢƠNG 1: GIỚI THIỆU CHUNG VỀ MẬT MÃ 1.1 Sơ lƣợc lịch sử mật mã Nhu cầu sử dụng mật mã xuất từ sớm, từ... tồn thơng tin Trong thời đại bùng nổ thông tin nhƣ nay, nhu cầu trao đổi thông tin phƣơng tiện truyền đƣa thông tin phát triển cách nhanh chóng Cùng với phát 12 Giáo trình Bảo mật thơng tin triển... hệ mật mã dịch chuyển hay hệ mật mã DES Hệ mật mã khố đối xứng cịn gọi hệ mật mã khố bí mật hay khóa riêng, phải giữ bí mật khố Trƣớc dùng hệ mật mã khoá đối xứng, ngƣời gửi 10 Giáo trình Bảo mật

Ngày đăng: 26/11/2022, 19:29

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

Tài liệu liên quan