1. Trang chủ
  2. » Tất cả

Xây dựng chương trình mã hóa thông tin bằng ngôn ngữ cc++

46 30 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

1. Yêu cầu về kiến thức, kỹ năng: Có kiến thức lý thuyết về mã hóa thông tin; Thành thạo ngôn ngữ lập trình CC++; 2. Yêu cầu về chương trình: Dùng ngôn ngữ CC++ để mô phỏng một thuật toán mã hóa thông tin. 3. Nộp báo cáo: Báo cáo bản cứng theo đúng mẫu của bộ môn; Mã nguồn chương trình và file mềm báo cáo. 4. Đánh giá: Mức đạt: Báo cáo rõ ràng, sáng sủa, đủ nội dung theo yêu cầu ở mục 2; Mức khá: Trình bày được một thuật toán mã hóa thông tin và trả lờitốt các câu hỏi của hội đồng đánh giá; Mức tốt: Trình bày thêm được các thuật toán mã hóa khác. 5. Các yêu cầu khác: Sinh viên lập kế hoạch thực hiện gửi cho giảng viên hướng dẫn; Trong qua trình thực hiện mỗi tuần phải liên hệ với giảng viên ít nhất một lần thông qua email hoặc gặp trực tiếp. Thời gian thực hiện:Theo lịch của bộ môn Tài liệu tham khảo:Giáo trình đồ họa máy tính; Nguồn Interne

