ÁP DỤNG TÍNH TOÁN SONG SONG CHO THUẬT TOÁN MÃ HOÁ AES VỚI OPENMP

29 3 0
ÁP DỤNG TÍNH TOÁN SONG SONG CHO THUẬT TOÁN MÃ HOÁ AES VỚI OPENMP

Đ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

Trong thời đại ngày nay, An ninh mạng trở thành trụ cột đảm bảo tính an toàn và bảo mật của thông tin. Trong lĩnh vực này, thuật toán mã hóa Advanced Encryption Standard (AES) đóng vai trò cực kì quan trọng. Với sự gia tăng không ngừng về kích thước dữ liệu và độ phức tạp của các thuật toán mã hóa, việc tận dụng tối đa tài nguyên máy tính thông qua tính toán song song không chỉ giúp tăng tốc quá trình mã hóa mà còn giúp tối ưu hóa khả năng xử lý của hệ thống. Điều này là quan trọng để đảm bảo tính hiệu quả và an toàn của quá trình mã hóa, đồng thời đáp ứng được yêu cầu ngày càng cao của các ứng dụng và hệ thống thông tin hiện đại. Đề tài Áp dụng tính toán song song cho thuật toán mã hóa AES với OpenMP không chỉ là một nghiên cứu về mã hoá mà còn đề cập đến sự cần thiết của tính toán song song để đối mặt với mối đe dọa ngày càng phức tạp. Qua đó, đề tài này hứa hẹn đóng góp vào việc nâng cao hiệu suất và độ bảo mật của AES trong bối cảnh an ninh mạng ngày nay. Sự chọn lựa đề tài này không chỉ xuất phát từ sự quan tâm của em đối với lĩnh vực bảo mật thông tin mà còn từ nhận thức về tầm quan trọng ngày càng tăng của việc áp dụng tính toán song song trong xử lý dữ liệu lớn.

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP HÀ NỘI KHOA CÔNG NGHỆ THƠNG TIN BÁO CÁO THỰC NGHIỆM Mơn: Tính tốn hiệu cao ĐỀ TÀI ÁP DỤNG TÍNH TỐN SONG SONG CHO THUẬT TOÁN MÃ HOÁ AES VỚI OPENMP Giáo viên hướng dẫn: Nhóm: Lớp: Thành viên nhóm: TS Hà Mạnh Đào 22 IT6069.1 Nguyễn Viết Vượng Trần Văn Sơn Cù Đức Xn Hà Nội, 2023 DANH MỤC HÌNH VẼ Hình 1.1 Q trình mã hố giải mã AES Hình 1.2 Tạo khố cho vịng Hình 1.3 Hộp S-box Hình 1.4 Ví dụ phép sub byte Hình 1.5 Minh hoạ phép shift row Hình 1.6 Hộp Inverse S-box 10 Hình 1.7 Quá trình mã hố ECB 11 Hình 1.8 Q trình giải mã ECB 12 Hình 1.9 Q trình mã hố CBC 12 Hình 1.10 Quá trình giải mã CBC 13 Hình 1.11 Quá trình mã hố CFB 14 Hình 1.12 Q trình giải mã CFB 14 Hình 1.13 Mơ hình nhớ tập trung 15 Hình 1.14 Mơ hình nhớ phân tán 16 Hình 2.1 Biểu đồ thể so sánh thời gian chạy với dung lượng mã hóa 21 Hình 2.2 Biểu đồ thể so sánh tốc độ chạy với dung lượng mã hóa 22 DANH MỤC BẢNG BIỂU Bảng 2.1 Bảng đánh giá thuật toán AES 20 Bảng 2.2 Bảng đánh giá thuật toán AES song song 20 MỤC LỤC MỞ ĐẦU 1 LÝ DO CHỌN ĐỀ TÀI MỤC TIÊU CỦA ĐỀ TÀI CẤU TRÚC CỦA ĐỀ TÀI CHƯƠNG 1 1 - CƠ SỞ LÝ THUYẾT 1.1 NHẮC LẠI THUẬT TOÁN MÃ HOÁ AES 1.1.1 Giới thiệu chung thuật toán 1.1.2 Đặc điểm thuật toán 1.1.3 Khái quát bước mã hoá giải mã 1.1.4 Chi tiết bước q trình mã hố .6 1.1.5 Chi tiết bước trình giải mã 10 1.2 MỘT SỐ KIỂU MÃ HOÁ KHỐI ÁP DỤNG CHO AES 12 1.2.1 Electronic codebook (ECB) 12 1.2.2 Cipher block chaining (CBC) .13 1.2.3 Full block Cipher feedback (CFB toàn khối) 14 1.3 TÍNH KHẢ THI TRONG VIỆC SONG SONG HỐ THUẬT TỐN 15 1.3.1 Tính tốn song song 15 1.3.2 Nhận xét khả song song hoá AES .17 1.4 GIỚI THIỆU VỀ OPENMP 17 1.4.1 Tổng quan .17 1.4.2 Đặc điểm quan trọng 18 1.4.3 Ứng dụng 18 CHƯƠNG - ĐÁNH GIÁ HIỆU NĂNG SẢN PHẨM .19 2.1 MỤC ĐÍCH 2.2 KẾT QUẢ ĐÁNH GIÁ THUẬT TỐN AES SONG SONG 19 20 KẾT LUẬN 23 TÀI LIỆU THAM KHẢO 24 MỞ ĐẦU LÝ DO CHỌN ĐỀ TÀI Trong thời đại ngày nay, An ninh mạng trở thành trụ cột đảm bảo tính an tồn bảo mật thơng tin Trong lĩnh vực này, thuật tốn mã hóa Advanced Encryption Standard (AES) đóng vai trị quan trọng Với gia tăng khơng ngừng kích thước liệu độ phức tạp thuật tốn mã hóa, việc tận dụng tối đa tài ngun máy tính thơng qua tính tốn song song khơng giúp tăng tốc q trình mã hóa mà cịn giúp tối ưu hóa khả xử lý hệ thống Điều quan trọng để đảm bảo tính hiệu an tồn q trình mã hóa, đồng thời đáp ứng u cầu ngày cao ứng dụng hệ thống thơng tin đại Đề tài "Áp dụng tính tốn song song cho thuật tốn mã hóa AES với OpenMP" khơng nghiên cứu mã hố mà cịn đề cập đến cần thiết tính toán song song để đối mặt với mối đe dọa ngày phức tạp Qua đó, đề tài hứa hẹn đóng góp vào việc nâng cao hiệu suất độ bảo mật AES bối cảnh an ninh mạng ngày Sự chọn lựa đề tài không xuất phát từ quan tâm em lĩnh vực bảo mật thơng tin mà cịn từ nhận thức tầm quan trọng ngày tăng việc áp dụng tính tốn song song xử lý liệu lớn MỤC TIÊU CỦA ĐỀ TÀI Mục tiêu nghiên cứu tìm hiểu ứng dụng tính tốn song song, đặc biệt sử dụng thư viện OpenMP, để cải thiện hiệu suất thuật tốn mã hóa AES Đồng thời đưa nhìn tổng quan việc áp dụng tính tốn song song với thuật tốn thơng qua việc đánh giá hiệu suất bao gồm thời gian chạy, tốc độ chạy tài nguyên tiêu tốn cho lần thực Từ đó, nhận thức hiệu tính tốn song song áp dụng cho thuật toán CẤU TRÚC CỦA ĐỀ TÀI Ngoài phần mở đầu, kết luận tài liệu tham khảo, đề tài chúng em gồm chương sau: ● Chương 1: Cơ sở lý thuyết trình bày thuật tốn mã hố AES, tính tốn song song phục vụ cho việc làm sản phẩm, ● Chương 2: Đánh giá hiệu sản phẩm đánh giá kết thực chương trình song song rút nhận xét CHƯƠNG - CƠ SỞ LÝ THUYẾT 1.1 NHẮC LẠI THUẬT TOÁN MÃ HỐ AES 1.1.1 Giới thiệu chung thuật tốn AES (Advanced Encryption Standard) thuật tốn mã hóa đối xứng sử dụng rộng rãi lĩnh vực bảo mật thơng tin Nó thay thuật tốn DES (Data Encryption Standard) cũ trở thành tiêu chuẩn mã hóa chấp nhận tồn cầu AES hoạt động khối liệu có kích thước cố định sử dụng khóa bí mật để thực q trình mã hóa giải mã Kích thước khối liệu thơng thường 128 bit kích thước khóa 128 bit, 192 bit 256 bit Thuật toán AES bao gồm pha biến đổi thay thế, hoán vị, trộn thay ngược 1.1.2 Đặc điểm thuật toán ● Là mã hoá khối: AES mã hóa liệu theo khối có kích thước cố định 128 bit ● Kích Thước Khóa: Kích thước khóa 128/192/256 bit ● Mã Hóa Dữ Liệu: AES mã hóa liệu thành khối 128 bit, chuyển đổi 128 bit đầu vào thành 128 bit văn mật mã ● Nguyên Lý Substitution-Permutation Network: AES dựa nguyên lý này, thực thông qua loạt phép toán liên kết, bao gồm thay hoán đổi liệu đầu vào ● AES kiểu mã hoá đối xứng: khoá trình mã hố giải mã giống 1.1.3 Khái quát bước mã hoá giải mã AES thực thao tác byte liệu thay theo bit. Vì kích thước khối 128 bit nên mật mã xử lý 128 bit (hoặc 16 byte) liệu đầu vào phải lúc Số vòng phụ thuộc vào kích thước khóa sau: ● Khóa 128 bit – 10 vịng ● Khóa 192 bit – 12 vịng ● Khóa 256 bit – 14 vịng Ở vịng khố tạo khối Key expansion Mã hóa: AES coi khối ma trận 4x4 = 16 byte (4 byte x byte = 128) phần tử byte sau [ b0 | b4 | b8 | b12 | | b1 | b5 | b9 | b13 | | b2 | b6 | b10| b14 | | b3 | b7 | b11| b15 ] Tùy vào kích khóa có số vịng tương ứng bao gồm bước (VD: Khóa 128 bit – 10 vịng) : Bước 1: SubByte Bước 2: ShiftRow Bước 3: MixColumns Bước 4: Add Round Key Hình 1.1 Quá trình mã hố giải mã AES Lưu ý: Vịng cuối khơng có vịng MixColumns Giải mã: Các giai đoạn vịng dễ dàng hồn tác giai đoạn có mặt đối lập mà thực hoàn nguyên thay đổi Mỗi 128 khối trải qua 10,12 14 vòng tùy thuộc vào kích thước khóa q trình giải mã q trình mã hóa thực ngược lại Mỗi vịng giải mã gồm có bước: ● AddRoundKey ● Inverse MixColumns ● Inverse ShiftRows ● Inverse SubByte Quá trình giải mã q trình mã hóa thực ngược lại 1.1.4 Chi tiết bước trình mã hố 1.1.4.1 Key expansion Là 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 Sử dụng thuật tốn Key Schedule để tính tốn tất khóa vịng từ khóa ban đầu Các khóa vịng sử dụng vịng q trình mã hóa Hình 1.2 Tạo khố cho vịng 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 (như hình vẽ) Với di bit thứ i số {05} tức d7 d6 d0 = 00000101 Bảng sau trình bày nội dung bảng thay ngược IS sau tính tốn Hình 1.6 Hộp Inverse S-box 11 Như vậy: phép biến đổi InvSubBytes thực sau: Mỗi byte ma trận state S, dạng thập lục phân {xy}, thay giá trị bảng IS dòng x cột y 1.1.5.3 Inverse ShiftRows Phép biến đổi InvShiftRows thực ngược lại với phép ShiftRows, nghĩa là: Dòng thứ giữ nguyên Dòng thứ dịch vòng phải byte Dòng thứ dịch vòng phải byte Dòng thứ dịch vịng phải byte Mục đích ShiftRows: Xáo trộn byte để tạo cột khác trước sử dụng cột cho thao tác MixColumns 1.2 MỘT SỐ KIỂU MÃ HOÁ KHỐI ÁP DỤNG CHO AES 1.2.1 Electronic codebook (ECB) Kiểu mã hoá electronic codebook (ECB) kiểu mã hố đơn giản Trong q trình mã hố, chia tin cần mã hố thành khối 128 bit, mã hoá chúng cách độc lập Bản mã thu từ việc ghép nối khối 128 bit sau q trình mã hố Hình 1.7 Q trình mã hố ECB Q trình giải mã thực ngược lại so với q trình mã hố, từ việc chia nhỏ mã thành khối giải mã độc lập Kết rõ có thơng 12 qua việc ghép nối khối kết giải mã Nhược điểm phương pháp thiếu tính che giấu liệu dễ bị thám mã, khối giống văn mã hoá cách giống Phương pháp không hiệu rõ kích thước lớn Hình 1.8 Q trình giải mã ECB 1.2.2 Cipher block chaining (CBC) Hình 1.9 Q trình mã hố CBC Kiểu mã hố CBC giúp che giấu liệu tốt kiểu ECB Trong trình mã hố CBC, văn chia làm khối Trước khối thực thuật tốn mã hố, thực phép xor (phép toán thao tác bit nhận kết bit giống nhau, ngược lại cho kết 1) với mã khối trước đó, trừ khối rõ xor với khối IV (khối 13 vector ban đầu, khởi tạo cách ngẫu nhiên) Cuối thu mã cho khối, ghép chúng lại để tạo văn mật Quá trình giải mã CBC thực ngược lại Sau khối qua thuật toán giải mã, thực phép xor với mã khối trước đó, trừ khối rõ xor với khối IV, để thu rõ khối tương ứng Hình 1.10 Quá trình giải mã CBC Về mặt tốn học, q trình mã hố kiểu CBC mơ tả dạng sau: Ci = f(key, Pi ⊕ Ci – 1) Q trình giải mã mô tả sau: Pi = f -1 (key, Ci ) ⊕ Ci – Với ● Ci mã thứ i, C0 = IV, ● Pi mã thứ i, ● f thuật toán mã hoá AES, ● f -1 thuật toán giải mã AES, ● key khoá sử dụng, 14 ● IV khối vector ban đầu 1.2.3 Full block Cipher feedback (CFB tồn khối) Q trình mã hố CFB tồn khối tương tự với CBC, nhiên khối IV khối đưa vào mã hố AES, sau xor với khối rõ đầu tiên, lại mã hoá, xor với khối rõ tiếp theo, lặp lại tương tự Quá trình giải mã thực ngược lại với trình mã hố Hình 1.11 Q trình mã hố CFB Hình 1.12 Q trình giải mã CFB Về mặt tốn học, CFB tồn khối mơ tả sau: Ci = f (key, Ci – 1) ⊕ Pi i > Ci = IV i = Pi = f (key, Ci - 1) ⊕ Ci Với kí hiệu kiểu mã hố CBC 15 CFB có ưu điểm nhược điểm tương tự CBC 1.3 TÍNH KHẢ THI TRONG VIỆC SONG SONG HỐ THUẬT TỐN 1.3.1 Tính tốn song song 1.3.1.1 Khái niệm Tính tốn song song kiểu tính tốn mà nhiều phép tốn tiến trình thực đồng thời với Hệ thống tính tốn song song kiểu ngầm định (chỉ dùng đơn vị tính tốn), đa nhân (multi-core, multi CPU), cluster (tại trung tâm tính tốn hiệu cao) 1.3.1.2 Mơ hình nhớ tập trung nhớ phân tán Mơ hình tính tốn song song với nhớ tập trung mơ hình mà đơn vị tính tốn sử dụng chung nhớ RAM, ghi… Lập trình viên nên kiểm sốt truy cập từ đơn vị tính tốn đến vùng nhớ để tránh xung đột, gây sai sót q trình tính tốn Hình 1.13 Mơ hình nhớ tập trung Mơ hình tính tốn song song với nhớ phân tán mơ hình nhớ chia thành phần nhỏ, CPU quản lý nhớ tương ứng tạo thành đơn vị tính toán Các đơn vị kết nối với với hệ thống đường truyền 16

Ngày đăng: 12/01/2024, 20:22

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

  • Đang cập nhật ...

Tài liệu liên quan