Đề 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.

pdf 8 trang dienloan 8780
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

Đề 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:

  • pdfde_xuat_ma_tran_mds_dat_hieu_nang_cao_khi_cai_dat_tren_phan.pdf