Bài giảng An toàn thông tin: Chương 3 Mã hóa thông tin cổ điển, cung cấp cho người học những kiến thức như: Các khái niệm về Mã hóa thông tin; Hệ mật mã (Cryptography System); Thám mã (Cryptanalysis); Mã hóa cổ điển: Mật mã Ceasar; Mật mã thay thế đơn ký tự; Mật mã Vigenère. Mời các bạn cùng tham khảo!
TRƯỜNG ĐẠI HỌC NGUYỄN TẤT THÀNH KHOA CÔNG NGHỆ THÔNG TIN Bài giảng mơn học: AN TỒN THƠNG TIN Chương 3: MÃ HĨA THƠNG TIN CỔ ĐIỂN Số tín chỉ: Số tiết: 30 tiết (Lý thuyết) Biên soạn: ThS Nguyễn Thị Phong Dung Email : ntpdung@ntt.edu.vn Chương 3: Mã hóa thơng tin cổ điển Các khái niệm Mã hóa thơng tin Hệ mật mã (Cryptography System) Thám mã (Cryptanalysis) Mã hóa cổ điển: Mật mã Ceasar Mật mã thay đơn ký tự Mật mã Vigenère CÁC KHÁI NIỆM VỀ MÃ HĨA THƠNG TIN • Tiêu chuẩn an tồn thơng tin: • AutheConfidentiality (tính bí mật ): thơng tin bí mật với người Availability khơng có thẩm quyền • nticity (tính xác thực): bên nhận xác minh nguồn gốc thông tin Accountability Non-repudiation Confidentiali ty Integrity Authentici ty • Integrity (tính tồn vẹn): Information bên nhận xác minh liệu toàn vẹn Reliabilit y Security • Non-repudiation (tính chống thối thác): bên tạo thông tin phủ nhận thông tin tạo • Reliability (tính ổn định / tin cậy): độ an tồn thuật tốn cao • Kỳ vọng hệ mã hóa: • Đảm bảo tính bí mật, tinh xác thực, ổn định tính chống thối thác CÁC KHÁI NIỆM VỀ MÃ HĨA THƠNG TIN • Mã hóa thơng tin: • Khái niệm: • Mã hóa làm biến đổi thơng tin gốc => thơng tin mã hóa • Có khả giải mã thơng tin mã hóa => thơng tin ban đầu CÁC KHÁI NIỆM VỀ MÃ HĨA THƠNG TIN • Mã hóa thơng tin: • Các thuật ngữ: • Plain text (bản rõ): thơng tin gốc (biểu diễn theo cách thức đó) • Encrypt (mã hóa): hành động biến đổi cách thức biểu diễn thơng tin • Cipher text (bản mã): thơng tin mã hóa, che giấu, giữ bí mật • Decrypt (giải mã): hành động biến đổi Cipher text thành Plain text • Algorithm (thuật tốn): giải thuật mã hóa/ giải mã thơng tin • Key (Khóa): giải thuật, có nhiều trường hợp mã hóa/ giải mã khác Key = trường hợp giải thuật • Cryptography (mật mã học): nghiên cứu phương pháp mã hóa thơng tin • Cryptanalysis (thám mã/phá mã): nghiên cứu phương pháp để phá vỡ hệ mật mã Hệ mật mã (Cryptography System) • Khái niệm Hệ mật mã: • Là hệ thống mã hóa giải mã thơng tin Bao gồm yếu tố: • Giải thuật (Algorithm) mã hóa giải thuật giải mã • Khơng gian khóa (Key space) • Cách thức xử lý Plain text Cipher text Hệ mật mã (Cryptography System) • Giải thuật mật mã hóa: • Là thuật toán biến đổi Plain text => Cipher text => Plain text • Dựa vào nguyên lý biến đối: • Nguyên lý thay (substitution): thành phần Plain text (bit, byte, ký tự, block…) thay thành phần khác Khơng gian khóa (Key space) • Ngun lý chuyển vị (transposition): thành phần Plain text xếp lại vị trí khác (đảo vị trí) • Kết hợp ngun lý: vừa thay thế, vừa chuyển vị Hệ mật mã (Cryptography System) • Giải thuật mật mã hóa: • Minh họa cho ngun lý thay (substitution) giải thuật dùng “sách” hay “khóa chạy”: • Ví dụ: mã 259,19,8; 22,3,8; 375,7,4; 394,17,2 sách dùng "A Fire Up on the Deep“: • Trang 259, dịng 19, từ thứ sack • Trang 22, dịng 3, từ thứ island Trang 375, dòng 7, từ thứ sharp Trang 394, dòng 17, từ thứ path Bản rõ tương ứng mã "259,19,8; 22,3,8; 375,7,4; 394,17,2 " "sack island sharp path" Hệ mật mã (Cryptography System) • Giải thuật mật mã hóa: • Minh họa cho nguyên lý chuyển vị (transposition) phương pháp dùng ma trận: • Ví dụ: rõ P = “computer security” • Viết ký tự rõ vào ma trận cột, theo hàng từ xuống • Tạo lại mã chuyển vị cách viết lại theo thứ tự cột • Chuỗi kết C = C T C Y O E U M R R P S I U E T Hệ mật mã (Cryptography System) • Khơng gian khóa: • Mỗi trường hợp biến đổi (thay / chuyển vị) Khóa • Khơng gian khóa: tổng trường hợp biến đổi giải thuật • Khơng gian khóa lớn => khả phá mã (tìm trường hợp biến đổi sử dụng) khó Hệ mật mã (Cryptography System) • Cách thức xử lý thơng tin: • Stream Cipher (mã hóa luồng): phần tử thơng tin xử lý (mã hóa / giải mã) liên tục, từ đầu đến cuối • Block Cipher (mã hóa khối): chia thành nhiều khối (block), xử lý (mã hóa / giải mã) theo block Thám mã (Cryptanalysis) • Kỹ thuật vét cạn (Brute-force): • Thử tất khả khóa số mã đến nhận rõ minh bạch • Về mặt lý thuyết, ln thực • Thời gian giải mã tỷ lệ thuận với độ phức tạp khóa • Kỹ thuật Phân tích mã (Cryptanalytic): • Phân tích, suy luận để tìm rõ khóa mã dựa trên: ▪ Bản chất thuật toán mã hóa ▪ Thống kê, tìm đặc trưng rõ / mã, Thám mã (Cryptanalysis) • Nguyên lý an tồn cho hệ mật mã: • Ngun lý Kerckhoff • Tính an tồn hệ mã hố khơng phục thuộc vào việc giữ bí mật giải thuật mã hố, mã phục thuộc vào việc giữ bí mật khố mã • Lý thuyết Shannon: hệ mật mã hồn hảo • Độ dài khóa tối thiểu độ dài rõ • Khóa sử dụng lần • => khó đạt thực tế • điều kiện an tồn cho hệ mật mã: • Thời gian để thám mã thành cơng lớn thời gian cần giữ bí mật thơng tin • Chi phí để thám mã thành cơng lớn giá trị thơng tin thu Mã hóa cổ điển: Mật mã Ceasar • Nguyên lý mã Ceasar: • Phát minh Julius Ceasar, kỷ trước cơng ngun • Phương pháp mã: dùng nguyên lý thay • Tạo Cipher text cách: thay ký tự Plain text ký tự thứ k bảng chữ • Ví dụ: k = Mã hóa cổ điển: Mật mã Ceasar • Tốn học hóa mã Ceasar: • Nếu gán số thứ tự cho ký tự bảng chữ cái: • Khi mã Ceasar định nghĩa qua phép tịnh tiến (khóa K): • Mã hóa: C = (P + K) mod 26 • Giải mã: P = (C – K) mod 26 • Độ an tồn mã Ceasar • Khơng gian khóa K 25 => thám mã qua tối đa 25 lần thử Mã hóa cổ điển: Mật mã Ceasar • Minh họa thám mã Ceasar: • Ví dụ đối thủ nhận Cipher: • Thử 25 key hình bên => • Kết quả: k = giải mã cụm từ có nghĩa • Cải tiến mã Ceasar: • Tăng khơng gian khóa • Nén / thay đổi nội dung rõ trước mã hóa vét cạn tốc độ 109 khóa/ giây cần 6400 thiên niên kỷ! • Có thể phá mã thống kê tần suất dùng chữ • Trong English: tần suất dùng Ký tự: E > T > R > N > I > O > A > S • Nhóm ký tự: TH > HE > IN > ER > RE > ON > AN > EN • Nhóm ký tự: THE > AND > TIO > ATI > FOR > THA > TER > RES Mật mã Vigenère • Nguyên lý: cải tiến từ mã hóa đơn ký tự • Tạo bảng Saint-Cyr có 26 Key (A -> Z) để mã hóa 26 ký tự Plain text • Ví dụ: Key = WORD • key = W • key = O • key = R • key = D • key = W • key = O • … Mật mã Vigenère • Minh họa: mã hóa Vigenère: • Với Key = “DECEPTIVE” Bài tập • Bài tập: • Giải mã cho mã với giả thiết dùng mã Ceasar với k=3 IRXUVFRUHDQGVHYHQBHDUVDJR • Giả sử mã Ceasar sử dụng, phá mã sau: CSYEVIXIVQMREXIH • Giả sử rõ “networksecurity” mã hóa phương pháp Vigenere mã “PVRLHFMJCRNFKKW” Hãy tìm khóa K Cám ơn ! ... 259,19,8; 22 ,3, 8; 37 5,7,4; 39 4,17,2 sách dùng "A Fire Up on the Deep“: • Trang 259, dịng 19, từ thứ sack • Trang 22, dòng 3, từ thứ island Trang 37 5, dòng 7, từ thứ sharp Trang 39 4, dòng 17,... tương ứng mã "259,19,8; 22 ,3, 8; 37 5,7,4; 39 4,17,2 " "sack island sharp path" Hệ mật mã (Cryptography System) • Giải thuật mật mã hóa: • Minh họa cho ngun lý chuyển vị (transposition) phương pháp... tích mã (Cryptanalytic): • Phân tích, suy luận để tìm rõ khóa mã dựa trên: ▪ Bản chất thuật tốn mã hóa ▪ Thống kê, tìm đặc trưng rõ / mã, Thám mã (Cryptanalysis) • Nguyên lý an toàn cho hệ mật