Đề xuất ma trận MDS đạt hiệu năng cao khi cài đặt trên phần cứng cho các mã pháp dạng AES
Trong bài báo này, chúng tôi phân tích, đánh giá một số kết quả đã có
về ma trận MDS có cấu trúc dịch vòng cho phép biến đổi MixColumns trong tầng
tuyến tính của mã pháp dạng AES. Dựa trên các phân tích này, chúng tôi đề xuất
một ma trận mới có khả năng cài đặt hiệu quả trên phần cứng, đồng thời đánh giá
số lượng điểm bất động và tính khuếch tán của tầng tuyến tính sử dụng ma trận đề
xuất. Kết quả này được áp dụng để chọn ra một ma trận phù hợp cho việc xây dựng
một tầng tuyến tính cho mã khối có cấu trúc SPN kích thức khối 128 bít dạng AES
đạt hiệu quả cao khi thực hiện trên phần cứng.
Bạn đang xem tài liệu "Đề xuất ma trận MDS đạt hiệu năng cao khi cài đặt trên phần cứng cho các mã pháp dạng AES", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
Tóm tắt nội dung tài liệu: Đề xuất ma trận MDS đạt hiệu năng cao khi cài đặt trên phần cứng cho các mã pháp dạng AES
Công nghệ thông tin & Khoa học máy tính Hoàng Văn Quân, “Đề xuất ma trận MDS đạt hiệu năng cao các mã pháp dạng AES.” 118 ĐỀ XUẤT MA TRẬN MDS ĐẠT HIỆU NĂNG CAO KHI CÀI ĐẶT TRÊN PHẦN CỨNG CHO CÁC MÃ PHÁP DẠNG AES Hoàng Văn Quân* Tóm tắt: Trong bài báo này, chúng tôi phân tích, đánh giá một số kết quả đã có về ma trận MDS có cấu trúc dịch vòng cho phép biến đổi MixColumns trong tầng tuyến tính của mã pháp dạng AES. Dựa trên các phân tích này, chúng tôi đề xuất một ma trận mới có khả năng cài đặt hiệu quả trên phần cứng, đồng thời đánh giá số lượng điểm bất động và tính khuếch tán của tầng tuyến tính sử dụng ma trận đề xuất. Kết quả này được áp dụng để chọn ra một ma trận phù hợp cho việc xây dựng một tầng tuyến tính cho mã khối có cấu trúc SPN kích thức khối 128 bít dạng AES đạt hiệu quả cao khi thực hiện trên phần cứng. Từ khóa: Ma trận MDS vòng, Tầng tuyến tính, Cài đặt phần cứng, AES. 1. MỞ ĐẦU Hầu hết các mã khối được thiết kế đều dựa trên 2 nguyên tắc xây dựng cơ bản của Shannon, đó là tính xáo trộn (confusion) và tính khuếch tán (diffusion) [5]. Nếu như tính xáo trộn được đảm bảo bởi các hộp thế thì tính khuếch tán được đảm bảo bởi tầng biến đổi tuyến tính (được gọi là tầng tuyến tính). Mặt khác tầng tuyến tính là thành phần nguyên thủy mật mã chậm nhất trong một mã khối, vì vậy việc nghiên cứu lựa chọn tầng tuyến tính không những liên quan trực tiếp đến độ an toàn của mã khối kháng lại một số thám mã quan trọng như thám mã lượng sai và thám mã tuyến tính mà còn ảnh hưởng đến việc cài đặt hiệu quả của mã khối. Đối với các mã pháp dạng AES, tầng tuyến tính bao gồm phép biến đổi AES ShiftRows và phép biến đổi AES MixColumns. Trong đó ShiftRow là một hoán vị các từ của trạng thái và MixColumns là phép nhân ma trận với một cột của trạng thái và cũng là phép tính phức tạp tiêu tốn nhiều thời gian trong tầng tuyến tính [8]. Trong tầng tuyến tính của AES, ma trận MDS sử dụng là một ma trận có cấu trúc dịch vòng được lựa chọn kỹ lưỡng trên cơ sở đảm bảo độ an toàn và khả năng cài đặt. Tuy nhiên, theo đánh giá trên quan điểm điểm bất động của tác giả Z’aba M. R. [7] thì tầng khuếch tán này lại có 216 điểm bất động, cũng trong [7] tác giả cũng đã chỉ ra sự tương quan tỷ lệ nghịch giữa độ khuếch tán và số điểm bất động, đó là càng nhiều điểm bất động thì độ khuếch tán càng thấp, điều này ảnh hưởng trực tiếp đến tính an toàn của thuật toán mã khối. Trong một số công trình nghiên cứu về khả năng cài đặt cứng hóa trên FPGA đối với AES [1], [2], [3], các phương pháp cài đặt tầng tuyến tính chủ yếu dựa trực tiếp trên phép nhân với các hằng số của ma trận trong biến đổi MixColumns. Mặc dù các hằng số của ma trận này được lựa chọn để dễ dàng cài đặt, tuy nhiên phép nhân trực tiếp khi cứng hóa là chưa tối ưu và chưa đưa ra được một đánh giá trực quan về chiều sâu thiết kế của mạch phần cứng nhận được. Trong [6] nhóm tác giả đề xuất một số ma trận MDS và MDS cuộn có dạng Hadamard hiệu quả trong cài đặt phần cứng. Cụ thể trong tài liệu này đưa ra số cổng XOR cần thiết đối với mỗi một ma trận đề xuất, tuy nhiên, những đánh giá cho tài nguyên cài đặt phần cứng của nhóm tác giả này là chưa chặt, chưa đưa ra chiều sâu thiết kế (số xung nhịp), đây là yếu tố có ảnh hưởng trực tiếp đến tốc độ xử lý của mạch phần cứng. Hơn nữa tầng tuyến tính mà mã pháp dạng AES sử dụng ma trận MDS Hadamard cuộn lại có nhiều điểm bất động. Trong bài báo này chúng tôi đề xuất một ma trận sử dụng trong biến đổi MixColumns đạt hiệu quả cài đặt trên phần cứng tốt hơn so với ma trận đang sử dụng trong AES. Đây Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 40, 12 - 2015 119 cũng là một ma trận MDS 4x4 có cấu trúc dịch vòng, nhưng tầng tuyến tính nhận được ngoài khả năng đạt hiệu năng cao khi cài đặt cứng hóa nó còn không có điểm bất động. 2. ĐỘ PHỨC TẠP CỦA BIẾN ĐỔI MIXCOLUMNS SỬ DỤNG MA TRẬN MDS CÓ CẤU TRÚC DỊCH VÒNG KHI CÀI ĐẶT TRÊN PHẦN CỨNG Đối với tầng tuyến tính của mã pháp dạng AES, phép biến đổi MixColumns thực hiện phép nhân ma trận Y M X : 00 01 02 03 00 01 02 03 10 11 12 13 10 11 12 13 20 21 22 23 20 21 22 23 30 31 32 33 30 31 32 33 1 1 1 1 1 1 1 1 y y y y x x x xa b y y y y x x x xa b y y y y x x x xa b y y y y x x x xb a , (1) trong đó 2 , , , , 0 , 3nij ijy x a b i j . Để tính được một phần tử, ví dụ 00y , ta cần thực hiện 00 00 10 20 30y x a x b x x . Ký hiệu M=Cir(a,b,1,1) Phép cộng XOR 4 số hạng yêu cầu 2 xung nhịp (2 clock cycle). Như vậy số xung nhịp để tính phần tử này là t +2, trong đó t là số xung nhịp lớn nhất yêu cầu khi thực hiện với phép nhân với a hoặc b. Số cổng XOR yêu cầu để tính 00y là # # 3a b n , ở đây # là ký hiệu số cổng XOR khi thực hiện phép nhân với phân tử trong 2n . Do vậy để thực hiện tính toàn bộ giá trị đầu ra cần tiến hành 16 phép tính song song với nhau (do các hàng trong ma trận có các phần tử giống nhau). Nhưng số xung nhịp yêu cầu chỉ là t+2, còn tổng số cổng XOR yêu cầu là 16 # # 3a b n . 3. PHÂN TÍCH HIỆU QUẢ CÀI ĐẶT CỦA HAI MA TRẬN MDS CIR(2,3,1,1) VÀ HAD(1,2,4,145) Ma trận tuyến tính trong biến đổi MixColumns của chuẩn mã hóa AES là một ma trận 4×4 với các phần tử thuộc trường hữu hạn 82 với đa thức sinh là 8 4 3 1f x x x x x . 2 3 1 1 1 2 3 1 1 1 2 3 3 1 1 2 M Để thực hiện phép biến đổi này ta cần thực hiện phép nhân với phần tử 2 và 3 (biểu diễn ở dạng cơ số 10) trong 82 . Trong một số cài đặt phần cứng [1], [2], [3] được công bố phép nhân với 2 và 3 được thực hiện theo sơ đồ trong hình 1–a), b). Biểu thức phép nhân phần tử a với 2 trên trường đang xét như trong công thức (2); trong đó 7 0 7 0,..., , ,..., , x , 0,1 , 0,1,...,7i ix x x y y y y i . Như vậy, phép nhân này cần xử dụng 3 cổng XOR với đầu vào 2 bit và đầu ra 1 bit và yêu cầu một xung nhịp (1 clock cycle). Khi thực hiện phép nhân với 3 yêu cầu 11 cổng XOR và hai xung nhịp (hình 1–b). Công nghệ thông tin & Khoa học máy tính Hoàng Văn Quân, “Đề xuất ma trận MDS đạt hiệu năng cao các mã pháp dạng AES.” 120 7 6 6 5 5 4 4 7 3 3 7 2 2 1 1 7 0 0 7 y x y x y x y x x y x x y x y x x y x (2) 7 6 7 6 5 6 5 4 5 4 3 4 7 3 2 3 7 2 1 2 1 1 0 7 0 0 7 y x x y x x y x x y x x x y x x x y x x y x x x y x x (3) 3 7 0 0 7 7 6 7 6 5 6 5 4 5 4 4 3 2 2 1 2 1 1 , u x x y x x y x x y x x y x x y x u y x u y x x y x v (4) Trong (3) ta thấy biểu thức tính các cặp bit 3 4,y y hoặc 0 1,y y có các thành phần giống nhau. Do vậy, có thể viết công thức (3) thành (4). Theo đó phép nhân này cũng cần 2 xung nhịp để thực hiện và chỉ cần 9 cổng XOR thay vì 11 như cài đặt trước đó. Minh họa cho phép nhân này được thể hiện trong hình 1–c). Hình 1. Phép nhân với 2 và 3 trên 82 với 8 4 3 1f x x x x x . Như vậy, số cổng XOR cần thiết cho cài đặt phép nhân một hàng của ma trận trong MixColumns với một cột của ma trận dữ liệu bằng 12 + 3x8 = 36. Còn số xung nhịp yêu cầu khi đó sẽ là 2 + 2 = 4, trong đó 2 xung nhịp đầu tiên là để thực hiện phép nhân với 3, còn 2 xung nhịp tiếp theo là yêu cầu khi cộng XOR 4 byte để nhận được 1 byte đầu ra. Hình 2. Phép nhân với 2, 4 và 145 trên 82 với 8 7 6 1f x x x x x . Trong [6] nhóm tác giả đề xuất ma trận Had(1,2,4,145), trên 82 với đa thức sinh là 8 7 6 1f x x x x x . Phép nhân phần tử x với 2, 4 và 145 trường này tương ứng có biểu thức (5), (6) và (7) và hình 2. Các ma trận Hadamard cũng có mỗi hàng (hoặc mỗi cột) có các phần tử giống nhau, đây chính là một lợi thế trong cài đặt của nó. Trong [6] đã đánh giá số tài nguyên cài đặt của phép nhân một hàng của ma trận Had(1,2,4,145) với một cột của khối dữ liệu cần Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 40, 12 - 2015 121 7 6 7 6 5 7 5 4 4 3 3 2 2 1 1 0 7 0 7 y x x y x x y x y x y x y x y x x y x (5) 7 5 6 6 4 6 7 5 3 4 2 3 1 2 0 7 1 6 0 6 7 y x x y x x x y x y x y x y x x y x y x x (6) 7 0 1 6 1 5 1 7 4 0 6 3 5 2 4 1 3 0 0 1 2 y x x y x y x x y x x y x y x y x y x x x (7) số cổng XOR là 13 + 3x8 = 37. Tuy nhiên, theo chúng tôi đánh giá này là chưa chặt vì nhóm tác giả không xét đến sự trùng lặp trong những biểu thức trong phép nhân với 4 và 145. Như vậy thực chất số cổng XOR cần thiết chỉ là 11 + 3x8 = 35. Theo (6), (7) phép nhân với 4 hoặc 145 cần 2 xung nhịp, do vậy để cài đặt ma trận Had(1,2,4,145) cần 2+2 = 4 xung nhịp. Giá trị này cũng chính bằng số xung nhịp khi cài đặt ma trận sử dụng trong biến đổi MixColumns của thuật toán AES, tuy nhiên ma trận Hadamard nói trên khi cài đặt tốn ít tài nguyên hơn. 4. ĐỀ XUẤT MA TRẬN MDS HIỆU QUẢ KHI CÀI ĐẶT TRÊN PHẦN CỨNG CHO MÃ PHÁP DẠNG AES 4.1 Đề xuất ma trận Độ phức tạp trong cài đặt ma trận tuyến tính trên phần cứng chính là việc cài đặt phép nhân với các phần tử của ma trận trong trường hữu hạn. Các nguyên thủy mật mã được sử dụng trong thực tế phải lựa chọn sao cho chúng dễ dàng cài đặt cả trên phần cứng và phần mềm. Như vậy khi cài đặt các ma trận tuyến tính việc lựa chọn các hệ số trong mỗi ma trận sẽ quyết định tính chất cài đặt của nó. Trong bất kỳ trường hữu hạn 2n , với đa thức sinh là đa thức bậc n thì phép nhân với phần tử 1, 2 và 2-1 là dễ cài đặt [8]. Trong cài đặt trên phần cứng phép nhân với 2 và 2-1 có độ phức tạp như nhau và chỉ cần duy nhất 1 xung nhịp, do vậy nó đạt được hiệu quả cao nhất về mặt tốc độ. Như chúng ta biết để nhận được số nhánh cực đại ma trận vòng M trong (1) phải có tính MDS [4], tức là tất cả các ma trận con vuông của nó phải không suy biến. Từ đây, điều kiện để M có tính MDS là: 2 2 0,1 , 0,1 , , 1 a b a b b a ab (8) Thông thường những phần tử là bội trên trường hữu hạn của phần tử 2 hoặc nghịch đảo của nó được ưu tiên lựa chọn. Trong biểu thức (8) ta thấy cặp giá trị 2 1, 2 , 2a b luôn thỏa mãn trên trường 2n bất kỳ. Tuy nhiên, phải lựa chọn đa thức sinh của trường này làm sao cho phép nhân với phần tử 22 khi cài đặt trong phần cứng chỉ yêu cầu 1 xung nhịp. Với giá trị n = 8 chỉ có duy nhất một đa thức thỏa mãn yêu cầu này đó là đa thức 8 5 3 1f x x x x x . Đây là một đa thức nguyên thủy trong tổng số 82 1 / 8 16 đa thức nguyên thủy có thể có bậc bằng 8 (bảng 1), trong đó là hàm Euler [8]. Do vậy, nó có thể được sử dụng trong vài trò đa thức sinh của trường 82 . Công nghệ thông tin & Khoa học máy tính Hoàng Văn Quân, “Đề xuất ma trận MDS đạt hiệu năng cao các mã pháp dạng AES.” 122 Bảng 1. Danh sách 16 đa thức nguyên thủy bậc 8 trên 2 . TT Đa thức TT Đa thức 1 8 6 5 2 1x x x x 9 8 6 5 3 1x x x x 2 8 7 2 1x x x x 10 8 7 6 5 4 2 1x x x x x x 3 8 6 4 3 2 1x x x x x x 11 8 7 5 3 1x x x x 4 8 6 5 1x x x x 12 8 5 3 2 1x x x x 5 8 7 6 3 2 1x x x x x x 13 8 7 6 1x x x x 6 8 6 3 2 1x x x x 14 8 6 5 4 1x x x x 7 8 4 3 2 1x x x x 15 8 7 6 5 2 1x x x x x x 8 8 7 3 2 1x x x x 16 8 5 3 1x x x x Bây giờ chúng tôi sẽ giải thích vì sao lại chọn đa thức số 16 trong bảng 1 cũng như chứng tỏ vì sao cặp 2 1, 2 , 2 4,149a b lại tạo được lợi thế khi cài đặt trên phần cứng trong trường hữu hạn nhận được. Tương tự như trong mục 3, phép nhân a với 2, 4, 149 trong 82 với đa thức sinh là 8 5 3 1f x x x x x được minh họa trong hình 3. Hình 3. Phép nhân với 2, 4 và 149 trên 82 với 8 5 3 1f x x x x x . Ta thấy phép nhân với phần tử 4 chỉ yêu cầu 1 xung nhịp, điều này nhận được là do tính chất của đa thức sinh của trường 82 . Thật vậy, giả sử đa thức sinh xác định phép nhân đang xét là 78 21 1,ii iif x x x . Khi thực hiện phép nhân 2y x (hình 2) cần thực hiện việc kiểm tra “true-false” đối với bit x7, là bit cao nhất của x. Kết quả là một số trong số các bit đầu ra của 2y x được xác định bằng tổng theo modul 2 của bit x7 với bít đầu vào tương ứng , 0 7ix i như sau: 0 7 1 7 , , 1 7i i i y x y x x i Tiếp theo khi thực hiện phép 2 2 2z y x có dạng: 0 7 6 7 7 1 0 1 7 7 6 7 7 1 7 1 7 6 1 1 7 2 6 1 7 7 , 1 , 2 7.i i i i i i i z y x x z y y x x x x x z y y x x x i Ta cần điều kiện làm sao cho biểu thức các bit của z không chứa 3 số hạng, như vậy phép nhân với 4 chỉ cần 1 clock. Từ biểu thức trên, ta có điều kiện như sau: Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 40, 12 - 2015 123 1 7 0, 2 7i i i i Nếu 7 0 , ta có: 1 0, 2 7i i i (9) Nếu 7 1 , ta có; 1 0, 2 7i i i i điều này dẫn đến 1,1 7i i tuy nhiên trong trường hợp này đa thức nhận được 78 1 1i i f x x x là không bất khả quy, do đó trong trường hợp này không thỏa mãn điều kiện cần. Từ phân tích trên chúng tôi sử dụng điều kiện (9) đối với đa thức sinh của trường 2n để nhận được phép nhân với 22 mà chỉ yêu cầu 1 xung nhịp. Với đa thức 8 5 3 1f x x x x x điều kiện (9) nói trên là thỏa mãn và đây cũng là đa thức nguyên thủy duy nhất có bậc bằng 8 thỏa mãn yêu cầu này. Như vậy ta có thể tính được số xung nhịp cho cài đặt phép nhân một hàng của ma trận đề xuất với một cột của ma trận dữ liệu sẽ là 1 + 2 = 3 và số cổng XOR yêu cầu là 9 + 8x3 = 33, giảm được 1 xung nhịp và 3 cổng XOR so với ma trận đang sử dụng trong AES, giảm được 1 xung nhịp và 2 cổng XOR so với ma trận được đề xuất trong [6]. 4.2. Điểm bất động của tầng tuyến tính theo ma trận đề xuất Ta biết rằng số nhánh là tham số quan trọng nhất của tầng tuyến tính, bên cạnh đó số lượng điểm bất động của tầng tuyến tính [7] sẽ là một tham số quan trọng khác khi lựa chọn tầng tuyến tính, nó ảnh hưởng đến độ an toàn và được xem như là một tham số bổ sung cho khái niệm số nhánh của tầng tuyến tính. Tầng tuyến tính trong AES gồm 2 biến đổi: ShiftRows và MixColumns. Khi kết hợp cả hai biến đổi này có thể biểu diễn bởi phép nhân một ma trận A16x16 với một véc tơ cột. Theo [7] số lượng điểm bất động phụ thuộc vào rank A I , trong đó I là ma trận đơn vị. Đối với tầng tuyến tính của AES có 16rank A và 14rank A I , như vậy nó có 8 16 14 16 _ 2 2 2 n rank A rank A I Cir AESN điểm bất động. Tương tự đối với ma trận đề xuất Cir(4, 149, 1, 1) và ma trận Had(1, 2, 4, 145) có 8 16 16 4,149,1,1 2 1 Cir N và 8 16 16 1,2,4,145 2 1 Had N . Như vậy là, nếu sử dụng hai ma trận này để thay thế ma trận trong biến đổi MixColumns trong AES thì sẽ nhận được tầng tuyến tính mà chỉ có một điểm bất động và đây chính là điểm 0 tầm thường. 5. KẾT QUẢ CÀI ĐẶT THỰC NGHIỆM TRÊN FPGA Chúng tôi đã thực hiện thiết kế các chức năng của biến đổi MixColumns khi sử dụng ma trận đề xuất và một số ma trận đã xem xét trong nghiên cứu này. Chương trình được viết trên ngôn ngữ VHDL cho FPGA của Xilinx. Công cụ thiết kế là Xilinx ISE phiên bản 14.3. Kết quả cụ thể như sau: 5.1. Đối với ma trận đề xuất Hình 4 là kết quả mô phỏng ModelIsim đối với ma trận đề xuất, trong cài đặt này ta thấy sau 3 xung nhịp ta sẽ nhận được kết quả đầu ra tính từ thời điểm xuất hiện tín hiệu đầu vào. Kết quả thực nghiệm này bằng đúng giá trị mà chúng tôi đánh giá lý thuyết ở mục trước. Tài nguyên cần tiêu tốn khi thiết kế biến đổi MixColumns sử dụng ma trận đề xuất Cir(4, 149, 1, 1) được thống kê trong bảng 2. Số LUT cần sử dụng là 528 cho cài đặt toàn bộ biến đổi MixColums, giá trị này đúng bằng 16x33 như đánh giá lý thuyết cho cài đặt Công nghệ thông tin & Khoa học máy tính Hoàng Văn Quân, “Đề xuất ma trận MDS đạt hiệu năng cao các mã pháp dạng AES.” 124 phần cứng ở mục trước. Hình 4. Kết quả mô phỏng đối với ma trận đề xuất Cir(4, 149, 1, 1). 5.2. Đối với ma trận đang sử dụng trong AES Đối với ma trận Cir(2, 3, 1, 1) sử dụng trong AES. Tiến hành đánh giá chúng tôi cũng nhận được số xung nhịp và tài nguyên yêu cầu thực tế đúng với giá trị phân tích lý thuyết. Hình 6 là kết quả mô phỏng ModelIsim về số xung nhịp và bảng 2 là tài nguyên yêu cầu cho cài đặt thực nghiệm này. Hình 6. Kết quả mô phỏng đối với ma trận trong AES Cir(2, 3, 1, 1). Chúng tôi cũng thực hiện cài đặt tương tự cho trường hợp khi sử dụng ma trận Had(1, 2, 4, 145) và nhận được kết quả thực nghiệm giống như đánh giá lý thuyết. Bảng 2. Tham số cài đặt phần cứng trên FPGA của Xilinx. Ma trận Slice Registers LUT-FF pairs LUTs Clock cycles Maximum Frequency (MHz) Speed (Mbps) Cir(2,3,1,1) 728 566 576 4 1225.415 39213 Cir(4,149,1,1) 656 520 528 3 1225.415 52284 Had(1,2,4,145) 702 546 560 4 1225.415 39213 Kết quả nhận được cho thấy ma trận đề xuất có tham số cài đặt phần cứng tốt nhất, tốc độ xử lý dữ liệu vượt trội khi so sánh với những ma trận cùng xét. 6. KẾT LUẬN Bài báo đề xuất một ma trận MDS có tính chất mật mã tốt có thể thay thế ma trận trong biến đổi MixColumns trong các mã pháp dạng AES. Về đánh giá lý thuyết và kết quả cài đặt thực tế cho thấy ma trận đề xuất không những yêu cầu tài nguyên ít hơn mà còn có tốc độ xử lý dữ liệu cao hơn ma trận gốc trong AES và ma trận đề xuất trong [6]. Kết quả nghiên cứu có ý nghĩa rất lớn trong việc thực hiện nâng cao hiệu quả mã hóa, giải mã dữ liệu khi sử dụng mã khối cho các ứng dụng trên thực tế, đặc biệt là đối với các mạng truyền thông có bảo mật yêu cầu tốc độ cao, băng thông rộng, đa dịch vụ và yêu cầu thời gian thực. Nghiên cứu khoa học công nghệ Tạp chí Nghiên cứu KH&CN quân sự, Số 40, 12 - 2015 125 TÀI LIỆU THAM KHẢO [1]. Chodowiec Paweł and Kris Gaj, “Very compact FPGA implementation of the AES algorithm”, in Cryptographic Hardware and Embedded Systems-CHES 2003. 2003, Springer. p. 319-333. [2]. Elbirt Adam J, et al., “An FPGA-based performance evaluation of the AES block cipher candidate algorithm finalists”. Very Large Scale Integration (VLSI) Systems, IEEE Transactions on, 2001. 9(4): p. 545-557. [3]. Liu Bozhong, et al., “On the security of 4-bit involutive S-boxes for lightweight designs”, in Information Security Practice and Experience. 2011, Springer. p. 247-256. [4]. Mac Williams Florence Jessie and Neil James Alexander Sloane, “The theory of error-correcting codes”. Vol. 16. 1977: Elsevier. [5]. Shannon Claude E, “Communication theory of secrecy systems”. Bell system technical journal, 1949. 28(4): p. 656-715. [6]. Sim Siang Meng, et al. “Lightweight MDS Involution Matrices”.in Fast Software Encryption. 2015. [7]. Z'aba Muhammad Reza, Ph.D, “Analysis of linear relationships in block ciphers”. Queensland University of Technology, 2010. [8]. Зензин ОС and МА Иванов, “Стардарт криптографической защиты-AES. Конечные поля”. 2002: КУДРИЦ-ОБРАЗ М 2002, 179p. ABSTRACT A MATRIX MDS PROPOSE ARCHIEVING HIGH PERFORMANCE WHEN IMPLEMENTED ON HARDWARE FOR AES-LIKE BLOCK CIPHERS In this paper, we analyze, evaluate some current results of the circulant MDS matrix which used in the linear layer of AES-like block ciphers. Based on this analysis, we propose a new matrix with the ability of efficient installation on hardware, and evaluate the amount of points estate and diffusion property of linear transformations using proposed matrix. This result is applied to select a suitable matrix for building a linear layer for block ciphers, in SPN structure with 128-bit block-size, archieving high performance when implemented on hardware. Keywords: Matrix MDS, Linear layer, Hardware implementation, AES. Nhận bài ngày 17 tháng 11 năm 2015 Hoàn thiện ngày 01 tháng 12 năm 2015 Chấp nhận đăng ngày 25 tháng 12 năm 2015 Địa chỉ: Cục Cơ yếu – BTTM; * Email: hoangvanquan@gmail.com ;
File đính kèm:
- de_xuat_ma_tran_mds_dat_hieu_nang_cao_khi_cai_dat_tren_phan.pdf