tailieunhanh - Bài tập môn học: Viết chương trình mã hóa và giải mã bằng mật mã AES

Bài tập môn học: Viết chương trình mã hóa và giải mã bằng mật mã AES với mục tiêu tìm hiểu về các chu trình làm việc của phương pháp mã hóa AES và ứng dụng viết một chương trình mã hóa và giải mã bằng AES sử dụng ngôn ngữ Python, rồi sau đó sẽ tìm hiểu các dạng tấn công vào AES và phương pháp phòng tránh. | HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA CÔNG NGHỆ THÔNG TIN BÀI TẬP MÔN HỌC Viết chương trình mã hóa và giải mã bằng mật mã AES Ngành Công nghệ thông tin Chuyên ngành Kỹ thuật phần mềm nhúng và di động Người hướng dẫn TS. Nguyễn Đào Trường Khoa Công nghệ thông tin Học viện Kỹ thuật mật mã Sinh viên thực hiên Trương Quốc Quân Hà Nội 2021 MỤC LỤC LỜI NÓI ĐẦU . 3 I. TỔNG QUAN AES . 4 1. Khái niệm từ Word trong AES . 4 2. Thuật toán của AES . 4 3. Khái quát . 4 II. MÃ HÓA . 6 1. Phương thức AddRoundKey. . 6 2. Phương thức SubBytes. . 6 3. Phương thức ShiftRows . 7 4. Phương thức MixColumns. . 8 III. GIẢI MÃ . 9 1. Phương thức invShiftRows . 9 2. Phương thức InvMixColumns. . 9 IV. THUẬT TOÁN MỞ RỘNG KHÓA keyExpansion . 11 V. Các dạng tấn công vào AES và phương pháp phòng chống. . 13 1. Side-channel attack. . 13 2. Known attacks. . 13 3. Các phương pháp phòng chống. . 13 VI. Ứng dụng viết chương trình mã hóa và giải mã AES sử dụng Python . 14 1. Các hàm nhân Galois . 14 2. Hàm RotWords . 15 3. Hàm KeyExpansion . 15 4. Các hàm addRoundKey subBytes shiftRows gMixColumns . 18 5. Các hàm invSubBytes invShiftRows gInvMixColumns . 19 6. Các hàm phiên mã AES-128 AES-192 AES-256 . 20 7. Các hàm giải mã AES-128 AES-192 AES-256 . 22 8. Các hàm chức năng chuyển đổi string thành ma trận và ngược lại . 23 9. Đóng gói thành hàm phiên mã và giải mã hoàn chỉnh . 24 10. Các chế độ hoạt động modus operandi mode of operation của mật mã khối và ứng dụng vào phần mềm AES. . 26 TÀI LIỆU THAM KHẢO. 33 LỜI NÓI ĐẦU Mật mã học và các thành tựu của nó là một lĩnh vực quan trọng trong quá trình phát triển của nhân loại. Với mục tiêu làm rối và làm loạn thông tin rồi sau đó có thể tái tạo lại thông tin một cách chân thực chúng ta có thể đảm bảo được tính bí mật của thông tin có thể truyền thông tin đi xa và dựa vào các đặc tính của quá trình mã hóa như tính không thể chối bỏ tìm ra được các lỗ hổng bảo mật. Nhu cầu được mã hóa bảo vệ thông tin giao nhận thông tin đến đúng người nhận có ý nghĩa thực tiễn từ .