TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

28 31 0
TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Đ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

[Type here] HỌC VIỆN CƠNG NGHỆ BƯU CHÍNH VIỄN THƠNG KHOA VIỄN THÔNG -  - BÀI TIỂU LUẬN TÌM HIỂU VÀ MƠ PHỎNG HỆ THỐNG MẬT MÃ HÓA TIÊN TIẾN AES Tên học phần : An ninh mạng viễn thông Giảng viên : Phạm Anh Thư Nhóm tiểu luận : 06 Nhóm mơn học : 06 Sinh viên thực : Vũ Trọng Linh Vũ Đình Trường Trịnh Xuân Đạt Hà Nội, 27/06/2021 Bài thi cuối kỳ môn ANM MỤC LỤC Bảng phân công công việc Danh mục thuật ngữ Danh mục hình ảnh MỞ ĐẦU I Giới thiệu chung 1.1 Giới thiệu 1.2 Sơ lược lịch sử AES II Các tiêu chí đánh giá thuật tốn AES 2.1 Bảo mật 2.2 Chi phí 2.3 Đặc điểm thực thuật toán III.Cấu trúc thuật tốn mã hóa tiên tiến AES IV Q trình mã hóa 4.1 Phép biến đổi SubBytes 4.2 Phép biến đổi ShiftRow 4.3 Phép biến đổi MixColumns 4.4 Phép biến đổi AddRoundKey 4.5 Mở rộng khóa (ExpandKey) V.Quá trình giải mã 5.1 Tổng quan giải mã AES-128 5.2 Chức AddRoundKey đảo 5.3 Chức InvShiftRows 5.4 Chức InvSubBytes 5.5 Chức InvMixColumns 5.6 Chức InvKeyExpansion VI Demo thuật toán AES Python 6.1 Giới thiệu 6.2 Thiết lập ứng dụng 6.2.1 Các thư viện hỗ trợ cho ứng dụng 6.2.2 Thuật toán mã hóa 6.2.3 Thuật toán giải mã 6.2.4 Các trường hợp ứng dụng VII Kết luận Tài liệu tham khảo Nhóm Bài thi cuối kỳ môn ANM Bảng phân công công việc Họ tên Vũ Đình Trường– B17DCVT Trịnh Xuân Đạt – B17DCVT Vũ Trọng Linh – B17DCVT219 Nhóm Bài thi cuối kỳ môn ANM Danh mục thuật ngữ AES DES SPN SubByte Shift Row Mix Columns Add Round Key Expand Key Inv SubByte Inv Shift Row Inv Mix Columns Inv Add Round Key Nhóm Bài thi cuối kỳ mơn ANM Danh mục hình ảnh Hình Cấu trúc AES Hình Kiến trúc mã hóa chung AES 10 Hình Bảng S-box 11 Hình Ví dụ phép biến đổi SubBytes 11 Hình Ví dụ phép biến đổi ShiftRow 12 Hình Ví dụ phép biến đổi MixColumns 13 Hình Ví dụ AddRoundKey 13 Hình Mở rộng khóa 14 Hình Quá trình giải mã (Inverse Cipher) 16 Hình 10 Ma trận khóa vịng thứ 10 ma trận liệu mã hóa 16 Hình 11 Chức AddRoundKey 17 Hình 12 Chức InvShiftRows 17 Hình 13 Bảng S-box đảo chuẩn AES 18 Hình 14 Chức InvSubBytes 18 Hình 15 Ma trận chuyển đổi dùng InvMixColumns 19 Hình 16 Chức InvMixColumns 22 Hình 17 Mạch nguyên lý nhân byte A với phần tử ma trận chuyển đổi InvMixColumns 23 Nhóm Bài thi cuối kỳ môn ANM MỞ ĐẦU Với phát triển ngày mạnh nhu cầu truyền tin bảo mật Internet cần thuật tốn mã hóa đủ mạnh, khó phá để thay thuật tốn mã hóa cũ lỗi thời Hiện có nhiều thuật tốn mã hóa tiên tiến, số thuật tốn mã hóa tiên tiến AES Với ưu điểm vượt trội AES kỳ vọng thuật toán tiên tiến đưa vào áp dụng toàn cầu tương lai gần Đó lý chúng em chọn đề tài làm tiểu luận Mục đích tiểu luận giúp người có nhìn tổng quan thuật tốn mã hóa tiên tiến AES Qua tiểu luận hiểu vấn đề AES cấu trúc thuật tốn, q trình mã hóa giải mã Phạm vi tiểu luận xoay quanh vấn đề thuật toán mã hóa tiên tiến AES Về cấu trúc tiểu luận, chúng em chia thành phần lớn sau: I Giới thiệu chung AI Các tiêu chí đánh giá thuật toán AES BI Cấu trúc thuật tốn mã hóa tiên tiến AES IV Q trình mã hóa V Q trình giải mã VI Demo thuật toán AES Python VII Kết luận Mặc dù cố gắng hạn hẹp thời gian kiến thức nên làm chúng em hạn chế sai sót định Chúng em mong nhận góp ý chủ đề giúp làm chúng em hoàn thiện Qua chúng em chân thành cảm ơn tới TS Phạm Anh Thư, người giúp đỡ chúng em nhiều việc hồn thành mơn học Nhóm Bài thi cuối kỳ mơn ANM I Giới thiệu chung 1.1 Giới thiệu Mật mã kỹ thuật quan trọng phổ biến để bảo mật liệu khỏi kẻ cơng cách sử dụng hai quy trình quan trọng Mã hóa Giải mã Mã hóa q trình mã hóa liệu để ngăn chặn kẻ xâm nhập đọc liệu gốc cách dễ dàng Giai đoạn có khả chuyển đổi liệu gốc (Plaintext) sang mã (Cipher text) Quá trình phải thực người có thẩm quyền Giải mã Giải mã trái với mã hóa Đây q trình chuyển đổi văn mật mã thành gốc mà khơng bỏ sót từ Để thực quy trình này, mật mã dựa vào phép tính tốn học với số thay hốn vị có khơng có khóa Ngày nay, có số thuật tốn có sẵn để mã hóa giải mã liệu nhạy cảm, thường chia thành ba loại Một mật mã đối xứng: khóa sử dụng để mã hóa giải mã liệu Thứ hai mật mã không đối xứng Loại mật mã dựa hai khóa khác để mã hóa giải mã Cuối cùng, hàm băm mật mã khơng sử dụng khóa mà thay vào trộn liệu Khóa đối xứng hiệu nhanh nhiều so với Không đối xứng Một số thuật toán đối xứng phổ biến AES, S-DES 3DES Mục đích báo cung cấp thơng tin chi tiết thuật tốn Tiêu chuẩn mã hóa nâng cao (AES) cho liệu mã hóa giải mã, sau thực so sánh thuật toán AES DES để đưa số ý tưởng lại thay thuật toán DES thành AES 1.2 Sơ lược lịch sử AES AES (Advanced Encryption Standard ) thuật toán mật mã khối đối xứng phổ biến sử dụng tồn giới Thuật tốn có cấu trúc đặc biệt riêng để mã hóa giải mã liệu quan trọng áp dụng phần cứng phần mềm tồn giới Rất khó để tin tặc lấy liệu thực mã hóa thuật tốn AES Cho đến khơng phải chứng để đánh lừa thuật tốn AES có khả xử lý ba kích thước khóa khác AES 128, 192 256 bit mật mã có kích thước khối 128 bit Bài báo cáo chúng đưa nhìn tổng quan thuật tốn AES giải thích chi tiết số tính quan trọng thuật toán Thuật toán AES thuật tốn mã hóa mật mã khối Viện Tiêu chuẩn Công nghệ Quốc gia (NIST) xuất vào năm 2000 Mục đích thuật tốn thay thuật toán DES sau xuất số khía cạnh dễ bị cơng NIST mời chuyên gia làm việc mã hóa bảo mật liệu Nhóm Bài thi cuối kỳ mơn ANM tồn giới để giới thiệu thuật toán mật mã khối cải tiến để mã hóa giải mã liệu với cấu trúc mạnh mẽ phức tạp Sau thực tiêu chí đánh giá thơng số bảo mật khác nhau, họ chọn năm thuật toán mã hóa đề xuất hai nhà mật mã học người Bỉ Joan Daeman Vincent Rijmen Tên ban đầu thuật toán AES thuật toán Rijndel Tuy nhiên, tên không trở thành tên phổ biến cho thuật tốn thay vào cơng nhận thuật tốn Tiêu chuẩn mã hóa nâng cao (AES) khắp giới AI Các tiêu chí đánh giá thuật tốn AES Ba tiêu chí quan trọng NIST sử dụng để đánh giá thuật toán gửi chuyên gia mật mã 2.1 Bảo mật Một khía cạnh quan trọng mà NIST xem xét để lựa chọn thuật toán bảo mật Lý đằng sau điều rõ ràng mục đích AES cải thiện vấn đề bảo mật thuật toán DES AES có khả tốt để bảo vệ liệu nhạy cảm khỏi kẻ công khơng cho phép chúng phá liệu mã hóa so với thuật toán đề xuất khác Điều đạt cách thực nhiều thử nghiệm AES dựa lý thuyết công thực tế 2.2 Chi phí Một tiêu chí khác NIST nhấn mạnh để đánh giá thuật tốn chi phí Một lần nữa, yếu tố đằng sau biện pháp rõ ràng mục đích khác thuật tốn AES cải thiện hiệu suất thấp DES AES thuật tốn NIST đề cử có hiệu tính tốn cao sử dụng nhiều ứng dụng, đặc biệt liên kết băng thông rộng với tốc độ cao 2.3 Đặc điểm thực thuật toán Tiêu chí quan trọng để ước tính thuật toán nhận từ chuyên gia mật mã Một số khía cạnh quan trọng đo lường giai đoạn tính linh hoạt, tính đơn giản tính phù hợp thuật tốn đa dạng việc triển khai phần cứng phần mềm Cấu trúc thuật tốn mã hóa tiên tiến AES AES thuật tốn mã hóa thay mật mã DES Nó dựa hai kỹ thuật phổ biến để mã hóa giải mã liệu mạng thay hoán vị (Substitution and Permutation Network SPN) SPN số phép toán thực thuật toán mật mã khối AES có khả xử lý 128 bit (16 byte) kích thước khối rõ cố định 16 byte biểu diễn ma trận 4x4 AES hoạt động ma trận byte Ngồi ra, tính quan trọng khác AES số vòng Số vịng phụ thuộc vào độ dài khóa Có ba kích thước khóa khác sử dụng thuật tốn AES để mã hóa giải mã liệu (128, 192 256 bit) Các kích thước khóa BI Nhóm Bài thi cuối kỳ mơn ANM định đến số vòng AES sử dụng 10 vịng cho khóa 128 bit, 12 vịng cho khóa 192 bit 14 vịng cho khóa 256 bit Hình Cấu trúc AES IV Quá trình mã hóa Mã hóa kỹ thuật phổ biến đóng vai trị để bảo vệ liệu khỏi kẻ xâm nhập Thuật toán AES sử dụng cấu trúc cụ thể để mã hóa liệu nhằm mang lại bảo mật tốt Để làm điều đó, dựa vào số vịng bên vịng bao gồm bốn quy trình phụ Mỗi vịng bao gồm bốn bước sau để mã hóa khối 128 bit Nhóm Bài thi cuối kỳ mơn ANM Hình Kiến trúc mã hóa chung AES 4.1 Phép biến đổi SubBytes Bước vòng bắt đầu với phép biến đổi SubBytes Bước phụ thuộc vào bảng S-box phi tuyến để thay byte ma trận trạng thái thành byte khác 10 Nhóm Bài thi cuối kỳ mơn ANM 4.5 Mở rộng khóa (ExpandKey) ExpandKey thao tác tạo lược đồ khóa hay mở rộng khóa, tạo Nr+1 khóa vịng từ khóa K, khóa vịng gồm Nb từ 32 bit, AES Nb = 4, Nr xác định theo Các phép biến đổi để tạo khóa vịng ExpandKey khác giá trị khác kích thước khóa K Sau việc mở rộng khóa khóa mã 128 bit Hình Mở rộng khóa Trong thao tác mở rộng khóa với khóa mã 128 bit có đầu vào 16 byte (4 word) khóa mã, sinh mảng khóa vịng (Nr+1)x4=44 từ (word) hay 176 byte 44 word sử dụng cho 11 vịng mã hóa AES, vịng dùng word Từ bốn word đầu vào w0w1w2w3, lần lặp thao tác ExpandKey sinh bốn word w4w5w6w7, lần lặp thứ từ w4w5w6w7 sinh w8w9w10w11 , lần lặp thứ 10 (tùy thuộc chiều dài khóa) sinh bốn word cuối w40w41w42w43 hình vẽ Mục đích ExpandKey: dùng để chống lại known-plaintext attack  Biết số bit khóa hay khóa khơng thể tính bit cịn lại  Khơng thể tính ngược: biết khóa khơng thể tính lại khóa trước  Tính khuếch tán: bit khóa tác động lên tất bit khóa 14 Nhóm Bài thi cuối kỳ mơn ANM V Q trình giải mã 5.1 Tổng quan giải mã AES-128 Mã hóa chuyển "bản rõ" (plaintext) thành "bản mã" (ciphertext) thơng qua khóa mã (key) giúp che dấu thông tin gốc ban đầu Giải mã trình nghịch đảo (Inverse cipher) q trình mã hóa Nó giúp khơi phục lại rõ từ mã Trong trình giải mã, ma trận ciphertext bị biến đổi chức AddRoundKey, InvSubBytes, InvShiftRows InvMixColumns để tạo liệu trung gian gọi ma trận trạng thái Ma trận khóa mã bị biến đổi chức KeyExpansion q trình mã hóa Tuy nhiên, thứ tự sử dụng khóa vịng q trình giải mã ngược với q trình mã hóa, nghĩa khóa vịng số 10 sử dụng Tiếp theo khóa vịng số 9, số 8, , cuối khóa mã gốc Q trình giải mã thực qua chức AddRoundKey, InvSubBytes, InvShiftRows, InvMixColumns InvKeyExpansion Chú ý, InvKeyExpansion chức mô tả chuẩn mà tên gọi tác giả thêm vào để trình biến đổi ngược giá trị khóa vịng từ khóa vịng số 10 đến khóa mã gốc  Bước Bước khởi tạo: Dữ liệu cần mã hóa cipher_text[127:0] kết hợp với khóa vịng thứ 10, round_key_10[127:0], chức AddRoundKey  Bước Bước lặp giải mã: kết bước sử dụng để thực chức InvShiftRows, InvSubBytes, AddRoundKey InvMixColumns Bước lặp lại lần Chú ý, InvKeyExpansion thực song song với bước AddRoundKey để tạo khóa vịng cho chức  Bước Bước tạo ngõ ra: Sau lần lặp bước 2, kết sử dụng để thực chức InvShiftRows, InvSubBytes AddRoundKey với khóa mã ban đầu để khơi phục lại plain_text[127:0] 15 Nhóm Bài thi cuối kỳ mơn ANM Hình Quá trình giải mã (Inverse Cipher) Quá trình giải mã AES-128 giải thích ví dụ cụ thể Giả sử chuỗi liệu cần mã hóa cipher_text[127:0] khóa vịng cuối lấy từ q trình mã hóa round_key_10[127:0] có giá trị sau:  cipher_text[127:0] = 69 c4 e0 d8 6a 7b 04 30 d8 cd b7 80 70 b4 c5 5a  round_key_10[127:0] = 13 11 1d 7f e3 94 4a 17 f3 07 a7 8b 4d 2b 30 c5 Dữ liệu khóa mã xếp dạng ma trận với phần tử byte Hình 10 Ma trận khóa vịng thứ 10 ma trận liệu mã hóa Giá trị dùng làm ví dụ lấy từ phần "INVERSE CIPHER (DECRYPT)" phụ lục "C.1 AES-128 (Nk=4, Nr=10)" tài liệu mơ tả chuẩn mã hóa 16 Nhóm Bài thi cuối kỳ môn ANM 5.2 Chức AddRoundKey đảo Chức AddRoundKey đảo trình giải mã chức AddRoundKey q trình mã hóa nên gọi chung AddRoundKey Hình 11 Chức AddRoundKey 5.3 Chức InvShiftRows InvShiftRows đảo chức ShiftRows InvShiftRows thực quay phải hàng ma trận trạng thái, sinh từ bước trước đó, theo byte với hệ số quay tăng dần từ đến Hàng có hệ số quay byte giữ ngun vị trí Hàng thứ hai có hệ số quay quay byte Hàng thứ ba quay hai byte hàng thứ tư quay ba byte Hình 12 Chức InvShiftRows 17 Nhóm Bài thi cuối kỳ mơn ANM 5.4 Chức InvSubBytes Chức InvSubBytes thực thay byte ma trận trạng thái, giá trị quy định chuẩn AES Bảng quy định giá trị thay cho InvSubBytes gọi S-box đảo (Inverse S-box) Hình 13 Bảng S-box đảo chuẩn AES Hình 14 Chức InvSubBytes 18 Nhóm Bài thi cuối kỳ môn ANM 5.5 Chức InvMixColumns InvMixColumns trình giả mã đảo MixColumns q trình mã hóa Từng cột ma trận trạng thái nhân với ma trận chuyển đổi sau Hình 15 Ma trận chuyển đổi dùng InvMixColumns Việc biến đổi cột ma trận trạng thái thực hai phép toán nhân (.) XOR (+) Ngun tắc tính tốn InvMixColumns biến đổi phép nhân với số thành phép nhân với H02 H01 Phép nhân với H01 giữ nguyên giá trị Phép nhân với H02 tương đương với việc dịch trái bit XOR có điều kiện sau: Nếu bit MSB giá trị dịch giá trị sau dịch XOR với H1b  Nếu bit MSB giá trị dịch giữ giá trị sau dịch Như vậy, việc biến đổi phép nhân với H01 H02 giúp dễ dàng thiết kế mạch logic thực chức InvMixColumns với tài nguyên tối ưu hóa Thiết kế RTL code phân tích sau Tuy nhiên, bạn cần hiểu cách tính InvMixColumns trình bày sau đây:  Phép nhân byte A với H0e = B00001110 tương đương sau: A.H0e = A.H08 + A.H04 + A.H02 Trong đó, phép nhân với H04 H08 hồn tồn chuyển phép nhân với H02 A.H04 = A.H02.H02 A.H08 = A.H02.H02.H02 Như vậy: 19 Nhóm Bài thi cuối kỳ mơn ANM A.H0e = A.H02.H02.H02 + A.H02.H02 + A.H02 Phép nhân byte A với H0b=B00001011 tương đương sau: A.H0e = A.H08 + A.H02 + A.H01 = A.H02.H02.H02 + A.H02 + A.H01 Phép nhân byte A với H0d=B00001101 tương đương sau: A.H0e = A.H08 + A.H04 + A.H01 = A.H02.H02.H02 + A.H02.H02 + A.H01 Phép nhân byte A với H09=B00001001 tương đương sau: A.H0e = A.H08 + A.H01 = A.H02.H02.H02 + A.H01 Biểu thức sau biến đổi phần tử H54, H ký hiệu số Hex, cột bảng minh họa "chức InvMixColumns" H54 = He9.H0e + Hf7.H0b + H4e.H0d + Hec.H09 STT Phép tính He9.H0e = He9.H08 + He9.H04 +He9.H02 = Hc9+H H89+H09 = H49 Hf7.H0b 20 Nhóm Bài thi cuối kỳ mơn ANM = Hf7.H08 + Hf7.H02 + Hf7.H01 = Hf9 + Hf5 + Hf7 = Hfb H4e.H0d = H4e.H08 + H4e.H04 + H4e.H01 = H46 + H23 + H4e = H2b Hec.H09 = Hec.H08 + Hec.H01 = H21 + Hec = Hcd Nhóm Bài thi cuối kỳ mơn ANM He9.H0e +Hf7.H0b +Hec.H09 =H49 + Hfb + H2b + Hcd =H54 + H4e.H0d Kết Hec.H02.H02.H02=H21(B00100001) Kết phép nhân Hec.H09 XOR giá trị: Hec (B11110111) H21 (B00100001) Hcd (B11001101) Kết tính InvMixColumn byte XOR giá trị: H49 (BB01001001) Hfb (B111111011) H2b (B00101011) Hcd (B11001101) H54(B01010100) Bảng chi tiết cách tính InvMixColumns tạo phần tử H54 từ cột ma trận trạng thái Việc tính InvMixColumn cho tồn ma trận trạng thái sau: Hình 16 Chức InvMixColumns Với việc quy đổi phép nhân dạng nhân với H02 H01 Mạch logic nhân byte với H0e, H0b, H0d H09 thực hình sau 22 Nhóm Bài thi cuối kỳ mơn ANM Hình 17 Mạch nguyên lý nhân byte A với phần tử ma trận chuyển đổi InvMixColumns 5.6 Chức InvKeyExpansion Như trình bày, chuẩn AES khơng nói InvKeyExpansion mã hóa giải mã dùng chung khóa mã KeyExpansion giúp tính tất khóa vịng từ khóa mã Ví dụ, AES-128, có khóa mã 10 khóa vịng Khi mã hóa, khóa sử dụng theo thứ tự sau: Khóa mã (key) -> khóa vịng -> khóa vịng -> -> khóa vịng 10 Khi giải mã theo phương pháp nghịch đảo (Inverse cipher), khóa sử dụng theo thứ tự sau: Khóa vịng 10 -> khóa vịng -> -> khóa vịng -> khóa mã Như vậy, trước giải mã, tất khóa vịng phải tính trước lưu lại nhớ, ví dụ RAM hay mảng ghi Tác giả thực cách làm khác dùng khóa vịng cuối cùng, khóa vịng 10, sau áp dụng InvKeyExpansion để tính ngược lại khóa vịng trước khóa mã Cách giúp khơng tốn tài nguyên nhớ lưu lại tất khóa tốn logic thực mạch tính InvKeyExpansion Nguyên tắc tính InvKeyExpansion khóa thứ n-1 từ khóa thứ n sau (n >= 1, n = khóa mã gốc) sau:   Mỗi khóa gồm word với word MSB word LSB word[0] khóa thứ n-1 = word[0] khóa thứ n XOR word[1] khóa thứ n  word[1] khóa thứ n-1 = word[1] khóa thứ n XOR word[2] khóa thứ n 23 Nhóm Bài thi cuối kỳ mơn ANM  word[2] khóa thứ n-1 = word[2] khóa thứ n XOR word[3] khóa thứ n word[3] khóa thứ n-1 = word[3] khóa thứ n XOR với giá trị sau biến đổi word[0] khóa thứ n-1 (đã tính đây) qua bước: RotWord • SubWord • InvAddRcon • Trong đó, RotWord SubWord áp dụng tương tự q trình mã hóa InvAddRcon bước XOR kết SubWord với Rcon thứ tự giá trị Rcon sử dụng ngược với q trình mã hóa  Rcon Giá trị HEX Vị trí sử dụngRcon[1] 36000000 sử dụng cho lần tính khóa thứ Rcon[2] 1b000000 sử dụng cho lần tính khóa thứ Rcon[3] 82000000 sử dụng cho lần tính khóa thứ Rcon[4] 40000000 sử dụng cho lần tính khóa thứ Rcon[5] 20000000 sử dụng cho lần tính khóa thứ Rcon[6] 10000000 sử dụng cho lần tính khóa thứ Rcon[7] 08000000 sử dụng cho lần tính khóa thứ Rcon[8] 04000000 sử dụng cho lần tính khóa thứ Rcon[9] 02000000 sử dụng cho lần tính khóa thứ Rcon[10] 01000000 sử dụng cho lần tính khóa mã gốc Như vậy, AES-128, lần tính đầu tiên, tính giá trị khóa vịng số từ khóa vịng số 10 giá trị Rcon[1] = H36000000 sử dụng Khác với trình giải mã, Rcon[1] = H01000000 dùng cho lần tính VI Demo thuật tốn AES Python 6.1 Giới thiệu Trên sở lý thuyết trê, việc mã hóa giải mã tin cho ta biết tính quan trọng bảo mật thơng tin môi trường Internet Việc ứng dụng thuật tốn mã hóa giải mã giúp ích cho công việc quan trọng sống tránh bị đánh cắp liệu Hiện có nhiều ngơn ngữ lập trình hỗ trợ cho việc mã hóa giải mã, ví dụ Python, Java, C++, Bên cạnh đó, việc ứng dụng ngơn ngữ lập trình Python giúp ích nhiều cho cơng việc mã hóa giải mã, tiện lợi ngôn ngữ : ngắn gọn, dễ hiểu, dễ quản lý Sau phương pháp mã hóa giải mã Python 24 Nhóm Bài thi cuối kỳ môn ANM 6.2 Thiết lập ứng dụng 6.2.1 Các thư viện hỗ trợ cho ứng dụng  From base64: Mã hóa Base64 cho phép chuyển đổi cac byte chứa liệu nhị phân văn sáng ký tự ASCII  Import hashlib: Bảo mật băm thông báo tin nhắn  From Cryptodome.Cipher: gói chứa thuật tốn để bảo vệ tính bảo mật liệu  Import OS : cung cấp chức sử dụng để tương tác với hệ điều hành có thơng tin liên quan OS theo Module tiện ích tiêu chuẩn Python Module cung cấp cách linh động sử dụng chức phụ thuộc vào hệ điều hành Module os python cho phép làm việc với tập tin thư mục  From Cryptodome.Random import get_random_bytes : có khả tạo byte mạnh mặt mật mã 6.2.2 Thuật tốn mã hóa Tạo hàm mã hóa đơn giản (văn gốc, mật khẩu) Chức sử dụng mật để mã hóa văn túy Do đó, có quyền truy cập vào văn mã hóa mật giải mã 25 Nhóm Bài thi cuối kỳ mơn ANM Nonce : Một nonce ngẫu nhiên (giá trị tùy ý) phải giá trị ngẫu nhiên cho lần chức mã hóa sử dụng với khóa Ta coi muối ngẫu nhiên cho mật mã Thư viện cung cấp cho ta nonce an toàn Scrypt : Scrypt sử dụng để tạo khóa cá nhân an tồn từ mật Điều khiến kẻ cơng khó cưỡng mã hóa chúng tơi Muối : Một muối ngẫu nhiên sử dụng cho lần chạy mã hóa bạn Điều khiến kẻ công sử dụng hàm băm tính tốn trước để cố gắng bẻ khóa mật mã Các tham số mã hóa :  N hệ số chi phí Nó phải lũy thừa hai cao khóa an tồn, cần nhiều tài nguyên để chạy   R kích thước khối P hệ số song song, hữu ích để chạy nhiều lõi Base64 : Mã hóa tất liệu kiểu byte bạn thành base64, biểu diễn chuỗi thuận tiện Thẻ (MAC) : Thẻ sử dụng để xác thực liệu sử dụng AES chế độ GCM Điều đảm bảo khơng thay đổi liệu bạn mà bạn bạn giải mã 6.2.3 Thuật tốn giải mã Kết sau mã giải mã 26 Nhóm Bài thi cuối kỳ môn ANM 6.2.4 Các trường hợp ứng dụng Công cụ lưu trữ nén Nếu số bạn tải xuống tệp từ Internet sau mở tệp thấy tệp nén, (có nghĩa kích thước tệp gốc giảm xuống để giảm thiểu ảnh hưởng đến ổ cứng bạn) có khả bạn cài đặt phần mềm dựa mã hóa AES Các cơng cụ nén phổ biến WinZip, Zip RAR cho phép bạn nén sau giải nén tệp để tối ưu hóa khơng gian lưu trữ gần tất chúng sử dụng AES để đảm bảo an toàn cho tệp Mã hóa đĩa / phân vùng Nếu bạn quen với khái niệm mật mã thực biện pháp bổ sung để đảm bảo tính bảo mật cho liệu cá nhân mình, phần mềm mã hóa đĩa / phân vùng mà bạn sử dụng sử dụng thuật tốn AES BitLocker, FileVault CipherShed phần mềm mã hóa chạy AES để bảo mật thông tin VII Kết luậ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 tồn cho bạn thơng tin cá nhân bạn Việc nghiên cứu thuật tốn mã hóa giải mã viết giúp bạn hiểu biết thuật toán bảo mật quan trọng sử dụng AES.Tuy nhiên bạn không nên hiểu cách hoạt động thơi mà cịn cần làm cho hoạt động cho bạn để giúp bạn tối đa hóa bảo mật kỹ thuật số giảm thiểu khả bị cơng trực tuyến 27 Nhóm Bài thi cuối kỳ môn ANM Tài liệu tham khảo 1) Ako Muhamad Abdullah (2017) Advanced Encryption Standard (AES) Algorithm to Encrypt and Decrypt Data 2) Bài giảng môn “An ninh mạng thông tin” – Học viện Công nghệ Bưu Viễn thơng 3) Federal Information, Processing Standards Publication 197; ADVANCED ENCRYPTION STANDARD (AES); November 26, 2001 4) Padate, R., & Patel, A (2014) Encryption and decryption of text using AES algorithm International Journal of Emerging Technology and Advanced Engineering 5) Singh, G (2013) A study of encryption algorithms (RSA, DES, 3DES and AES) for information security International Journal of Computer Applications 28 Nhóm ... thuật tốn mã hóa tiên tiến AES Qua tiểu luận hiểu vấn đề AES cấu trúc thuật tốn, q trình mã hóa giải mã Phạm vi tiểu luận xoay quanh vấn đề thuật tốn mã hóa tiên tiến AES Về cấu trúc tiểu luận, chúng... trình bày, chuẩn AES khơng nói InvKeyExpansion mã hóa giải mã dùng chung khóa mã KeyExpansion giúp tính tất khóa vịng từ khóa mã Ví dụ, AES- 128, có khóa mã 10 khóa vịng Khi mã hóa, khóa sử dụng theo... khóa Ngày nay, có số thuật tốn có sẵn để mã hóa giải mã liệu nhạy cảm, thường chia thành ba loại Một mật mã đối xứng: khóa sử dụng để mã hóa giải mã liệu Thứ hai mật mã không đối xứng Loại mật

