XÂY DỰNG CHƯƠNG TRÌNH MÃ HÓA CÓ XÁC THỰC SỬ DỤNG THUẬT TOÁN AEGIS

59 6 0
XÂY DỰNG CHƯƠNG TRÌNH MÃ HÓA CÓ XÁC THỰC SỬ DỤNG THUẬT TOÁN AEGIS

Đ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

XÂY DỰNG CHƯƠNG TRÌNH MÃ HÓA CÓ XÁC THỰC SỬ DỤNG THUẬT TOÁN AEGIS Cuộc thi mật mã mới với tên gọi CAESAR được tổ chức nhằm tuyển chọn các thuật toán mã hóa có xác thực, đạt hiệu quả và độ an toàn cao nhất. 2 Cuộc thi CEASAR bắt đầu khởi động từ năm 2012, đến ngày 15012013 cuộc thi được chính thức thông báo tại hội thảo Early Symmetric Crypto (Mondorfles Bains, Luxemburg), cũng như thông báo rộng rãi trên các phương tiện truyền thông. Một điểm thú vị là tên cuộc thi lần này trùng với tên hoàng đế La Mã Julius Ceasar, người đã sáng chế ra mã pháp Ceasar một trong các phương pháp mã hóa đầu tiên của loài người. Kết thúc vòng 3, vào 032018, ban tổ chức đã thông báo có 3 thuật toán tham gia được vào vòng 4 của cuộc thi CEASAR, trong đó có thuật toán mã hóa có xác thực AEGIS. Ngày 2032019, cuộc thi đã kết thúc với 2 thuật toán được chọn là ACORN và AEGIS. Trong quá trình thực hiện nghiên cứu, em đã tìm hiểu, xem xét kết quả của một số nghiên cứu trước đó với mục đích phục vụ quá trình hoàn thiện nghiên cứu của mình. Một số tài liệu chính đã nghiên cứu bao gồm: “Analysis of Onepass Block Cipher based authenticated encryption schemes, 2015” của tác giả BinBin Di. Tài liệu này mô tả tổng quan về hệ mã khối và đánh giá sự an toàn của các lược đồ mã hóa có xác thực dựa trên mã khối. “Authenticated encryption: Relations among notions and analysis of the generic composition paradigm, 2007” của tác giả Bellare và Namprempre. Tài liệu này mô tả cấu trúc chung của mã hóa có xác thực và đánh giá sự an toàn của các phương thức trong mã hóa có xác thực. “AEGIS: A Fast Authenticated Encryption Algorithm (v1.1), 2016” của tác giả Hongjun Wu và Bart Preneel. Tài liệu này mô tả về thuật toán AEGIS gồm các hàm, các quá trình hoạt động và sự an toàn của AEGIS. Ngoài ra em còn tham khảo một số tài liệu khác có liên quan. 3. Mục tiêu nghiên cứu Tìm hiểu về về mã hóa có xác thực, thuật toán mã hóa có xác thực AEGIS và xây dựng chương trình mã hóa có xác thực sử dụng thuật toán AEGIS. 4. Đối tượng và phạm vi nghiên cứu Đối tượng nghiên cứu: thuật toán mã hóa có xác thực AEGIS. 3 Phạm vi nghiên cứu: Đề tài nêu khái quát hệ mã khối, các vấn đề chung về mã hóa có xác thực; thuật toán mã hóa có xác thực AEGIS; xây dựng chương trình mã hóa có xác thực sử dụng thuật toán AEGIS. 5. Phương pháp nghiên cứu Đề tài sử dụng các phương pháp nghiên cứu như phương pháp thống kê, phương pháp tổng hợp, phương pháp so sánh, phương pháp phân tích, kế thừa một số kết quả nghiên cứu đã có, đồng thời thu thập thông tin, tài liệu để phục vụ cho việc nghiên cứu. 6. Những đóng góp của đồ án Về lý thuyết: Đồ án trình bày các vấn đề về thuật toán mã hóa có xác thực như khái niệm, các phương pháp, một số chế độ mã hóa có xác thực và mã hóa có xác thực với dữ liệu liên kết. Trình bày về các quá trình hoạt động, sự an toàn của thuật toán AEGIS. Về tính ứng dụng vào thực tiễn: Đồ án trình bày quá trình cài đặt thực thi thuật toán mã hóa có xác thực AEGIS, kiểm tra tính đúng đắn của quá trình cài đặt thuật toán. Từ đó xây dựng chương trình mã hóa có xác thực sử dụng thuật toán AEGIS. Sau đó đánh giá hiệu suất thực thi của thuật toán AEGIS với các thuật toán mã hóa có xác thực khác. 7. Kết cấu của đồ án tốt nghiệp Nội dung của đồ án tốt nghiệp gồm có 3 chương: Chương 1: Tổng quan về mã hóa có xác thực Chương này trình bày những kiến thức tổng quan về hệ mã khối và mã hóa có xác thực bao gồm: tổng quan về hệ mã khối, khái niệm về mã hóa có xác thực, các phương pháp mã hóa có xác thực, một số chế độ mã hóa có xác thực và mã hóa có xác thực với dữ liệu liên kết. Chương 2: Thuật toán mã hóa có xác thực AEGIS Chương này trình bày về cấu trúc, quá trình hoạt động của các phiên bản của thuật toán AEGIS và phân tích sự an toàn của thuật toán AEGIS. Chương 3: Xây dựng chương trình mã hóa có xác thực sử dụng thuật toán AEGIS Chương này trình bày về quá trình xây dựng module chương trình mã hóa có xác thực sử dụng thuật toán AEGIS. Kiểm tra tính đúng đắn của quá trình cài đặt thuật toán, đánh giá hiệu suất thực thi của thuật toán AEGIS so với hai thuật toán mã hóa có xác thực khác là thuật toán ACORN và thuật toán AESGCM128.

