1 an toμn m¹ng th«ng tin Mai Quèc Kh¸nh khanhmq@fpt.vn Bμi 2: c¬ së mËt m∙ häc 2 Giíi thiÖu (1) • Tæng quan vÒ c¸c thuËt to¸n mËt m· • TÊn c«ng mËt m· • Thuéc tÝnh cña c¸c thuËt to¸n m· ho¸ • Ph©n lo¹i c¸c thuËt to¸n m· ho¸ 3 Giíi thiÖu (2) 4 hai ứng dụng chính của các thuật toán mật m Mã hoá dữ liệu (Data Encryption): chuyển đổi bản rõ (plaintext) thành bản mã (ciphertext) để che dấu nghĩa của nó Ký dữ liệu (Signing of Data): máy tính kiểm tra chữ ký số (digital signature) của bản rõ hoặc bản mã để xác nhận các thực thể nào đó có quyền truy cập dữ liệu (đã đợc ký) hay không Một số thuật toán mật mã có thể dùng cho cả hai mục đích mã hoá và ký dữ liệu, một số thuật toán chỉ dùng cho một trong hai mục đích. 5 các thành phần của sơ đồ mật m truyền thống Bản rõ (plaintext): bản tin gốc đầu vào của thuật toán mã hoá Thuật toán mã hoá (encryption algorithm): thuật toán thực hiện các phép thay thế và chuyển đổi trên bản rõ Khoá bí mật (secret key): cũng là một đầu vào của thuật toán mã hoá. Sự chuyển đổi và thay thế sẽ đợc thực hiện phụ thuộc vào khoá này Bản mã (ciphertext): bản tin đã đợc xáo trộn ở đầu ra của thuật toán. Cùng một bản rõ, nhng mã hoá với hai khoá bí mật khác nhau sẽ tạo ra hai bản mã khác nhau Thuật toán giải mã (decryption algorithm): thuật toán ngợc lại với thuật toán mã hoá. Với đầu vào là bản mã và cùng khoá bí mật sẽ tái tạo ra bản rõ ban đầu ở đầu ra cuả thuật toán giải mã 6 Theo phép toán sử dụng để chuyển đổi bản rõ thành bản mã: Thay thế (substitution): mỗi phần tử trong bản rõ đợc ánh xạ (map) sang một phần tử khác Hoán vị (transposition): các phần tử của bản rõ đợc sắp xếp lại Theo sốlợng khoá đợc dùng: Nếu cả bên gửi và bên nhận sử dụng cùng một khoá, thì hệ thống đợc gọi là mã hoá đối xứng (symmetric), mã hoá khoá bí mật (secret-key), mã hoá một khoá (single-key) Nếu bên gửi và bên nhận sử dụng hai khoá khác nhau, thì hệ thống đợc gọi là mã hoá bất đối xứng (asymmetric), mã hoá khoá công khai (public-key), mã hoá hai khoá (two-key) Theo cách thức xử lý bản rõ: Mật mã khối (block cipher): xử lý mỗi lần một khối các phần tử đầu vào, tạo ra một khối đầu ra với mỗi khối đầu vào Mật mã chuỗi (stream cipher): xử lý liên tiếp các phần tử đầu và, tạo ra mỗi lần một phần tử đầu ra Các tiêu chí phân loại mật m 7 Mật mã đối xứng (symmetric cryptography) dùng một khoá cho mã hoá/giải mã hoặc cho ký/kiểm tra Mật mã không đối xứng (asymmetric cryptography) dùng hai khoá khác nhau cho mã hoá/giải mã hoặc cho ký/kiểm tra Các hàm trộn mật mã (cryptographic hash functions) sử dụng các khoá 0 (khoá ở đây không phải là một đầu vào tách rời mà đợc gắn hoặc trộn với dữ liệu). phân loại các thuật toán mật m 8 tấn công mật m - Thám m Tấn công mật mã (cryptography attack) hay còn gọi là thám mã (cryptanalysis) là quá trình cố gắng phát hiện bản rõ (plaintext) hoặc khoá (key) Chiến lợc đợc dùng bởi những ngời thám mã phụ thuộc vào tính chất của sơ đồ mã hoá và các thông tin có thể có với ngời thám mã Những kiểu thám mã truyền thống (xem bảng trong slide tiếp theo) Những kiểu thám mã mới: thám mã vi sai, thám mã tuyến tính 9 Kiểu tấn công Những điều ngời thám mã biết trớc Chỉ với bản mã (ciphertext only) Thuật toán mã hoá Bản mãđợc giải mã Bản rõ đã biết (known plaintext) Thuật toán mã hoá Bản mãđợc giải mã Một hoặc nhiều cặp bản rõ-bản mã đợc tạo ra với khoá bí mật Bản rõ đã chọn (chosen plaintext) Thuật toán mã hoá Bản mãđợc giải mã Bản rõ đã chọn bởi ngời thám mã, cùng với bản mã tơng ứng đợc tạo ra với khoá bí mật Bản mã đã chọn (chosen ciphertext) Thuật toán mã hoá Bản mãđợc giải mã Bản mã dự định bởi ngời thám mã, cùng với bản rõ tơng ứng đợc giải mã với khoá bí mật Bản text đã chọn Thuật toán mã hoá Bản mãđợc giải mã Bản rõ đã chọn bởi ngời thám mã, cùng với bản mã tơng ứng đợc tạo ra với khoá bí mật Bản mã dự định bởi ngời thám mã, cùng với bản rõ tơng ứng đợc giải mã với khoá bí mật 10 M∙ ho¸vµgi¶i m∙ (1) M· ho¸ Gi¶i m· Key=010011 1 Key=010011 1 [...]... giải mã / s Với tốc độ xử lý 106 phép giải mã / s 32 2 32 = 4.3 x 109 23 1 s = 35.8 phút 2. 15 ms 56 25 6 = 7 .2 x 1016 25 5 s = 11 42 năm 10.01 giờ 128 21 28 = 3.4 * 1038 21 27 s = 5.4 x 1 024 năm 5.4 x 1018 năm 168 21 68 = 3.7 * 1050 21 67 s = 5.4 x 1036 năm 5.4 x 1030 năm 14 thế nào là số lớn? Bảng dới đây liệt kê các con số tham chiếu so sánh với các độ lớn tơng đối: 15 thuộc tính của thuật toán m hoá Khi mã. .. hồi bản rõ từ bản mã đã mất dữ liệu và do vậy cần phải đồng bộ lại trong trờng hợp mất bản tin Các thuật toán khác tự động đồng bộ lại sau 0 đến n bit bản mã (n lớn hay nhỏ tuỳ thuộc vào thuật toán) 16 Các thuật toán mật m (tóm tắt) Các thuật toán viết mật mã Mật mã / giải mã đối xứng Tổng quan Mật mã / giải mã không đối xứng Các hàm trộn mật mã Giải mật mã Các chế độ hoạt động Cơ bản MDCs / MACs... giải m (2) Có thể khoá đợc thì cũng có thể mở đợc Ai cũng khoá đợc nhng chỉ có ngời giữ chìa khoá mới có thể mở đợc 11 mậT m khoá công khai Giải mật mã các thuật mã hoá khoá công khai: Thực tế khi khoá đợc bị lộ thì có thể bị khai thác Các thuật toán giải mã khoá công khai tập trung vào việc phá vỡ bản thân hệ thống mật mã và gần với các nghiên cứu toán học thuần tuý hơn các thuật giải mã mật cổ... bản rõ thành bản mã, cần quan tâm đến các thuộc tính sau: Truyền lỗi: đặc trng cho ảnh hởng của các lỗi bit xảy ra khi truyền bản mã lên bản rõ đợc tái tạo Tuỳ theo thuật toán mã hoá, mỗi bit lỗi của bản mã có thể gây ra một hay nhiều bit lỗi trên bản rõ đợc tái tạo Đồng bộ hoá: đặc trng cho ảnh hởng của việc mất các đơn vị dữ liệu bản mã lên bản rõ đợc tái tạo Một số thuật toá mã hoá không thể... nguyên lớn 12 tấn công tổng lực (Brute force attack) Tấn công tổng lực thử mọi khoá có thể có cho đến khi nào tìm ra bản rõ hiểu đợc: Về mặt lý thuyết, mọi thuật toán mật mã đều có thể bị phá vỡ bằng cách tấn công tổng lực Trung bình, một nửa số chìa khoá có thể có sẽ phải đợc thử Bảng dới đây chỉ thời gian trung bình để tìm hết mọi chìa khoá với các kích thớc khoá khác nhau 13 Thời gian trung bình... toán viết mật mã Mật mã / giải mã đối xứng Tổng quan Mật mã / giải mã không đối xứng Các hàm trộn mật mã Giải mật mã Các chế độ hoạt động Cơ bản MDCs / MACs Các thuộc tính DES RSA MD-5 AES Diffie-Hellman SHA-1 RC4 EIGamal CBC-MAC 17 . phép giải mã / s 32 2 32 = 4.3 x 10 9 2 31 s = 35.8 phút 2. 15 ms 56 2 56 = 7 .2 x 10 16 2 55 s = 11 42 năm 10.01 giờ 128 2 128 = 3.4 * 10 38 2 127 s = 5.4 x 10 24 năm 5.4 x 10 18 năm 168 2 168 =. toán) 17 Các thuật toán mật m (tóm tắt) Các thuật toán viết mật mã Tổng quan Mật mã / giải mã đối xứng Mật mã / giải mã không đối xứng Các hàm trộn mật mã Giải mật mã Các thuộc tính Các chế. Thuật toán mã hoá Bản mã ợc giải mã Bản rõ đã chọn bởi ngời thám mã, cùng với bản mã tơng ứng đợc tạo ra với khoá bí mật Bản mã dự định bởi ngời thám mã, cùng với bản rõ tơng ứng đợc giải mã với