Ngày đăng: 10/01/2022, 09:54

Hình ảnh liên quan

Hình 1. Cấu trúc cơ bản của AES IV.Quá trình mã hóa - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 1..

Cấu trúc cơ bản của AES IV.Quá trình mã hóa Xem tại trang 9 của tài liệu.
Hình 2. Kiến trúc mã hóa chung của AES - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 2..

Kiến trúc mã hóa chung của AES Xem tại trang 10 của tài liệu.
Hình 3. Bảng S-box - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 3..

Bảng S-box Xem tại trang 11 của tài liệu.
Hình 4. Ví dụ phép biến đổi SubBytes - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 4..

Ví dụ phép biến đổi SubBytes Xem tại trang 11 của tài liệu.
Hình 5. Ví dụ phép biến đổi ShiftRow 4.3Phép biến đổi MixColumns - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 5..

Ví dụ phép biến đổi ShiftRow 4.3Phép biến đổi MixColumns Xem tại trang 12 của tài liệu.
Hình 6. Ví dụ phép biến đổi MixColumns - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 6..

Ví dụ phép biến đổi MixColumns Xem tại trang 13 của tài liệu.
Hình 7. Ví dụ về AddRoundKey - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 7..

Ví dụ về AddRoundKey Xem tại trang 13 của tài liệu.
Hình 8. Mở rộng khóa - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 8..

