Một số kết quả nghiên cứu về các ma trận song chính quy nhằm xây dựng các ma trận MDS hiệu quả và ứng dụng cho mã khối AES

13 9 0
Một số kết quả nghiên cứu về các ma trận song chính quy nhằm xây dựng các ma trận MDS hiệu quả và ứng dụng cho mã khối AES

Đ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

Bài viết đưa ra một số kết quả nghiên cứu về các ma trận song chính quy nhằm làm cơ sở để xây dựng các ma trận MDS hiệu quả, theo nghĩa là làm tối đa hóa sự xuất hiện của phần tử 1 và tối thiểu hóa số các phần tử khác nhau trong các ma trận này, đồng thời trình bày một ứng dụng ma trận 8 × 8 được tạo bởi thuật toán đã đề xuất để cải tiến phép biến đổi trong tầng khuếch tán của thuật toán mã khối đang được sử dụng phổ biến hiện nay là AES.

Chuyên san Công nghệ thông tin Truyền thông - Số (6-2016) MỘT SỐ KẾT QUẢ NGHIÊN CỨU VỀ CÁC MA TRẬN SONG CHÍNH QUY NHẰM XÂY DỰNG CÁC MA TRẬN MDS HIỆU QUẢ VÀ ỨNG DỤNG CHO Mà KHỐI AES Lương Thế Dũng1 Tóm tắt Mặc dù ma trận tách có khoảng cách cực đại (ma trận MDS) sử dụng rộng rãi mã khối hàm băm, nhiên thực thi biến đổi tuyến tính dựa ma trận MDS nhiều mã khối chưa hiệu khơng có nhiều xuất phần tử số phần tử khác ma trận lớn Trong này, đưa số kết nghiên cứu ma trận song quy nhằm làm sở để xây dựng ma trận MDS hiệu quả, theo nghĩa làm tối đa hóa xuất phần tử tối thiểu hóa số phần tử khác ma trận này, đồng thời trình bày ứng dụng ma trận × tạo thuật toán đề xuất để cải tiến phép biến đổi tầng khuếch tán thuật toán mã khối sử dụng phổ biến AES The separation matrix with maximum distance (MDS matrix) is widely used in the cipher and hash function, however the linear transformation by using MDS matrix in many current block ciphers is not effective because the number of occurrences of in matrices is not much and the number of different elements in the matrices is quite large In this paper, we propose a method to develop the effective MDS matrices based on the bi-regular matrix that maximizes the number of occurrences of and minimizes the number of different elements in MDS matrices, we also present an application of the × matrix generated by the proposed method to improve the transformation of the diffusion layer of cipher that has been widely used as AES Giới thiệu IỆC sử dụng phép biến đổi tuyến tính MDS đề xuất lần Vaudenay [1] sau đưa vào mã khối SHARK [2], tiếp mã khối SQUARE[3] Lớp biến đổi tuyến tính có thuận lợi số tối thiểu hộp S hoạt động hai vòng liên tiếp xấp xỉ tuyến tính hay hai vòng liên tiếp đặc trưng lượng sai m + (với m số hộp S vòng SPN) Theo lý thuyết giá trị lớn số tối thiểu hộp S hoạt động hai vòng liên tiếp Hay nói cách khác, ma trận MDS làm cho số nhánh biến V 84 Học viện Kỹ thuật Mật mã Tạp chí Khoa học Kỹ thuật - Học viện KTQS - Số 176 (6-2016) đổi tầng khuếch tán đạt giá trị cực đại Đối với mã khối, độ an tồn chống lại cơng mạnh (như cơng tuyến tính, cơng lượng sai) phụ thuộc vào số nhánh tầng khuếch tán Do đó, tầng khuếch tán mã khối sử dụng ma trận MDS khả kháng lại mã khối chống lại cơng tuyến tính cơng lượng sai tốt Trong thực tế, ma trận MDS sử dụng cho tầng khuếch tán nhiều mã khối như: AES [4, 5], TWOFISH [6, 7], SHARK [2], KHAZAD, SQUARE [3], HIEROCRYPT [8], ANUBIS, Các ma trận MDS dùng thiết kế hàm băm như: Maelstrom, Grost họ hàm băm hạng nhẹ PHOTON [9] sử dụng ma trận MDS thành phần tầng khuếch tán chúng Các ma trận MDS có vai trị quan trọng có nghiên cứu có tính hệ thống việc làm để tìm ma trận coi “hiệu quả” Pascal Junod Serge Vaudenay [10] hai tác giả giới thiệu vấn đề Tuy nhiên, phương pháp xây dựng [10] áp dụng cho số trường hợp ma trận cụ thể mà chưa có phương pháp xây dựng ma trận hiệu cách tổng quát Trong này, đưa số kết nghiên cứu ma trận song quy Từ làm sở để xây dựng ma trận MDS hiệu phục vụ tầng khuếch tán mã khối Trong phần báo này, giới thiệu số kiến thức liên quan ma trận MDS ma trận MDS gọi hiệu Phần trình bày thuật tốn xây dựng ma trận vng song quy số lượng phần tử cao Phần đưa số đánh giá số lượng phần tử khác tối thiểu ma trận vng song quy Phần cuối kết luận Cơng trình liên quan 2.1 Ma trận MDS Ma trận MDS cung cấp thuộc tính khuếch tán hồn hảo có ứng dụng hữu ích mã khối hàm băm Các ma trận MDS đến từ lý thuyết mã với mã tách có khoảng cách cực đại Trong lý thuyết mã có định lý quan trọng ma trận MDS sau đây: Định lý ([11, trang 321]): Một mã [n, k, d] với ma trận sinh G = [I|A] A ma trận k × (n − k) MDS ma trận vuông (được tạo i hàng i cột bất kỳ,với i bất kỳ, i = 1, 2, , min{k, n − k} A không suy biến 2.2 Các ma trận MDS hiệu Trong [10], mục tiêu P Junod S Vaudenay xây dựng ma trận MDS hiệu quả, theo nghĩa làm tối đa xuất phần tử làm tối thiểu số lượng phần tử khác đơi ma trận Để đạt hai mục tiêu này, tác giả đưa định nghĩa hai giá trị v1 c sau: 85 Chuyên san Công nghệ thông tin Truyền thông - Số (6-2016) Định nghĩa ([10]) : Giả sử M = (mi,j ) ma trận MDS cỡ q × p trường F2n 1) Ký hiệu v1 (M ) số cặp (i, j) mà mi,j Chúng ta gọi số phần tử ma trận M Đồng thời v1p,q giá trị lớn v1 (M ) 2) Ký hiệu c(M ) số phần tử khác đôi ma trận M Đồng thời cq,p giá trị nhỏ c(M ) Trong [10] định nghĩa mảng song quy (bi-regular array), đối tượng hữu ích để ta xây dựng ma trận MDS Định nghĩa ([10]) : Giả sử K ∗ tập có phần tử đơn vị, ký hiệu 1) Chúng ta nói mảng × với thuộc K ∗ song quy hàng cột có hai phần tử khác 2) Một mảng q × p với phần tử thuộc K ∗ song quy tất mảng × song quy 3) Một mảng khơng song quy gọi song kỳ dị (bi-singular) 4) Hai mảng tương đương thu mảng thứ hai cách thực chuỗi hữu hạn phép toán đơn giản mảng thứ Các phép toán đơn giản hoán vị hàng, cột, đổi chỗ hoán vị phần tử K ∗ , với điểm cố định Chú ý rằng, ma trận MDS cần thiết phải mảng song quy, điều ngược lại khơng Các mảng tương đương có độ đo v1 c Trong [10], tác giả đưa số kết giá trị tối ưu v1 c ma trận song quy cỡ q × p sau: 1) 2) 3) 4) v1q,p = v1p,q cq,p = cp,q đổi chỗ mảng bi-regular Ta có v11,p = p, c1,p = với p ≥ v1q,p cq,p tăng p, q tăng Ta có v14,4 = 9, v16,6 = 16, v18,8 = 24, c4,4 = 3, c6,6 = 4, c8,8 = Bổ đề ([10]) Nếu p lũy thừa nguyên tố, với số nguyên α > α q ≤ pα−1 (pα − 1)/(p − 1), ta có v1q,p ≥ q × p √ Từ bổ đề này, ta rút với α > q = p = n v1n,n ≥ n n Bổ đề ([10]) Với k ta có c2k−1,2k−1 ≤ k Trong [10], tác giả đưa số thuật toán phức tạp dựa chứng minh số mệnh đề bổ đề để xây dựng ma trận song quy, chủ yếu dựa định nghĩa mảng song quy Các tác giả đưa giá trị tối ưu cho v1 c kích cỡ ma trận khác Bảng 1.1 Bảng 1.2 86 Tạp chí Khoa học Kỹ thuật - Học viện KTQS - Số 176 (6-2016) Bảng 1.1: Các giá trị cq,p (1) Bảng 1.2: Các giá trị v1q,p (2) Xây dựng ma trận vng song quy có giá trị v1 cao Trong phần này, chúng tơi đưa số nhận xét, đồng thời phát biểu chứng minh số mệnh đề, để từ đề xuất thuật toán xây dựng ma trận vng song quy có giá trị v1 cao số trường hợp có khả đạt tối ưu theo v1 Thực tế, thuật toán mật mã, nhà thiết kế sử dụng ma trận MDS vuông ngữ cảnh này, mong muốn xây dựng ma trận MDS hiệu từ ma trận song quy vng mà khơng phải ma trận song quy tổng quát Trước hết, ta có số nhận xét sau: Nhận xét 1: Ta đổi chỗ hàng cột ma trận song quy mà số phần tử khơng đổi Do khơng tính tổng qt ta giả sử cột 87 Chuyên san Công nghệ thông tin Truyền thông - Số (6-2016) ma trận xếp cho số lượng phần tử cột giảm dần từ trái qua phải Nhận xét 2: Nếu cột có k số (chẳng hạn cột i) số phần tử có cột cịn lại (tại vị trí trùng với hàng chứa số cột i giảm đi: (k − 1)(n − 1) Bởi theo tính chất mảng song quy, cột cịn lại, ta chọn nhiều vị trí chứa phần tử trùng với hàng chứa phần tử cột i, cịn lại k − vị trí bị loại (không thể điền số 1) hàng chứa số cột i Có nghĩa cột, số phần tử điền bị giảm k − Như vậy, số phần tử điền ma trận giảm (k − 1)(n − 1) Chẳng hạn, ví dụ xét ma trận × có cột chứa bốn vị trí chứa phần tử Khi đó, cột từ cột đến cột 8, ta điền nhiều vị trí chứa phần tử (trên hàng chứa phần tử cột 1) để thỏa mãn tính song quy, vị trí cịn lại bị loại bỏ Do vậy, cột có chứa bốn vị trí chứa số số vị trí bị loại ma trận (4 − 1)(8 − 1) = 21 Xét mệnh đề sau đây: Mệnh đề 1: Ta có v1n,n ≥ 3n − Chứng minh Vì v1n,n số phần tử tối đa có nên để mệnh đề ta cần cách xây dựng cho v1 = 3n − Ta xây dựng ma trận song quy n × n sau: Cột đầu có chứa n − phần tử cịn cột sau có chứa phần tử Như v1 = n − + (n − 1) × = 3n − Chẳng hạn, ta điền phần tử vào ma trận × Số phần tử thu × − = 15 88 Tạp chí Khoa học Kỹ thuật - Học viện KTQS - Số 176 (6-2016) √ Mệnh đề 2: Ta có v1n,n ≥ n n (Theo bổ đề [10]) Mệnh√đề 3: Gọi s1 số phần √ tử ở√cột thứ ma trận song quy n × n Khi n ≤ s1 ≤ ((n + 1) n + 1)/( n + 1) Chứng minh Từ nhận xét 2, ta thấy cột có s1 phần tử số phần tử giảm ma trận (s1 − 1)(n − 1) Như vậy, số phần tử tối đa có √ ma trận 2 n −√(s1 − 1)(n − 1) Theo mệnh đề 2, ta có: 1) ≥√n n hay √ n − (s1 − 1)(n − √ 2 n√ − n n√ ≥ (s1 − 1)(n − 1) hay s ≤ (n − n n)/(n − 1) + = (n n(√ n − 1) + √ √ √ ( n − 1)( n + 1))/(( n − 1)( n + 1)) , suy s1 ≤ ((n + 1) n + 1)/( n + 1) √ Mặt khác ta có v1n,n ≥√n n cột √ chứa nhiều phần tử (theo giả thiết nhận xét 1) nên ns1 ≥ n n hay s1 ≥ n Ta có điều phải chứng minh Từ nhận xét mệnh đề trên, chúng tơi đưa thuật tốn xây dựng ma trận song quy vng n × n tối ưu theo v1 Thuật toán xây dựng ma trận song quy vng n × n tối ưu theo v1 Input: Một ma trận rỗng cỡ n × n Output: Ma trận n × n có số lượng phần tử lớn (tối ưu theo v1 ) thỏa mãn tính song quy Chi tiết bước thuật toán sau: Bước 1: Chọn hoán vị n phần tử {1, 2, , n}, phần tử đại diện cho vị trí hàng chứa phần tử cột Bước 2: Trên cột thêm vào phần tử cho ma trận đảm bảo tính song quy Dễ thấy để ma trận chứa nhiều phần tử dãy thêm vào hốn vị n phần tử Do đó, bước này, ta chọn hoán vị n phần tử {1, 2, , n} để điền tiếp phần tử cột loại bỏ vị trí vi phạm tính song quy Bước lặp 2.1: Lặp lại bước không thêm phần tử vào nữa, ta thu ma trận song quy với giá trị v1 cao xấp xỉ giá trị tối ưu Lưu ý rằng, ma trận kết thu phụ thuộc vào hoán vị mà ta chọn bước Chứng minh tính đắn thuật tốn: Nếu bước 1, ta chọn vị trí chứa phần tử cột tạo thành hoán vị (theo hàng) n phần tử {1, 2, , n} theo nhận xét 2, số phần tử giảm cột lại ma trận Tức số vị trí bị loại vi phạm tính song quy Do đó, bước 2, khả chọn vị trí chứa phần tử cột lớn Ngược lại, giả sử bước ta chọn có hai cột mà vị trí chứa phần tử trùng (cùng hàng) theo nhận xét 2, số vị trí chứa phần tử hai cột 89 Chun san Cơng nghệ thông tin Truyền thông - Số (6-2016) giảm (2 − 1)(n − 1) = n − vị trí Hay nói cách khác, có n − vị trí hai cột bị loại, mà ta điền phần tử Như vậy, khả chọn vị trí chứa phần tử trường hợp so với trường hợp Do đó, cách chọn vị trí chứa phần tử cột tạo thành hoán vị n phần tử {1, 2, , n} cách chọn tốt nhất, có khả thu nhiều phần tử cho ma trận Tuy nhiên, điều lưu ý thuật toán là, tùy thuộc vào hoán vị chọn bước mà cách điền số ma trận khác Cũng có số trường hợp, ma trận thu có số lượng số chưa đạt giá trị tối ưu số lượng gần đạt giá trị tối ưu Tuy nhiên, ma trận thu có số lượng số cao xấp xỉ giá trị tối ưu Do mặt thực thi, ma trận ma trận hiệu hồn tồn có ý nghĩa Do đó, làm theo thuật toán với hoán vị lựa chọn khác bước 1, ta thu ma trận song quy tối ưu theo v1 Đánh giá độ phức tạp thuật toán: Do mệnh nên số bước cần thực thuật tốn khơng vượt q √ đề 3, √ ((n + 1) n + 1)/( n + 1) Mỗi bước cột cần duyệt 2(n − 1) lần để loại bỏ vị trí chứa phần tử 1, đồng thời có n cột ma trận nên cần thực n lần duyệt Do độ phức tạp khơng vượt q O(n × n2 × n) = O(n4 ) Sau đây, minh họa thuật toán với ma trận × 16 × 16 Ví dụ Với ma trận × Bước Chọn hoán vị phần tử 1, 2, , 8, chẳng hạn (3, 5, 6, 4, 2, 1, 8, 7) để điền phần tử cột Bước Trên cột chọn ô 4, cột chọn ô 6, cột chọn ô 7, cột chọn ô 5, cột chọn ô 3, cột chọn ô 2, cột chọn ô 1, cột chọn ô thu hoán vị (4, 6, 7, 5, 4, 2, 1, 8) loại bỏ ô khơng thỏa mãn tính song quy (đánh dấu x) 90 Tạp chí Khoa học Kỹ thuật - Học viện KTQS - Số 176 (6-2016) Bước Làm bước 2, chọn hoán vị (6, 8, 1, 7, 5, 4, 3, 2) để điền phần tử loại bỏ ô không thỏa mãn tính song quy Đến bước ta thấy hết thêm được, ta sinh phương án cho ma trận song quy × tối ưu theo v1 với v1 = 24 Ví dụ Với ma trận 16 × 16 Bước Ta chọn hoán vị 16 phần tử sau {1, 2, 3, ,4, 5, , 15, 16} để điền phần tử Bước Ta chọn hoán vị 16 phần tử {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1} để điền phần tử vào cột Sau loại khơng thỏa mãn tính song quy Bước Làm tương tự bước Ta chọn hoán vị 16 phần tử {4, 5, 6, 7, 8, 9, 10, 11,12, 13, 14, 15, 16, 1, 2, 3} để điền phần tử loại bỏ ô khơng thỏa mãn tính song quy Bước Ta chọn tiếp hoán vị {8, 9, 10, 11, 12, 13, 14, 15, 1, 2, 3, 4, 5, 6, 7} để 91 Chuyên san Công nghệ thông tin Truyền thông - Số (6-2016) điền phần tử loại khơng thỏa mãn tính song quy Đến bước này, thấy hết ô thêm được, ta sinh phương án cho ma trận song quy 16 × 16 tối ưu theo v1 với v1 = 64 Đánh giá giá trị c ma trận vuông song quy Trong phần này, chúng tơi đưa số nhận xét phát biểu số mệnh đề để đưa đánh giá tổng quát cho giá trị c ma trận vng song quy cỡ n × n Mệnh đề Giả sử k số số khác hai hàng liên tiếp ma trận song quy Mn×n GF (2p ), √ ký hiệu tập k số A = a1 , a2 , , ak ,, ta có: k − k + ≥ n hay k ≥ (1 + 4n − 3)/2 Thật vậy, có tất k cặp dạng (a, b) có k phần tử tập A Đó cặp:  (a1 , a1 ), (a1 , a2 ), , (a1 , ak )  (a2 , a1 ), (a2 , a2 ), , (a2 , ak )       (3) (ak , a1 ), (ak , a2 ), , (ak , ak ) Vì ma trận M song quy, nên k phần tử phải điền vào hai hàng liên tiếp ma trận cho thỏa mãn tính song quy Do đó, k cặp trên, ta phải loại k − cặp tập (a1 , a1 ), (a2 , a2 ), , (ak , ak ) để điền vào hai hàng Vì theo tính chất song quy, khơng có mảng dạng XXX ((a b a b)) nên nhiều lấy cặp trùng dạng (a, a) k cặp Như vậy, có tất k − k + cột (của hai hàng xét) điền k số tập A Đồng thời, √ để ma trận đảm bảo tính song quy phải có k − k + ≥ n, hay k ≥ (1 + 4n − 3)/2 Bởi vì, ngược lại với k phần tử khác trên, xây dựng mảng × m M thỏa mãn điều kiện song quy với m < n, cặp giá trị n − m cột lại phải trùng với cặp giá trị m cột trước Điều khơng thỏa mãn điều kiện song quy Ta có điều phải chứng minh Ví dụ 3: Giả sử k = tập A = a, b, c ma trận song quy có cỡ n = Khi đó, có 32 = cặp tạo từ A Và có 32 ˘3 + = cột điền giá trị mà thỏa mãn tính song quy, cụ thể sau (ở giữ lại cặp trùng (a, a)): 92 Tạp chí Khoa học Kỹ thuật - Học viện KTQS - Số 176 (6-2016) Như vậy, cột cuối nữa, lấy giá trị tập A để điền hai giá trị cột cuối phải trùng với hai giá trị cột trước Khi này, tính song quy bị phá vỡ √ Do phải có k − k + ≥ Hay k ≥ (1 + 4.8 − 3)/2 hay k ≥ √ Hệ 1: Ta có cn,n ≥ (1 + 4n − 3)/2 , với n ≥ Nhận xét 3: Ta có c2k−2,2k−2 ≤ k Thật vậy, từ bổ đề [10], ta có: c2k−1,2k−1 ≤ k Thêm vào đó, cq,p tăng theo p q Do c2k−2,2k−2 ≤ c2k−1,2k−1 ≤ k Nhận xét 4: Từ nhận xét 3, ta dễ dàng suy với ma trận vuông cấp n × n, ta có: cn,n ≤ [n/2] + √ Mệnh đề 5: Ta có: (1 + 4n − 3)/2 ≤ cn,n ≤ [n/2] + với cn,n ∈ N Chứng minh Từ hệ nhận xét 4, ta có điều phải chứng minh Như đến đây, đưa đánh√ giá chung cho giá trị c ma trận song quy cỡ n × n bất kỳ, là: (1 + 4n − 3)/2 ≤ cn,n ≤ [n/2] + với cn,n ∈ N Ví dụ 4: Ta có đánh giá với giá trị c cho số trường hợp cụ thể sau, chẳng hạn: • • • • • • Với Với Với Với Với Với n = ≤ c ≤ 3, c = n = ≤ c ≤ 3, c = n = 6, ≤ c ≤ n = 7, ≤ c ≤ n = 8, ≤ c ≤ n = 16, ≤ c ≤ Chúng ta biết ma trận MDS phải ma trận song quy, để xây dựng ma trận MDS hiệu quả, ta ma trận song quy Để xây dựng ma trận tối ưu từ ma trận song quy với hai mục tiêu tối ưu theo v1 c vấn đề khó Trong [10], tác giả xây dựng ma trận tối ưu với trường hợp ma trận × 4, ma trận × có giá trị v1 cao c thấp chưa tối ưu Trong thực tế, để đạt ma trận hiệu quả, cần dung hòa hai mục tiêu nói Để xây dựng ma trận MDS hiệu quả, ta bắt đầu việc xây dựng ma trận có nhiều số (bằng thuật tốn đề xuất) Sau đó, ta cố gắng điền phần tử khác vào vị trí trống ma trận cho số lượng phần tử khác đồng thời làm cho ma trận tạo vừa thỏa mãn tính song quy, vừa thỏa mãn điều kiện MDS (tức có ma trận vng có định thức khác 0) 93 Chuyên san Công nghệ thông tin Truyền thông - Số (6-2016) Dưới ma trận vng song quy × GF (28 ) (với đa thức nguyên thủy x8 + x4 + x3 + x2 + 1) xây dựng theo thuật toán sau bước Ma trận tối ưu theo v1 (v1 = 24) c = chưa tối ưu giá trị tốt so với đánh giá c ma trận × (4 ≤ c ≤ 5) Để ma trận ma trận MDS, ta thực bước thuật toán cách lựa chọn phần tử a, b, c, d, e ∈ GF (28 ) ưu tiên chọn phần tử có trọng số Hamming thấp cho ma trận vng ma trận có định thức khác Bộ năm phần tử a, b, c, d, e ∈ GF (28 ) làm thỏa mãn điều cho ma trận MDS hiệu Trong trường hợp khơng tìm năm vậy, ta hi sinh chỗ tăng giá trị c lên 7, tức ta điền thử với sáu phần tử khác nhau, chẳng hạn a, b, c, d, e, f ∈ GF (28 ) cho ma trận thu ma trận MDS Ứng dụng ma trận MDS cho thuật tốn mã hóa AES Phần tiếp theo, báo xem xét việc ứng dụng ma trận MDS hiệu kích thước × tạo thuật tốn đề xuất nói để cải tiến phép biến đổi tuyến tính khuếch tán thuật tốn chuẩn mã hóa liệu tiên tiến AES [4] Như biết, khối đầu vào thuật toán AES vào gồm 16 byte, mô tả mảng chiều giống ma trận có kích thước × gọi bảng 94 Tạp chí Khoa học Kỹ thuật - Học viện KTQS - Số 176 (6-2016) trạng thái (State), có dạng sau:  sˆ0 sˆ4 sˆ8 sˆ12  sˆ1 sˆ5 sˆ9 sˆ13   S= sˆ2 sˆ6 sˆ10 sˆ14  sˆ3 sˆ7 sˆ11 sˆ15  (4) Các phép toán AES thực bảng trạng thái Tầng khuếch tán AES kết hợp phép biến đổi gồm ShiftRows MixColumn, MixColumn phép nhân ma trận MDS kích thước × M với bảng trạng thái S Ma trận MDS M là:     m0,0 m0,1 m0,2 m0,3 02 03 01 01 m1,0 m1,1 m1,2 m1,3  01 02 03 01     (5) m2,0 m2,1 m2,2 m2,3  = 01 01 02 03 m3,0 m3,1 m3,2 m3,3 03 01 01 02 Do phép biến đổi tuyến tính tầng khuếch tán AES là:       sˆ0 sˆ4 sˆ8 sˆ12 s0 s4 s8 s12 m0,0 m0,1 m0,2 m0,3 m1,0 m1,1 m1,2 m1,3   sˆ1 sˆ5 sˆ9 sˆ13   s1 s5 s9 s13       M ·S = m2,0 m2,1 m2,2 m2,3  · sˆ2 sˆ6 sˆ10 sˆ14  = s2 s6 s10 s14  sˆ3 sˆ7 sˆ11 sˆ15 s3 s7 s11 s15 m3,0 m3,1 m3,2 m3,3 (6) Với việc sử dụng ma trận MDS M có kích thước × 8, giả sử M = [mi,j ], ≤ i, j ≤ Khi cấu trúc ma trận bảng trạng thái đầu vào × ban đầu phải chuyển dạng ma trận có kích thước × để nhân với ma trận M , lúc ma trận bảng trạng thái sửa đổi có dạng:   sˆ0 sˆ8  sˆ1 sˆ9    sˆ2 sˆ10    sˆ sˆ  (7) S =  11  sˆ4 sˆ12  sˆ sˆ   13  sˆ sˆ  14 sˆ7 sˆ15 Bây giờ, phép biến đổi tuyến tính cải tiến biểu diễn sau:   s0 s8  s1 s9    s2 s10    s s  M · S =  11  s4 s12  s s   13  s s  14 s7 s15 (8) 95 Chuyên san Công nghệ thông tin Truyền thông - Số (6-2016) Kết luận Trong này, đưa số kết nghiên cứu ma trận song quy bao gồm: đưa vài đánh giá giá trị v1 , thuật toán xây dựng ma trận vng song quy có khả tối ưu số lượng phần tử với cỡ n × n bất kỳ, đồng thời đưa đánh giá số lượng phần tử khác nhỏ ma trận vng song quy trường hợp tổng quát Các kết sở quan trọng để xây dựng ma trận MDS hiệu dựa ma trận song quy đề xuất Các ma trận MDS hiệu góp phần làm giảm chi phí thực thi cho q trình mã hóa giải mã sau Chúng tơi trình bày ứng dụng ma trận × tạo thuật toán đề xuất để cải tiến phép biến đổi tầng khuếch tán thuật toán mã khối sử dụng phổ biến AES Tài liệu tham khảo [1] S Vaudenay On the need for multipermutations: Cryptanalysis of MD4 and SAFER Proc of Fast Software Encryption (2), LNCS 1008, Springer-Verlag, pp 286–297, 1995 [2] V Rijmen, J Daemen, B Preneel, A Bosselaers, and E.D Win The Cipher SHARK Fast Software Encryption, LNCS 1039, Springer-Verlag, pp 99-112, 1996 [3] J Daemen, L Knudsen, and V Rijmen The block cipher Square Fast Software Encryption, LNCS 1267, Springer-Verlag, pp 149-165, 1997 [4] Daemen and V Rijmen AES Proposal Rijndael (Version 2) National Institute for Standards and Technology AES [5] National Institute for Standards and Technology Advanced Encryption Standard (AES) FIP PUB 197, Nov, 2001 [6] B Schneier, J Kelsey, D Whiting, D Wagner, C Hall, and N Ferguson Twofish: A 128-bit block cipher AES Candidate Conference, National Institute for Standards and Technology, 1998 [7] B Schneier, J Kelsey, D Whiting, D Wagner, C Hall, and N Ferguson The Twofish encryption algorithm Wiley, 1999 [8] K Ohkuma, H Muratani, F Sano, and S Kawamura The block cipher Hiero-crypt Seventh Annual International Workshop on Selected Areas in Cryptogra- phy (SAC 2000), LNCS 2012, Springer-Verlag, pp 72-88, 2001 [9] J Guo, T Peyrin, and A Poschmann The PHOTON Family of Lightweight Hash Functions CRYPTO, pp 222-239, 2011 [10] P Junod and S Vaudenay Perfect diffusion primitives for block cipher – Building efficient MDS matrices Selected Areas in Cryptology (SAC 2004), LNCS 3357, Springer-Verlag, pp 84-99, 2004 [11] F.J MacWilliams, N.J.A Sloane The Theory of Error-Correcting Codes 1977 Ngày nhận 14-11-2015; Ngày chấp nhận đăng 28-7-2016 Lương Thế Dũng giảng viên Học viện Kỹ thuật Mật mã Lương Thế Dũng nhận tốt nghiệp đại học ngành Công nghệ thông tin Học viện Kỹ thuật Quân sự, nhận Tiến sĩ ngành Khoa học máy tính Viện Khoa học Cơng nghệ Qn Hướng nghiên cứu an tồn thông tin 96 ... phải ma trận song quy, để xây dựng ma trận MDS hiệu quả, ta ma trận song quy Để xây dựng ma trận tối ưu từ ma trận song quy với hai mục tiêu tối ưu theo v1 c vấn đề khó Trong [10], tác giả xây dựng. .. pháp xây dựng ma trận hiệu cách tổng quát Trong này, đưa số kết nghiên cứu ma trận song quy Từ làm sở để xây dựng ma trận MDS hiệu phục vụ tầng khuếch tán mã khối Trong phần báo này, giới thiệu số. .. đưa đánh giá số lượng phần tử khác nhỏ ma trận vng song quy trường hợp tổng quát Các kết sở quan trọng để xây dựng ma trận MDS hiệu dựa ma trận song quy đề xuất Các ma trận MDS hiệu góp phần

Ngày đăng: 07/05/2021, 12:56

Từ khóa liên quan

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

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

Tài liệu liên quan