1. Trang chủ
  2. » Công Nghệ Thông Tin

Cơ sở lý thuyết mật mã CHUẨN dữ LIỆU DES

25 27 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

Mật mã là ngành khoa học ứng dụng toán học vào việc biến đổi thông tin thành một dạng khác với mục đích che giấu nội dụng, ý nghĩa thông tin cần mã hóa. Đây là một ngành quan trọng và được ứng dụng nhiều trong đời sống xã hội.Ngày nay, các ứng dụng mã hóa và bảo mật thông tin đang được sử dụng ngày càng phổ biến hơn trong các lĩnh vựng khác trên thế giới, từ các lĩnh vững an ninh, quân sự, quốc phòng,… cho đến các lĩnh vực dân sự như thương mại điện tử, ngân hàng… Cùng với sự phát triển của khoa học máy tính và internet, các nghiên cứu và ứng dụng khoa học mật mã ngày càng trở nên đa dạng hơn, mở ra nhiều hướng nghiên cứu chuyên sâu vào từng lĩnh vực ứng dụng đặc thù với những đặc trưng riêng. ứng dụng của khảo học mật mã không chỉ đơn thuần là mã hóa và giải mã thông tin mà còn bao gồm nhiều vấn đề khác cần được nghiên cứu và giải quyết: chứng thực nguồn gốc nội dung thông tin (kỹ thuật chữ ký điện tử), chứng nhận tính xác thực về người sở hữu mà hóa ( chứng nhận khóa công cộng), các quy trình giúp trao đổi thông tin và thực hiện giao dịch điện thử an toàn trên mạng… Những kết quả nghiên cứu về mật mã cũng đã được đưa vào trong các hệ thống phức tạp hơn, kết hơp với những kỹ thuật khác để đáp ứng yêu cầu đa dạng của các hệ thống ứng dụng khác nhau trong thực tế, ví dụ như hệ thống bỏ phiếu bầu cử qua mạng, hệ thống đào tạo từ xa, hệ thống quản lý an ninh của các đơn vị với hướng tiếp cận sinh trắc học, hệ thống cung cấp dịch vụ multinedia trên mạng với yêu cầu cung cấp dịch vụ và bảo vệ bản quyền sở hữu trí tuệ đối với thông tin số. DES là một tiêu chuẩn mã hóa dữ liệu được công bố vào năm 1975 và được FIPS chọn làm chuẩn chính thức vào năm 1976, sau đó được sử dụng rộng dãi trên thế giới. Ngày nay, khi DES không còn đủ độ an toàn do lượng bit mã hóa quá nhỏ và bị thay thế bởi nhiều chuẩn mã hóa dữ liệu cao hơn như Triple DES, AES (Advanced Encryption Standard) ,…nhưng sự ra đời của chuẩn mã hóa DES vẫn được chú ý và coi là nền tảng ban đầu của các chuẩn mã hóa của tương lai.

