MỤC LỤC BẢNG KÝ HIỆU iii DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU iv LỜI CẢM ƠN v LỜI NÓI ĐẦU vi CHƯƠNG 1: TỔNG QUAN VỀ HỆ MẬT 1 1.1. Một số khái niệm trong hệ mật 1 1.2. Phân loại hệ mật 2 1.3. Hệ mật mã khối 3 1.3.1. Giới thiệu chung 3 1.3.2. Các loại mã hoá khối 4 1.4. Thuật toán mã hóa khối GOST 2814789 của Nga 6 1.4.1. Mở đầu 6 1.4.2. Mô tả thuật toán GOST 6 1.4.3. Các tính chất tổng quát của GOST 8 1.4.4. Các phép dịch vòng R trong GOST 9 1.4.5. Lựa chọn các Sbox 12 CHƯƠNG 2. CÁC TÍNH CHẤT MẬT MÃ CỦA HỘP THẾ 13 2.1. Hàm Boolean và các tính chất mật mã của hàm Boolean 13 2.2. Sự cần thiết của việc ứng dụng hộp thế (Sbox) trong các hệ mật mã khối và các thuộc tính mật mã của hộp thế 19 CHƯƠNG 3: PHÂN TÍCH MỘT SỐ TÍNH CHẤT MẬT MÃ CỦA HỘP THẾ TRONG HỆ MẬT MÃ KHỐI 27 GOST R 34.122015 27 3.1. Giới thiệu về thuật toán Gost R 34.122015 27 3.1.1. Thông tin chung 27 3.1.2. Các định nghĩa và ký hiệu 27 3.1.3. Thông số giá trị 28 3.1.3.1. Biến đổi song ánh phi tuyến tính 28 3.1.3.2. Biến đổi tuyến tính 29 3.1.3.3. Các phép biến đổi 29 3.1.3.4. Thuật toán tạo lược đồ khóa 30 3.2. Các tính chất mật mã của hộp thế trong thuật toán Gost R 34.122015 31 3.2.1. Độ phi tuyến 33 3.2.2. Tính cân bằng 33 3.2.3. Bậc đại số 33 3.2.4. Tiêu chuẩn phân phối và hiệu ứng thác chặt 34 3.2.5. Bậc trong suốt 34 3.2.6. Xác suất xấp xỉ tuyến tính 35 3.2.7. Xác suất xấp xỉ vi sai: 35 3.3. Xây dựng chương trình tính toán phân tích các tính chất mật mã của hộp thế trong Gost R 34.122015 36 3.3.1. Yêu cầu đối với chương trình 36 3.3.2. Lựa chọn công cụ lập trình 36 3.3.3. Giới thiệu chương trình 36 3.4. So sánh với hộp thế trong hệ mật thông dụng AES 39 3.5. Đánh giá, nhận xét chương trình tính toán 42 KẾT LUẬN 43 TÀI LIỆU THAM KHẢO 44 BẢNG KÝ HIỆU AES Advanced Encryption Standard ANF Agebraic Normal Form DES Data Encryption Standard IDEA International Data Encryption Algorithm KSU Key storage unit NIST National Institute of Standard and Technology РС Propagation Criterion SAC Strict Avalanche Criterion SPN SubstitutionPermutation Network
BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ ĐỒ ÁN TỐT NGHIỆP PHÂN TÍCH MỘT SỐ TÍNH CHẤT MẬT MÃ CỦA HỘP THẾ TRONG HỆ MẬT MÃ KHỐI GOST R 34.12-2015 Ngành: Công nghệ thông tin Chuyên ngành: An toàn thông tin Mã số: 52.48.02.01 Hà Nội, 2016 BAN CƠ YẾU CHÍNH PHỦ BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT MÃ HỌC VIỆN KỸ THUẬT MẬT MÃ ĐỒ ÁN TỐT NGHIỆP PHÂN TÍCH MỘT SỐĐỒTÍNH CHẤT MẬT MÃ CỦA HỘP ÁN TỐT NGHIỆP THẾ TRONG MẬT MÃ KHỐI PHÂN TÍCH MỘT SỐHỆ TÍNH CHẤT MẬT MÃ CỦA GOST 34.12-2015 HỘP THẾ TRONG HỆ MẬT MÃ KHỐI GOST R 34.12-2015 Ngành : Công nghệ thông tin Chuyên ngành : An toàn thông tin Mã số: Sinh viên thực hiện: Tạ Thị Thanh Thùy Lớp: AT8B Người hướng dẫn: TS.Hoàng Đức Thọ Khoa An toàn thông tin – Học viện Kỹ thuật mật mã Hà Nội, 2016 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin MỤC LỤC Tạ Thị Thanh Thùy S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin BẢNG KÝ HIỆU AES Advanced Encryption Standard ANF Agebraic Normal Form DES Data Encryption Standard IDEA International Data Encryption Algorithm KSU Key storage unit NIST National Institute of Standard and Technology РС Propagation Criterion SAC Strict Avalanche Criterion SPN Substitution-Permutation Network Tạ Thị Thanh Thùy S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU Tạ Thị Thanh Thùy S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin LỜI CẢM ƠN Trong trình thực đồ án, em nhận hướng dẫn, giúp đỡ tận tình TS Nguyễn Hồng Quang góp ý, hướng dẫn, lắng nghe báo cáo hàng tuần đưa góp ý xác đáng, giúp em hoàn thiện đề tài bước đến hoàn thành báo cáo Em xin chân thành cảm ơn Thầy, Cô giáo trường giảng dạy môn giúp em có thêm nhiều kiến thức để hoàn thành đồ án, cảm ơn quan tâm sâu sát cán Hệ quản lý học viên, động viên người thân bạn bè Do kinh nghiệm kiến thức chưa sâu sắc nên báo cáo đề tài em không tránh khỏi thiết sót, mong quý thầy cô góp ý thêm để em bổ sung kiến thức cho thân để thực nghiên cứu chuyên sâu sau Xin cảm ơn tất người tạo điều kiện tốt để em hoàn thành đồ án tốt nghiệp này! Sinh viên thực đồ án Tạ Thị Thanh Thùy Tạ Thị Thanh Thùy S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin LỜI NÓI ĐẦU Trong lịch sử nhân loại xảy chiến tranh tàn khốc, hai chiến đầu kỷ 20 Tuy nhiên, bên cạnh chiến bên chiến trường, ẩn bên lại chiến khác: chiến thông tin Đã có truyền tin tất nhiên cần phải có yêu cầu giữ bí mật Vậy ngành khoa học mật mã (Cryptography) đời để phục vụ cho yêu cầu Ban đầu, người ta nghĩ loại mật mã đơn giản, đủ để che giấu nội dung thông tin Ví dụ xáo trộn vị trí chữ cái, thay chữ chữ khác, v.v… Nhưng chẳng sau loại mật mã bị nhà giải mã phá Vậy có liên tục đổi cách tạo mã, liên tục đổi tạo chiến trường kỳ nhà tạo mã nhà giải mã Có người giải mã bắt đầu nảy sinh tìm loại mật mã mới, loại mật mã đời nhà giải mã lại phải lao đầu vào nghĩ cách hóa giải Thậm chí người ta phải lập đội ngũ chuyên nghiệp để làm công việc giải mã thông tin đối phương Trong lịch sử mật mã học, thuật toán mã hóa khối Nga có đóng góp không nhỏ việc định lịch sử giới nói chung Trong đề tài “PHÂN TÍCH MỘT SỐ TÍNH CHẤT MẬT MÃ CỦA HỘP THẾ TRONG HỆ MẬT MÃ KHỐI GOST 34.12-2015” em xin trình bày chương sau: Chương 1: Tổng quan hệ mật Trong chương trình bày tổng quan hệ mật, hệ mật mã khối đưa số thuật toán mã khối Nga Chương 2: Các tính chất mật mã hộp Trong chương trình bày hàm Boolean tính chất mật mã hàm Boolean cần thiết việc ứng dụng hộp (S-box) hệ mật mã khối, thuộc tính mật mã hộp Chương 3: Phân tích tính chất mật mã hộp hệ mật mã khối GOST R 34.12-2015 Nội dung chương nêu lên định nghĩa, thông số chung thuật toán GOST 34.12-2015 trình bày hiểu biết Tạ Thị Thanh Thùy S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin tính chất mật tính chất mật mã hộp thuật toán Gost 34.122015 Trong chương lựa chọn ngôn ngữ lập trình thích hợp, xây dựng chương trình cho phép tính toán phân tích tính chất mật mã hộp Gost 34.12-2015, đánh giá phân tích kết đạt Đồng thời nêu so sánh với hộp hệ mật thông dụng AES CHƯƠNG 1: TỔNG QUAN VỀ HỆ MẬT 1.1 Một số khái niệm hệ mật - Hệ mật mã: Hệ mật mã định nghĩa năm đó: tập hữu hạn các rõ tập hữu hạn mã tập hữu hạn khoá tập hàm lập mã tập hàm giải mã Với ∈ , có hàm lập mã hàm giải mã cho Hình 1.1 Quá trình mã hóa giải mã - Mã hóa trình sử dụng quy tắc quy định hệ mã để biến đổi thông tin ban đầu (thông tin cần bảo vệ; rõ) thành mã - Giải mã trình ngược lại với mã hóa, tức sử dụng quy tắc quy định hệ mã để biến đổi nội dung mã thông tin ban đầu Tạ Thị Thanh Thùy S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin - Thám mã công việc phân tích tin mã hóa để nhận tin rõ điều kiện trước khóa mã Thám mã chia làm loại: + Loại thám mã tích cực: việc thám mã sau tìm cách làm sai lạc liệu truyền, nhận liệu lưu trữ phục vụ mục đích người thám + Loại thám mã thụ động: việc thám mã để có thông tin rõ phục vụ mục đích người thám mã 1.2 Phân loại hệ mật Hình 1.2 Sơ đồ phân loại hệ mật - Hàm hash (hàm băm): Trong ngành mật mã học, hàm băm mật mã học hàm băm với số tính chất bảo mật định để phù hợp việc sử dụng nhiều ứng dụng bảo mật thông tin đa dạng, chẳng hạn chứng thực (authentication) kiểm tra tính nguyên vẹn thông điệp (message integrity) Một hàm băm nhận đầu vào xâu ký tự dài (hay thông điệp) có độ dài tùy ý tạo kết xâu ký tự có độ dài cố định, gọi tóm tắt thông điệp (message digest) chữ ký số (digital signature) Tạ Thị Thanh Thùy S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin - Mật mã đối xứng: Đây thuật toán mật mã mà trình mã hóa giải mã dùng khóa Thực tế hai khóa (mã hóa, giải mã) khác nhau, trường hợp khóa nhận từ khóa phép tính toán đơn giản Mật mã đối xứng chia thành hai loại: mã dòng mã khối + Mã dòng: Mã hóa dòng làm việc bít dòng liệu trình biến đổi thay đổi theo trình mã hóa + Mã khối: Mã hóa khối thuật toán mã hóa đối xứng hoạt động khối thông tin có độ dài xác định (block) với chuyển đổi xác định Chẳng hạn thuật toán mã hóa khối xử lý khối 128 bít đầu vào biến thành khối 128 bít đầu Quá trình chuyển đổi sử dụng thêm tham số nữa: khóa bí mật để cá biệt hóa trình Việc giải mã diễn tương tự: xử lý khối mã hóa 128 bít với khóa để trả khối 128 bít rõ ban đầu - Mật mã bất đối xứng: Đây phương pháp mật mã dùng hai khóa khóa công khai dùng cho trình mã, khóa mật dùng cho trình giải mã Khóa công khai khóa mật có quan hệ với biểu thức phức tạp, khóa công khai tính dễ dàng từ khóa mật, tính khóa mật từ khóa công khai toán khó không giải - Chữ ký điện tử: Phương pháp ký điện dạng điện tử, để đảm bảo tính nguyên vẹn xác thực quyền tác giả Như mật mã bất đối xứng, chữ ký điện tử dùng thuật toán mật mã với hai khóa, khóa công khai tính dễ dàng từ khóa mật, khóa mật khó tính từ khóa công khai Nhưng khác với mật mã bất đối xứng trình ký điện dùng khóa mật, trình kiểm tra điện dùng khóa công khai Và khóa mật chủ điện được, nhờ tính chất mà chống từ chối điện 1.3 Hệ mật mã khối 1.3.1 Giới thiệu chung Các hệ mã cổ điển (ví dụ: mã hóa dịch chuyển, mã hóa thay thế, mã hóa Affine, mã hóa Vigenere, mã hóa Hill) có đặc điểm chung ký tự rõ mã hoá tách biệt Điều làm cho việc phá mã trở nên dễ dàng Chính vậy, thực tế người ta hay dùng kiểu mật mã khác, Tạ Thị Thanh Thùy 10 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin : → () = (), ∈ : → Sự biến đổi nghịch đảo R tính sau: () = (…) = ||||…||||(, , …, , ), = || …||= ∈ , ∈ , = 0, 1, …, 15 : → (a) = (), ∈ : × → × (, ) = (() ⊕ , ), , , ∈ 3.1.3.4 Thuật toán tạo lược đồ khóa Thuật toán tạo lược đồ khóa sử dụng số ∈ , = 1, 2, …, 32 xác định sau: = (()), = 1, 2, …, 32 Các vòng khóa ∈ , = 1, 2, …, 10 bắt nguồn từ khóa = ||…|| ∈ , ∈ , = 0, 1, …, 255, sau: = ||…|| = ||…|| (, ) = []…[] (, ), = 1, 2, 3, 3.2 Các tính chất mật mã hộp thuật toán Gost R 34.12-2015 Ánh xạ hàm Boolean (hoặc đơn giản ánh xạ) m>0, n>0 gọi hộp kích thước n×m Trong thuật toán Gost R 34.12-2015, ta mô tả hộp kích thước × dạng hệ hàm Boolean Nếu xem đầu hộp hàm Boolean biến, thì: Biểu diễn dạng hàm Boolean hộp Gost R 34.12-2015 mô tả bảng đây: Tạ Thị Thanh Thùy 37 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin Bảng 3.1.Hệ hàm Boolean hộp Gost R 34.12-2015 Hệ hàm Boolean Đầu vào Đầu 0000 0000 0000 0001 0000 0010 0000 0011 0000 0100 0000 0101 0000 0110 0000 0111 0000 1000 0000 1001 0000 1010 0000 1011 … … … 0001 0000 0001 0001 0001 0010 0001 0011 0001 0100 0001 0101 0001 0110 0001 0111 0001 1000 0001 1001 1111 0100 1111 0101 1111 0110 1111 0111 1111 1000 1111 1001 1111 1010 1111 1011 1111 1100 1111 1101 1111 1110 1111 1111 FC EE DD 11 CF 6E 31 16 FB C4 FA DA … … … E9 77 F0 DB 93 2E 99 BA 17 36 E6 F4 B4 C0 D1 66 AF C2 39 4B 63 B6 Tạ Thị Thanh Thùy 0 1 1 0 … … … 1 0 1 0 0 1 1 0 0 1 1 1 … … … 1 1 1 1 0 0 1 1 1 1 1 1 0 … … … 0 0 1 1 0 1 0 0 38 1 1 0 1 … … … 0 1 1 0 0 0 0 1 0 1 0 1 1 … … … 1 1 1 1 1 0 0 1 0 1 1 … … … 1 0 1 1 1 0 1 1 1 1 1 0 1 1 … … … 1 1 0 0 0 1 1 1 1 1 1 0 1 1 … … … 1 1 1 0 1 1 1 0 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin Các tính chất mật mã hộp biểu diễn cho độ an toàn hệ mật bao gồm: - Độ phi tuyến - Tính cân - Bậc đại số - Tiêu chuẩn phân phối hiệu ứng thác chặt - Bậc suốt Tiếp theo, tìm hiểu tính chất hộp Gost 34.12-2015 3.2.1 Độ phi tuyến Tham số mật mã quan trọng hộp độ phi tuyến hộp Trong Gost R 34.12-2015, độ phi tuyến hộp độ phi tuyến nhỏ hàm Boolean tập gồm hàm Boolean tạo hộp tất tổ hợp tuyến tính hàm Boolean đó: , Trong Để đảm bảo độ an toàn, hộp tạo với độ phi tuyến tối đa để chống lại công thám mã vi sai công tuyến tính 3.2.2 Tính cân Hệ hàm Boolean gọi cân hàm Boolean f cân bằng, tức trọng số Hamming = 3.2.3 Bậc đại số Bậc đại số hộp deg(S) định nghĩa là: , Tạ Thị Thanh Thùy 39 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin 3.2.4 Tiêu chuẩn phân phối hiệu ứng thác chặt Một yêu cầu góp phần để đánh giá hộp thỏa mãn “hộp tốt” tiêu chuẩn phân phối (PC) hiệu ứng lan truyền thác chặt (SAC) Các tiêu chuẩn cho phép đánh giá xác suất thay đổi giá trị hàm Boolean phụ thuộc vào phần xác định đối số đầu vào Bậc tiêu chuẩn phân phối PC định nghĩa sau: РС = {РС(f1), РС(f2), , РС(f8), РС(f1+f2), , РС(f1 + f2 + + f8)} hay Tiêu chuẩn SAC yêu cầu rằng, giá trị i j thay đổi bit đầu vào i hộp dẫn đến thay đổi bit đầu j xác suất 0.5 3.2.5 Bậc suốt Trong phần này, xem xét trường hợp S-box Gost R 34.122015 có kích thước × bit (8,8)-F hàm, ánh xạ từ không gian vào không gian Với véc tơ x , HW(x) kí hiệu trọng số Hamming x Với tất (8 × 8)-hàm F, biểu diễn lại dạng hàm Bool () gọi hàm thành phần F, cho F(x)=,…, với x Prouff đưa độ đo cho việc định lượng khả kháng lại công sai lượng DPA gọi bậc suốt ( Transparency order) S-box F=) tính qua công thức sau [18]: = (1) Với := Thay u=0 vào (2) ta có:= Do hàm (n,n) - hàm F véc tơ , ta có: = Nên = = Tạ Thị Thanh Thùy 40 (2) (3) (4) S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin Thay vào biểu thức (1) ta có: = (5) Rút gọn (5) ta biểu thức bậc suốt S-box nbit sau: = Vậy Gost R 34.12-2014, ta tính bậc suốt S-box bit sau: = 3.2.6 Xác suất xấp xỉ tuyến tính Giá trị xác suất xấp xỉ tuyến tính cực đại S-box GOST R 34.122015 định nghĩa theo công thức sau: LP= Trong giá trị mặt nạ đầu vào đầu cho tập tất giá trị đầu vào có giá trị đầu tương ứng với 3.2.7 Xác suất xấp xỉ vi sai: Xác suất xấp xỉ vi sai S-box GOST R 34.12-2015 thước đo tính đồng sai phân định nghĩa theo công thức sau: #{ x ∈ X / S ( x ) ⊕ S ( x ⊕ ∆x ) = ∆y} DP s ( ∆x → ∆y ) = 28 3.3 Xây dựng chương trình tính toán phân tích tính chất mật mã hộp Gost R 34.12-2015 3.3.1 Yêu cầu chương trình Chương trình xây dựng dựa công thức tính toán tính chất mật mã hộp để đưa thông số giá trị: tính toán hàm cân bằng, độ phi tuyến, bậc đại số, hiệu ứng thác thác chặt bậc suốt Các công thức tính toán trình bày mục 3.2 Khi chạy chương trình yêu cầu nhập vào file chưa hộp lưu dạng txt Khi chương trình sử dụng file để thực chuyển đổi tính toán dựa công thức 3.3.2 Lựa chọn công cụ lập trình Tạ Thị Thanh Thùy 41 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin Để thực việc tính toán đưa thông số giá trị S-box ta cần sử dụng công thức tính toán nêu mục 3.2 Vì cần lựa chọn công cụ lập trình phù hợp với việc tính toán để đưa kết nhanh dễ hiểu Ngôn ngữ lập trình môi trường biên dịch lựa chọn ngôn ngữ C/C++ biên dịch Dev C/C++ 3.3.3 Giới thiệu chương trình Chương trình viết ngôn ngữ C/C++ môi trường phát triển Dev C/C++, thực máy tính cá nhân Asus Intel(R) Core i5, CPU 2450M, RAM 4.00GB, hệ điều hành Windows 8.1 Chương trình thiết kế đơn giản, cho ta thực bước ta mong muốn đưa kết rõ ràng, dễ hiểu Khi thực thi, chương trình hiển thị Hình 3.1 Chương trình đưa thông báo nhập kích thước hộp (M x N) Hình 3.1 Giao diện bắt đầu thực thi chương trình Sau nhập kích thước đầu vào, chương trình yêu cầu nhập kích thước đầu N đường dẫn tới file cần nhập Yêu cầu tên file phải định dạng txt giá trị file phải cách phím tab Tạ Thị Thanh Thùy 42 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin Hình 3.2 Chương trình yêu cầu nhập tên file Sau nhập tên file định dạng đường dẫn, chương trình thực thi tính toán đưa kết Hình 3.3 Hình 3.3 Kết thực thi chương trình Trong trường hợp nhập sai tên file hay đường dẫn file, chương trình đưa thông báo lỗi mở file Hình 3.4 Tạ Thị Thanh Thùy 43 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin Hình 3.4 Thông báo lỗi mở file nhập sai Hay trường hợp khác, ta nhập kích thước đầu vào không tương ứng với kích thước hộp sbox, ta nhận thông báo lỗi Hình 3.5 chương trình không thực thi để tính toán Hình 3.5 Chương trình thông báo lỗi kích thước nhập vào không tương ứng với sbox nhập vào 3.4 So sánh với hộp hệ mật thông dụng AES Tạ Thị Thanh Thùy 44 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin Để hiểu rõ tính chất mật mã hộp Gost R 34.122015, ta so sánh tính chất hộp Gost R 34.12-2015 với hộp AES: Bảng 3.2.So sánh số tính chất hộp Gost R 34.122015 AES Tính chất Sbox Tính cân Độ phi tuyến Bậc đại số Bậc suốt Điểm bất động Hiệu ứng thác chặt Giá trị xấp xỉ vi sai Giá trị xấp xỉ tuyến tính cực đại Gost R 34.12-2015 Có 100 7.835 Không thỏa mãn 28 AES Có 112 7.86 Không thỏa mãn 16 Theo bảng trên, ta so sánh cụ thể tính chất hai hộp hai thuật toán sau: - Về tính cân bằng: Cả hai hộp hai thuật toán thỏa mãn tính cân Vì chúng có khả chống lại công thống kê, giúp cho thuật toán đảm bảo an toàn - Về độ phi tuyến: Như biết, độ phi tuyến yếu tố quan trọng hộp thuật toán mã hóa Độ phi tuyến cao tốt Dựa vào kết đưa bảng so sánh nhờ chương trình tính toán, ta nhận thấy độ phi tuyến hộp thuật toán AES cao so với độ phi tuyến hộp thuật toán Gost R 34.12-2015 Tạ Thị Thanh Thùy 45 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin Tuy độ phi tuyến hộp Gost R 34.12-2015 thấp AES tính an toàn hộp không đảm bảo Độ an toàn thuật toán dựa vào độ phi tuyến đạt mức an toàn cho phép - Về bậc đại số: Như ta biết, bậc đại số cao tốt Bậc đại số có ý nghĩa đặc trưng cho việc chống lại công thám mã vi sai công đại số Các hàm Boolean f hệ hàm Boolean hộp hai thuật toán có bậc đại số Đó giá trị cao giúp cho tính an toàn thuật toán đảm bảo - Về bậc suốt: Bảng so sánh cho thấy mặt kết tính toán bậc suốt S-box thuật toán Gost 34.12-2015 tốt so với giá trị bậc suốt S-box thuật toán AES (7.835 < 7.860) Tuy vậy, để nói khả chống lại công sai lượng DPA hai thuật toán tương đương hay không cần có thêm nghiên cứu chuyên sâu - Về điểm bất động S-box: Số điểm bất động số cặp đầu vào – đầu qua S-box Càng nhiều điểm bất động, kẻ thám mã dễ dàng tìm quy luật để công Đối với S-box hai thuật toán trên, số điểm bất động Như vậy, tính an toàn thuật toán đảm bảo - Về hiệu ứng lan truyền thác chặt: Hiệu ứng thác chặt SAC đặc trưng cho việc chống lại thám mã vi sai Tuy nhiên hai hộp hai thuật toán không thỏa mãn tính chất Khả bị công thám mã vi sai xảy - Về giá trị xấp xỉ vi sai Giá trị xấp xỉ vi sai hộp Gost R 34.12-2015 cao so với giá trị xấp xỉ vi sai hộp AES Do ta thấy khả chống lại công vi sai AES tốt Gost R 34.12-2015 - Về giá trị xấp xỉ tuyến tính cực đại Theo bảng so sánh trên, giá trị xấp xỉ tuyến tính hộp Gost R 34.12-2015 cao so với giá trị xấp xỉ tuyến tính AES Vì nói khả chống lại công tuyến tính AES tốt Tạ Thị Thanh Thùy 46 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin Ngoài tính chất đề cập Một tính chất quan trọng cần nghiên cứu kỹ tính chất “độ dư tuyến tính (linear redundancy)”, theo công trình công bố hộp AES có độ dư tuyến tính hoàn toàn, hộp GOST R 34.12-2015 độ dư tuyến tính [21, 22] 3.5 Đánh giá, nhận xét chương trình tính toán Chương trình đáp ứng yêu cầu đặt tính toán số tính chất mật mã hộp thuật toán Gost 34.12-2015 Qua phân tích tính chất mật mã để hiểu khả chống lại công thám mã vi sai, tuyến tính,… Từ rút được, độ an toàn hộp phụ thuộc vào tính chất độ phi tuyến, bậc đại số, tính cân bằng, bậc suốt…, biết tính chất có điểm mạnh, điểm yếu để khắc phục cải tiến giúp tăng độ an toàn cho thuật toán Tạ Thị Thanh Thùy 47 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin KẾT LUẬN Với phát triển nhanh chóng Internet ứng dụng giao dịch điện tử, nhu cầu bảo vệ thông tin ngày trở nên quan trọng Để đáp ứng nhu cầu đó, việc phát triển thuật toán mã hóa điều vô cần thiết Thuật toán GOST 34.1-2015 đời đáp ứng phần nhu cầu Trong báo cáo “PHÂN TÍCH MỘT SỐ TÍNH CHẤT MẬT MÃ CỦA HỘP THẾ TRONG HỆ MẬT MÃ KHỐI GOST 34.12-2015” trình bày hiểu biết hệ mật, hệ mật mã khối, thông tin thuật toán mã khối Nga hàm Boolean, tính chất mật mã hàm Boolean cần thiết việc ứng dụng hộp (S-box) hệ mật mã khối, thuộc tính mật mã hộp Đồng thời phân tích tính chất mật mã hộp thuật toán GOST 34.12.2015, đưa số so sánh với hộp hệ mật thông dụng AES, lựa chọn ngôn ngữ lập trình thích hợp để viết chương trình cho phép tính toán phân tích tính chất mật mã hộp Do thời gian thực đồ án có hạn kiến thức hiểu biết chưa sâu sắc nên phạm vi đồ án em nghiên cứu số tính chất mật mã hộp thuật toán Gost R 34.122015 Hộp nhiều tính chất quan trọng khác Trong thời gian tiếp theo, em nghiên cứu tìm hiểu thêm số tính chất khác hộp mà đồ án chưa đề cập đến Đồng thời xây dựng thêm chương trình tính toán tính chất mật mã để giúp cho việc tính toán tìm hiểu dễ dàng Rất mong nhận góp ý quý thầy cô góp để em bổ sung kiến thức có ích cho nghiên cứu sau Em xin chân thành cảm ơn! Tạ Thị Thanh Thùy 48 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin TÀI LIỆU THAM KHẢO [1] Nguyễn Đình Vinh, Trần Quang Kỳ Giáo trình Cơ sở an toàn thông tin//Học viện Kỹ thuật mật mã, 2006 [2] Nguyễn Bình Giáo trình Lý thuyết thông tin, NXB Bưu điện, 2007 [3] Hoàng Đức Thọ Thực hộp kích thước lớn cách ứng dụng đa thức nguyên thủy kết hợp//Tạp chí khoa học công nghệ, Học viện bưu viễn thông, 2015, tr 129 – 142 [4] Trần Văn Trường, Trần Quang Kỳ Giáo trình Mật mã học nâng cao//Học viện Kỹ thuật mật mã, 2007 [5] Ngô Việt Trung Giáo Trình Đại Số Tuyến Tính, NXB Đại Học Quốc Gia, 2002 [6] Trần Văn Trường Một số vấn đề thuật toán mã khối http://antoanthongtin.vn/Detail.aspx?NewsID=8ad717d5-3086-4856a939-c15d965f176b&CatID=43b7448c-0f7e-4558-a39f-1d209751aad2 [7] Nguyễn Khanh Văn Giáo trình An toàn & Bảo mật thông tin, Viện CNTT-TT, ĐHBKHN, 2012 [8] Nguyễn Văn Kiên Mật mã khối mật mã khóa đối xứng, Trường Đại học Bách khoa Hà Nội, 2008 [9] Nguyễn Bình, Hoàng Thu Phương Cơ sở lý thuyết mật mã //Giáo trình Học viện Kỹ thuật mật mã, 2013 [10] V Dolmatov, Ed GOST R 34.12-2015: Block Cipher "Kuznyechik" //draft-dolmatov-kuznyechik-01, 2015 [11] Federal agency on metrology,Gost R 34.12-2015// technical regulation and http://tc26.ru/en/standard/gost/GOST_R_34_12_2015_ENG.pdf [12] Iqtadar Hussain, Tariq Shah, Muhammad Asif Gondal and Waqar Ahmad Khan Construction of Cryptographically Strong 8x8 S-boxes, 2011 Tạ Thị Thanh Thùy 49 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin [13] Alex Biryukov, Léo Perrin, Aleksei Udovenko, The Secret Structure of the S-Box of Streebog, Kuznechik and Stribob, August 27, 2015 [14] Vasily Shishkin, Denis Dygin, Ivan Lavrikov, Grigory Marshalko, Vladimir Rudskoy, Dmitry Trifonov, Low-Weight and Hi-End:Draft Russian Encryption Standard [15] Carlet, Claude "Boolean functions for cryptography and error correcting codes." Boolean models and methods in mathematics, computer science, and engineering (2010): 257 [16] Tan, Yin, Guang Gong, and Bo Zhu "Enhanced criteria on differential uniformity and nonlinearity of cryptographically significant functions."Cryptography and Communications (2015): 1-21 [17] Hoang Duc Tho Application of Composition Primitive Polynomials for Implementation of Large-Scale S-boxes Lobachevskii Journal of Mathematics 34 (4) (2013) 316-318, USA Springer [18] Picek, Stjepan, et al "Optimality and beyond: The case of 4× s-boxes."Hardware-Oriented Security and Trust (HOST), 2014 IEEE International Symposium on IEEE, 2014 [19] Prouff, Emmanuel "DPA attacks and S-boxes." Fast Software Encryption Springer Berlin Heidelberg, 2005 [20] Preneel B., Biryukov A., Oswald E., Val Rompay B., et al NESSIE security report http://cryptonessie.org [21] Ivanov, Georgi, Nikolay Nikolov, and Svetla Nikova "Reversed genetic algorithms for generation of bijective s-boxes with good cryptographic properties." Cryptography and Communications (2014): 1-30 Tạ Thị Thanh Thùy 50 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin [22] Fuller, Joanne, and William Millan "Linear redundancy in S-boxes." Fast Software Encryption Springer Berlin Heidelberg, 2003 Tạ Thị Thanh Thùy 51 S-box Gost 34.12-2015 [...]... này, các phương trình tượng trưng cho 2 vòng của thuật toán là: R1 2 = R1 ⊕ ri Sri SR1 R2 2 = ri S 1R1 và sau 3 vòng là R1 3 = r1 SR1 ⊕ ri S ( R1 ⊕ ri Sri SR1 ) R2 3 = R1 ⊕ riSri SR1 Nếu giả thiết r ng ri S ( R1 ⊕ riSri SR1 ) = ri SR1 ⊕ riSri Sri SR1 Tạ Thị Thanh Thùy 18 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin Chúng ta có thể nói một điều gì đó về tính khuyếch tán của R1 bởi hai 5 5 nửa... phần của hộp thế (S-box) Tiếp theo, chúng ta sẽ xem xét một số khái niệm và định nghĩa liên quan đến hộp thế (S-box) 2.2 Sự cần thiết của việc ứng dụng hộp thế (S-box) trong các hệ mật mã khối và các thuộc tính mật mã của hộp thế Các hộp thế (S-box) có ý nghĩa r t quan trọng đối với độ an toàn của các hệ mật Độ an toàn của thuật toán mã hóa, trước hết được xác định bởi các thành phần phi tuyến của nó... trình mã hóa, sao cho không thể tìm được sự phụ thuộc của đầu ra từ đầu vào bằng các phép toán tuyến tính nào đó Các kiểu hộp thế: trong các hệ mật mã khối, các hộp thế thực hiện việc biến đổi n đầu vào thành m bít đầu ra Trong trường hợp, nếu n = m , Hộp thế được gọi là hộp thế bijective, nếu n > m , hộp thế được gọi là hộp thế nén; n < m , được gọi là hộp thế mở r ng Có thể mô tả hộp thế dưới dạng một. .. Shanon trong công trình được công bố năm 1949 theo nguyên lý này, hệ mật mã khối là sự kết hợp của 2 khối hoạt động – khối xáo trộn (Confusion) và khối khuếch tán (Difusion) Trong đó, “xáo trộn” làm phức tạp hóa việc xây dựng mối quan hệ của các thuộc tính phân tích thống kê giữa bản r và bản mã, còn “khuếch tán” là phân phối sự ảnh hưởng của một ký tự bản r lên một số lượng lớn các ký tự của bản mã, r ng... hưởng của các tính chất trên bản r lên bản mã Từ r t lâu trước đây, các phương pháp thám mã hệ mật mã khối đã xuất hiện, nhưng nguyên lý nói trên vẫn là cơ sở của các hệ mật hiện đại Sự phát triển không ngừng của phía mã thám thúc đẩy các nhà mật mã học phát triển các thuật toán mật mã mới, có khả năng chống lại các tấn công Đồng ý với quan điểm an toàn trong NESSIE 2003 [20] r ng, đối với các hệ mật mã. .. đó là các hộp thế Ngày nay việc nghiên cứu các tính chất của hộp thế và khả năng cải thiện chúng là một trong những nhiệm vụ chính trong lĩnh vực nghiên cứu về các thuật toán mã hóa đối xứng Trong mã khối, bản r được chia thành các khối có kích thước cố định, các phép biến đổi của thuật toán sẽ thực hiện trên các khối đó, kết quả là một khối bản mã Nguyên tắc chính trong xây dựng hệ mật mã khối đã được... của hệ mật mã khối Độ an toàn của hầu hết các nguyên thủy mật mã đối xứng hiện đại phụ thuộc r t nhiều vào các tính chất của các hộp thế được lựa chọn, các tính chất này như là phần tử cơ bản xác định độ an toàn của hệ mật chống lại các kiểu thám mã Tạ Thị Thanh Thùy 27 S-box Gost 34.12-2015 Đồ Án Tốt Nghiệp Khoa An Toàn Thông Tin Hộp thế thực hiện thay thế khối đầu vào bằng khối đầu ra trong quá trình... trong đó từng khối ký tự của bản r được mã hoá cùng một lúc như là một đơn vị mã hoá đồng nhất, gọi là phương pháp mã hóa khối Quá trình mã hóa khối bao gồm 2 thuật toán: mã hóa - ký hiệu và giải mã - ký hiệu Cả 2 thuật toán đều tác động lên một khối đầu vào n bít sử dụng một khóa k bít để cho ra một khối đầu ra n bít Đối với bất kỳ khóa nào, giải mã là hàm ngược của mã hóa, nghĩa là: Ta có: là khối. .. trong quá trình truyền tin cũng như lưu trữ thông tin Một ứng dụng quan trọng khác của DES là kiểm tra tính xác thực của mật khẩu truy nhập vào một hệ thống (hệ thống quản lý bán hàng, quản lý thiết bị viễn thông…), hay tạo và kiểm tính hợp lệ của một mã số bí mật (thẻ internet, thẻ điện thoại di động trả trước), hoặc của một thẻ thông minh (thẻ tín dụng, thẻ payphone…) Tạ Thị Thanh Thùy 11 S-box Gost 34.12-2015... loại mã hoá khối Qua thời gian thì có r t nhiều hệ mã khối ra đời và đã được phát triển Có thể kể ra một số hệ mã sau: DES (1977), 3-DES (1985)(t53), FEAL, REDOC, LOKI (1990), IDEA (1990), MMB, CA-1.1, Shipjack, GOST, Blowfish, SAFER, AES (2001), Trong đó phải kể đến thuật toán mã hóa DES được sử dụng r ng r i và có tầm quan trọng vô cùng to lớn DES thường được dùng để mã hoá bảo mật các thông tin trong