CẢI TIẾN AES SBOX VÀ PHÂN TÍCH HIỆU SUẤT CỦA SBOX ĐÃ CẢI TIẾN

34 32 0
CẢI TIẾN AES SBOX VÀ PHÂN TÍCH HIỆU SUẤT CỦA SBOX ĐÃ CẢI TIẾN

Đ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

HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TOÀN THÔNG TIN BÀI TẬP LỚN MÔN HỌC NHẬP MÔN MẬT MÃ HỌC CẢI TIẾN AES SBOX VÀ PHÂN TÍCH HIỆU SUẤT CỦA SBOX ĐÃ CẢI TIẾN Giảng viên hướng dẫn Hoàng Thu Phương Sinh viên th.

HỌC VIỆN KỸ THUẬT MẬT MÃ KHOA AN TỒN THƠNG TIN BÀI TẬP LỚN MÔN HỌC NHẬP MÔN MẬT MÃ HỌC CẢI TIẾN AES SBOX VÀ PHÂN TÍCH HIỆU SUẤT CỦA SBOX ĐÃ CẢI TIẾN Giảng viên hướng dẫn: Hoàng Thu Phương Sinh viên thực hiện: xxxxxxx xxxxxxx xxxxxxx xxxxxxx xxxxxx Lớp: xxxx Khóa: Hà Nội, tháng năm 2021 LỜI MỞ ĐẦU Từ người có nhu cầu trao đổi thơng tin nhu cầu giữ bí mật, đảm bảo tính riêng tư thơng tin nảy sinh Hình thức thơng tin trao đổi phổ biến sớm dạng văn Để giữ bí mật người ta sớm nghĩ cách che dấu nội dung văn cách biến dạng văn để người ngồi đọc khơng hiểu đồng thời có cách khơi phục lại nguyên dạng ban đầu để người nhận tin hiểu Theo cách gọi ngày giao thức chuyển đổi văn gốc thành văn mã hóa gọi “thuật tốn mã hóa” Trải qua hàng nghìn năm, có nhiều thuật tốn đưa nhằm mục đích bảo mật thơng tin với độ an tồn cao Và số thuật tốn mã khối đối xứng khóa riêng AES (Advanced Encryption Standard) Viện Tiêu chuẩn Công nghệ Hoa Kỳ (NIST) chọn làm chuẩn mã hóa từ tháng 10 năm 2000 AES thuật tốn mã hóa phổ biến, dùng cho nhiều mục đích phủ Mỹ sử dụng để bảo vệ thông tin tuyệt mật S-Box thành phần phi tuyến sử dụng việc xây dựng mật mã AES Là thành phần phi tuyến phần có vai trị che dấu mối quan hệ khóa mã, S-Box đóng góp nhiều vào bảo mật AES nói chung Một số nghiên cứu yếu điểm độ phức tạp bảo mật AES S-box, yếu điểm bị lợi dụng để thực công Mặc dù chưa có cơng thành công vào AES đầy đủ yếu điểm S-Box cần quan tâm Vấn đề đặt tìm cách cải tiến AES S-Box nhằm hạn chế yếu điểm Phiên cải tiến phải đảm bảo khắc phục hạn chế S-Box, có hiệu suất cao dễ dàng áp dụng cho AES Để tìm hiểu sâu yếu điểm AES S-Box; cách xây dựng AES S-Box cải tiến hiệu suất S-Box cải tiến so với S-Box chưa cải tiến, chúng em lựa chọn đề tài “Cải tiến AES S-Box phân tích hiệu suất S-Box cải tiến” LỜI CẢM ƠN Chúng em xin chân thành cảm ơn Hồng Thu Phương bảo tận tình giúp đỡ chúng em suốt trình làm tập lớn môn học Với hướng dẫn cô, nhóm chúng em có định hướng tốt việc triển khai thực yêu cầu tập lớn môn học Mặc dù chúng em cố gắng hoàn thành tập lớn phạm vi khả có thể, nhiên khơng tránh khỏi thiếu sót Chúng em mong nhận cảm thông bảo cô Một lần chúng em xin chân thành cảm ơn ! MỤC LỤC DANH MỤC CÁC HÌNH VẼ .1 DANH MỤC CÁC BẢNG .2 MỞ ĐẦU CHƯƠNG 1: NGUYÊN LÝ VÀ ĐẶC TÍNH CỦA AES S-BOX .4 1.1 Giới thiệu AES S-Box 1.2 Nguyên lý cấu tạo AES S-Box 1.3 Các tính chất phép biến đổi affine .5 1.4 Các thuộc tính lặp lại AES S-box 1.5 Kết luận chương .7 CHƯƠNG 2: SƠ ĐỒ AES S-BOX CẢI TIẾN 2.1 2.2 2.3 2.4 Đặt vấn đề Sơ đồ AES S-Box cải tiến Xây dựng AES S-Box nghịch đảo Kết luận chương 11 CHƯƠNG 3: PHÂN TÍCH HIỆU SUẤT CÚA AES S-BOX ĐÃ CẢI TIẾN VÀ THỰC HIỆN SO SÁNH VỚI S-BOX CHƯA CẢI TIẾN 13 3.1 3.2 3.3 3.4 Tính chất biểu thức đại số AES S-Box 13 Thuộc tính đại số hàm boolean 14 So sánh hiệu suất 18 Kết luận chương 19 CHƯƠNG 4: XÂY DỰNG THUẬT TỐN MÃ HĨA VÀ GIẢI MÃ SỬ DỤNG THUẬT TỐN AES BẰNG NGƠN NGỮ JAVA 20 4.1 Thuật toán AES 20 4.2 Q trình mã hóa .20 4.2.1 SubBytes 21 4.2.2 ShiftRows 22 4.2.3 MixColumns .23 4.2.4 AddRoundKey 24 4.3 Code thực mã hóa giải mã 27 4.3.1 Code q trình mã hóa 27 4.3.2 Code trình giải mã 27 4.3.3 Kết thực chương trình .28 4.4 Kết luận chương .28 KẾT LUẬN 29 TÀI LIỆU THAM KHẢO 30 DANH MỤC CÁC HÌNH VẼ Hình 4.1: Sơ đồ tổng qt q trình mã hóa AES 20 Hình 4.2: AES S-Box cải tiến 22 Hình 4.3: ShiftRows AES .23 Hình 4.4: Mơ tả phép biến đổi MixColumns AES 24 Hình 4.5: AddRoundKey AES .25 Hình 4.6: Mơ tả thuật tốn sinh khóa vịng AES 26 DANH MỤC CÁC BẢNG Bảng 1: Các khoảng thời gian lặp lại AES S-Box .7 Bảng 2: AES S-Box cải tiến .9 Bảng 3: Các hệ số biểu thức đại số AES S-Box cải tiến 11 Bảng 4: Hệ số biểu thức đại số nghịch đảo AES cải thiện .11 Bảng 5: SAC AES S-Box 15 Bảng 6: SAC AES S-Box cải tiến .16 Bảng 7: So sánh thuộc tính mật mã S-Box cải tiến chưa cải tiến 18 MỞ ĐẦU Kể từ thuật toán Rijndael NIST chọn làm tiêu chuẩn mã hóa nâng cao (AES) vào ngày tháng 10 năm 2000 thu hút nhiều ý, nhiều phương pháp công vào AES đề xuất, chưa có cơng thành cơng Trong AES, S-Box hoạt động phi tuyến tính đóng vai trị quan trọng việc chống lại cơng khác phân tích mật mã tuyến tính phân tích mật mã khác biệt AES S-Box bao gồm phép biến đổi: lấy giá trị nghịch đảo x GF(28) áp dụng phép biến đổi affine GF(2) Từ vài yếu điểm AES S-Box Những điểm yếu gây nghi ngờ khả bảo mật AES S-Box Vì vậy, AES S-Box cần cải tiến Phương pháp cải tiến đưa sửa đổi phép biến đổi affine thêm phép biến đổi affine Kết mô cho thấy AES S-Box cải tiến tốt AES S-Box chưa cải tiến đặc tính mật mã Chúng em áp dụng xây dựng chương trình mã hóa giải mã sử dụng thuật tốn AES Ở chương sau tập lớn, chúng em trình bày kỹ vấn đề Cụ thể tập lớn gồm phần mở đầu, kết luận chương với nội dung sau: + Chương 1: Nguyên lý đặc tính AES S-Box + Chương 2: Sơ đồ AES S-Box cải tiến + Chương 3: Phân tích hiệu suất AES S-Box cải tiến thực so sánh với S-Box chưa cải tiến + Chương 4: Xây dựng thuật tốn mã hóa giải mã sử dụng thuật tốn AES ngơn ngữ Java CHƯƠNG 1: NGUYÊN LÝ VÀ ĐẶC TÍNH CỦA AES S-BOX 1.1 Giới thiệu AES S-Box Thuật tốn mã hóa AES sử dụng loại S-Box bit cố định S-Box S(x) để mã hóa S-Box nghịch đảo S’(x) để giải mã Nội dung chương trình bày chi tiết nguyên tắc cấu tạo AES S-Box; phân tích đặc tính affine chuyển đổi chu kỳ lặp lại AES S-Box 1.2 Nguyên lý cấu tạo AES S-Box Phép biến đổi S-Box phép toán byte phi tuyến, hoạt động byte trạng thái cách độc lập Bảng thay (hoặc S-Bx) đảo ngược cấu tạo hợp thành hai phép biến đổi: (1) Lấy nghịch đảo (x’)-1 trường GF(28) (x ′ )- định nghĩa bởi: x = (x ′ )-1 = (2) Thực phép biến đổi affine (trên GF (2)) Phép biến đổi affine xác định: hay đó, bit tính theo cơng thức: với i nằm đoạn từ đến • • • yi bit thứ i byte cần chuyển đổi xi bit thứ i byte kết sau chuyển đổi ci bit thứ i byte có giá trị H63 = B01100011 Cụ thể, biểu thức tính tốn affine cho bit (chú ý, “+” phép XOR) Từ mơ tả trên, suy biểu thức toán học AES S-Box: hệ số số mũ công thức hệ thập lục phân 1.3 Các tính chất phép biến đổi affine Bây phân tích thuộc tính (tính chất) chuyển đổi affine AES S-Box Định nghĩa 1.1 Phép biến đổi affine GF(28) L u,v(a(x)) : a(x) → b(x) ký hiệu L u,v(a) định nghĩa L u,v(a(x)) : a(x) → b(x) = u(x)a(x) + v(x) mod x8 + với u(x) = v(x) = a(x) = Phép biến đổi affine AES S-box L1F,63 u(x) = (x4+ x3 + x2 + x + 1) v(x) = (x6 + x5 + x + 1) Ta đặt phép biến đổi affine ký hiệu L u,v(a) = F a + v Ta có (a) = L u,v(L (a)) hay L (a) = F k a + F k−1 v + F k−2 v + · · · + F v + v Đặt H k−1 = F k−1 + F k−2 + · · · + F + E L (a) = F k a + H k−1 v, với E ma trận x Định nghĩa 1.2 Nếu tồn số nguyên dương n thỏa mãn L = E Lu,v thỏa mãn tính tuần hồn Nếu n số nguyên dương nhỏ chu kỳ Lu,v n Phép biến đổi affine AES S-box Lu,v=L1F,63 Bởi L1F,63 thỏa mãn điều kiện L(a) = a L (a) a, i = 1,2, nên chu kỳ biến đổi affine AES S-Box Theo nguyên tắc biến đổi AES S-Box, nghiên cứu với u,v thuộc GF(28), phép biến đổi affine có chu kỳ khác nhau: 1, 2, 4, 8, 16, tức khoảng thời gian lớn lên đến 16 Ví dụ, giai đoạn L01,01, L01,02, L01,04, L01,07,…, L04,04, L04,07, L04,08, L01,0B,…, L5B,5D,…, LFE,F8, LFE,FB, LFE,FD, LFE,FE 16 Trong AES S-Box chọn biến đổi affine với giai đoạn !! 1.4 Tính chất lặp lại AES S-box Một định nghĩa có liên quan đưa tính tuần hồn Định nghĩa 1.3 Gọi S(x) biểu thị hàm S-Box, tồn số nguyên dương n thỏa mãn Sn(x) = x S(x) thỏa mãn tính tuần hoàn Nếu n số nguyên dương nhỏ n chu kỳ S(x) Với x thuộc GF(28), xét phương trình Sn(x) = x tính toán lặp lặp lại khoảng thời gian Kết tính tốn thể Bảng Rõ ràng AES S-Box có giai đoạn lặp lại bao gồm 87, 81, 59, 27 Năm giai đoạn thỏa mãn 87 + 81 + 59 + 27 + = 256, khơng có giao quỹ đạo chu kỳ Tổng không gian S-Box 256, khoảng thời gian lặp lại tất phần tử nhỏ 88 Hơn nữa, có quỹ đạo lặp lại với chu kỳ 2, hộp S AES có chu kỳ ngắn phân phối khơng tốt, để lại số lacuna (lỗ hổng) cho AES 10 diễn khác trở nên yếu N (F) đạt mức tối đa Chúng ta thu từ định nghĩa 4.5 AES S-Box AES S-Box cải tiến có N (F) = 112 N (F) hàm phi tuyến hoàn hảo N (F) = 2n-1 – 2n/2 -1 =120 AES S-Box AES S-Box cải tiến khơng phải hàm phi tuyến tính hồn hảo, N (AES S-box) N (AES S-box cải tiến) gần với N (F) hàm phi tuyến hồn hảo Khả chống lại phân tích mật mã tuyến tính AES Sbox cải tiến chưa cải tiến tương đối hoàn hảo Định nghĩa 3.6: Giả sử F(x) = (f1(x), …, fn(x)) từ GF (2n) đến GF (2n) hàm boolean nhiều đầu ra, tồn a thuộc GF (2n), thỏa mãn F(x) +F(x+) = const, cấu trúc tuyến tính F (x) xác định Định lý 3.2: AES S-Box cấu trúc tuyến tính khác khơng Bằng chứng: Giả sử ngược lại, AES S-box có cấu trúc tuyến tính khác không (tồn khác 0) Trong trường hợp này, cho c khác thỏa mãn số Rõ ràng Cho x=0, ta thu β = La × c-1, vậy, có Bởi det(La) khác 0, det biểu thị việc lấy biểu thức ma trận, Tuy nhiên, theo nguyên tắc phép nhân nghịch đảo, rõ ràng Do tồn mâu thuẫn Chính vậy, AES S-Box khơng có cấu trúc tuyến tính khác không Định lý 3.3: AES S-box cải tiến có cấu trúc tuyến tính khác Chứng minh: AES S-box cải tiến Giả sử Ngược lại , Hộp AES S-Box cải tiến có cấu trúc tuyến tính khác Trong trường hợp c khác 0, thỏa mãn: với β số rõ ràng 20 Lb×(Lb×(x+c)+’5D′ ) -1+Lb×(Lb×x+ ‘5D′ ) -1 = β Khi x=0, lấy , có Lb × ( ‘5D′ ) -1 Khi det(Lb) khác 0, có rõ ràng Đặt t = Lb*x, p=Lb*c+ ‘5D’, q=’5D’, có Tuy nhiên , theo nguyên tắc lấy phép nhân nghịch đảo, rõ ràng là: Khi tồn mâu thuẫn Vì AES S-box cải tiến có cấu trúc tuyến tính khác 3.3 So sánh hiệu suất Để so sánh, tính mật mã hộp AES S-Box AES-Box sau cải tiến kiểm tra thí nghiệm mơ Các đặc tính liên quan hộp S thí nghiệm Bảng so sánh hiệu suất thể bảng 21 Bảng 7: So sánh thuộc tính mật mã S-Box cải tiến chưa cải tiến - Như thấy từ bảng 7, DSAC hộp AES S-box sau cải tiến giảm từ 432 tới 372 Tức AES S-box có hiệu suất SAC tốt AES S-box hộp S[7] - Số số hạng biểu thức đại số AES S-box tăng từ đến 255, Sbox nghịch đảo dạng biểu thức đại số AES cải thiện có số số hạng gần với S-box nghịch đảo AES Nó tránh lỗ hổng thuật ngữ khơng dạng đa thức AES S-box mà dạng đa thức S-box nghịch đảo [7] - Thời gian chuyển đổi Affine tăng từ đến 16, AES S-box sau cải tiến có hiệu suất tốt việc chuyển đổi affine AES S-box S-box - Thời gian lặp lại S-box AES cải tiến tăng lên 256, khoảng thời gian lặp lại S-box AES S-box[7] nhỏ 88 Tóm lại S-box AES cải thiện có đặc tính mật mã tốt 3.4 Kết luận chương Với AES S-Box đề xuất, tốc độ mã hóa liệu tăng lên thời gian ngắn Nhưng trái lại, AES cải tiến cần nhiều thời gian để mã hóa Trong đó, mật mã khối 128 bit ghép nối để tăng hiệu xuất AES Ngồi ra, tính bảo mật AES cải thiện cách tăng cường ma trận ứng dụng mở rộng nên AES sử dụng để giao tiếp an tồn mã hóa hình ảnh, mạng ATM lưu trữ an toàn chẳng hạn tài liệu mật, tài liệu phủ thiết bị lưu trữ cá nhân 22 CHƯƠNG 4: XÂY DỰNG THUẬT TỐN MÃ HĨA AES VỚI SBOX ĐÃ CẢI TIẾN SỬ DỤNG NGÔN NGỮ C/JAVA 4.1 Thuật toán AES AES biến thể phương pháp Rijndael, làm việc với kích thước khối cố định 128 bit kích thước khóa 128, 192 256 bit Độ dài khóa định AES có vịng lặp, cụ thể: • • • 10 vịng với khóa 128 bit 12 vịng với khóa 192 bit 14 vịng với khóa 256 bit 4.2 Q trình mã hóa Mỗi vịng thuật tốn AES bao gồm bước: • • • • Cộng khóa vòng – AddRoundKey Phép byte – SubBytes Phép dịch hàng – ShiftRows Trộn cột – MixColumns 23 Tại vòng cuối khơng thực phép trộn cột (MixColumns) Kết vòng gọi state Kết trở thành đầu vào vòng Hình 4.1: Sơ đồ tổng quát trình mã hóa AES Đoạn mã giả cho q trình mã hóa tổng quát Cipher (byte in[4, Nb] byte out[4, Nb] word w[Nb, (Nr + 1)] Begin byte state[4, Nb] state = in AddRoundKey (state,w) for round = to Nr - SubBytes (state) // Xem phần 4.2.1 ShiftRows (state) // Xem phần 4.2.2 MixColumns (state) // Xem phần 4.2.3 AddRoundKey (state, w + round * Nb) // Xem phần 4.2.4 end for SubBytes (state) ShiftRows (state) MixColumns (state) AddRoundKey (state, w + Nr * Nb) out = state 24 End Trong đoạn mã trên, mảng w[] chứa khóa tạo thành từ phép mở rộng khóa (AddRoundKey) với word hàng khóa mẹ; mảng in[] out[] chứa liệu vào kết thuật tốn mã hóa; Nr = Số vịng AES; giá trị Nb = Độ dài khóa / 32 Ví dụ: Khóa 128 bit => Nb = 4, khối đầu vào khối 4*4 bytes, word gồm bytes (32 bit) * 10 vòng Khóa 192 bit => Nb = 6, khối đầu vào khối 4*6 bytes, word gồm bytes (48 bit) * 12 vòng 4.2.1 SubBytes Các byte thông qua bảng tra S-Box cải tiến Các xây dựng đặc tính S-Box nhắc đến chương trước Hình 4.2: AES S-Box cải tiến Đoạn mã giả cho phép biến đổi SubByte SubBytes (byte state[4, Nb]) Begin for r = to for c = to Nb - state [r,c] = SBox[state[r, c]] // Giá trị hàng r, cột c state thay giá trị tương ứng S-Box end for 25 end for End 4.2.2 ShiftRows Các hàng khối dịch vịng theo quy tắc: • • • • Hàng giữ nguyên Hàng dịch vòng quanh byte sang trái Hàng dịch vòng quanh byte sang trái Hàng dịch vòng quanh byte sang trái Từ quy tắc ta dễ dàng nhận thấy cột thuộc khối đầu phép ShiftRows bao gồm byte đủ cột khối đầu vào Hình 4.3: ShiftRows AES Mã giả cho phép biến đổi ShiftRows ShiftRows (byte state[4, Nb]) Begin byte t[Nb] for r = to // Tiến hành dịch vòng từ hàng thứ for c = to Nb - t[c] = state[r, (c + min[r, Nb]) mod Nb] end for for c = to Nb - state[r, c] = t[c] // Xem phần giải thích end for end for End Giải thích: dòng code thứ 6, t [c] gán giá trị hàng r, 26 cột ((c + min[r, Nb]) mod Nb) state Sau dịng code thứ 9, giá trị lại gán cho state [r, c] Ví dụ: r = 1: t [0] = state [1, (0 + min[1, 4]) mod 4] = state [1, 1] t [1] = state [1, 2]; t [2] = state [1, 3]; t [4] = state [1, 0] sau state [r, c] = t [c]: state [1, 0] = t [0] = state [1, 1]; … hàng state gồm giá trị là: state [1,1], state [1, 2], state [1, 3], state [1, 0] 4.2.3 MixColumns Hàm làm việc cột state Cách thức hoạt động: coi cột state đa thức s (x) gồm hạng tử nhân với đa thức cố định lấy modulo s’ (x) = c (x) ⊗ s (x) Hay dạng ma trận Hình 4.4: Mô tả phép biến đổi MixColumns AES Mã giả cho phép biến đổi MixColumns (Đoạn mã thực phép nhân ma trận trên) MixColumns(byte state[4,Nb]) Begin byte t[4] 27 for c = to Nb – for r = to t[r] = state[r,c] end for for r = to state[r,c] = FFmul(0x02, t[r]) xor // Hàm FFmul (x, y) thực nhân x y trường GF (28) FFmul(0x03, t[(r + 1) mod 4]) xor t[(r + 2) mod 4] xor t[(r + 3) mod 4] end for end for End 4.2.4 AddRoundKey Khóa mẹ (128, 192 256 bit) chia thành word sau mở rộng thành mảng 44, 52 60 word Trong word đầu khóa mẹ, word cịn lại tương ứng với khóa vịng Một khóa vịng cộng so bit vào mảng state Hình 4.5: AddRoundKey AES Mã giả cho phép biến đổi AddRoundKey (Cộng so bit khóa vịng mảng state với nhau) 28 AddRoundKey(byte state[4,Nb], word rk[]) // rk = w + round * Nb Begin for c = to Nb – for r = to state[r,c] = state[r,c] xor xbyte(r, rk[c]) end for end for End Phát sinh khóa chu kỳ Hình 4.6: Mơ tả thuật tốn sinh khóa vịng AES Mã giả thuật tốn sinh khóa vịng KeyExpansion(byte key[4 * Nk], word w[Nb * (Nr + 1)], Nk) Begin i=0 while (i < Nk) w[i] = word[key[4*i],key[4*i+1], key[4*i+2],key[4*i+3]] i=i+1 end while i = Nk while (i < Nb * (Nr + 1)) word temp = w[i - 1] 29 if (i mod Nk = 0) then temp = SubWord(RotWord(temp)) xor Rcon[i / Nk] else if (Nk = 8) and (i mod Nk = 4) then temp = SubWord(temp) end if w[i] = w[i - Nk] xor temp i=i+1 end while End 4.3 Code thực mã hóa giải mã 4.3.1 Code q trình mã hóa Lưu ý, AES chấp nhận Key có độ dài 128, 192 256 bit; tương ứng 16, 24 32 từ public void encrypt() { try { String originalText = textAreaOriginal.getText(); String key = textField.getText(); SecretKeySpec skeySpec = new SecretKeySpec(key.getByte s(), "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDIN G"); cipher.init(Cipher.ENCRYPT_MODE, skeySpec); byte[] byteEncrypted = cipher.doFinal(originalText.getBytes( )); String encrypted = Base64.getEncoder().encodeToString(byt eEncrypted); textAreaEncrypted.setText(encrypted); } catch (Exception ex) { ex.printStackTrace(); } } 4.3.2 Code trình giải mã public void decrypt() { try { String encryptText = textAreaEncrypted.getText(); 30 String key = textField.getText(); SecretKeySpec skeySpec = new SecretKeySpec(key.getByte s(), "AES"); Cipher cipher = Cipher.getInstance("AES/ECB/PKCS5PADDIN G"); cipher.init(Cipher.DECRYPT_MODE, skeySpec); byte[] decrypted = cipher.doFinal(Base64.getDecoder().dec ode(encryptText)); textAreaDycrypted.setText(new String(decrypted)); } catch (Exception ex) { ex.printStackTrace(); } } 4.3.3 Kết thực chương trình 4.4 Kết luận chương Từ kết chương trước cộng với trình tìm hiểu, chúng em thiết kế chương trình mã hóa giải mã sử dụng thuật tốn AES Tuy nhiên chương trình chưa có ứng dụng cụ thể vào thực tiễn Chúng em tiếp tục tìm hiểu để hồn thiện chương trình 31 KẾT LUẬN Trong tập lớn này, điểm yếu độ phức tạp bảo mật AES SBox phân tích phương án cải tiến AES S-Box đề xuất Đầu tiên nguyên lý cấu tạo AES S-Box trình bày chi tiết với biến đổi thuộc tính affine chu kỳ lặp lại AES S-Box Thứ hai, nghiên cứu cần thêm phép biến đổi affine trước thực phép nhân nghịch đảo độ phức tạp biểu thức đại số AES S-Box AES S-Box nghịch đảo cải thiện Số số hạng biểu thức đại số AES S-Box tăng từ tới 255, AES S-Box nghịch đảo tăng từ tới 253 Vì lỗ hổng có số hạng biểu thức đại số AES S-Box AES S-Box nghịch đảo khắc phục Hiệu suất AES S-Box sau cải tiến phân tích so sánh với AES S-Box chưa cải tiến, kết so sánh cho thấy AES S-Box sau cải tiến có cấu trúc đại số phức tạp bảo mật tốt Các mô gợi ý AES S-Box sau cải tiến dễ dàng áp dụng cho AES Cuối cùng, AES S-Box cải tiến áp dụng để xây dựng chương trình mã hóa Cơng việc tương lai tiếp tục nghiên cứu, hồn thiện tối ưu chương trình để áp dụng vào thực tiễn 32 TÀI LIỆU THAM KHẢO https://www.researchgate.net/publication/267554952_An_improved_AES_Sbox_and_its_performance_analysis https://nguyenquanicd.blogspot.com/2019/10/aes-bai-5-toi-uu-logic-tinh-s-boxdua.html? fbclid=IwAR1phrpO5LmqTPdo6MEBiWPcsDvgCYM4TV2KgDiLqm29YjmaZG YUO22Kcqk https://www.ijrte.org/wp-content/uploads/papers/v9i1/F9712038620.pdf https://m.elib.vn/doc/2020/20200908/tim-hieu-va-xay-dung-ung-dung-ma-hoadoi-xung-bang-thuat-toan-rijndael235.pdf https://en.wikipedia.org/wiki/Advanced_Encryption_Standard https://ichi.pro/vi/aes-cach-thuc-hoat-dong-cua-ma-hoa-tien-tien-nhat200334928833977 https://cuuduongthancong.com/mat-ma-hoc duong-anh-duc ma-hoa-va-ungdung-duong-anh-duc -ths-tran-minh-triet.pdf 33 34 ... cho AES Để tìm hiểu sâu yếu điểm AES S-Box; cách xây dựng AES S-Box cải tiến hiệu suất S-Box cải tiến so với S-Box chưa cải tiến, chúng em lựa chọn đề tài ? ?Cải tiến AES S-Box phân tích hiệu suất. .. kỹ hiệu suất hộp S chương sau 15 CHƯƠNG 3: PHÂN TÍCH HIỆU SUẤT CÚA AES S-BOX ĐÃ CẢI TIẾN VÀ THỰC HIỆN SO SÁNH VỚI S-BOX CHƯA CẢI TIẾN Trong chương này, chúng em trình bày chi tiết phân tích hiệu. .. khắc phục Hiệu suất AES S-Box sau cải tiến phân tích so sánh với AES S-Box chưa cải tiến, kết so sánh cho thấy AES S-Box sau cải tiến có cấu trúc đại số phức tạp bảo mật tốt Các mô gợi ý AES S-Box

Ngày đăng: 30/08/2022, 18:57