Mở rộng khóa Xem tại trang 14 của tài liệu.
Hình 10. Ma trận khóa vòng thứ 10 và ma trận dữ liệu đã mã hóa - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 10..

Ma trận khóa vòng thứ 10 và ma trận dữ liệu đã mã hóa Xem tại trang 16 của tài liệu.
Hình 9. Quá trình giải mã (Inverse Cipher) - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 9..

Quá trình giải mã (Inverse Cipher) Xem tại trang 16 của tài liệu.
Hình 12. Chức năng InvShiftRows - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 12..

Chức năng InvShiftRows Xem tại trang 17 của tài liệu.
Hình 11. Chức năng AddRoundKey 5.3Chức năng InvShiftRows - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 11..

Chức năng AddRoundKey 5.3Chức năng InvShiftRows Xem tại trang 17 của tài liệu.
Hình 13. Bảng S-box đảo của chuẩn AES - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 13..

Bảng S-box đảo của chuẩn AES Xem tại trang 18 của tài liệu.
Hình 14. Chức năng InvSubBytes - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 14..

Chức năng InvSubBytes Xem tại trang 18 của tài liệu.
Hình 15. Ma trận chuyển đổi dùng trong InvMixColumns - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 15..

Ma trận chuyển đổi dùng trong InvMixColumns Xem tại trang 19 của tài liệu.
Hình 16. Chức năng InvMixColumns - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 16..

Chức năng InvMixColumns Xem tại trang 22 của tài liệu.
Bảng chi tiết cách tính InvMixColumns tạo ra phần tử H54 từ cột 1 của ma trận trạng thái - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Bảng chi.

tiết cách tính InvMixColumns tạo ra phần tử H54 từ cột 1 của ma trận trạng thái Xem tại trang 22 của tài liệu.
Hình 17. Mạch nguyên lý nhân một byte A với các phần tử trong ma trận chuyển đổi InvMixColumns - TIỂU LUẬN tìm HIỂU và mô PHỎNG hệ THỐNG mật mã hóa TIÊN TIẾN AES

Hình 17..

Mạch nguyên lý nhân một byte A với các phần tử trong ma trận chuyển đổi InvMixColumns Xem tại trang 23 của tài liệu.

Tài liệu cùng người dùng

Tài liệu liên quan