Nghiên Cứu Chế Độ Mã Hóa Có Xác Thực Hạng Nhẹ Jambu (Luận Văn Thạc Sĩ)

68 2 0
Nghiên Cứu Chế Độ Mã Hóa Có Xác Thực Hạng Nhẹ Jambu (Luận Văn Thạc Sĩ)

Đ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

Nghiên Cứu Chế Độ Mã Hóa Có Xác Thực Hạng Nhẹ Jambu (Luận Văn Thạc Sĩ) CHƯƠNG 1: TỔNG QUAN VỀ MÃ HÓA CÓ XÁC THỰC VÀ MẬT MÃ HẠNG NHẸ 6 1.1. Mã hóa có xác thực 6 1.1.1. Khái niệm mã hóa có xác thực 6 1.1.2. Các phương pháp mã hóa có xác thực 7 1.1.3. Mã hóa có xác thực với dữ liệu liên kết 12 1.2. Mật mã hạng nhẹ 14 1.2.1. Khái quát về mật mã hạng nhẹ 14 1.2.2. Mật mã khối hạng nhẹ 20 CHƯƠNG 2: CHẾ ĐỘ MÃ HÓA CÓ XÁC THỰC HẠNG NHẸ JAMBU VÀ THUẬT TOÁN AES – JAMBU 25 2.1. Chế độ mã hóa có xác thực hạng nhẹ JAMBU 25 2.1.1. Giới thiệu về chế độ JAMBU 25 2.1.2. Các kí hiệu 25 2.1.3. Chế độ hoạt động của JAMBU 27 2.1.4. Sự an toàn của chế độ JAMBU 30 2.2. Thuật toán mã hóa có xác thực hạng nhẹ AES-JAMBU 43 2.2.1. Thuật toán 43 2.2.2. Sự an toàn của thuật toán 44 CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH MÔ PHỎNG THUẬT TOÁN MÃ HÓA CÓ XÁC THỰC HẠNG NHẸ AES – JAMBU 49 3.1. Cài đặt thuật toán AES-JAMBU 49 3.1.1. Cài đặt quá trình khởi tạo 50 3.1.2. Cài đặt quá trình nạp dữ liệu liên kết 51 3.1.3. Cài đặt quá trình mã hóa bản rõ 52 3.1.4. Cài đặt quá trình tạo thẻ xác thực 54 3.1.5. Cài đặt quá trình giải mã và xác thực 55 3.2. Kết quả quá trình cài đặt thuật toán AES-JAMBU 56 3.3. Đánh giá hiệu suất thực thi của thuật toán AES-JAMBU 58 Một xu thế quan trọng đối với sự phát triển hiện nay của mật mã đó là thiết kế các nguyên thủy mật mã hạng nhẹ vì nhu cầu tăng lên đối với các hệ thống nhúng (hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp, tự động hoá điều khiển, truyền tin), ví dụ như Thẻ RFID, mạng cảm biến và thẻ thông minh. Rất nhiều thuật toán mã hóa có xác thực hạng nhẹ đã được đề xuất như là: ALE, và FIDES. Tuy nhiên, những thuật toán mã hóa có xác thực ở trên là thiết kế chuyên dụng và không thể được sử dụng như là một cách thức hoạt động để chuyển đổi một thuật toán mã hóa thành một thuật toán mã hóa có xác thực. Không những thế, điều đó chỉ ra rằng việc chuyển đổi đó sẽ rất khó khăn để xây dựng một thuật toán mã hóa có xác thực hạng nhẹ an toàn. Những vấn đề về an toàn đã được khám phá ngay sau khi các thuật toán ALE và FIDES được công bố. Vì thế, cần có một chế độ mã hóa có xác thực hạng nhẹ có thể áp dụng cho các mã khối, như chế độ mã hóa có xác thực hạng nhẹ JAMBU. Sau đó, sử dụng các mật mã khối SIMON, AES,... để xây dựng một thuật toán mã hóa có xác thực: SIMON-JAMBU và AES-JAMBU [8]. Hiện nay, viện tiêu chuẩn NIST (National Institute of Standards and Technology) đã tổ chức cuộc thi CAESAR nhằm chọn ra chuẩn thuật toán, chế độ mã hóa có xác thực. Chế độ mã hóa có xác thực hạng nhẹ JAMBU là một ứng viên của cuộc thi này. Kết thúc vòng 2, ngày 15/8/2016, Ban tổ chức đã thông báo các thuật toán tham gia được vào vòng 3 của cuộc thi CEASAR trong đó có chế độ mã hóa có xác thực hạng nhẹ JAMBU.