BỘ GIÁO DỤC VÀ ĐÀO TẠO HỌC VIỆN KỸ THUẬT MẬT MÃ CƠ SỞ LÝ THUYẾT MẬT MÃ CHUẨN DỮ LIỆU DES Giảng viên hướng dẫn: Sinh viên thực hiện: LỜI NÓI ĐẦU Mật mã ngành khoa học ứng dụng tốn học vào việc biến đổi thơng tin thành dạng khác với mục đích che giấu nội dụng, ý nghĩa thơng tin cần mã hóa Đây ngành quan trọng ứng dụng nhiều đời sống xã hội.Ngày nay, ứng dụng mã hóa bảo mật thông tin sử dụng ngày phổ biến lĩnh vựng khác giới, từ lĩnh vững an ninh, quân sự, quốc phòng,… lĩnh vực dân thương mại điện tử, ngân hàng… Cùng với phát triển khoa học máy tính internet, nghiên cứu ứng dụng khoa học mật mã ngày trở nên đa dạng hơn, mở nhiều hướng nghiên cứu chuyên sâu vào lĩnh vực ứng dụng đặc thù với đặc trưng riêng ứng dụng khảo học mật mã khơng đơn mã hóa giải mã thơng tin mà cịn bao gồm nhiều vấn đề khác cần nghiên cứu giải quyết: chứng thực nguồn gốc nội dung thông tin (kỹ thuật chữ ký điện tử), chứng nhận tính xác thực người sở hữu mà hóa ( chứng nhận khóa cơng cộng), quy trình giúp trao đổi thơng tin thực giao dịch điện thử an toàn mạng… Những kết nghiên cứu mật mã đưa vào hệ thống phức tạp hơn, kết hơp với kỹ thuật khác để đáp ứng yêu cầu đa dạng hệ thống ứng dụng khác thực tế, ví dụ hệ thống bỏ phiếu bầu cử qua mạng, hệ thống đào tạo từ xa, hệ thống quản lý an ninh đơn vị với hướng tiếp cận sinh trắc học, hệ thống cung cấp dịch vụ multinedia mạng với yêu cầu cung cấp dịch vụ bảo vệ quyền sở hữu trí tuệ thơng tin số DES tiêu chuẩn mã hóa liệu cơng bố vào năm 1975 FIPS chọn làm chuẩn thức vào năm 1976, sau sử dụng rộng dãi giới Ngày nay, DES khơng cịn đủ độ an tồn lượng bit mã hóa q nhỏ bị thay nhiều chuẩn mã hóa liệu cao Triple DES, AES (Advanced Encryption Standard) ,…nhưng đời chuẩn mã hóa DES ý coi tảng ban đầu chuẩn mã hóa tương lai MỤC LỤC I GIỚI THIỆU CHUNG VỀ DES 1 Lịch sử hình thành DES Một số cột mốc quan trọng Ưu nhược điểm DES 3.1 Ưu điểm 3.2 Nhược điểm II THUẬT TỐN MÃ HĨA DES Đặc điểm chung 2 Mơ tả thuật tốn 2.1 Hoán vi khởi tạo hoán vị kết thúc 2.2 Thuật tốn sinh khóa 2.3 Cấu trúc vòng lặp DES 2.3.1 Hàm Expand 2.3.2 Hàm S-boxes 10 2.3.3 Hàm P-Box 12 III Ví dụ DES 12 ĐỘ AN TOÀN CỦA DES 18 Điểm yếu DES 18 Các dạng công DES 19 DANH MỤC BẢNG BIỂU Bảng 1: Hoán vị khởi tạo (Initial Permutation) Bảng 2:Hoán vị kết thúc (Final permutation) Bảng 3: hốn vị có chọn lọc 1(Permuted choice 1) Bảng 4: Quy tắc dịch bit key Bảng 5: hốn vị có chọn lọc 2(Permuted choice 2) Bảng 6: Hoán vị mở rộng 32 bit lên 48 bit 10 Bảng 7: S-Box 12 Bảng 8: Hoán vị xếp lại P-box 12 Hình 1:Sơ đồ giải thuật mã hóa DES Hình 2: Sơ đồ thuật tốn sinh khóa (Key Scheduler) - Nguồn: Wikipedia Hình 3: Cấu trúc vòng lặp DES I GIỚI THIỆU CHUNG VỀ DES Lịch sử hình thành DES Vào năm đầu thập kỷ 70, nhu cầu có chuẩn chung thuật toán mật mã trở nên rõ ràng Các lý là: • Sự phát triển cơng nghệ thơng tin nhu cầu an tồn & bảo mật thông tin: đời mạng máy tính tiền thân Internet cho phép khả hợp tác liên lạc số hóa nhiều cơng ty, tổ chức dự án lớn phủ Mỹ • Các thuật tốn ‘cây nhà vườn’ khơng thể đảm bảo tính tin cậy địi hỏi cao • Các thiết bị khác địi hỏi trao đổi thông tin mật mã thống nhất, chuẩn Một chuẩn chung cần thiết phải có với thuộc tính như: ➢ Bảo mật mức cao ➢ Thuật toán đặc tả cơng khai hồn tồn, tức tính bảo mật khơng phép dựa phần che giấu đặc biệt thuật toán ➢ Việc cài đặt phải dễ dàng để đem lại tính kinh tế ➢ Phải mềm dẻo để áp dụng cho muôn vàn nhu cầu ứng dụng Năm 1973, Cục quản lý chuẩn quốc gia Mỹ có văn cổ động cho việc tạo lập hệ mật mã chuẩn quan đăng ký liên bang Mỹ Điều dẫn đến công bố vào năm 1977 cục An ninh Quốc gia Mỹ (NSA) Data Encryption Standard, viết tắt DES Thực chất, DES phát triển IBM sửa đổi hệ mã trước biết với tên Lucipher Trong khoảng thập kỷ tiếp theo, DES hệ mã dùng rộng rãi gây nhiều nghi ngờ, tranh cãi lĩnh vực này: xung quanh nguyên tắc thiết kế đảm bảo tính mật, chiều dài khóa tương đối ngắn khả NSA che giấu cửa sau (backdoor) để bẻ khóa, phá mã tốn thông thường Một số cột mốc quan trọng • 1976 – DES phê làm tiêu chuẩn thức • 1977 – DES xác nhận làm tiểu chuẩn FIPS (FIPS PUB 46) • 1988 – DES xác nhận lần hai với tên FIPS 46-1, thay FIPS PUB 46 • 1993 – DES xác nhận lần ba với tên FIPS 46-2 • 1988 – Thiết bị thám mã Deep Crack tổ chức Electronic Frontier Foundation phá khóa DES vịng 56 • 1999 – Deep Crack với distributed.net phá khóa DES vịng 22 15 phút • 2005 – NIST bãi bỏ FIPS 46-3 Ưu nhược điểm DES 3.1 Ưu điểm Tác dụng đồng loạt: Khi ta thay đổi bit khóa gây tác động đồng loạt làm thay đổi nhiều bit mã Đây tính chất mong muốn khóa thuật tốn mã hóa Nếu thay đổi bít đầu vào khố kéo theo thay đổi nửa số bít đầu ra, khơng thể đốn khố Có thể nói DES thể tác động đồng loạt mạnh Phương pháp mã hóa nhanh nhiều so với thuật toán TDES/AES 3.2 Nhược điểm Hiện DES xem khơng đủ an tồn Ngun nhân chủ yếu độ dài khóa nhỏ, khóa DES bị phá vòng chưa đến 24 Nhiều phương pháp đưa để thám mã DES thành cơng II THUẬT TỐN MÃ HĨA DES Đặc điểm chung - DES thuật tốn mã hóa khối1 gồm 16 vịng, ngồi DES có them hốn vị khởi tạo trước vào vòng hốn vị khởi tạo sau vịng 16 - Kích thước khối 64 bit Ví dụ: tin “welcome_to_HaNoi” biểu diễn theo mã ASCII mã DES chia làm phần để mã hóa đợt một, phần chữ (64 bit): “welcome_”, “to_HaNoi” - Khóa dùng DES có độ dài 64 bit Tuy nhiên có 56 bit thực sử dụng, bit lại dùng cho việc kiểm tra chẵn lẻ - Mỗi vòng DES dùng khóa có kích thước 48 bit sinh từ khóa - Thuật tốn thực lặp lại 16 lần Mơ tả thuật tốn Mã hóa khối thuật tốn mã hóa đố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 Quá trình chuyển đổi cịn sử dụng them khóa bí mật để cá biệt hóa q trình Việc giả mã diễn rs tương tự mã hóa Hình 1:Sơ đồ giải thuật mã hóa DES Ký hiệu ⊕ thể phép XOR Hàm F làm biến đổi nửa khối xử lý với khóa con, đầu sau F kết hợp với nửa lại khối hai phần tráo đổi để xử lý chu trình Sau chu trình cuối hai nửa khơng bị tráo đổi, đặc điểm cấu trúc Feistel khiến cho trình mã hóa giải mã trở nên giống Q trình giải mã DES ngược lại q trình mã hóa Q trình mã hóa DES gồm phần chính: Phần thứ hốn vị khởi tạo hoán vị kết thúc, phần thứ hai vịng Feistel, phần thứ ba thuật tốn sinh khóa Sau chi tiết phần 2.1 Hoán vi khởi tạo hoán vị kết thúc Bản rõ chia thành khối 64 bit, bit khối đánh số từ đến 64 theo thứ tự từ trái sang phải, từ ta có ma trận hốn vị • Hốn vị khởi tạo (Initial Permutation) hoán đổi bit theo quy tắc sau: IP 58 50 42 34 26 18 10 60 52 44 36 28 20 12 62 54 46 38 30 22 14 64 56 48 40 32 24 16 57 49 41 33 25 17 59 51 43 35 27 19 11 61 53 45 37 29 21 13 63 55 47 39 31 23 15 Bảng 1: Hoán vị khởi tạo (Initial Permutation) Ở đây, bit đầu lấy từ bit thứ 58 đầu vào, bit thứ hai lấy từ bit 50,… bit cuối đầu bit thứ đầu vào • Hốn vị kết thúc (Final permutation) IP−1 40 48 16 56 24 64 32 39 47 15 55 23 63 31 38 46 14 54 22 62 30 37 45 13 53 21 61 29 36 44 12 52 20 60 28 35 43 11 51 19 59 27 34 42 10 50 18 58 26 33 41 49 17 57 25 Bảng 2:Hoán vị kết thúc (Final permutation) Hốn vị kết thúc hoán vị nghịch đảo hoán vị khởi tạo Hoán vị khởi tạo hốn vị kết thúc khơng có ý nghĩa bảo mật, tồn hai hoán vị nhận định yếu tố lịch sử 2.2 Thuật tốn sinh khóa Trong 16 vịng lặp DES, khóa sử dụng vịng khác nhau, 16 khóa gọi khóa sinh từ khóa DES thuật tốn sinh khóa Trong thuật tốn sinh khóa (lập lịch khóa), khóa K (64 bit) qua 16 bước biến đổi, bước khóa sinh với độ dài 48 bit Ban đầu, khóa K (64 bit) rút trích hốn vị thành khóa 56 bit (tức sử dụng 56 bit) theo quy tắc PC-1: PC-1 Left 57 49 41 33 25 17 Right 58 50 42 34 26 18 10 19 11 63 55 47 39 31 23 15 59 51 43 35 27 14 62 54 46 38 30 22 60 52 44 36 21 13 61 53 45 37 29 28 20 12 Bảng 3: hốn vị có chọn lọc 1(Permuted choice 1) Hốn vị có chọn lọc chọn 56 bit tổng số 64 bit khóa, tám bit cịn lại (8, 16, 24, 32, 40, 48, 56, 64) định để sử dụng bit chẵn lẻ (parity bits) Khóa 56 bit chia thành phần: nửa trái KLi nửa phải KRi, nửa có kích thước 32 bit Sau chia thành hai phần KLi KRi, khóa vào trình dịch bit theo quy tắc: vịng thứ i (i = 1, 2, 3, 4, 5, …, 16) KLi KRi dịch sang trái ri bit, với ri định nghĩa: Vòng i 10 11 12 13 14 15 16 ri 1 2 2 2 2 2 2 Bảng 4: Quy tắc dịch bit key Tại vòng 1, 2, 9, 16 KLi KRi dịch sang trái bit, vòng lại dịch sang trái bit Cuối cùng, Khóa Ki vịng tạo cách hốn vị nén 56 bit KLi KRi thành 48 bit theo quy tắc: PC-2 14 17 11 24 28 15 21 10 23 19 12 26 27 20 13 16 41 52 31 37 47 55 30 40 51 45 33 48 44 49 39 56 34 53 46 42 50 36 29 32 Bảng 5: hốn vị có chọn lọc 2(Permuted choice 2) PC-2 hoạt động tương tự PC-1, khác hoán vị Trong hoán vị lần bit 9, 18, 22, 25, 35, 38, 42, 54 bị loại bỏ, 48 bit cịn lại khóa sinh Hình 2: Sơ đồ thuật tốn sinh khóa (Key Scheduler) - Nguồn: Wikipedia Qua sơ đồ ta thấy 56 bit khóa sử dụng bit kiểm tra chẵn lẻ (parity bits) bị lọc biến đổi PC1 Các biến đổi PC1 PC2 đơn giản hốn vị có chọn lọc (permuted choice) Các biến đổi R1 R2 tương ứng phép dịch vòng bit sang trái bit bit 2.3 Cấu trúc vòng lặp DES Một vịng mã hóa DES thực chia khối 64 bit thành phần L R, phần 32 bit Sau đem phần R biến đổi qua hàm F thực hoán vị L R kết hợp thành khối 64 bit Hình 3: Cấu trúc vịng lặp DES Một vòng lặp DES thể sau: 𝐿𝑖 = 𝑅𝑖−1 𝑅𝑖 = 𝐿𝑖−1 ⊕ 𝑓(𝑅𝑖−1 , 𝐾𝑖 ) với i = 1, 2, 3, …, 16 𝑓(𝑅𝑖−1 , 𝐾𝑖 ) = 𝑃_𝑏𝑜𝑥(𝑆_𝑏𝑜𝑥𝑒𝑠(𝐸𝑥𝑝𝑎𝑛𝑑(𝑅𝑖−1 ) ⊕ 𝐾𝑖 )) Trong hàm Expand vừa mở rộng vừa hốn vị Ri-1 từ 32 bit lên 48 bit Hàm S-boxes nén 48 bit lại 32 bit Hàm P-box hốn vị 32 bit Các hàm mơ tả cụ thể sau: 2.3.1 Hàm Expand Đầu tiên 32 bit Ri-1 mở rộng thành 48 bit sử dụng thuật toán hoán vị mở rộng2 (expansion permutation) với việc nhân đôi số bit Hàm Expand thực đánh số bit Ri-1 từ đến 32 theo thứ tự từ trái sang phải Hàm Expand thực hoán vị mở rộng 32 bit thành 48 bit theo quy tắc: Phương pháp nhìn chung lặp lại hai bit cuối hàng trước E 31 5 9 10 11 12 13 12 13 14 15 16 17 16 17 18 19 20 21 20 21 22 23 24 25 24 25 26 27 28 29 28 29 30 31 32 Bảng 6: Hoán vị mở rộng 32 bit lên 48 bit 48 bit thu sau trình mở rộng XOR với 48 bit khóa tạo từ khóa 2.3.2 Hàm S-boxes 48 bit sau trộn chia làm khối con, khối bit (b0b1b2b3b4b5) xử lý qua hộp thay S-box Đầu S-box khối bit theo chuyển đổi phi tuyến thực bảng tra b1b2b3b4 S1 b0b5 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 14 13 15 11 10 12 01 15 14 13 10 12 11 10 14 13 11 15 12 10 11 15 12 11 14 10 13 b1b2b3b4 S2 b0b5 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 15 14 11 13 12 10 01 13 15 14 12 10 11 10 14 11 10 13 12 15 11 13 10 15 11 12 14 10 b1b2b3b4 S3 b0b5 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 10 14 15 13 12 11 01 13 10 14 12 11 15 10 13 15 11 12 10 14 11 10 13 15 14 11 12 b1b2b3b4 S4 b0b5 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 13 14 10 11 12 15 01 13 11 15 12 10 14 10 10 12 11 13 15 14 11 15 10 13 11 12 14 b1b2b3b4 S5 b0b5 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 12 10 11 15 13 14 01 14 11 12 13 15 10 10 11 10 13 15 12 14 11 11 12 14 13 15 10 b1b2b3b4 S6 b0b5 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 12 10 15 13 14 11 01 10 15 12 13 14 11 10 14 15 12 10 13 11 11 12 15 10 11 14 13 b1b2b3b4 S7 b0b5 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 11 14 15 13 12 10 01 13 11 10 14 12 15 11 10 11 13 12 14 10 15 11 11 13 10 15 14 12 b1b2b3b4 S8 b0b5 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 00 13 15 11 10 14 12 01 15 13 10 12 11 14 10 11 12 14 10 13 15 11 14 10 13 15 12 11 Bảng 7: S-Box Khối S-box đảm bảo phần quan trọng cho độ an tồn DES, khơng có S-box q trình thám mã tuyến tính việc thám mã đơn giản Hàm S-boxes DES biến đổi 48 bit thành 32 bit Tuy nhiên, lập bảng tra cứu bảng phải có 216 dịng 232 cột Để giảm kích thước bảng tra cứu người ta chia S-boxes thành S-box con, S-box biến đổi số bit thành bit 2.3.3 Hàm P-Box Cuối cùng, 32 bit thu sau s box xếp lại theo thứ tự cho trước gọi P-box Hàm P-box thực hoán vị 32 bit đầu vào theo quy tắc: P 16 20 21 29 12 28 17 15 23 26 18 31 10 24 14 32 27 19 13 30 22 11 25 Bảng 8: Hoán vị xếp lại P-box Ví dụ DES Giả sử ta có rõ dạng hexa – hệ số 16: 12 0123456789ABCDEF Và dùng khóa: 123457799BBCDFF1 Khóa sau chuyển sang dạng nhị phân loại bỏ bit kiểm tra(hốn vị có chọn lọc PC-1) là: 00010010011010010101101111001001101101111011011111111000 Sau chuyển rõ dạng nhị phân thực hoán vị IP ta thu L0 R0 sau: L0 = 11001100000000001100110111111111 L1 =R0 = 11110000101010101111000010101010 Sau thực 16 vịng lặp phép mã sau: E(R0) = 011110100001010101010101011110100001010101010101 K1 = 000110110000001011101111111111000111000001110010 E(R0)  K1 = 011000010001011110111010100001100110010100100111 S-box outputs = 01011100100000101011010110010111 f(R0,K1) = 00100011010010101010100110111011 L2 = R1 = 11101111010010100110010101000100 E(R1) = 011101011110101001010100001100001010101000001001 K2 = 011110011010111011011001110110111100100111100101 E(R1) K2 = 000011000100010010001101111010110110001111101100 S-box outputs = 11111000110100000011101010101110 f(R1,K2) = 00111100101010111000011110100011 13 L3 = R2 = 11001100000000010111011100001001 E(R2) = 111001011000000000000010101110101110100001010011 K3 = 010101011111110010001010010000101100111110011001 E(R2) K3 = 101100000111110010001000111110000010011111001010 S-box outputs = 00100111000100001110000101101111 f(R2,K3) = 01001101000101100110111010110000 L4 =R3 = 10100010010111000000101111110100 E(R3) =01010000010000101111100000000101011111111010100 K4 = 011100101010110111010110110110110011010100011101 E(R3) K4 = 001000101110111100101110110111100100101010110100 S-box outputs = 00100001111011011001111100111010 f(R3,K4) = 10111011001000110111011101001100 L5 = R4 = 01110111001000100000000001000101 E(R4) = 101110101110100100000100000000000000001000001010 K5 = 011111001110110000000111111010110101001110101000 E(R4)  K5 = 110001100000010100000011111010110101000110100010 S-box outputs = 01010000110010000011000111101011 f(R4,K5) = 00101000000100111010110111000011 L6 = R5 = 10001010010011111010011000110111 E(R5) = 110001010100001001011111110100001100000110101111 14 K6 = 011000111010010100111110010100000111101100101111 E(R5)  K6 =101001101110011101100001100000001011101010000000 S-box outputs = 01000001111100110100110000111101 f(R5,K6) = 10011110010001011100110100101100 L7 = R6 = 11101001011001111100110101101001 E(R6) = 111101010010101100001111111001011010101101010011 K7 = 111011001000010010110111111101100001100010111100 E(R6)  K7 = 000110011010111110111000000100111011001111101111 S- box outputs = 00010000011101010100000010101101 f(R6,K7) = 10001100000001010001110000100111 L8 = R7 = 00000110010010101011101000010000 E(R7) = 000000001100001001010101010111110100000010100000 K8 = 111101111000101000111010110000010011101111111011 E(R7)  K8 = 111101110100100001101111100111100111101101011011 S-box outputs = 01101100000110000111110010101110 f(R7,K8) = 00111100000011101000011011111001 L9 = R8 = 11010101011010010100101110010000 E(R8) = 011010101010101101010010101001010111110010100001 K9 = 111000001101101111101011111011011110011110000001 E(R8)  K9 = 100010100111000010111001010010001001101100100000 S-box outputs = 00010001000011000101011101110111 15 f(R8,K9) = 00100010001101100111110001101010 L10 = R9 = 00100100011111001100011001111010 E(R9) = 000100001000001111111001011000001100001111110100 K10 = 101100011111001101000111101110100100011001001111 E(R9)  K10 = 101000010111000010111110110110101000010110111011 S-box outputs = 11011010000001000101001001110101 f(R9,K10) = 01100010101111001001110000100010 L11 = R10 = 10110111110101011101011110110010 E(R10) = 010110101111111010101011111010101111110110100101 K11 = 001000010101111111010011110111101101001110000110 E(R10)  K11 = 011110111010000101111000001101000010111000100011 S-box outputs = 01110011000001011101000100000001 f(R10,K11) = 11100001000001001111101000000010 L12 = R11 = 11000101011110000011110001111000 E(R11) = 011000001010101111110000000111111000001111110001 K12 = 011101010111000111110101100101000110011111101001 E(R11)  K12 = 000101011101101000000101100010111110010000011000 S-box outputs = 01110011000001011101000100000001 f(R11,K12) = 11000010011010001100111111101010 L13 = R12 = 01110101101111010001100001011000 16 E(R12) = 001110101011110111111010100011110000001011110000 K13 = 100101111100010111010001111110101011101001000001 E(R12)  K13 = 101011010111100000101011011101011011100010110001 Sbox outputs = 10011010110100011000101101001111 f(R12,K13) = 11011101101110110010100100100010 L14 = R13 = 00011000110000110001010101011010 E(R13) = 000011110001011000000110100010101010101011110100 K13 = 010111110100001110110111111100101110011100111010 E(R13)  K14 = 010100000101010110110001011110000100110111001110 S-box outputs = 01100100011110011001101011110001 f(R13,K14) = 10110111001100011000111001010101 L15 = R14 = 11000010100011001001011000001101 E(R14) = 111000000101010001011001010010101100000001011011 K15 = 101111111001000110001101001111010011111100001010 E(R14)  K15 = 010111111100010111010100011101111111111101010001 S-box outputs = 10110010111010001000110100111100 f(R14,K15) = 01011011100000010010011101101110 R16 = R15 = 01000011010000100011001000110100 E(R15) = 001000000110101000000100000110100100000110101000 K16 = 110010110011110110001011000011100001011111110101 E(R15)  K16 = 111010110101011110001111000101000101011001011101 17 S-box outputs 10100111100000110010010000101001 f(R15,K16) = 11001000110000000100111110011000 L16 = 00001010010011001101100110010101 Cuối áp dụng IP-1 vào L16,R16: 1000010111101000000100110101010000001111000010101011010000000101 Chuyển lại sang mã hexa ta mã: 85E813540F0AB405 III ĐỘ AN TỒN CỦA DES Điểm yếu DES • Tính bù 𝐷𝑘 (𝑝) = 𝐶 ⇔ 𝐷𝑘̅ (𝑝̅) = 𝐶̅ Cho nên biết mã C mã hóa từ tin p với khóa 𝑘 suy 𝐶̅ mã hóa từ tin 𝑝̅ với khóa 𝑘̅ Tính chất điểm yếu DES nhờ mà kẻ cơng loại trừ nửa số khóa cần phải thử thi tiến hành phép thử - giải mã theo kiểu tìm kiếm vét cạn khơng gian khóa • Khóa yếu Các khóa yếu khóa sinh từ thuật tốn sinh khóa K1 = K2 = K3 = … =K16, điều khiến cho sinh mã giải mã giống hệt 𝐷𝑘 = 𝐷𝐾−1 Có tất khóa yếu sau: 1) [00000001 00000001 00000001 … 00000001] 2) [11111110 11111110 11111110 … 11111110] 3) [11100000 11100000 11100000 11100000 11110001 11110001 11110001 11110001] 18 4) [0001111 0001111 0001111 0001111 00001110 00001110 00001110 00001110] Bên cạnh đó, cịn có cặp khóa nửa yếu (semi-weak keys) Mã hóa với khóa cặp K1 tương đương với giải mã với khóa cịn lại K2 Tuy nhiên tránh khóa thực thuật tốn cách thử chọn khóa cách ngẫu nhiên Như khả chọn phải khóa yếu nhỏ Các dạng cơng DES Tấn cơng vét cạn (Brute Force Attack): Vì khóa mã DES có chiều dài 56 bít nên để tiến hành brute-force attack, cần kiểm tra 256 khóa khác Hiện với thiết bị phổ dụng, thời gian gian để thử khóa lớn nên việc phá mã không khả thi (xem bảng) Tuy nhiên vào năm 1998, tổ chức Electronic Frontier Foundation (EFF) thông báo xây dựng thiết bị phá mã DES gồm nhiều máy tính chạy song song, trị giá khoảng 250.000$ Thời gian thử khóa ngày Hiện mã DES sử dụng thương mại, nhiên người ta bắt đầu áp dụng phương pháp mã hóa khác có chiều dài khóa lớn (128 bít hay 256 bít) TripleDES AES Phương pháp vi sai (differential cryptanalysis): Năm 1990 Biham Shamir giới thiệu phương pháp phá mã vi sai Phương pháp vi sai tìm khóa tốn thời gian brute-force Tuy nhiên phương pháp phá mã lại địi hỏi phải có 247 cặp rõ - mã lựa chọn (chosen-plaintext) Vì phương pháp bất khả thi số lần thử phương pháp brute-force Phương pháp thử tuyến tính (linear cryptanalysis): Năm 1997 Matsui đưa phương pháp phá mã tuyến tính Trong phương pháp này, cần phải biết trước 243 cặp rõ-bản mã (known-plaintext) Tuy nhiên 243 số lớn nên phá mã tuyến tính khơng phải phương pháp khả thi 19 TÀI LIỆU THAM KHẢO https://en.wikipedia.org/wiki/DES_supplementary_material http://kathrynneugent.com/des.html https://vi.wikipedia.org/wiki/DES_(mã_hóa) https://voer.edu.vn/m/chuan-ma-du-lieu-des/623f6f0e NHẬN XÉT CỦA GIẢNG VIÊN ... liệu cơng bố vào năm 1975 FIPS chọn làm chuẩn thức vào năm 1976, sau sử dụng rộng dãi giới Ngày nay, DES khơng cịn đủ độ an tồn lượng bit mã hóa q nhỏ bị thay nhiều chuẩn mã hóa liệu cao Triple DES, ... đời chuẩn mã hóa DES ý coi tảng ban đầu chuẩn mã hóa tương lai MỤC LỤC I GIỚI THIỆU CHUNG VỀ DES 1 Lịch sử hình thành DES Một số cột mốc quan trọng Ưu nhược điểm DES. .. TDES/AES 3.2 Nhược điểm Hiện DES xem khơng đủ an tồn Ngun nhân chủ yếu độ dài khóa nhỏ, khóa DES bị phá vòng chưa đến 24 Nhiều phương pháp đưa để thám mã DES thành cơng II THUẬT TỐN MÃ HĨA DES

Ngày đăng: 03/10/2021, 21:59

Xem thêm:

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w