Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
1,7 MB
Nội dung
HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA VIỄN THÔNG ~~~~~~*~~~~~~ BÀI THI KẾT THÚC HỌC PHẦN AN NINH MẠNG Đề tài: “Tìm hiểu mơ hình mật mã hóa khóa đối xứng DES, AES” Bài Thi Cuối Kì Mơn ANM Mục lục Phân công công việc .2 Kiểm tra tính tương đồng với tài liệu khác: 11% Danh mục hình vẽ Danh sách thuật ngữ viết tắt Lý chọn đề tài Mơ hình mật mã hóa đối xứng 1.1 Các khái niệm mật mã hóa 1.2 Định nghĩa mật mã hóa đôi xứng 1.3 Các yêu cầu mật mã hóa đối xứng 1.4 Cách thức hoạt động mật mã hóa đối xứng .8 1.5 Ứng dụng mật mã khóa đối xứng 1.6 Ưu nhược điểm hệ thống mã hóa đối xứng 10 Mã hóa DES : Data Encryption Standard 10 2.1 Các khái niệm mã hóa DES 10 2.2 Vai trò DES 11 2.3 Mơ hình mã Feistel (Hàm F) 11 2.4 Các thành phần mô hình mã hóa DES ngun lý hoạt động 12 2.5 Độ an toàn DES .15 2.5.1 Tấn công Brute Force 15 2.5.2 Tấn công vi sai 15 2.5.3 Tấn công tuyến tính 15 2.6 Quá trình thay DES 16 Mã hóa AES : Advanced Encryption Standard 16 3.1 Tổng quan 16 3.2 Hoạt động AES 17 3.2.1 Hàm AddRoundKey .18 3.2.2 HàmSubBytes .19 3.2.3 Hàm ShiftRows 19 3.2.4 MixColumns 20 3.2.5 Hàm KeyExpansion 21 3.3 Độ an toàn AES .24 Tổng kết 26 Tài liệu tham khảo 27 Bài Thi Cuối Kì Mơn ANM Phân cơng cơng việc Nguyễn Khắc B17DCVT362 Tồn Tìm hiểu nội dung mật mã hóa khóa đối xứng phương pháp mã hóa DES Nguyễn Bảo B17DCVT274 Ninh Đảm nhiệm làm word theo yêu cầu hỗ trợ người làm nội dung Trịnh Ngọc B17DCVT025 Anh Tìm hiểu phương pháp mã hóa tiên tiến AES Kiểm tra tính tương đồng với tài liệu khác: 11% Bài Thi Cuối Kì Mơn ANM Danh mục hình vẽ Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình 1: Mơ hình mật mã hóa đối xứng 2: Sơ đồ hệ thống mật mã hóa đối xứng 3: Nhân viên Google bên cạnh máy tính lượng tử 4: Mơ hình mã Feistel 12 5: Cấu trúc vòng DES 14 6: Cơ chế hoạt động AES 16 7: Q trình mã hóa giải mã AES – 128 18 8: Hàm AddRoundKey cho bước khởi tạo 18 9: Hàm SubBytes 19 10: Hàm ShiftRows 19 11: Hàm MixClumns 20 12: Hàm KeyExpansion 21 13: Chức KeyExpansion 22 14: Thực thi RotWord cho từ w[3] 22 15: Thực thi SubWord chuyển đổi từ w[3] 23 16: Thực thi AddRcon chuyển đổi từ w[3] 24 17: Thực thi AddW để tạo khóa vịng 24 Bài Thi Cuối Kì Mơn ANM Danh sách thuật ngữ viết tắt Thuật ngữ viết tắt Thuật ngữ tiếng Việt AES Advanced Encryption Standard Tiêu chuẩn mà hóa tiên tiến DES Data Encryption Standard Tiêu chuẩn mã hóa liệu FIPS Federal Information Processing Standards Cơ quan đánh giá tiêu chuẩn xử lý thông tin FIPS – PUB Federal Information Processing Standard Publication Công bố tiêu chuẩn xử lý thông tin liên bang NIST National Institute of Standards and Technology Viện tiêu chuẩn công nghệ P – Box Permutation – Box Hàm/Hộp hoán vị S – Box Substitution – Box Hàm/Hộp thay VPN Virtual Private Network Mạng riêng ảo Bài Thi Cuối Kì Mơn ANM Lý chọn đề tài Theo dịng lịch sử bảo mật thơng tin điều tối quan trọng cho thành cơng thành công chiến từ chiến chiến trường chiến bảo vệ thơng tin liệu khỏi cơng đối thủ Từ thời kì sơ khai người sáng tạo kiểu bảo mật thông tin theo kiểu kí hiệu ngơn ngữ để khóa an tồn cho thơng tin tiến đến chiến bật chiến tranh giới thứ hai, hệ thống mật mã khí điện tử sử dụng rộng rãi bên tham gia chiến Sau năm 1949 nhà khoa học Claude Shannon công bố viết truyền thông bảo mật thiết lập tảng lý thuyết sơ đẳng cho ngành khoa học mật mã học thám mã học Ông coi cha đẻ mật mã học đại Thập niên 70s kỉ trước bước ngoạt bảo mật đại với chuẩn mã hóa máy tính DES quan cơng nghệ Mỹ Tiêu chuẩn Mật mã hóa đánh giá cao giới nhà nghiên cứu khoa học Nhưng khơng muộn sau vào năm cuối thập niên 90s quan công nghệ quốc gia Hoa Kì (NIST) chọn tiêu chuẩn mật mã có đặc tính vượt trội hẳn tiêu chuẩn DES Đó tiêu chuẩn mã hóa AES, với đặc tính AES dễ dàng thực với tốc độ tương đối cao phần mềm phần cứng mà không phụ thuộc nhiều vào nhớ Sớm AES trở thành tiêu chuẩn mật mã phổ biến bậc giới Với tác động lớn với lịch sử mật mã giới nhóm em chọn đề tài:” Tìm hiểu mơ hình mật mã hóa khóa đối xứng DES, AES” để hồn thành mơn An Ninh Mạng Mục đích nghiên cứu • Tìm hiểu mật mã hóa đối xứng • Tìm hiểu tiêu chuẩn DES • Tìm hiểu tiêu chuẩn AES • Tìm hiểu thám mã • Đánh giá an tồn DES AES Đối tượng nghiên cứu • Tiêu chuẩn mật mã đối xứng DES • Tiêu chuẩn mật mã đối xứng AES Phương pháp nghiên cứu • Tham khảo tài liệu nghiên cứu có sẵn kênh thơng tin internet, diễn đàn khoa học, thư viện điện tử nước nước để củng cố thơng tin lý thuyết sở để hồn thành nội dung • Từ tài liệu mà rút kiến thức khoa học chung khác biệt để chọn điểm phù hợp với trạng nội dung đề tài nhóm em Bài Thi Cuối Kì Mơn ANM Mơ hình mật mã hóa đối xứng 1.1 Các khái niệm mật mã hóa Mật mã học (Cryptography): Là công việc liên quan đến nghiên cứu khoa học an toàn bảo mật thơng tin cách đảm bảo Q trình mã hóa diễn để đảm bảo thơng tin văn từ dạng “bản rõ” đọc hiểu mắt thường thành dạng “bản mã” từ khó đến khơng thể đọc được, với mục đích truyền mạng lưới thông tin, thông tin bảo vệ, sau phía bên nhận thực qua trình giải mã chuyển thơng tin từ dạng “bản mã” thành “bản rõ” để hoàn thành đường thông tin Ngành nghiên cứu khoa học đảm bảo yêu cầu thiết yếu sau: ▪ Tính bảo mật(confidentiality): Chỉ bên phép tham gia q trình trao đổi thơng tin biết thơng tin q trình truyền ▪ Tính Tồn vẹn (intergrity): Đảm bảo liệu, xử lý, thay đổi bên có thẩm quyền Do thông tin bị thay đổi mà tránh nhận biết bên trao đổi thông tin ▪ Tính xác thực (authentication): Các bên trao đổi thơng tin chứng minh họ người tham gia trao đổi ▪ Tính chống chối bỏ (non-repudiation): Bên gửi thông tin chối bỏ hành động gửi cho bên nhận ngược lại ▪ Tính sẵn sàng(availability): Đảm bảo hệ thống bảo mật ln làm việc cách xác dịch vụ sẵn sàng cho người sử dụng cách hợp pháp thuận tiện Phân tích mật mã(cryptanalysis): Đây hoạt động ngun cứu cơng vào q trình trao đổi thơng tin để nhàm mục đích tìm “bản rõ” từ “bản mã” mà khơng nhờ đến khóa Có phương pháp công để lấy thông tin: ▪ Tìm khóa vét cạn ▪ Phân tích thơng kê ▪ Phân tích tốn Thuật ngữ bản: ▪ Văn gốc (Plaintext): Là văn đầu cần bảo vệ ▪ Văn mã hóa(ciphertext): Là văn sau mã hóa ▪ Mã hóa(encryption): Q trình biến đổi từ văn gốc thành văn mã hóa ▪ Giải mã(decrytion): Quá trình biến đổi từ mã thành văn gốc ▪ Khóa (key): Là thành phần quan trọng q trình mã hóa giải mã 1.2 Định nghĩa mật mã hóa đơi xứng Mật mã hóa đối xứng hay cịn gọi Secret Key Cryptography (đơi Private Key Cryptography), q trình mã hóa trình giải mã sử dụng khóa bí mật: Bài Thi Cuối Kì Mơn ANM Hình 1: Mơ hình mật mã hóa đối xứng Trong q trình truyền thơng tin liệu này, phía bên người gửi phía bên người nhận phải thống với khóa dùng chung (secret key) sinh từ sinh khóa để sử dụng q trình mã hóa giải mã Sau phía bên người gửi mã hóa (encrypt) rõ (plaintext) khóa bí mật (secret key) mà hai bên thỏa thuận trước gửi mã (Ciphertext) sau mã hóa đến phía bên nhận, phía bên người nhận sử dụng khóa bí mật để giải mã mã lấy rõ mà người bên người gửi muốn gửi Mơ hình mật mã hóa bên hình mơ tả cách việc trao đổi thơng tin phía bên người gửi phía bên người nhận thơng qua hành động sử dụng mơ hình mật mã hóa đối xứng tồn q trình trao đơi thơng tin việc quan trọng bậc việc phải giữ cho khóa bí mật giữ ln ln bí mật an toàn khỏi bên thứ ba Hành động trao đổi, thống thuật tốn mã hóa hai bên sử dụng việc mã hóa giải mã tiến hành cơng khai khơng cần giữ bí mật sau việc thống khóa lại viêc tối quan trọng cần có đảm bảo an tồn cách định Hai bên phải thống khóa số lý sau đây: − Thứ hai bên trao đổi thông tin thỏa thuận phương pháp thuật tốn mã hóa phía bên gửi khơng thống với phía bên nhận khóa K bên nhận nhận mã khơng thể giải mã thành rõ không hiểu nội dung tài liệu thơng tin phía bên người gửi muốn truyền tải Chính lý việc thống khóa chung quan trọng q trình truyền thơng tin − Khi thống khóa K hai bên phải chuyển giao khóa K kênh truyền mà kênh truyền phải đảm bảo bí mật Ví dụ trao đổi trực tiếp hay qua bên thứ ba mà hai bên tin tưởng Vì khóa K khơng trao đổi cách bí mật kẻ cơng nghe ăn cắp thông tin, liệu mà hai bên A B trao đổi với Nói sơ qua ưu điểm thuật toán sử dụng nhanh độ an toàn, tin cậy cao kẻ cơng khơng biết khóa bí mật theo lý đo việc trao đổi khóa bí mật việc thận trọng bên gửi truyền cho bên nhận bên nhận phải giữ cho khóa bí mật thực an toàn Trong giới ta sống có số loại khóa cơng khai tiếng như: ▪ DES: Data Encryption Standard ▪ AES: Advanced Encryption Standard Bài Thi Cuối Kì Mơn ANM 1.3 Các yêu cầu mật mã hóa đối xứng Có hai u cầu cho việc sử dụng an tồn mật mã hóa truyền thống: + Thuật tốn mật mã phải đủ sức mạnh để xuất kẻ thứ ba cơng khơng có khả giải mật mã khơi phục khóa + Hai phía bên nhận bên gửi phải giữ khóa bí mật cách an tồn Hình 2: Sơ đồ hệ thống mật mã hóa đối xứng Thế thuật tốn mã hóa đủ mạnh? + Khơng phải lúc xử lý thuật toán mạnh kèm với thuật tốn mạnh tiêu tốn tài nguyên hệ thống (đây vấn đề tương đối khó triển khai bảo mật hệ thống phải vào cấu trúc hệ thống yêu cầu hệ thống bảo mật để từ cân đối) Làm để đảm bảo an tồn với khố bí mật gửi từ bên gửi đến bên nhận? + Khóa bí mật giữ bí mật người gửi người nhận Ở người ta sử dụng kênh an toàn để bảo mật truyền khóa Tóm lại mục tiêu tránh cho bên thứ ba đọc thông tin truyền hệ thống mạng bên thứ ba cố gắng công lấy thông tin mã ban đầu tìm khóa K Đối với việc lấy tin X lấy giá trị gần với X đạt yêu cầu (Tương tự với khóa K: lấy giá trị gần đạt yêu cầu) Từ ta thấy nhà xây dựng hệ thống an ninh phía bên phá mã có cơng cụ, phép tính đơn giản nhiều người làm công việc xây dựng mã 1.4 Cách thức hoạt động mật mã hóa đối xứng ❖ Các bước thực hiện: - Đầu tiên rõ mã hóa thuật tốn mã hóa khóa 𝐾 - Với thuật tốn mã hóa khóa 𝐾 ta đầu 𝑌 = 𝐸(𝐾, 𝑋) tin mã hóa thuật tốn mã hóa sử dụng khóa 𝐾 với tin đầu vào 𝑋 - Sau truyền đến đầu cuối nơi nhận, thuật tốn thực q trình giải ngược thuật toán giải mã để lấy tin Bài Thi Cuối Kì Mơn ANM - Khóa phải truyền kênh truyền bí mật đến phía nhận phục vụ trình giải mã ❖ Đánh giá sơ bộ: - Trong trình hoạt động sơ đồ mật mã hóa đối xứng, Một khóa 𝐾 sử dụng phía trao đổi thơng tin cách bí mật Khóa 𝐾 bí mật đảm nhiệm nhiệm vụ mã hóa rõ đầu vào bao gồm tin nhắn, liệu, thông tin cần mã hóa thuật tốn mã hóa cipher để tạo mã đầu - Một sơ đồ mã hóa thơng tin mạnh khơng có cách mở ngồi việc sở hữu khóa 𝐾 bí mật tương ứng với mã hóa Khi giải mã sử dụng khóa 𝐾 tương ứng, mã giải mã thành rõ chứa thông tin, liệu ban đầu - Nếu kẻ công công vào hệ thống mã hóa đối xứng theo hình thức vét cạn (brute force) để dị ngẫu nhiên khóa 𝐾 bí mật thời gian cơng thành cơng đánh giá mức độ bảo mật an toàn hệ thống Ví dụ kẻ cơng dị khóa 𝐾 với kích thước 128-bit phải đến hàng tỷ năm liên tiếp vơi hệ thống máy tính trung bình Theo tính tốn với khóa 𝐾 có kích thước khoảng 256-bit hợp lý an toàn cao kể máy tính lượng tử Hình 3: Nhân viên Google bên cạnh máy tính lượng tử 1.5 Ứng dụng mật mã khóa đối xứng Cơng cụ lưu nén ví dụ RAR, 7Zip VPN (Virtual Private Network): sử dựng tạo mạng riêng ảo giúp kết nối mạng cơng cộng cách an tồn Sử dụngVPN, ta dễ dàng giải vấn đề bị Bài Thi Cuối Kì Mơn ANM VD: “meetmeatterthetogaparty” biểu diễn theo mã ASCII DES mã hóa làm lần, lần chữ (64-bit): Meetmeat-tertheto-gaparty Với kích thước khóa 56-bit Mỗi vịng DES sử dụng khóa kích thước 48-bit trích từ khóa Ta đánh số bit khối 64-bit theo thứ tự từ trái sang phải 0,1,2, … ,63; 𝑏0 , 𝑏1 , … , 𝑏63 Hoán vị khởi tạo hoán đổi bit theo quy tắc sau Hoán vị kết thúc hốn đổi bit theo quy tắc sau Từ thấy hoán vị kết thúc nghịch dảo hốn vị khởi tạo 13 Nhóm 15 Bài Thi Cuối Kì Mơn ANM Hình 5: Cấu trúc vịng DES Chúng ta thấy hình q trình sinh khóa từ khóa khởi tạo k ban đầu thuật tốn sinh khóa (ở dịch vòng trái) Còn vòng biểu diễn tương tự Feistel khác sử dụng hoán vị khởi tạo đầu hoán vị kết thúc cuối ❖ Nguyên tắc hoạt động: Plaintext ban đầu chia làm (𝐿0 , 𝑅0 ) Tiếp theo để tính 𝐿𝑖 = 𝑅𝑖−1 Tiếp theo để tính 𝑅𝑖 Sẽ thực loạt trình: + Đầu tiên 𝑅𝑖−1 qua khối expand (một thủ thuật mở rộng) biến 32bit đầu vào thành 48-bit để khóa 𝑘𝑖 XOR + Khóa 𝑘𝑖 sinh thuật tốn sinh khóa có thêm khối nén compress (có khối nén giúp việc tìm khóa khó khăn hơn) + Sau 𝑅𝑖−1 qua khối Expand mỡ rộng thành 48 bít XOR với khóa ki đưa đến khối s-boxes 𝑅𝑖−1 biến đổi kích thước ban đầu 32 bít + Tiếp theo đưa đến P-box xếp theo trình tự cho từ trước XOR với 𝐿𝑖−1 sau ta 𝑅𝑖 cần tìm + Sau 𝑅𝑖−1 lại chuyển sang 𝐿𝑖 tiếp tục thực sơ đồ, số vịng 𝐿𝑖−1 trộn cho tồn tin Tức trộn nửa bên trái lại đổi nửa trái sang nửa phải, sau lại dùng nửa phải xáo trộn đổi sang nửa trái Quá trình lặp lặp lại ❖ Các thành phần mơ hình mã hóa DES: - - Khối nén(compress): Đối với hệ thống ta thấy có q trình thực đánh khóa Ở có khối thực cho nén khóa Chúng ta thực việc nén khóa để làm cho việc tìm khóa khó khăn phức tạp Khối mở rộng(expand): thủ thuật pháp mở rộng Chúng ta sử dụng 32 bits đầu vào mở rộng lên 48 bits để với khóa k i 48 bits thực cộng XOR 14 Nhóm 15 Bài Thi Cuối Kì Mơn ANM (NOTE: Thủ thuật mở rơng đơn giản nhiều thay cho hàm F nằm mạch vịng khóa Feistel đề cập lúc trước) S-Boxes: Trong S-boxes có 48-bit sau trộn chia thành khối nhỏ, khối chứa bít xử lý qua hộp S-box Kết khối bít đầu vào khối bít Khối S-box bảo đảm an tồn hệ thống DES khơng có việc cơng vào dễ dàng ➢ Sau mở rộng XOR với k i lại chuyển cịn 32 bits sử dụng trình xáo trộn - - P-Box: Sau cùng, đầu S-box bao gồm 32 bít xếp lại theo trình tự cho từ trước Với mơ hình giữ nửa nửa thực việc xáo trộn vi trí (thực việc thay đổi vị trí hay cịn gọi hốn vị vị trí) Khi ta nửa tạo phức tạp Và phức tạp sử lý XOR Tuy sơ đồ nhìn phức tạp với mắt thường thực máy tính phép tính đơn gian trình diễn nhanh 2.5 Độ an toàn DES 2.5.1 Tấn cơng Brute Force Đối với việc máy tính đại, khả tính tốn ngày nâng cao, cộng với việc công nghệ sinh nâng cao lực tính tốn điều tất yếu VD: Cơng nghệ tính tốn song song hệ thống phân tán hỗ trợ trình tính tốn Do việc phá khóa cơng vét cạn khóa cho DES có kích thước 256 2.5.2 Tấn cơng vi sai Một cách thức phá mã đề cập phương pháp vi sai Phương pháp có lợi thời gian tìm khóa vét cạn khóa Tuy nhiên nhược điểm lớn dẫn đến việc bất khả thi đề cập yêu cầu phải cung cấp 247 cặp (Phép thử nhiều gây nên không khả thi) 2.5.3 Tấn công tuyến tính Sau có phương pháp đưa có tên “Phương pháp thử tuyến tính”, khắc phục yếu điểm phương pháp vi sai cần biết 243 cặp rõ – mã Suy vô khả thi ❖ Nhận xét: 15 Nhóm 15 Bài Thi Cuối Kì Mơn ANM Ta nhận xét với công nghệ đưa thời điểm phương pháp DES khơng cịn an tồn Từ phương pháp đưa để lấp lỗ hổng mà DES cịn hữu AES 2.6 Q trình thay DES - Từ Năm 1973 đến năm 1976: Các bàn luận sở DES tiến hành Mỹ - Năm 1977: DES xác nhận làm tiêu chuẩn mang tên FIPS PUB 46 - Năm 1993: DES xác nhận lại làm tiêu chuẩn mang tên FIPS PUB 46-2 - Trong năm 1998 – 1999: DES bị phá khóa 23 - Cuối năm 1999: triple DES đời mang tên FIPS PUB 46-3 - Sau trở thành tiêu chuẩn năm 2002 AES hay DES năm 2005 - Thuật toán DES sau thay đổi cải tiến có an tồn định xưa ví dụ Triple DES phương pháp tỏ thực chậm Có hướng phương pháp địi hỏi tính tốn DES-X với việc tăng độ dài khóa cách thực phép tốn XOR từ khóa với phần thêm trước sau thực DES Ngoài GDES đề suất làm tăng tốc độ mã hóa có lỗ hổng với công vi sai Cuối vào năm 2005 thuật toán AES chọn để thay cho thuật tốn DES yếu Mã hóa AES : Advanced Encryption Standard 3.1 Tổng quan AES (viết tắt từ tiếng anh: Advanced Encryption Standard, hay Tiêu chuẩn mã hóa nâng cao) phát triển từ cuối năm 90s để thay chuẩn mã hóa trước Data Encryption Standard (DES) thuật tốn mã hóa khối phủ Hoa Kỳ áp dụng làm tiêu chuẩn mã hóa Thuật toán xây dựng dựa Rijndael Cipher phát triển nhà mật mã học người Bỉ: Joan Daemen Vincent Rijmen Thuật toán dễ dàng thực tốc độ cao phần cứng, phần mềm, khơng địi hỏi nhiều nhớ triển khai sử dụng phổ biến ❖ Cơ chế: Hình 6: Cơ chế hoạt động AES 16 Nhóm 15 Bài Thi Cuối Kì Mơn ANM 3.2 Hoạt động AES Kích thước khóa sử dụng cho mật mã AES định số lần lặp lại vòng biến đổi để chuyển đổi rõ thành mã Số vịng lặp (kí hiệu Nr) phụ thuộc vào độ dài khóa: • Nr = 10 khóa dài 128 bit • Nr = 12 khóa có độ dài 192 bit • Nr = 14 độ dài khóa 256 bit Ngoại trừ vòng cuối trường hợp, tất vòng khác giống hệt Mỗi vòng bao gồm số bước xử lý, bước chứa bốn giai đoạn tương tự khác nhau, có giai đoạn phụ thuộc vào khóa mã hóa Một tập hợp vịng đảo ngược áp dụng để biến đổi mã trở lại thành rõ ban đầu cách sử dụng khóa mã hóa AES thực hàm: SubBytes, ShiftRows, MixColumns, AddRoundKey Trong SubBytes, ShiftRows, MixColumns có nhiệm vụ làm cho mối quan hệ rõ mã bị che khuất (phương thức “mập mờ”) Để bước xử lý sử dụng vòng, tốt nhất, khối 128-bit bao gồm mảng 4×4 byte xếp sau: 𝑏𝑦𝑡𝑒0 𝑏𝑦𝑡𝑒4 𝑏𝑦𝑡𝑒8 𝑏𝑦𝑡𝑒12 𝑏𝑦𝑡𝑒1 𝑏𝑦𝑡𝑒5 𝑏𝑦𝑡𝑒9 𝑏𝑦𝑡𝑒13 [ ] 𝑏𝑦𝑡𝑒2 𝑏𝑦𝑡𝑒6 𝑏𝑦𝑡𝑒10 𝑏𝑦𝑡𝑒14 𝑏𝑦𝑡𝑒3 𝑏𝑦𝑡𝑒7 𝑏𝑦𝑡𝑒11 𝑏𝑦𝑡𝑒15 Mảng 4×4 byte hiển thị gọi trạng thái mảng AES ❖ Mã hóa: • Bước 1: Bước khởi tạo: liệu cần mã hóa plain_text kết hợp với key chức AddRoundKey • Bước 2: Bước lặp mã hóa: kết bước sử dụng để thực chức SubBytes, ShiftRows, MixColumns AddRoundKey Bước lặp lại số lần tùy theo độ dài khóa (KeyExpansion thực song song với bước AddRoundKey để tạo khóa vịng cho chức này) • Bước 3: Bước tạo ngõ ra: Vòng lặp cuối sau lần lặp bước 2, thực chức SubBytes, ShiftRows AddRoundKey để tạo ngõ cipher_text Tại chu trình cuối bước MixColumns khơng thực 17 Nhóm 15 Bài Thi Cuối Kì Mơn ANM Hình 7: Q trình mã hóa giải mã AES – 128 3.2.1 Hàm AddRoundKey Chức AddRoundKey thực ở: Bước khởi tạo: XOR khóa mã với ma trận liệu Bước lặp mã hóa bước tạo ngõ ra: XOR khóa vịng (round key) với ma trận trạng thái Hình 8: Hàm AddRoundKey cho bước khởi tạo Đối với bước lặp mã hóa bước tạo ngõ ra, vị trí "khóa mã" "khóa vịng" cịn liệu lần tính trước 18 Nhóm 15 Bài Thi Cuối Kì Mơn ANM 3.2.2 HàmSubBytes Hình 9: Hàm SubBytes Phép tốn SubBytes, nghĩa byte thay thế, lấy khối 16 byte chạy qua S-Box (hộp thay thế) để tạo giá trị thay Nói cách đơn giản, phép toán nhận giá trị sau thay giá trị khác Bảng 2: S-Box 3.2.3 Hàm ShiftRows Hình 10: Hàm ShiftRows Hàm ShiftRows hoạt động hàng trạng thái Nó dịch chuyển theo chu kỳ byte hàng theo khoảng chênh lệch định: 19 Nhóm 15 Bài Thi Cuối Kì Mơn ANM • Hàng giữ nguyên • Mỗi byte hàng thứ hai dịch sang trái • Mỗi byte hàng thứ ba dịch sang trái hai • Mỗi byte hàng thứ tư dịch sang trái ba ô Do vậy, cột khối đầu bước bao gồm byte đủ cột khối đầu vào Đối với Rijndael với độ dài khối khác số vị trí dịch chuyển khác 3.2.4 MixColumns Hình 11: Hàm MixClumns Chức MixColumns thực nhân cột ma trận trạng thái với ma trận chuyển đổi quy định chuẩn AES Phép biến đổi thao tác cách độc lập cột trạng thái xem cột đa thức bậc Ví dụ: Ma trận chuyển đổi sử dụng chức MixColumns 02 01 [ 01 03 03 02 01 01 01 03 02 01 01 01 ] 03 02 Ma trận trạng thái Kết MixColumns d4 e0 b8 1e 04 e0 48 28 bf B4 41 27 66 cb f8 06 5d 52 11 98 81 19 d3 26 30 ae f1 e5 e5 9a 7a 4c MixColumns 20 Nhóm 15 Bài Thi Cuối Kì Mơn ANM Biến đổi cột Biến đổi cột 02 01 [ 01 03 03 02 01 01 01 03 02 01 01 01 ] • 03 02 02 01 [ 01 03 03 02 01 01 01 03 02 01 01 01 ] • 03 02 d4 bf 5d 04 = 66 81 30 e5 b8 48 41 11 = F1 f8 d3 7a Biến đổi cột 02 01 [ 01 03 03 02 01 01 01 03 02 01 01 01 ] • 03 02 02 01 [ 01 03 03 02 01 01 01 03 02 01 01 01 ] • 03 02 e0 b4 52 e0 = cb 19 ae 9a 1e 28 27 98 e5 = 06 26 4c Biến đổi cột 3.2.5 Hàm KeyExpansion Hình 12: Hàm KeyExpansion Chức KeyExpansion thực tính tốn khóa vịng cho bước lặp mã hóa bước tạo ngõ Kết lần thực thi KeyExpansion khóa vịng sử dụng cho chức AddRoundKey Với mã hóa AES-128, số khóa vịng 10 tương ứng với lần AddRoundKey bước lặp mã hóa lần AddRoundKey bước tạo ngõ Mỗi khóa vịng có 128-bit chia làm word, word byte ký hiệu w[j] với j số nguyên Mã hóa AES-128 có khóa mã 10 khóa vịng nên tổng số từ 44 đánh số từ đến 43 Khóa mã có từ w[0], w[1], w[2] w[3] Khóa vịng có từ w[4], w[5], w[6] w[7] Tương tự, khóa vịng 10 có từ w[40], w[41], w[42] w[43] Từ w[j] tính theo cơng thức sau, với < j < 44 𝑤[𝑗] = 𝐴𝑑𝑑𝑊[𝑗 − 4] = 𝑤[𝑗 − 1] + 𝑤[𝑗 − 4] 21 Nhóm 15 (3.1) Bài Thi Cuối Kì Mơn ANM 𝑤[𝑗 = ∗ 𝑛] = 𝐴𝑑𝑑𝑊 [𝑗 − 4] = 𝑡𝑟𝑎𝑛𝑠 (𝑤[𝑗 − 1]) + 𝑤[𝑗 − 4] (3.2) Khi tính từ vị trí j bội số 4, w[4], w[8], w[40], w[j-1] phải biến đổi qua chức RotWord, SubWord AddRcon, gọi trans(w[j-1]), trước XOR với w[j-4] Hình 13: Chức KeyExpansion Khóa mã key sử dụng để minh họa việc tính tốn khóa vòng chia làm từ biểu thức sau: 𝒘[𝟎] = 𝟐𝒃𝟕𝒆𝟏𝟓𝟏𝟔 𝒘[𝟏] = 𝟐𝟖𝒂𝒆𝒅𝟐𝒂𝟔 𝒘[𝟐] = 𝒂𝒃𝒇𝟕𝟏𝟓𝟖𝟖 𝒘[𝟑] = 𝟎𝟗𝒄𝒇𝟒𝒇𝟑𝒄 Việc tính tốn khóa vịng thực tính từ w[4], w[5], w[6] w[7] Để tính khóa vịng 1, trans(w[3]) phải tính trước thơng qua chức RotWord, SubWord AddRcon Chức RotWord thực quay trái từ w[j] byte Hình 14: Thực thi RotWord cho từ w[3] 22 Nhóm 15 Bài Thi Cuối Kì Mơn ANM Chức SubWord thực thay phi tuyến byte kết RotWord theo bảng S-box Hình 15: Thực thi SubWord chuyển đổi từ w[3] Chức AddRcon thực XOR kết SubWord giá trị Rcon[j/4] với j bội số Số lượng giá trị Rcon[j/4] 10 tương ứng với 10 lần tính khóa vịng Chức AddRcon tạo kết cuối biến đổi trans(w[j-1]) Rcon[j/4] Giá trị HEX Vị trí sử dụng Rcon[1] 01000000 sử dụng cho trans(w[3]) tính w[4] Rcon[2] 02000000 sử dụng cho trans(w[7]) tính w[8] Rcon[3] 04000000 sử dụng cho trans(w[11]) tính w[12] Rcon[4] 08000000 sử dụng cho trans(w[15]) tính w[16] Rcon[5] 10000000 sử dụng cho trans(w[19]) tính w[20] Rcon[6] 20000000 sử dụng cho trans(w[23]) tính w[24] Rcon[7] 40000000 sử dụng cho trans(w[27]) tính w[28] Rcon[8] 82000000 sử dụng cho trans(w[31]) tính w[32] Rcon[9] 1b000000 sử dụng cho trans(w[35]) tính w[36] Rcon[10] 36000000 sử dụng cho trans(w[39]) tính w[40] Bảng 3: Giá trị Rcon[j/4] 23 Nhóm 15 Bài Thi Cuối Kì Mơn ANM Hình 16: Thực thi AddRcon chuyển đổi từ w[3] Chức AddW thực XOR w[j-4] với w[j-1] trans(w[j-1]) để tạo khóa vịng Hình 17: Thực thi AddW để tạo khóa vịng 3.3 Độ an tồn AES Giống mã 3DES có ba lớp mã hóa, với AES có nhiều lớp mã hóa Tuy nhiên, với AES, điều thực nhiều 3DES, phụ thuộc vào độ dài khóa, với 10 lớp áp dụng cho khóa 128-bit, 12 lớp cho khóa 192-bit 14 lớp mã hóa qua 256- bit bit, chiếm tỷ lệ bảo mật cao Trong trình này, khóa mã hóa tạo ra, yêu cầu để giải mã thông điệp người nhận; khóa này, thơng điệp lộn xộn khơng thể hiểu Do đó, người gửi người nhận phải biết khóa để mã hóa giải mã thơng điệp Thiết kế độ dài khóa thuật tốn AES (128, 192 256 bít) đủ an tồn để bảo vệ thông tin xếp vào loại TỐI MẬT (secret) Các thơng tin TUYỆT MẬT (top secret) phải dùng khóa 192 256 bít Các phiên thực AES nhằm mục 24 Nhóm 15 Bài Thi Cuối Kì Mơn ANM đích bảo vệ hệ thống an ninh hay thơng tin quốc gia phải NSA kiểm tra chứng nhận trước sử dụng Một vấn đề khác cấu trúc tốn học AES Khơng giống với thuật tốn mã hóa khác, AES có mơ tả toán học đơn giản Tuy điều chưa dẫn đến mối nguy hiểm số nhà nghiên cứu sợ có người lợi dụng cấu trúc tương lai 25 Nhóm 15 Bài Thi Cuối Kì Mơn ANM Tổng kết Trong giới đại ngày nay, mà công nghệ phát triển ngày giờ, ứng dụng mạng ngày sâu vào sống người, thứ dần trở nên thuận tiện với song song với mối nguy hiểm thông tin người, an ninh liệu điều cấp bách Chính lẽ ngành mật mã học, đặc biệt mật mã học máy tính học sớm đầu tư phát triển, thuật toán Với phổ biến ngày tăng công mạng mối quan tâm ngày tăng xung quanh vấn đề bảo mật thông tin, điều quan trọng hết phải hiểu rõ hệ thống giữ an toàn cho thông tin cá nhân DES bước ngoặt lớn lịch sử lồi người giai đoạn đại, sau nghiên cứu nhanh chóng nhà khoa học chứng minh ngày DES khơng giữ độ an tồn vốn có Khóa DES bị phá vòng chưa đầy 24 Giờ DES thay AES Thuật tốn AES thích hợp cho việc triển khai nhiều hệ thống khác nhau, không máy tính cá nhân, mà hệ thống thẻ thơng minh Ngồi ra, tất bước xử lý việc mã hóa giải mã thiết kế thích hợp với chế xử lý song song nên AES chứng tỏ mạnh hệ thống thiết bị 26 Nhóm 15 Bài Thi Cuối Kì Mơn ANM Tài liệu tham khảo [1] N P A Dũng, Bài giảng An Ninh Mạng, 2013 [2] Đ T Chương T H V Canh, Đồ án tốt nghiệp-Tìm hiểu chuẩn mã liệu (DES) ứng dụng vào thi tuyển đại học [3] Data Encryption Standard wikipedia [4] M Matsui, Linear Cryptanalysis Method for DES Cipher EUROCRYPT, (1993: pp386–397) [5] Federal Information, Processing Standards Publication 197; ADVANCED ENCRYPTION STANDARD (AES), November 26, 2001 [6] Advanced Encryption Standard wikipedia 27 Nhóm 15 ... ANM Danh mục hình vẽ Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình Hình 1: Mơ hình mật mã hóa đối xứng 2: Sơ đồ hệ thống mật mã hóa đối xứng 3:... với lịch sử mật mã giới nhóm em chọn đề tài:” Tìm hiểu mơ hình mật mã hóa khóa đối xứng DES, AES? ?? để hồn thành mơn An Ninh Mạng Mục đích nghiên cứu • Tìm hiểu mật mã hóa đối xứng • Tìm hiểu tiêu... dựng mã 1.4 Cách thức hoạt động mật mã hóa đối xứng ❖ Các bước thực hiện: - Đầu tiên rõ mã hóa thuật tốn mã hóa khóa