Viện Công Nghệ Thông Tin Và Truyền Thông ĐẠI HỌC BÁCH KHOA HÀ NỘI Luận Văn Thạc Sĩ Nghiên Cứu Chế Độ Mã Hóa Có Xác Thực Hạng Nhẹ Jambu Nguyen Thanh Long Ha Noi, 2023 ii MỤC LỤC LỜI CẢM ƠN i LỜI CAM ĐOAN ii MỤC LỤC iii CÁC KÝ HIỆU, CHỮ VIẾT TẮT v DANH MỤC BẢNG BIỂU vii DANH MỤC HÌNH VẼ viii LỜI MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ MÃ HÓA CÓ XÁC THỰC VÀ MẬT MÃ HẠNG NHẸ 1.1 Mã hóa có xác thực 1.1.1 Khái niệm mã hóa có xác thực 1.1.2 Các phương pháp mã hóa có xác thực 1.1.3 Mã hóa có xác thực với liệu liên kết 12 1.2 Mật mã hạng nhẹ 14 1.2.1 Khái quát mật mã hạng nhẹ 14 1.2.2 Mật mã khối hạng nhẹ 20 CHƯƠNG 2: CHẾ ĐỘ MÃ HÓA CÓ XÁC THỰC HẠNG NHẸ JAMBU VÀ THUẬT TOÁN AES – JAMBU 25 2.1 Chế độ mã hóa có xác thực hạng nhẹ JAMBU 25 2.1.1 Giới thiệu chế độ JAMBU 25 2.1.2 Các kí hiệu 25 2.1.3 Chế độ hoạt động JAMBU 27 2.1.4 Sự an toàn chế độ JAMBU 30 2.2 Thuật tốn mã hóa có xác thực hạng nhẹ AES-JAMBU 43 2.2.1 Thuật toán 43 2.2.2 Sự an tồn thuật tốn 44 CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH MƠ PHỎNG THUẬT TỐN MÃ HÓA CÓ XÁC THỰC HẠNG NHẸ AES – JAMBU 49 iii 3.1 Cài đặt thuật toán AES-JAMBU 49 3.1.1 Cài đặt trình khởi tạo 50 3.1.2 Cài đặt trình nạp liệu liên kết 51 3.1.3 Cài đặt trình mã hóa rõ 52 3.1.4 Cài đặt trình tạo thẻ xác thực 54 3.1.5 Cài đặt trình giải mã xác thực 55 3.2 Kết q trình cài đặt thuật tốn AES-JAMBU 56 3.3 Đánh giá hiệu suất thực thi thuật toán AES-JAMBU 58 KẾT LUẬN 62 TÀI LIỆU THAM KHẢO 63 iv CÁC KÝ HIỆU, CHỮ VIẾT TẮT Viết tắt Tiếng Anh AE Authenticated Encryption CEASAR Competition for Authenticated Tiếng Việt Mã hóa có xác thực Cuộc thi mã hóa có xác Encryption:Security,Applicability, thực: an tồn, tính ứng and Robustness NIST National Institute of Standards and Technology dụng tính mạnh mẽ Viện tiêu chuẩn công nghệ quốc gia Mã xác thực thông báo MAC Message Authentication Code MtE MAC then Encrypt Xác thực mã hóa E&M Encrypt and MAC Mã hóa mã xác thực EtM Encrypt then MAC Mã hóa xác thực INT-CTXT Integrity of Ciphertext Tính tồn vẹn mã Tính tồn vẹn rõ INT-PTXT Integrity of Plaintext IND-CPA Indistinguishability under a Khả không phân Chosen Plaintext Attack biệt công lựa chọn rõ IND-CCA Indistinguishability under a Khả không phân Chosen Ciphertext Attack biệt công lựa chọn mã SPN Substitution and Permutation Network AEAD AD Authenticated Encryption with Mạng lưới thay hốn vị Mã hóa có xác thực với Associated Data liệu liên kết Associated Data Dữ liệu liên kết v Viết tắt Tiếng Anh AES Advanced Encryption Standard Tiếng Việt Chuẩn mã hóa liệu tiên tiến RFID Radio Frequency identification Công nghệ nhận dạng đối tượng sóng vố tuyến SE Symmetric Encryption scheme Lược đồ mã hóa đối xứng ECRYPT VoIP European Network of Excellence Mạng lưới mật mã xuất for Cryptology sắc Châu Âu Voice over Internet Protocol Truyền giọng nói giao thức IP LỜI MỞ ĐẦU Tính cấp thiết đề tài Ngày nay, với phát triển nhanh chóng khoa học kĩ thuật, nhiều cơng nghệ đời với mục đích thỏa mãn nhu cầu ngày cao người lĩnh vực Những phát minh khoa học làm cho việc trở nên đơn giản tiện lợi Sự đa dạng sản phẩm công nghiệp đại kết hoạt động sáng tạo không ngừng người Từ máy mọc cồng kềnh với đường dây kết nối để hoạt động công nghệ ngày hướng đến khả khơng dây giúp người giải phóng thoải mái Nhận dạng tự động công nghệ phát minh để đáp ứng nhu cầu Các cơng nghệ nhận dạng tự động như: mã vạch (Bar codes), thẻ thông minh, công nghệ sinh trắc học, nhận dạng tần số sóng vơ tuyến RFID,… Trong RFID phát triển mạnh nhiều nước giới với ứng dụng đa dạng như: sản xuất kinh doanh, an ninh, y tế… Trong năm 2004, thuật ngữ “Lightweight cryptography” đưa thảo luận nhiều hội nghị Thuật ngữ dùng để thuật tốn mật mã “nhẹ” có khả cài đặt thiết bị bị giới hạn lượng tiêu thụ khả lưu trữ Như vậy, mật mã hạng nhẹ phù hợp để áp dụng vào bảo mật cho cơng nghệ nhận dạng tần số sóng vơ tuyến (RFID) Do đó,việc phát triển nhanh mạnh cơng nghệ RFID động lực để thúc đẩy mật mã hạng nhẹ phát triển Bên cạnh đó, có nhiều thiết bị bị giới hạn tài nguyên cần đến bảo mật ví dụ thiết bị lĩnh vực quân sự, y tế, nông nghiệp …nên tiềm mật mã hạng nhẹ lớn [3] Các chế độ mã hóa có xác thực phương pháp sử dụng phổ biến thiết kế thuật tốn mã hóa có xác thực Chuẩn ISO/IEC 19772:2009 công bố số chế độ tiêu chuẩn cho mã hóa có xác thực bao gồm EAX, CCM, GCM OCB 2.0 [8] Bên cạnh có số lượng lớn chế độ mã hóa có xác thực khác đề xuất thập kỷ qua Ví dụ: IAPM , CWC, HBS, BTM McOE Một xu quan trọng phát triển mật mã thiết kế nguyên thủy mật mã hạng nhẹ nhu cầu tăng lên hệ thống nhúng (hệ thống tích hợp phần cứng phần mềm phục vụ tốn chun dụng nhiều lĩnh vực cơng nghiệp, tự động hố điều khiển, truyền tin), ví dụ Thẻ RFID, mạng cảm biến thẻ thông minh Rất nhiều thuật tốn mã hóa có xác thực hạng nhẹ đề xuất là: ALE, FIDES Tuy nhiên, thuật tốn mã hóa có xác thực thiết kế chuyên dụng sử dụng cách thức hoạt động để chuyển đổi thuật tốn mã hóa thành thuật tốn mã hóa có xác thực Khơng thế, điều việc chuyển đổi khó khăn để xây dựng thuật tốn mã hóa có xác thực hạng nhẹ an toàn Những vấn đề an toàn khám phá sau thuật tốn ALE FIDES cơng bố Vì thế, cần có chế độ mã hóa có xác thực hạng nhẹ áp dụng cho mã khối, chế độ mã hóa có xác thực hạng nhẹ JAMBU Sau đó, sử dụng mật mã khối SIMON, AES, để xây dựng thuật tốn mã hóa có xác thực: SIMON-JAMBU AES-JAMBU [8] Hiện nay, viện tiêu chuẩn NIST (National Institute of Standards and Technology) tổ chức thi CAESAR nhằm chọn chuẩn thuật tốn, chế độ mã hóa có xác thực Chế độ mã hóa có xác thực hạng nhẹ JAMBU ứng viên thi Kết thúc vòng 2, ngày 15/8/2016, Ban tổ chức thông báo thuật tốn tham gia vào vịng thi CEASAR có chế độ mã hóa có xác thực hạng nhẹ JAMBU Tổng quan tình hình nghiên cứu Cuộc thi mật mã với tên gọi CAESAR (Competition for Authenticated Encryption: Security, Applicability and Robustness) tổ chức nhằm đáp ứng nhu cầu thiết thực cho giải pháp mã hoá xác thực chuyên dụng dễ sử dụng, hiệu an toàn 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 (Mondorf - les - Bains, Luxemburg), Thơng qua vịng đánh giá, xét duyệt, ngày 07/7/2015, Ban tổ chức thông báo danh sách 28 thuật tốn ứng cử vào vịng Kết thúc vòng 2, ngày 15/8/2016, Ban tổ chức thơng báo thuật tốn tham gia vào vịng thi CEASAR có chế độ mã hóa có xác thực hạng nhẹ JAMBU Chế độ mã hóa có xác thực hạng nhẹ JAMBU hai tác giả Hongjun Wu, Tao Huang ứng cử viên thi CEASAR Chế độ JAMBU giới thiệu lần vào 15/03/2014 Các nhà mật mã giới có nhiều nghiên cứu an tồn cơng lên chế độ mã hóa có xác thực JAMBU - “JAMBU Lightweight Authenticated Encryption Mode and AESJAMBU (v1),2014” hai tác giả Hongjun Wu, Tao Huang [6] Tài liệu mô tả chế độ JAMBU an toàn thuật toán mật mã xác thực AES – JAMBU - “The JAMBU Lightweight Authentication Encryption Mode (v2), 2015” hai tác giả Hongjun Wu, Tao Huang [7] Tài liệu mô tả chế độ JAMBU an toàn thuật toán mật mã xác thực AES – JAMBU - “ The JAMBU Lightweight Authentication Encryption Mode (v2.1), 2016” hai tác giả Hongjun Wu, Tao Huang [8] Tài liệu mơ tả chế độ mã hóa có xác thực hạng nhẹ JAMBU bao gồm chế hoạt động, an toàn JAMBU - “Report on Lightweight Cryptography” nhóm tác giả Kerry A McKay Larry Bassham Meltem Sonmez Turan Nicky Mouha [3] Tài liệu giới thiệu mật mã hạng nhẹ mã hóa hạng nhẹ - “Authenticated encryption: Relations among notions and analysis of the generic composition paradigm, 2007 “của tác giả Bellare Namprempre [2] Tài liệu mô tả cấu trúc chung mã hóa có xác thực đánh giá an tồn phương thức mã hóa có xác thực Mục tiêu nghiên cứu - Tìm hiểu chế độ mã hóa có xác thực hạng nhẹ JAMBU - Cài đặt chương trình mơ thuật tốn AES-JAMBU Đối tượng phạm vi nghiên cứu - Đối tượng nghiên cứu: Chế độ mã hóa có xác thực hạng nhẹ JAMBU - Phạm vi nghiên cứu: Đề tài nghiên cứu vấn đề chung mã hóa có xác thực; mật mã hạng nhẹ; chế độ mã hóa có xác thực hạng nhẹ JAMBU; cài đặt chương trình mã hóa có xác thực AES-JAMBU 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 trình nghiên cứu Những đóng góp đồ án Về lý thuyết: Đồ án trình bày vấn đề trọng tâm chế độ mã hóa có xác thực khái niệm, cấu trúc, phương thức mã hóa có xác thực Trình bày q trình hoạt động, an toàn chế độ JAMBU mật mã hạng nhẹ, mã khối hạng nhẹ Về tính ứng dụng vào thực tiễn: Đồ án trình bày trình cài đặt chương trình phần mềm thực thi thuật tốn mã hóa có xác thực AES-JAMBU Từ đánh giá hiệu suất thực thi thuật toán AES-JAMBU so với thuật tốn mã 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 chương: Chương 1: Tổng quan mã hóa có xác thực mật mã hạng nhẹ Trình bày kiến thức tổng quan mã hóa có xác thực mật mã hạng nhẹ bao gồm: khái niệm mã hóa có xác thực, phương pháp mã hóa có xác thực, mã hóa có xác thực với liệu liên kết, khái quát mật mã hạng nhẹ mật mã khối hạng nhẹ Chương 2: Chế độ mã hóa có xác thực hạng nhẹ JAMBU chế độ AES-JAMBU Trình bày chế độ mã hóa có xác thực hạng nhẹ JAMBU, thuật tốn mã hóa có xác thực hạng nhẹ AES-JAMBU, an tồn chế độ JAMBU thuật tốn AES-JAMBU Chương 3: Cài đặt chương trình mơ thuật tốn mã hóa cóxác thực AES-JAMBU Trình bày chi tiết trình kết cài đặt chương trình phần mềm thực thi thuật tốn mã hóa có xác thực hạng nhẹ AES-JAMBU, so sánh hiệu suất thực thi thuật tốn AES-JAMBU với thuật tốn mã hóa có xác thực AES-GCM-128 49 CHƯƠNG 3: CÀI ĐẶT CHƯƠNG TRÌNH MƠ PHỎNG THUẬT TỐN MÃ HĨA CĨ XÁC THỰC HẠNG NHẸ AES – JAMBU Chương trình bày trình cài đặt chương trình phần mềm thực thi thuật tốn mã hóa có xác thực AES-JAMBU cơng cụ lập trình Visual Studio 2013 ngơn ngữ lập trình C++ Sau thực đánh giá hiệu suất thuật tốn AES-JAMBU so với thuật tốn mã hóa có xác thực AES-GCM128 3.1 Cài đặt thuật tốn AES-JAMBU Dựa sở thuật toán mã khối AES chế độ JAMBU, ta mơ tả q trình thực thi thuật tốn AES-JAMBU theo Hình 3.1 Bắt đầu Giai đoạn khởi tạo Giai đoạn nạp liệu liên kết Khởi tạo 192 bít trạng thái 64 bít véc tơ khởi tạo IV Nạp khố K Trạng thái đƣợc nạp khoá Và véc tơ khởi tạo Nạp liệu liên kết AD Trạng thái sau đƣợc nạp liệu liên kết Giai đoạn mã hóa Giai đoạn tạo thẻ xác thực Nạp khối rõ Khối rõ Pi Trạng thái đƣợc nạp khối rõ  Tạo thẻ Khối mã Thẻ xác thực Kết thúc Hình 3.1 Sơ đồ thuật tốn AES-JAMBU Ci 50 3.1.1 Cài đặt trình khởi tạo Quá trình khởi tạo sử dụng véc-tơ khởi tạo IV 64 bít, 192 bít trạng thái làm đầu vào Quá trình khởi tạo thực qua ba giai đoạn: giai đoạn nạp trạng thái ban đầu S−1=(0192, IV), giai đoạn mã hóa trạng thái ban đầu Ek , giai đoạn phân tách trạng thái sau mã hóa ( X−1,Y−1 ) Bắt đầu Nhập S −1 = (0n, IV ) n = 192 IVlen = 64 sai Ek (S−1 ) R0 = X −1 S0 = ( X −1,Y−1  5) Kết thúc Hình 3.2 Sơ đồ cài đặt trình khởi tạo Quá trình khởi tạo thực sau: //Khởi tạo memset(jambu_state, 0, 16); memset(stateR, 0, 8); npub, jambu_state, jambu_initialization(EK, stateR); Sau thực xong giai đoạn nạp véc-tơ khởi tạo 192 bit trạng thái 0, 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 nạp liệu liên kết thuật toán 51 3.1.2 Cài đặt trình nạp liệu liên kết Quá trình nạp liệu liên kết sử dụng trạng thái khởi tạo làm đầu vào Các liệu liên kết chia thành khối 64 bit nạp Bắt đầu R0 = X −1 S0 = ( X −1,Y−1  5) Nạp liệu liên kết chia thành khối Ai Ai ( X ,Y0 ) = EK (S0 ) (adlen & Ailen)! = sai (U1,V1 ) = ( X ,Y0 ) S1 (U1,V1 ) R1 = R0  X for(i = 0;i  NA −1;i + +) ( Xi ,Yi ) = Ek (Si ) Ui+1 = Xi  Ai V i + = Yi  R i  Si+1 = (Ui+1,Vi+1 ) Ri+1 = R1 Ui+1 sai i = NA −1 SNA ,RNA Kết thúc Hình 3.3 Sơ đồ cài đặt trình nạp liệu liên kết Quá trình nạp liệu liên kết thực sau: 52 // Nạp liệu liên kết for (i = 0; i

Ngày đăng: 24/06/2023, 15:33

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

Tài liệu liên quan