ĐẠI HỌC BÁCH KHOA HÀ NỘI LUẬN VĂN THẠC SĨ XÂY DỰNG CHƯƠNG TRÌNH Mà HĨA CĨ XÁC THỰC SỬ DỤNG THUẬT TOÁN AEGIS Nguyen Thanh Long Hà Nội - 2023 ii MỤC LỤC LỜI CẢM ƠN Lỗi! Thẻ đánh dấu không được xác định LỜI CAM ĐOAN Lỗi! Thẻ đánh dấu không được xác định MỤC LỤC iii CÁC KÝ HIỆU, CHỮ VIẾT TẮT v DANH MỤC BẢNG BIỂU vi DANH MỤC HÌNH VẼ vii LỜI MỞ ĐẦU Chương TỔNG QUAN VỀ Mà HÓA CÓ XÁC THỰC 1.1 Hệ mật mã khối 1.1.1 Định nghĩa hệ mật mã khối 1.1.2 Phân loại mã khối 1.2 Mã hóa có xác thực 1.2.1 Khái niệm mã hóa có xác thực 1.2.2 Các phương pháp mã hóa có xác thực 11 1.2.3 Một số chế độ mã hóa có xác thực 17 1.3 Mã hóa có xác thực với liệu liên kết 20 Chương THUẬT TỐN Mà HĨA CĨ XÁC THỰC AEGIS 2.1 Thuật tốn mã hóa có xác thực AEGIS 22 2.1.1 Giới thiệu thuật toán AEGIS 22 2.1.2 Các ký hiệu 22 2.1.3 AEGIS-128 24 2.1.4 AEGIS-256 27 2.1.5 AEGIS-128L 29 2.2 Sự an tồn thuật tốn AEGIS 31 2.2.1 Mục tiêu an toàn AEGIS 31 2.2.2 Một số đặc tính an tồn thiết kế AEGIS 32 iii Chương XÂY DỰNG CHƯƠNG TRÌNH Mà HĨA CĨ XÁC THỰC SỬ DỤNG THUẬT TỐN AEGIS 3.1 Một số giải thuật chương trình mã hóa có xác thực 36 3.1.1 Lưu đồ thuật tốn q trình khởi tạo 37 3.1.2 Lưu đồ thuật tốn q trình mã hóa 39 3.1.3 Lưu đồ thuật tốn q trình tạo thẻ xác thực 41 3.1.4 Lưu đồ thuật tốn q trình giải mã xác thực 42 3.2 Kết xây dựng chương trình mã hóa có xác thực sử dụng thuật toán AEGIS 43 3.2.1 Kiểm tra tính đắn q trình thực thi thuật tốn AEGIS 43 3.2.2 Kết thực thi chương trình mã hóa có xác thực sử dụng thuật tốn AEGIS 45 3.3 Đánh giá hiệu thực thi chương trình mã hóa có xác thực 46 KẾT LUẬN TÀI LIỆU THAM KHẢO iv CÁC KÝ HIỆU, CHỮ VIẾT TẮT Viết tắt Tiếng anh Tiếng Việt AE Authenticated Encryption Mã hóa có xác thực AEAD Authenticated Encryption with Associated Data Mã hóa có xác thực với liệu liên kết CAESAR Competition for Authenticated Encryption: Security, Cuộc thi mã hóa có xác thực: an tồn, khả Applicability, and Robustness áp dụng tính mạnh mẽ EtM Encrypt then MAC Mã hóa xác thực E&M Encrypt and MAC Mã hóa xác thực ICV Integrity Check Vector Véc-tơ kiểm tra tính tồn vẹn IND-CPA IND-CCA Indistinguishability under a Khả không phân Chonsen Plaintesxt Attack biệt công lựa chọn rõ Indistinguishability under a Chonsen Ciphertext Attack Khả không phân biệt công lựa chọn mã INT-CTXT Intergrity of Ciphertext Tính tồn vẹn mã INT-PTXT Intergrity of Plaintext Tính tồn vẹn rõ MAC Message Authentication Code Mã xác thực thông báo MtE MAC then Encrypt Xác thực mã hóa NIST SE National Institute of Standards and Viện tiêu chuẩn công Technology nghệ quốc gia Symmetric Encryption Schemes Lược đồ mã hóa đối xứng SPN Substitution-Permutation Network v Mạng thay hoán vị DANH MỤC BẢNG BIỂU Bảng 1: Sự an tồn phương pháp mã hóa có xác thực 16 Bảng Các tham số thuật toán AEGIS 31 Bảng 2 Mục tiêu an tồn thuật tốn AEGIS 31 Bảng 1: Kết thực thi mã hóa AEGIS, ACORN, AES-GCM-128 49 Bảng 2: Kết thực thi giải mã AEGIS, ACORN, AES-GCM-128 49 vi DANH MỤC HÌNH VẼ Hình 1.1: Mã khối Hình 1.2: Sơ đồ mạng Feistel Hình 1.3: Mạng SPN Hình 1.4: Mơ hình lược đồ mã hóa đối xứng Hình 1.5: Mã xác thực thông báo 10 Hình 1.6: Véc-tơ kiểm tra tính tồn vẹn 11 Hình 1.7: Lược đồ mã hóa xác thực 11 Hình 1.8: Lược đồ xác thực mã hóa 13 Hình 1.9: Lược đồ mã hóa xác thực 15 Hình 1.10: Chế độ IAPM 17 Hình 1.11: Chế độ OCB 18 Hình 1.12: Chế độ OMAC 19 Hình 1.13: Mã hóa có xác thực với liệu liên kết 21 Hình 2.1: Hàm cập nhật trạng thái AEGIS-128 24 Hình 3.1: Sơ đồ cấu trúc chương trình mã hóa có xác thực 36 Hình 3.2: Sơ đồ q trình thực thi thuật tốn AEGIS 37 Hình 3.3: Lưu đồ thuật tốn q trình khởi tạo 38 Hình 3.4: Lưu đồ thuật tốn q trình mã hóa 40 Hình 3.5: Lưu đồ thuật tốn q trình tạo thẻ xác thực 41 Hình 3.6: Giao diện chương trình mã hóa có xác thực 45 Hình 3.7: Kết sinh khóa thành cơng 45 Hình 3.8: Kết sinh véc-tơ khởi tạo thành công 45 Hình 3.9: Kết mã hóa 46 Hình 3.10: Kết giải mã thành cơng 46 Hình 3.11: Kết giải mã không thành công 46 Hình 3.12: Kết mã hóa thuật toán ACORN 47 Hình 3.13: Kết giải mã thuật tốn ACORN 47 Hình 3.14: Kết mã hóa thuật tốn AES-GCM-128 48 Hình 3.15: Kết giải mã thuật tốn AES-GCM-128 48 Hình 3.16: So sánh thời gian thực mã hóa ba thuật tốn AEGIS, ACORN, AES-GCM-128 50 Hình 3.17: So sánh thời gian thực giải mã ba thuật toán AEGIS, ACORN, AES-GCM-128 50 vii LỜI MỞ ĐẦU Tính cấp thiết đề tài nghiên cứu Trong môi trường công nghệ mạng máy tính nay, vấn đề an tồn thơng tin ngày trở nên cấp bách Việc bảo đảm thơng tin biết người có thẩm quyền yếu tố thiết yếu lĩnh vực an ninh, kinh tế, xã hội… Do vậy, vai trò mật mã ngày trở nên quan trọng việc đảm bảo tính chất bí mật, xác thực tồn vẹn cho nội dung thơng tin Việc bảo đảm an tồn thơng tin thường địi hỏi đảm bảo tính bí mật xác thực Có cách tiếp cận để thực điều Cách thứ mã hóa thơng tin với thuật tốn mã khối mã dịng để đảm bảo tính bí mật sử dụng mã xác thực thơng báo MAC véc-tơ kiểm tra tính tồn vẹn ICV để thực xác thực Ví dụ, ta dùng mã khối AES chế độ CBC để mã thơng tin, sau dùng thuật tốn AES-CMAC (hoặc HMAC) để xác thực Cách tiếp cận tương đối dễ tác động tới tính an tồn việc mã hóa xác thực phân tích gần riêng biệt Cách tiếp cận thứ hai xây dựng thuật tốn mã hóa có xác thực nhằm kết hợp q trình mã hóa xác thực bước nhất, loại bỏ không cần thiết MAC riêng biệt, cách tiếp cận có lợi hiệu suất tảng tham chiếu khác FPGA, vi điều khiển Cách tiếp cận hướng khoa học mật mã Hiện nay, nhà mật mã giới nghiên cứu để phát triển thuật tốn mã hóa có xác thực Viện tiêu chuẩn NIST tổ chức thi CAESAR nhằm chọn chuẩn thuật tốn mã hóa có xác thực Thuật tốn mã hóa có xác thực AEGIS ứng viên thi AEGIS thuật tốn chọn vịng cuối thi CAESAR Xuất phát từ thực tiễn trên, em chọn đề tài “Xây dựng chương trình mã hóa có xác thực sử dụng thuật toán AEGIS” làm đề tài đồ án tốt nghiệp Việc nghiên cứu chi tiết thuật tốn AEGIS an tồn sở quan trọng để ứng dụng thuật toán vào xây dựng chương trình mã hóa có xác thực Tổng quan tình hình nghiên cứu Cuộc thi mật mã với tên gọi CAESAR tổ chức nhằm tuyển chọn thuật tốn mã hóa có xác thực, đạt hiệu độ an toàn cao Cuộc thi CEASAR bắt đầu khởi động từ năm 2012, đến ngày 15/01/2013 thi thức thơng báo hội thảo Early Symmetric Crypto (Mondorfles - Bains, Luxemburg), thông báo rộng rãi phương tiện truyền thông Một điểm thú vị tên thi lần trùng với tên hoàng đế La Mã Julius Ceasar, người sáng chế mã pháp Ceasar - phương pháp mã hóa lồi người Kết thúc vịng 3, vào 03/2018, ban tổ chức thơng báo có thuật tốn tham gia vào vòng thi CEASAR, có thuật tốn mã hóa có xác thực AEGIS Ngày 20/3/2019, thi kết thúc với thuật tốn chọn ACORN AEGIS Trong q trình thực nghiên cứu, em tìm hiểu, xem xét kết số nghiên cứu trước với mục đích phục vụ q trình hồn thiện nghiên cứu Một số tài liệu nghiên cứu bao gồm: - “Analysis of One-pass Block Cipher based authenticated encryption schemes, 2015” tác giả BinBin Di Tài liệu mô tả tổng quan hệ mã khối đánh giá an toàn lược đồ mã hóa có xác thực dựa mã khối - “Authenticated encryption: Relations among notions and analysis of the generic composition paradigm, 2007” tác giả Bellare Namprempre Tài liệu mơ tả cấu trúc chung mã hóa có xác thực đánh giá an toàn phương thức mã hóa có xác thực - “AEGIS: A Fast Authenticated Encryption Algorithm (v1.1), 2016” tác giả Hongjun Wu Bart Preneel Tài liệu mô tả thuật tốn AEGIS gồm hàm, q trình hoạt động an toàn AEGIS Ngoài em cịn tham khảo số tài liệu khác có liên quan Mục tiêu nghiên cứu Tìm hiểu về mã hóa có xác thực, thuật tốn mã hóa có xác thực AEGIS xây dựng chương trình mã hóa có xác thực sử dụng thuật tốn AEGIS Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu: thuật tốn mã hóa có xác thực AEGIS - Phạm vi nghiên cứu: Đề tài nêu khái quát hệ mã khối, vấn đề chung mã hóa có xác thực; thuật tốn mã hóa có xác thực AEGIS; xây dựng chương trình mã hóa có xác thực sử dụng thuật toán AEGIS Phương pháp nghiên cứu Đề tài sử dụng phương pháp nghiên cứu phương pháp thống kê, phương pháp tổng hợp, phương pháp so sánh, phương pháp phân tích, kế thừa số kết nghiên cứu có, đồng thời thu thập thông tin, tài liệu để phục vụ cho việc nghiên cứu Những đóng góp đồ án - Về lý thuyết: Đồ án trình bày vấn đề thuật tốn mã hóa có xác thực khái niệm, phương pháp, số chế độ mã hóa có xác thực mã hóa có xác thực với liệu liên kết Trình bày trình hoạt động, an tồn thuật tốn AEGIS - Về tính ứng dụng vào thực tiễn: Đồ án trình bày q trình cài đặt thực thi thuật tốn mã hóa có xác thực AEGIS, kiểm tra tính đắn q trình cài đặt thuật tốn Từ xây dựng chương trình mã hóa có xác thực sử dụng thuật tốn AEGIS Sau đánh giá hiệu suất thực thi thuật toán AEGIS với thuật toán mã hóa có xác thực khác Kết cấu đồ án tốt nghiệp Nội dung đồ án tốt nghiệp gồm có chương: Chương 1: Tổng quan mã hóa có xác thực Chương trình bày kiến thức tổng quan hệ mã khối mã hóa có xác thực bao gồm: tổng quan hệ mã khối, khái niệm mã hóa có xác thực, phương pháp mã hóa có xác thực, số chế độ mã hóa có xác thực mã hóa có xác thực với liệu liên kết Chương 2: Thuật toán mã hóa có xác thực AEGIS Chương trình bày cấu trúc, trình hoạt động phiên thuật tốn AEGIS phân tích an tồn thuật tốn AEGIS Chương 3: Xây dựng chương trình mã hóa có xác thực sử dụng thuật toán AEGIS Chương trình bày trình xây dựng module chương trình mã hóa có xác thực sử dụng thuật tốn AEGIS Kiểm tra tính đắn q trình cài đặt thuật tốn, đánh giá hiệu suất thực thi thuật toán AEGIS so với hai thuật tốn mã hóa có xác thực khác thuật tốn ACORN thuật toán AES-GCM-128 Chương TỔNG QUAN VỀ Mà HĨA CĨ XÁC THỰC Chương trình bày tổng quan mã khối, mã hóa có xác thực giới thiệu mã hóa có xác thực với liệu liên kết 1.1 Hệ mật mã khối 1.1.1 Định nghĩa hệ mật mã khối Mã khối hàm mã hóa với rõ chia thành khối có độ dài cố định sau mã hóa khối theo trình tự [4], hình 1.1, khối Pi khối rõ thứ i rõ; khối Ci khối mã thứ i mã P1 K E P2 K E C1 C2 P3 K E C3 Hình 1.1: Mã khối Mã khối sử dụng để cung cấp tính bí mật số chế độ sử dụng để tạo thành thuật toán MAC Các q trình mã hóa giải mã diễn tác động khóa bí mật 1.1.2 Phân loại mã khối 1.1.2.1 Mạng Feistel Mạng Feistel mạng lặp lại phân chia khối rõ thành hai khối có độ dài nhau, với Li −1 (khối trái) Ri −1 (khối phải), với i vòng lặp [4] Sau đó, hàm f áp dụng cho khối phải Ri −1 khóa vịng K i để tạo đầu ra; đầu hàm f XOR với khối trái Li −1 ; hai khối sau hốn đổi để tạo Li trái Ri phải (Hình 1.2) Qúa trình mã hóa lặp lại số vòng cho khối Việc giải mã đơn giản đảo ngược lại trình mã Chạy thuật toán qua 10 bước: Giai đoạn nạp liệu liên kết thực sau: Sau thực xong nạp khóa, véc-tơ khởi tạo liệu liên kết, ta kết trạng thái khởi tạo Sử dụng trạng thái để tiếp tục tiến hành giai đoạn mã hóa thuật tốn 3.1.2 Lưu đồ thuật tốn q trình mã hóa Sau khởi tạo, bước mã hóa, khối rõ 16-byte 𝑃𝑖 gán cho 𝑚𝑖 để sử dụng cập nhật trạng thái 𝑚𝑖 mã hóa thành 𝐶𝑖 39 Bắt đầu Bản rõ P Trạng thái khởi tạo ban đầu P = ( P0 , , Pm s g le n − ) msglen =0 Đúng Sai  adlen   msglen  u= ,v =   128    128  i=0 i = i +1 i Sai v-1 Bản mã C Trang thái sau mã hóa Đúng Ci = Pi  Su +i ,1  Su +i ,4  ( Su +i ,2 & Su +i ,3 ) Su +i +1 = StateUpdate( Su +i , Pi ) Kết thúc Hình 3.4: Lưu đồ thuật tốn q trình mã hóa Q trình mã hóa thực sau: 40 3.1.3 Lưu đồ thuật toán trình tạo thẻ xác thực Sau mã hóa tất khối rõ, trình tạo thẻ xác thực thực cách sử dụng thêm bước tạo thẻ xác thực T t bit 𝑇 ′ với 64 ≤ 𝑡 ≤ 128 Độ dài liệu liên kết độ dài thông điệp sử dụng để cập nhật trạng thái Bắt đầu Trạng thái sau mã hóa tmp = Su +v,3  (adlen msglen) i=u+v Sai i=i+1 i u+v+6 T ' = i4=0 Su +v +7,i Đúng Si +1 = StateUpdate( Si , tmp) Thẻ xác thực T Kết thúc Hình 3.5: Lưu đồ thuật tốn q trình tạo thẻ xác thực Quá trình thực sau: 41 Thẻ xác thực T 128 bit nối vào mã Như vậy, mã sinh bao gồm bit mã bit thẻ xác thực T 3.1.4 Lưu đồ thuật toán trình giải mã xác thực Để thực trinh giải mã, thực trình khởi tạo trạng thái tương tự trình mã hóa Trong suốt q trình giải mã, bit mã XOR với bit trạng thái tương ứng để giải tạo bit rõ 𝑃𝑖 Các bit rõ 𝑃𝑖 cập nhật liên tục vào trạng thái để thực giải bit mã Quá trình lặp lại bit mã xử lý xong Sau xử lý xong bit mã, thẻ xác thực tạo để so sánh với thẻ xác thực từ bên mã hóa Q trình thực sau: 42 3.2 Kết xây dựng chương trình mã hóa có xác thực sử dụng thuật toán AEGIS 3.2.1 Kiểm tra tính đắn q trình thực thi thuật tốn AEGIS Phần kiểm tra tính đắn q trình thực thi thuật tốn với test vector có đầu vào tài liệu [6] Với test vector có độ dài rõ độ dài liệu liên kết 16 byte Chi tiết liệu đầu vào sau: Q trình thực thi mã hóa cho kết đầu giống tài liệu [6] thể Kết mã hóa: Kết giải mã: 43 Với test vector có độ dài rõ 73 byte độ dài liệu liên kết 39 byte Chi tiết liệu đầu vào sau: Q trình thực thi mã hóa cho kết đầu giống tài liệu [6] thể Kết mã hóa: Kết giải mã: 44 Kết luận: trình thực thi thuật tốn AEGIS chương trình mã hóa có xác thực thực với tham số, cấu trúc mà tác giả đề xuất 3.2.2 Kết thực thi chương trình mã hóa có xác thực sử dụng thuật toán AEGIS Sau thực cài đặt biên dịch ứng dụng, ta giao diện chương trình (Hình 3.6) Hình 3.6: Giao diện chương trình mã hóa có xác thực Trước mã hóa, bên mã hóa tiến hành sinh khóa véc-tơ khởi tạo để sử dụng cho q trình mã hóa Khóa véc-tơ khởi tạo gửi cho bên giải mã qua kênh riêng để sử dụng cho q trình giải mã Để thực sinh khóa, chọn thẻ “SINH KHĨA” chọn nút “Tạo Khóa” để sinh khóa Sau thực sinh khóa, chọn nơi lưu file khóa chương trình thơng báo “SINH KHĨA THÀNH CƠNG” (Hình 3.7) Hình 3.7: Kết sinh khóa thành công Để thực sinh véc-tơ khởi tạo, chọn thẻ “SINH KHÓA” chọn nút “Tạo Vector Khởi Tạo” để sinh véc-tơ khởi tạo Sau thực sinh véc-tơ khởi tạo, chọn nơi lưu file véc-tơ khởi tạo chương trình thơng báo “SINH VECTOR KHỞI TẠO THÀNH CƠNG” (Hình 3.8) Hình 3.8: Kết sinh véc-tơ khởi tạo thành cơng Để thực mã hóa, chọn thẻ “Mà HĨA” để tiến hành mã hóa Chọn nút “Chọn Bản Rõ” để chọn rõ muốn mã hóa Chọn nút “Chọn Dữ liệu liên kết” để chọn liệu liên kết Chọn nút “Chọn Vector khởi tạo” để chọn véc-tơ khởi tạo Chọn nút “Chọn Khóa” để chọn khóa dùng cho thuật tốn Sau chọn nút “Mã hóa” để thực mã hóa Sau thực mã hóa, chọn nơi lưu file mã 45 Sau thực mã hóa xong, chương trình đưa thông báo độ dài rõ, liệu liên kết, véc-tơ khởi tạo khóa Thẻ xác thực có độ dài mặc định 128 bit nối vào sau mã (Hình 3.9) Hình 3.9: Kết mã hóa Để thực giải mã xác thực thẻ, chọn thẻ “GIẢI MÔ Chọn nút “Chọn Bản mã” để chọn mã muốn giải mã Tiến hành chọn liệu liên kết, véc-tơ khởi tạo, khóa giống với bên gửi Nếu giải mã thành cơng, chương trình mở hộp thoại để lưu rõ thông báo lên giao diện chương trình (Hình 3.10) Hình 3.10: Kết giải mã thành công Nếu giải mã thất bại, chương trình khơng cho phép lưu rõ thông báo “Giải mã thất bại Thẻ xác thực khơng hợp lệ” (Hình 3.11) Hình 3.11: Kết giải mã không thành công 3.3 Đánh giá hiệu thực thi chương trình mã hóa có xác thực Để đánh giá hiệu thực thi chương trình mã hóa có xác thực, tiến hành cài đặt thêm thuật tốn mã hóa có xác thực ACORN AES-GCM128 Thuật tốn ACORN ứng viên vịng hai thi CAESAR ACORN có cấu trúc mã dịng Thuật tốn sử dụng khóa, véc-tơ khởi tạo có kích thước 128 bit Độ dài rõ P nhỏ 264 bit Đầu vào thuật tốn bao gồm liệu liên kết AD có kích thước adlen bit (0  adlen  264 ) Phiên cài đặt để so sánh phiên “ref” Để tiến hành chạy thuật toán, gọi hàm mã hóa: 46 crypto_aead_encrypt(Ciphertext, &clen, Plaintext, msglen, AssociatedData, adlen, 0, IV, Key); hàm giải mã: t = crypto_aead_decrypt(Plaintext, &msglen, 0, Ciphertext, clen, AssociatedData, adlen, IV, Key); Kết chạy thuật tốn ACORN: Hình 3.12: Kết mã hóa thuật tốn ACORN Hình 3.13: Kết giải mã thuật tốn ACORN AES-GCM-128 thuật tốn mã hóa có xác thực sử dụng mã khối AES chế độ GCM, cung cấp tính bí mật xác thực Phiên cài đặt để so sánh phiên “ref” AES-GCM-128 Để tiến hành chạy thuật toán, gọi hàm mã hóa: 47 crypto_aead_encrypt(Ciphertext, &clen, Plaintext, msglen, AssociatedData, adlen, 0, IV, Key); hàm giải mã: t = crypto_aead_decrypt(Plaintext, &msglen, 0, Ciphertext, clen, AssociatedData, adlen, IV, Key); Kết chạy thuật tốn AES-GCM-128: Hình 3.14: Kết mã hóa thuật tốn AES-GCM-128 Hình 3.15: Kết giải mã thuật toán AES-GCM-128 Đánh giá hiệu thực thi ba thuật toán AEGIS, ACORN, AESGCM-128 tảng phần cứng máy tính xách tay với vi xử lý Intel Core i5-6200U, xung nhịp 2.3 ~ 2.4 GHz, nhớ RAM 4GB Với tập 48 tin mẫu thực mã hóa giải mã 20 lần sau lấy giá trị trung bình kết sau (bảng 3.1 bảng 3.2) Bảng 3.1: Kết thực thi mã hóa AEGIS, ACORN, AES-GCM-128 Dung lượng tập tin (Mbyte) Bản rõ Dữ liệu liên kết Thời gian thực (s) AEGIS ACORN AES-GCM128 1MB 1MB 0.13 19.48 61.44 5MB 1MB 0.14 53.17 294.19 10MB 1MB 0.31 97.01 538.60 15MB 1MB 0.38 141.40 873.70 20MB 1MB 0.58 185.10 1168.84 Bảng 3.2: Kết thực thi giải mã AEGIS, ACORN, AES-GCM-128 Dung lượng tập tin (Mbyte) Bản mã Dữ liệu liên kết Thời gian thực (s) AEGIS ACORN AES-GCM128 1MB 1MB 0.14 20.24 61.15 5MB 1MB 0.17 52.816 292.94 10MB 1MB 0.30 96.71 581.91 15MB 1MB 0.37 140.70 876.12 20MB 1MB 0.60 185.12 1358.04 49 THỜI GIAN THỰC HIỆN Mà HÓA 1400 Thời gian (s) 1200 1000 800 600 400 200 1MB 5MB 10MB 15MB 20MB Dung lượng tập tin (Mbyte) AEGIS ACORN AES-GCM-128 Hình 3.16: So sánh thời gian thực mã hóa ba thuật tốn AEGIS, ACORN, AES-GCM-128 THỜI GIAN THỰC HIỆN GIẢI Mà 1600 Thời gian (s) 1400 1200 1000 800 600 400 200 1MB 5MB 10MB 15MB 20MB Dung lượng tập tin (Mbyte) AEGIS ACORN AES-GCM-128 Hình 3.17: So sánh thời gian thực giải mã ba thuật toán AEGIS, ACORN, AES-GCM-128 Kết cho thấy hiệu thực thi trình mã hóa giải mã thuật tốn AEGIS nhanh nhiều so với ACORN AES-GCM-128 Kết luận: Ở chương em xây dựng số giải thuật chương trình mã hóa có xác thực sử dụng thuật tốn AEGIS Kiểm tra tính đắn q trình thực thi thuật tốn AEGIS dùng chương trình mã 50 hóa có xác thực, đánh giá hiệu suất thực thi chương trình mã hóa có xác thực so với hai thuật tốn mã hóa có xác thực khác thuật tốn ACORN thuật tốn AES-GCM-128 51 KẾT LUẬN Tìm hiểu tổng quan mã khối, mã hóa có xác thực, khái niệm, phương pháp số chế độ mã hóa có xác thực Tìm hiểu, phân tích thuật tốn mã hóa có xác thực AEGIS Tìm hiểu, phân tích an tồn thuật tốn AEGIS Xây dựng chương trình mã hóa có xác thực sử dụng thuật tốn AEGIS ngơn ngữ lập trình C++ cơng cụ lập trình Visual Studio 2013, kiểm tra tính đắn đánh giá hiệu suất chương trình Ứng dụng thuật tốn mã hóa có xác thực quan tâm cộng đồng khoa học mật mã giới lợi ích đem lại tính an tồn hiệu suất thực thi Vì vậy, việc nghiên cứu thuật tốn mã hóa có xác thực nói chung thuật tốn AEGIS nói riêng để xây dựng chương trình ứng dụng thực tế cần thiết Tuy nhiên, nhiều vấn đề đề tài phải cần đầu tư nghiên cứu tiếp như: - Nghiên cứu số thuật tốn mã hóa có xác thực khác - Tìm hiểu cơng lên thuật tốn AEGIS để thấy điểm yếu thuật toán - Cài đặt thuật toán tảng phần cứng TÀI LIỆU THAM KHẢO [1] S Babbage, A Space, Time Trade in Exhaustive Search Attacks on Stream Ciphers, May 1995 [2] M Bellare and C Namprempre, Authenticated encryption: Relations among notions and analysis of the generic composition paradigm July 2007 [3] BinBin Di, Analysis of One-pass Block Cipher based authenticated encryption schemes, 2015 [4] A Biryukov and A Shamir, Cryptanalytic Time/Memory/Data Tradeos for Stream Ciphers, In Advances in Cryptology - Asiacrypt 2000 [5] Hongjun Wu and Bart Preneel, AEGIS: A Fast Authenticated Encryption Algorithm (v1.1), September 2016 [6] Philip Rogaway, Authenticated-Encryption with Asosciated-Data, September 2002 [7] Philip Rogaway, Mihir Bellare, John Black, OCB: A Block-Cipher Mode of Operation for Efficient Authenticated Encryption [8] P.Rogaway, Authenticated-Encryption with Associated-Data, September 2002 [9] BinBin Di, Analysis of One-pass Block Cipher Based Authenticated Encryption Schemes, 2015 [10] CAESAR: https://competitions.cr.yp.to/caesar.html [11] Source Code AEGIS: http://www3.ntu.edu.sg/home/wuhj/research/caesar/caesar.html [12] Source Code ACORN: http://www3.ntu.edu.sg/home/wuhj/research/caesar/caesar.html [13] Source Code AES-GCM-128: https://github.com/TheBananaMan/caesar_benchmarks_secondround/tree/mas ter/crypto_aead/aes128gcmv1

Ngày đăng: 21/08/2023, 09:37

Từ khóa liên quan

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

Tài liệu liên quan