lOMoARcPSD|2935381 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP VIỆT – HUNG KHOA: CÔNG NGHỆ THÔNG TIN NGUYỄN KHẮC MẠNH XÂY DỰNG CHƯƠNG TRÌNH MÃ HĨA THƠNG TIN BẰNG NGƠN NGỮ C/C++ ĐỒ ÁN HỌC PHẦN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN HÀ NỘI, NĂM 2021 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP VIỆT-HUNG KHOA: CÔNG NGHỆ THÔNG TIN XÂY DỰNG CHƯƠNG TRÌNH MÃ HĨA THƠNG TIN BẰNG NGÔN NGỮ C/C++ ĐỒ ÁN HỌC PHẦN CHUYÊN NGÀNH: CƠNG NGHỆ THƠNG TIN Giáo viên hướng dẫn: Nguyễn Đình Quyết Nhóm sinh viên: Nguyễn Khắc Mạnh Mã sinh viên :190035 Lớp:K43CNTT2 HÀ NỘI, NĂM 2021 TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP VIỆT-HUNG KHOA CÔNG NGHỆ THÔNG TIN BỘ MÔN CÔNG NGHỆ THÔNG TIN Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 ĐỒ ÁN HỌC PHẦN Hệ đào tạo: Cao đẳng, Đại học Đề tài số: QUYET104 Chuyên ngành: Công nghệ thông tin Tên đề tài: Xây dựng chương trình mã hóa thơng tin ngơn ngữ lập trình C/C++ u cầu Yêu cầu kiến thức, kỹ năng: - Có kiến thức lý thuyết mã hóa thơng tin; - Thành thạo ngơn ngữ lập trình C/C++; u cầu chương trình: - Dùng ngơn ngữ C/C++ để mơ thuật tốn mã hóa thơng tin Nộp báo cáo: - Báo cáo cứng theo mẫu mơn; - Mã nguồn chương trình file mềm báo cáo Đánh giá: - Mức đạt: Báo cáo rõ ràng, sáng sủa, đủ nội dung theo yêu cầu mục 2; - Mức khá: Trình bày thuật tốn mã hóa thơng tin trả lời tốt câu hỏi hội đồng đánh giá; - Mức tốt: Trình bày thêm thuật tốn mã hóa khác Các yêu cầu khác: - Sinh viên lập kế hoạch thực gửi cho giảng viên hướng dẫn; - Trong qua trình thực tuần phải liên hệ với giảng viên lần thông qua email gặp trực tiếp Thời gian thực hiện: Theo lịch môn Tài liệu tham khảo: Giáo trình đồ họa máy tính; Nguồn Internet THƠNG QUA BỘ MƠN GIẢNG VIÊN SOẠN Nguyễn Đình Quyết TRƯỜNG ĐHCN VIỆT – HUNG KHOA CƠNG NGHỆ THƠNG TIN CỘNG HỒ XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự – Hạnh phúc Mẫu DA02 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 NHẬN XÉT ĐỒ ÁN HỌC PHẦN Chuyên ngành : Công Nghệ Thông Tin (Nhận xét GV hướng dẫn Nhận xét GV phản biện ) Họ tên sinh viên: Nguyễn Khắc Mạnh Tên đề tài: Xây dựng chương trình mã hóa thơng tin ngơn ngữ lập trình C/C++ Người nhận xét (họ tên, học hàm, học vị): Ths Nguyễn Đình Quyết Đơn vị công tác : Trường Đại Học Công Nghiệp Việt - Hung Ý KIẾN NHẬN XÉT Về nội dung & đánh giá thực nhiệm vụ nghiên cứu đề tài: Về phương pháp nghiên cứu, độ tin cậy số liệu: Về kết đề tài: Những thiếu sát vấn đề cần làm rõ (nếu có): Ý kiến kết luận (mức độ đáp ứng yêu cầu ĐA/KL tốt nghiệp) Câu hỏi người nhận xét dành cho học viên (nếu có):  Đánh giá điểm: Kết luận:  Đồng ý /  Không đồng ý cho phép sinh viên tham dự bảo vệ kết trước hội đồng Ngày………tháng…… năm 2021 NGƯỜI NHẬN XÉT Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 NHẬT KÝ THỰC HIỆN ĐỀ TÀI Thời gian Công việc 27/2/2021 Nhận đề tài từ giáo viên 04/03/2021 Tìm hiểu mã hóa cổ điển Ceasar, Virgerne, Hill, Play Fair 22/03/2021 Tìm hiểu mã hóa khối DES giải tập DES thủ công excel 04/04/2021 Tìm hiểu mã hóa AES giải tập AES thủ công excel 21/04/2021 Nghiên cứu phương pháp mã hóa đối xứng nâng cao IDEA, Blowfish, RC5, Cast-128 xây dựng chương trình mã hóa thơng tin ngơn ngữ lập trình C/C++ 02/05/2021 Viết báo cáo đồ án 10/05/2021 Hoàn thiện báo cáo Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) Ghi lOMoARcPSD|2935381 LỜI CẢM ƠN Với phát triển nhảy vọt công nghệ thông tin nay, bảo mật liệu ngày giữ vai trò quan trọng công nghệ thông tin Chúng ta sử dụng nhiều thông tin Internet, Internet tập hợp máy tính nối kết với nhau, mạng máy tính tồn cầu mà kết nối máy PC họ Với mạng Internet, trao đổi thơng tin lĩnh vực văn hóa, xã hội, trị, kinh tế Trong thời đại ngày nay, thời đại truy cập sử dụng liệu nhu cầu thường xuyên với xuất nguy công mạng người sử dụng thông tin, truy cập thông tin hay tốn điện tử Do việc mã hóa, che dấu thông tin để bảo mật thông tin đặc biệt quan trọng Em xin gửi lời cảm ơn đặc biệt đến thầy giáo Nguyễn Đình Quyết giúp đỡ hướng nhiệt tình suốt trình thực hồn thành báo cáo chương trình mơ mã hóa thơng tin C/C++ Tuy nhiên, thời gian có hạn, kiến thức kinh nghiệm cịn hạn chế nên chương trình báo cáo khơng thể tránh khỏi thiếu sót định Những ý kiến nhận xét góp ý quý thầy cô bạn sở để em học hỏi hoàn thiện thêm kiến thức tích lũy kinh nghiệm sau Em mong nhận góp ý nhiệt tình từ q thầy bạn ! Em xin chân thành cảm ơn! Sinh viên thực Nguyễn Khắc Mạnh Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 MỤC LỤC MỞ ĐẦU CHƯƠNG I : TỔNG QUAN VỀ MẬT MÃ VÀ XÁC THỰC THÔNG TIN .3 1.1 Tổng quan mật mã 1.1.1 Giới thiệu mã hóa 1.1.2 Các thành phần hệ thống mã hóa 1.1.3 Các tiêu chí đặc trưng hệ thống mã hóa 1.1.4 Tấn công hệ thống mật mã 1.2 Kỹ thuật mã hóa cổ điển,các kỹ thuâ ̣t thay 1.2.1 Mâ ̣t mã Caesar Cipher 1.2.2 Mật mã Playfair 1.2.3 Mật mã Hill 1.2.4 Mật mã Vigenère 1.3 Áp dụng giải thuật Euclid mở rộng tìm số nghịch đảo vành 1.3.1 Số nghịch đảo vành 1.3.2 Giải thuật 1.3.3 Các kỹ thuâ ̣t chuyển vị .8 1.3.4 Các kỹ thuâ ̣t giấu tin tin khác (Steganography) .9 1.4 Mã hóa đối xứng 10 1.4.1 Giới thiệu chung .10 1.4.2 Cấu trúc mã khối 10 1.5 Thuật tốn mã hóa AES 14 1.5.1 Giới thiệu .14 1.5.2 Mã hóa 15 CHƯƠNG II: MƠ PHỎNG BÀI TỐN MÃ HĨA DES 25 2.1 Thuật tốn mã hóa DES 25 2.1.1 Giới thiệu .25 2.1.2 Dịch chuyển số học 26 2.1.3 Dịch chuyển luận lý .27 2.1.4 Mã hóa 28 2.2 Bài toán 36 2.3 Mơ mã hóa DES 36 KẾT LUẬN 37 TÀI LIỆU THAM KHẢO .38 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 MỞ ĐẦU I Đặt vấn đề Với bùng nổ Công nghệ thông tin vào cuối kỷ XX đầu kỷ XXI, nhân loại bước vào thời đại mới: Thời đại kinh tế thơng tin tồn cầu hóa Mọi hoạt động xã hội, trị, kinh tế thời đại xét cho cùng, thực chất hoạt động thu thập, xử lý, lưu trữ trao đổi thông tin Trong bối cảnh Bảo mật thơng tin ln mối quan tâm hàng đầu giao dịch xã hội, đặc biệt giao dịch điện tử môi trường Internet, môi trường mở, môi trường không tin cậy Để bảo vệ bí mật cho thơng tin gửi môi trường “mở” tức môi trường có nhiều tác nhân tiếp cận ngồi hai đối tác trao đổi thông tin, người ta phải dùng mật mã tức dùng phương pháp biến đổi làm cho nguyên gốc thông tin (plaintext) dạng thơng thường hiểu biến thành dạng bí mật (ciphertext) mà có người nắm quy luật biến đổi ngược lại thành dạng nguyên gốc ban đầu để đọc Để mã hóa liệu sử dụng phương pháp mã hóa cổ điển Ceasar, Vigenere, Hill, PlayFair… hay mã hóa khối Des, Aes, Cast 128, RC5, Blowfish… Xây dựng chương trình mơ mã hóa thơng tin ngơn ngữ lập trình C/C++ chương trình mơ tả hoạt động mã hóa thơng tin DES sau có rõ, khóa chương trình xuất đầu mã dựa bảng hoán vị IP, PC-1, PC-2, IP -1, S1, S2, E, P…… II Mục tiêu nghiên cứu đề tài Mục tiêu nghiên cứu đề tài tập chung vào kiến thức sau: - Nghiên cứu phương pháp mã hóa giải mã thơng tin Các kỹ thuật mã hóa dùng khóa đối xứng kỹ thuật mã hóa dùng khóa bất đối xứng - Nghiên cứu thành phần mã hóa thơng tin rõ (Plaintext) mã(Ciphertext) khóa(Key) giải thuật Euclid, giải thuật Euclid mở rộng - Tìm hiểu vịng chế mã hóa khối DES, AES III Nhiệm vụ đề tài - Nghiên cứu phương pháp mã hóa thơng tin thành phần mã hóa thơng tin Sử dụng bảng mã hóa DES để giải tập bảng hoán vị IP, bảng hoán vị E,P, bảng thay S1….S8, bảng hốn vị khóa PC-1, PC-2… - Sử dụng ngơn ngữ lập trình C/C++ để mơ quy trình mã hóa thơng tin DES IV Kết đạt đề tài Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 - Sau trình nghiên cứu tìm hiểu quy trình mã hóa thơng tin mã hóa khối DES theo 16 vịng lặp, em giải tập mã hóa khối DES theo bảng IP, IP-1, S, E, P, PC-1, PC-2 - Sử dụng ngơn ngữ lập trình C/C++ để xây dựng chương trình mơ mã hóa DES V Bố cục đề tài Đề tài gồm chương sau: Chương : TỔNG QUAN VỀ MẬT MÃ VÀ XÁC THỰC THÔNG TIN Chương : MƠ PHỎNG BÀI TỐN MÃ HĨA DES Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 24 Rcon[8] Rcon[9] Rcon[10] 82000000 1b000000 36000000 sử dụng cho trans(w[31]) tính w[32] sử dụng cho trans(w[35]) tính w[36] sử dụng cho trans(w[39]) tính w[40] 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]) công thức 4.8 để tạo khóa vịng Thực thi AddW để tạo khóa vịng Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 25 CHƯƠNG II: MƠ PHỎNG BÀI TỐN MÃ HĨA DES 2.1 Thuật tốn mã hóa DES 2.1.1 Giới thiệu Data Encryption Standard (DES) chuẩn hóa năm 1977 Viện tiêu chuẩn công nghệ quốc gia Hoa kỳ (NIST) DES dùng nhiều ứng dụng bảo mật Kerberos, SSL, IPSec, …  Kích thước khối: 64 bit  Chiều dài khố: 64 bit, nhiên q trình thực hiện, có 56 bit sử dụng Tất bit cuối byte (các bit 8, 16, 24, 32, 40, 48, 56 64) bị loại bỏ từ vịng xử lý (Vị trí bít dùng chứa mã kiểm tra chẵn lẻ) Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 26 Plaintext IP L0 R0 + K1 L1=R0 R1=L0 (R0,K1) + K2 L2=R1 R2=L1 (R1,K2) L15=R14 R15=L14 (R14,K15) + R16=L15 (R15,K16) K16 L16=R15 L15=R14 IP-1 CipherText  Số vịng mã: 16 vịng  Thuật tốn sinh khoá phụ: kết hợp phép dịch trái hoán vị  Hàm F: kết hợp phép XOR, hoán vị thay (S-box) 2.1.2 Dịch chuyऀn số học Dịch chuyển số học trái Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 27 Dịch chuyển số học phải Trong dịch chuyển số học, bit dịch chuyển khỏi đầu đuôi bị loại bỏ Trong phép dịch chuyển số học bên trái, số dịch chuyển vào bên phải; phép dịch chuyển số học bên phải, bit thể dấu thêm vào bên trái, dấu số giữ ngun Ví dụ : sử dụng ghi 8-bit: 00010111 (số thập phân +23) Dịch chuyển trái = 00101110 (số thập phân +46) 10010111 (số thập phân -105) Dịch chuyển phải = 11001011 (số thập phân -53) Trường hợp đầu tiên, số tận bên trái dịch chuyển khỏi ghi, số thêm vào cuối bên phải ghi Trường hợp thứ hai, thành phần cuối bên phải dịch chuyển khỏi, số thêm vào bên trái, bảo toàn dấu số Nhiều lần dịch chuyển rút ngắn lại cịn lần Ví dụ: 00010111 (số thập phân +23) Dịch sang trái lần = 01011100 (số thập phân +92) Dịch chuyển số học bên trái n lần tương đương nhân với 2n (nếu giá trị khơng gây tràn nhớ), phép dịch chuyển số học sang phải n lần giá trị bù tương đương với việc chia cho 2n làm trịn phía âm vô Nếu số nhị phân xem bù 1, phép dịch chuyển sang phải tương tự cho kết với việc chia số cho 2n làm trịn phía 2.1.3 Dịch chuyऀn luận lý Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 28 Left logical shift Right logical shift Trong dịch chuyển luận lý, số dịch chuyển vào để thay bit bị loại bỏ Do dịch chuyển luận lý dịch chuyển số học bên trái hoàn toàn giống Tuy nhiên, dịch chuyển luận lý thêm giá trị vào vị trí bit quan trọng nhất, thay chép bit mang dấu, điều lý tưởng cho số nhị phân không dấu, phép dịch chuyển số học sang phải lại lý tưởng cho số nhị phân bù có dấu 2.1.4 Mã hóa Thơng tin gốc 64 bít Khóa bí mật 64 bít 56 bít IP PC-1 64 bít Vịng K1 48 bít PC-2 64 bít Vịng 16 56 bít 56 bít Dịch trái 56 bít K16 48 bít PC-2 56 bít Dịch trái 64 bít 32bit swap 64 bít IP-1 Thơng tin mật 64 bít Mã khối  Vấn đề cần tìm hiểu:  IP: Phép hoán vị khởi đầu, IP-1  Hàm F  Quy tắc sinh khóa phụ (K1 K16)  Phép dịch trái Phép hoán vị khởi đầu phép hốn vị ngược Có chức làm thay đổi vị trí bit khối thơng tin gốc Đây phần thực khơng có cấu trúc Feistel Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 29 Ở phần cuối q trình mã hố, phép hốn vị ngược trả lại bit vị trí ban đầu Phép hoán vị IP IP-1 thực dựa hai ma trận sau, với giá trị ma trận cho biết số thứ tự bit khối 64 phần tử khối ánh xạ theo số ma trận đọc theo thứ tự hàng 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 0.1 Ma trận hoán vị IP 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 0.2 Ma trận hoán vị IP-1 Hàm F Trộn khoá phụ Ki với khối thơng tin vịng Hàm F DES gồm có thao tác:  Hốn vị mở rộng (E table) chuyển từ 32 bit thành 48 bit,  Hàm XOR cộng 48 bit vừa tạo với 48 bit khoá phụ Ki,  Khối thay S-Box chuyển 48 bit thành 32 bit,  Khối hoán vị P Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 30  E table (Expansion/Permutation), gọi E-box thực chức hoán vị bit khối thông tin, đồng thời chuyển từ 32 bit thành 48 bit cách sử dụng ma trận E table sau (Sẽ có số bit lặp lại): 32 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 0.3 Ma trận E table  S-Box (Substitution Box) Thay chuỗi bit thành chuỗi bit khác, đồng thời thực thao tác ngược lại với E table chuyển khối thông tin từ 48 bit thành 32 bit Thực thông qua ma trận S-Box (S1 – S8) 14 15 15 12 13 14 8 2 14 13 15 11 10 13 10 6 11 15 12 11 Bảng 0.4 Hộp S1 12 12 11 14 10 10 0 13 15 13 13 14 8 10 14 11 15 10 11 2 14 12 13 12 15 11 Bảng 0.5 Hộp S2 13 10 12 12 0 5 11 14 10 15 13 12 11 10 14 15 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 31 13 10 14 12 11 15 13 15 11 12 15 10 14 10 13 15 14 11 12 Bảng 0.6 Hộp S3 13 10 13 15 14 11 6 12 10 15 11 13 10 13 15 11 12 14 5 11 12 12 10 14 15 14 14 11 12 11 12 12 11 7 10 10 13 14 11 13 13 15 15 15 12 15 10 13 10 14 14 12 10 15 14 10 15 15 12 12 12 15 10 11 13 14 13 4 14 10 14 11 13 11 11 13 13 2 15 11 13 14 15 11 10 12 14 10 10 12 15 12 10 14 11 13 15 14 12 11 13  48 bit ngõ phép XOR chia thành phần, phần bit  Từng phần bit xử lý riêng biệt ma trận S-Box khác (có S-Box khác nhau)  Tại S-Box, bit đầu bit cuối phần bit thông tin dùng để chọn hàng ma trận, bit lại dùng để chọn 16 giá trị hàng tương ứng, giá trị chọn chuyển thành bit nhị phân  Ví dụ, xét ma trận S1, với chuỗi bit 111011 14 15 15 12 13 14 8 2 14 13 15 11 13 11 10 15 10 12 11 12 12 11 14 10 10 0 13 o bit đầu bit cuối 11=2+1=3, có giá trị thập phân 2, hàng chọn hàng số o bit lại 1101=8+4+1=13 nhị phân, giá trị thập phân tương ứng Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 32 6, giá trị cột chọn o Giá trị hàng cột ma trận S1 2, giá trị xuất 0000  Ma trận hoán vị P (Permutation): (32  32) Còn gọi P-Box 16 20 21 29 12 28 17 15 23 26 18 31 10 24 14 32 27 19 13 30 22 11 25 Thuật tốn sinh khóa phụ Khóa K (64 bit) đầu vào giảm xuống 56 bit cách bỏ bit (ở vị trí chia hết cho 8), bit dùng để kiểm tra bit chẵn lẻ Sau hốn vị theo PC-1 Bảng trâ ̣t tự khoá PC-1: 57 10 63 14 49 55 41 59 47 61 33 51 39 53 25 43 31 45 17 35 23 37 27 15 29 19 21 58 11 62 13 50 54 42 60 46 28 34 52 38 20 26 44 30 12  Ngõ khối hoán vị PC-1 chia thành phần, phần 28 bit (C D)  Tại vòng mã hoá, hai phần dịch trái bit trước qua khối hoán vị PC-2 để thành 48 bit  Số bit dịch trái tương ứng với vòng khác nhau, thể bảng sau  Ma trận hóan vị PC-2 (56 bít  48 bít) 14 17 11 24 28 15 21 10 23 19 12 26 16 27 20 13 41 52 31 37 47 55 30 40 51 45 33 48 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) 18 36 22 lOMoARcPSD|2935381 33 44 49 39 56 34 53 46 42 50 36 29 32 Ví dụ Tìm đầu vịng thứ (L1, R1) thực giải thuật mã hóa DES với khối dữa liệu rõ 21592FDCBA4390ED16 khóa 11223344AABBCCDD16 Chuyển khối liệu sang dạng nhị phân F D C B A E D 0010 0001 0101 1001 0010 1111 1101 1100 1011 1010 0100 0011 1001 0000 1110 1101 Chuyển khóa sang nhị phân 1 2 3 4 A A B B C C D D 0001 0001 0010 0010 0011 0011 0100 0100 1010 1010 1011 1011 1100 1100 1101 1101 Hoán vị rõ theo IP 58 62 57 61 50 54 49 53 42 46 41 45 34 38 33 37 26 30 25 29 18 22 17 21 10 14 13 60 64 59 63 52 56 51 55 44 48 43 47 36 40 35 39 28 32 27 31 20 24 19 23 12 16 11 15 1 1 0 1 0 0 1 1 1 1 0 0 0 1 0 0 1 1 1 0 0 1 1 0 1 Ta có: Kết sau qua IP: 1010101001011010100011001010011111011000100101011001111000110100 Tách liệu sau qua IP thành phần L0=10101010010110101000110010100111 R0=11011000100101011001111000110100  L1 = R0=11011000100101011001111000110100  R1 = L0  F(R0, K1) Ta cần tìm K1, sau F(R0, K1), cuối tính L0  F(R0, K1) Tìm khóa phụ K1 Hốn vị K (64 bít) theo PC-1 57 49 41 33 25 17 58 50 42 34 26 18 10 59 51 43 35 27 19 11 60 52 44 36 Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 34 63 55 47 39 31 23 15 62 54 46 38 30 22 14 61 53 45 37 29 21 13 28 20 12 Ta có giá trị khóa K 56 bit 1 1 0 0 1 0 0 0 1 1 1 0 1 1 1 0 0 1 1 0 0 1 K (56 bit)=1111000110010000011011010100011011011001000111100000101  Chia K làm phần  C0 =1111000011001000001101101010  D0 =0011011011001000111100000101  Dịch trái  C0 =1110000110010000011011010101  D0 =0110110110010001111000001010  Khóa K sau dịch vịng trái: 11100001100100000110110101010110110110010001111000001010  Hốn vị K theo PC-2 K1=000110110010011011000001001111110110100011100100 Tính F(R0, K1)  Hốn vị R0 theo E-Table 14 23 41 44 17 19 52 49 11 24 28 15 21 10 12 26 16 27 20 13 31 37 47 55 30 40 51 45 33 48 39 56 34 53 46 42 50 36 29 32 Ta có: 0 1 1 0 0 1 1 0 0 0 1 1 1 1 0 1 0 0 011011110001010010101011110011111100000110101001  Thực XOR với K1 011011110001010010101011110011111100000110101001  000110110010011011000001001111110110100011100100 48 bít 100010111100110110010101000011110101011010110010  Cho qua S-Box ta Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 35 10001 111100 110110 010101 000011 110101 011010 110010 S1 S2 S3 S4 S5 S6 S7 S8 12 11 10 0100 0010 1100 0010 1011 0001 1010 0110 Ta có: 01000010110000101011000110100110  Hoán vị theo P-Box 16 20 21 29 12 28 17 15 23 26 18 31 10 24 14 32 27 19 13 30 22 11 25 Ta 1 0 0 1 0 0 1 1 0 1 1 0 0 F(R0, K1)=01100001010000111010010110100001  Tính R1 = L0  F(R0, K1) 10101010010110101000110010100111  01100001010000111010010110100001 R1 00110100111001101101011011111001 Nhận xét  DES dựa hịan tịan cấu trúc Feistel  Thích hợp với thực thi phần cứng (XOR, dịch, hóan vị)  tốc độ mã cao  Chiều dài khóa 56 bit khơng an tồn với kỹ thuật dị khóa  Có thể bị cơng phương pháp phân tích tuyến tính vi phân  Cần cải tiến: Double DES, Triple DES 2.2 Bài toán - CHO INPUT M = 0123456789ABCDEF mã hóa DES với khóa Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 36 K = 133457799BBCDFF1 , Tìm mã C ? - KẾT QUẢ BẢN MÃ C:= DD13E80A381EC0D6 2.3 Mơ mã hóa DES - L0 , R0 , Bản giải mã kết Quả: KẾT LUẬN Sau thời gian nghiên cứu đồ án, em rút số điều: Về kiến thức: Đồ án thúc đẩy sinh viên tìm tịi, học hỏi khơng ngừng kiến thức xoay quanh ứng dụng tìm hiểu Giới thiệu số cơng nghệ cách ứng dụng thực tế Đào sâu nghiên cứu hay, hạn chế công nghệ để linh hoạt sử dụng lựa chọn cơng nghệ phù hợp với hồn cảnh Cịn đặt vấn đề với ngành CNTT: không học hỏi liên tục để cập nhật cơng nghệ mau chóng lạc hậu với thời đại Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 37 Về kỹ năng: Đồ án giúp sinh viên có trải nghiệm thực tế kĩ sử dụng Powerpoint, Word; kĩ Quản Lý Thời Gian để kịp hạn nộp báo cáo Nhưng đặc biệt kĩ Thuyết Trình, Phản Biện trước đám đơng để bảo vệ sở luận Về thái độ: Đồ án rèn luyện cho sinh viên phẩm chất chăm chỉ, tinh thần tự giác, kiên nhẫn, … chỉnh sửa chuẩn mẫu thiết kế báo cáo cho Con người kỉ luật – Ý thức kỉ luật – Hành động kỉ luật Đó phẩm chất yêu cầu cấp thiết kỉ nguyên công nghiệp 4.0 Big Data (dữ liệu lớn) Do hiểu biết, tầm nhìn thân hạn chế nên đồ án dừng lại mức thiết kế đơn giản Đồng thời, không tránh khỏi sai sót, nên em mong nhận ý kiến đóng góp sâu sắc từ thầy để đồ án ngày hoàn thiện Thật tuyệt vời thầy, cô tạo điều kiện tốt cho em hoàn thành tốt đồ án này! Em xin chân thành cảm ơn! Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com) lOMoARcPSD|2935381 38 TÀI LIỆU THAM KHẢO Đề cương giảng môn Bảo mật hệ thống thông tin, Khoa công nghệ thông tin, Trường Đại học công nghiệp Việt- Hung Giáo trình bảo mật hệ thống thơng tin, Đỗ Xuân Đức, Đại học giao thông vận tải https://www.youtube.com/watch?v=o-Y3IKVv-sM&t=0s https://drive.google.com/file/d/1lRhKBTyAEI6OJ3Iu2MLzx1rADQowUuaY/vie w Downloaded by EBOOKBKMT VMTC (nguyenphihung1009@gmail.com)

Ngày đăng: 31/03/2023, 11:36

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