Một đề xuất ma trận MDS 4×4 an toàn, hiệu quả cho tầng tuyến tính của các mã pháp dạng AES

Tóm tắt. Trong bài báo này, chúng tôi đề xuất và đánh giá tầng tuyến tính có

tính chất cài đặt hiệu quả trong phần cứng dựa trên ma trận tựa vòng có thể sử

dụng trong thiết kế tầng tuyến tính cho các mã pháp dạng AES, trong khi vẫn đảm

bảo được tính chất cài đặt trong phần mềm tương tự như tầng tuyến tính trong AES.

Đánh giá số lượng điểm bất động của tầng tuyến tính nhận được và so sánh với

tầng tuyến tính trong AES.

pdf10 trang | Chuyên mục: Cơ Ứng Dụng | Chia sẻ: yen2110 | Lượt xem: 276 | Lượt tải: 0download
Tóm tắt nội dung Một đề xuất ma trận MDS 4×4 an toàn, hiệu quả cho tầng tuyến tính của các mã pháp dạng AES, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
y y y y x x x x
y y y y x x x x
    
    
     
    
    
    
 (7) 
Từ biểu thức của ma trận ta thấy 4 giá trị 00 01 02, ,y y y và 03y được tính giống 
nhau khi nhân lần lượt hàng thứ nhất của ma trận tuyến tính với lần lượt các cột 
của ma trận dữ liệu. Ví dụ với 00y có: 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 46, 12 - 2016 139
1
00 00 10 20 30 00 10 20 30149 2y x x x x x x x x
          . 
Như vậy, để tính được toàn bộ 00 01 02, ,y y y và 03y cần 4x1 = 4 phép Xtime và 
4x3 = 12 phép XOR. Mặt khác ta thấy 12 giá trị yij, với 1 3,0 3i j    còn lại 
được tính giống nhau bởi 3 hàng còn lại trong ma trận tuyến tính có các số hạng 
giống nhau. Ví dụ với 10y có: 
1
10 00 10 20 30 00 10 20 304 149 2 2 2y x x x x x x x x
             . 
Biểu thức này yêu cầu 3 phép Xtime và 3 phép XOR. Như vậy, việc tính toàn 
bộ 12 giá trị yij, với 1 3,0 3i j    sẽ yêu cầu 12x3 = 36 phép Xtime và 12x3 = 
36 phép XOR. 
Từ đây, ta có độ phức tạp để thực hiện toàn bộ biến đổi MixColumns là 36 + 4 
= 40 phép Xtime và 36 + 12 = 48 phép XOR. 
Tương tự, độ phức tạp cho ma trận C.like2(2,Cir(1,223,2)) cũng là 40 phép 
Xtime và 48 phép XOR. Bảng 3 dưới đây là so sánh khả năng cài đặt trên môi 
trường 8 bit của các ma trận chúng tôi đề xuất, ma trận trong AES, trong [6] và 
trong [9]. 
Bảng 3. So sánh cài đặt kiểu bit-slice các ma trận MDS 4x4. 
Ma trận XOR Xtime Ghi chú 
Cir(2, 3, 1, 1) 60 16 [1] 
Cir(4, 149, 1, 1) 48 48 [9] 
Had(1, 2, 4, 145) 80 112 [6] 
C.like1(149,Cir(1,4,149)) 48 40 Đề xuất 
C.like2(2,Cir(1,223,2)) 48 40 Đề xuất 
Qua bảng phân tích ta thấy ma trận MDS trong AES yêu cầu số phép toán ít 
nhất, còn ma trận MDS Hadamard trong [6] là không hiệu quả khi cài đặt theo kiểu 
bit-slice và không thích hợp khi sử dụng trong cài đặt trên các môi trường hạn chế 
khi so sánh với ma trận MixColumns trong AES và các ma trận MDS tựa vòng mà 
chúng tôi đề xuất. Cần phải nói thêm rằng ma trận sử dụng trong biến đổi 
MixColumns AES là ma trận tối ưu nhất trong tất cả các ma trận MDS 4x4 trên 
82
 khi cài đặt theo kiểu bit-slice, tuy nhiên khi cài đặt phần cứng như phân tích ở 
mục trước thì ma trận chúng tôi đề xuất lại là ma trận tối ưu nhất. Ma trận tựa vòng 
chúng tôi đề xuất có độ phức tạp cài đặt theo kiểu bit-slice tốt hơn nghiên cứu 
trong [9] của tác giả Hoàng Văn Quân. 
Trên thực tế khi lựa chọn ma trận ta phải xét tất cả các tính chất có thể của nó. 
Do vậy, trong phần tiếp theo chúng tôi sẽ phân tích thêm một tính chất nữa, đó là 
số lượng điểm bất động của tầng tuyến tính. 
5. ĐIỂM BẤT ĐỘNG CỦA TẦNG TUYẾN TÍNH 
Như đã phân tích ở mục trước số nhánh là tham số quan trọng nhất của tầng 
tuyến tính, khi xây dựng tầng tuyến tính theo kiểu AES mà sử dụng ma trận MDS 
4x4 trong biến đổi MixColumns ta sẽ đảm bảo được tính chất theo chiến lược vệt 
lan rộng [7]. Khái niệm số lượng điểm bất động của tầng tuyến tính đưa ra trong 
Công nghệ thông tin & Cơ sở toán học cho tin học 
Nguyễn Ngọc Điệp, “Một đề xuất ma trận MDS 4×4 an toàn các mã pháp dạng AES.” 140 
[5] sẽ là một tham số quan trọng 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 ta có thể biểu diễn bởi phép nhân một ma trận 16x16 [5]. 
Gọi ma trận tuyến tính 16x16 này là A. Đối với ma trận này có   16rank A  và 
  14rank A I  . Theo đó, số lượng điểm bất động của tầng biến đổi tuyến tính 
trong AES là 
      8 16 14 16
_ 2 2 2
n rank A rank A I
Cir AESN
     . Thực hiện tương tự đối 
với ma trận Had(1, 2, 4, 145) [6], ma trận Cir(4, 149, 1, 1) [9] và hai ma trận 
chúng tôi đề xuất là C.like1(149,Cir(1,4,149)) và C.like2(2,Cir(1,223,2)) chúng tôi 
nhận được: 
 1,2,4,145 1HadN  ,  4,149,1,1 1CirN  ,   1. 149, 1,4,149 1C like CirN  và   1. 2, 1,223,2 1C like CirN  . 
Như vậy, 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, đây chính là điểm véc tơ 0 tầm thường. 
6. KẾT QUẢ THỰC NGHIỆM 
Chúng tôi thực hiện các thiết kế các khối 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 đề xuất trước đó. Chương trình 
được viết trên ngôn ngữ VHDL cho Virtex6 XC6VLX240T–2FF1156. Công cụ 
thiết kế là Xilinx ISE phiên bản 14.3. Ví dụ minh họa mô phỏng Isim cho ma trận 
trong Cir(2, 3, 1, 1) sử dụng trong AES như trong hình 2 ta thấy rằng cài đặt này 
yêu cầu 4 xung nhịp. 
Hình 2. Kết quả mô phỏng đối với ma trận trong AES Cir(2, 3, 1, 1). 
Đối với ma trận đề xuất C.like1(149,Cir(1,4,149)). Hình 3 là mô phỏng Isim 
đối với ma trận đề xuất này. Trong cài đặt này ta thấy sau 3 clock cycle 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. 
Hình 3. Kết quả mô phòng với ma trận đề xuất C.like1(149,Cir(1,4,149)). 
Thực hiện tương tự với những ma trận khác trong bảng 3 chúng tôi có thống 
kê tài nguyên và tốc độ trong bảng 4. 
Nghiên cứu khoa học công nghệ 
Tạp chí Nghiên cứu KH&CN quân sự, Số 46, 12 - 2016 141
Bảng 4. Tham số cài đặt phần cứng trên Virtex6 XC6VLX240T–2FF1156. 
Ma trận 
Slice 
Register
s 
LUT
-FF 
pairs 
LUT
s 
Cloc
k 
cycle
s 
Maximu
m 
Frequenc
y (MHz) 
Speed 
(Mbps
) 
Cir(2, 3, 1, 1) [1] 688 530 544 4 1225.415 39213 
Cir(4, 149, 1, 1) [9] 656 520 528 3 1225.415 52284 
Had(1, 2, 4, 145) [6] 702 546 560 4 1225.415 39213 
C.like1(149,Cir(1,4,14
9)) 
632 493 504 3 1225.415 52284 
C.like2(2,Cir(1,223,2)) 632 493 504 3 1225.415 52284 
Trong bảng này, ta thấy ma trận chúng tôi đề 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 so với những ma trận còn lại và tương đương 
với ma trận trong [9]. 
Bảng 5. Kết quả thực nghiệm tốc độ mã hóa của AES sử dụng ma trận đề xuất. 
Phiên bản AES Quá trình 
Tốc độ 
MB/s cpb 
AES-128 
Mã hóa 204 12 
Giải mã 221 11 
AES-192 
Mã hóa 189 13 
Giải mã 185 13 
AES-256 
Mã hóa 165 15 
Giải mã 162 15 
Chúng tôi cũng tiến hành cài đặt phần mềm cho thuật toán AES, trong đó, sử 
dụng ma trận C.like1 để thay thế cho ma trận tuyến tính của AES. Cách tiếp cận ở 
đây là sử dụng bảng tra trên môi trường với thanh ghi 32 bit. Chương trình được 
viết trên ngôn ngữ C chuẩn, biên dịch sử dụng Visual Studio v10 trên máy Intel(R) 
Core(TM) i5-6200U CPU 2.4GHz, Ram 4.00GB, Windows 10. Trong chương 
trình không sử dụng bất kỳ một lệch assembler hay các hộ trợ SSE nào. Tốc độ 
được đo bằng MegaBytes/s (MB/s). 
Kết quả cài đặt trong bảng 5 là tương đương với cài đặt của AES [1]. 
7. KẾT LUẬN 
Trong bài báo này, chúng tôi đề xuất hai ma trận tuyến tính có tính chất mật mã 
tốt có thể thay thế ma trận trong biến đổi MixColumns trong AES. Ma trận này là 
một ma trận MDS tựa vòng trên trường hữu hạn. Khi sử dụng trong biến đổi 
MixColumns của AES sẽ nhận được tầng tuyến tính đảm bảo được số nhánh theo 
chiến lược vệt lan rộng mà không có điểm bất động như trường hợp ma trận gốc 
của AES. Ma trận đề xuất có cài đặt kiểu bit-slice có thể so sánh với ma trận gốc 
trong AES, và tốt hơn nhiều so với ma trận đề xuất trong [6] và [9]. Theo quan 
điểm cài đặt phần cứng ma trận của chúng tôi 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 cả ma trận gốc trong AES, ma trận đề 
xuất trong [6] và ma trận trong [9]. 
Công nghệ thông tin & Cơ sở toán học cho tin học 
Nguyễn Ngọc Điệp, “Một đề xuất ma trận MDS 4×4 an toàn các mã pháp dạng AES.” 142 
Bằng lý thuyết tìm được nhiều đa thức sinh hơn thỏa mãn điều kiện trong mệnh 
đề 2 và 3. Từ đó, cho phép tìm được nhiều hơn các ma trận MDS có tính chất cài 
đặt tốt. 
Về mặt an toàn, ma trận của chúng tôi khi sử dụng trong tầng tuyến tính của AES 
không có điểm bất động, trong khi tầng tuyến tính của AES có 216 điểm bất động. 
TÀI LIỆU THAM KHẢO 
[1]. Зензин, О. and М. Иванов, "Стардарт криптографической защиты-AES. 
Конечные поля". 2002: КУДРИЦ-ОБРАЗ М. 
[2]. Guo, J., et al., "The LED block cipher", in Cryptographic Hardware and 
Embedded Systems–CHES 2011. 2011, Springer. p. 326-341. 
[3]. ГОСТ Р 34.11-2012: "Криптографическая защита информации". 
Функция хиширования. 2012: p. 25. 
[4]. Мак-Вильямс, Ф.Д., "Теория кодов, исправляющих ошибки". 1979. 
[5]. Z'aba, M.R., "Analysis of linear relationships in block ciphers". Luận án Tiến 
sĩ của Queensland University of Technology, 2010. 
[6]. Sim, S.M., et al. "Lightweight MDS Involution Matrices". in FSE. 2015. 
[7]. Daemen, J. and V. Rijmen, "The wide trail design strategy", in Cryptography 
and Coding. 2001, Springer. p. 222-238. 
[8]. P. Junod and S. Vaudenay, “Perfect diffusion primitives for block cipher – 
Building efficient MDS matrices”. In Selected Areas in Cryptology (SAC 
2004), LNCS 3357, pp. 84-99, Springer-Verlag, 2004. 
[9]. Hoàng Văn Quân. “Đề 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ạp chí Nghiên cứu KH&CN quân 
sự, Số 40, 12 – 2015. 
ABSTRACT 
A PROPOSITION FOR THE SECURE AND EFFECTIVE 4 4 MDS 
MATRICES IN THE LINEAR LAYER OF AES-LIKE BLOCK CIPHERS 
 In this paper, we proposed and evaluated the linear layer which have 
effective implemented property on the hardware based on circulant matrices 
that can be used in designing a linear layer for AES-like block ciphers, while 
still guarantee implemented property on software as the liner layer in AES. 
We have evaluated the number of fixed points in the obtained liner layer and 
compared with the linear layer in AES. 
Key words: MDS matrix, The linear layer, AES. 
Nhận bài ngày 30 tháng 9 năm 2016 
Hoàn thiện ngày 19 tháng 10 năm 2016 
Chấp nhận đăng ngày 14 tháng 12 năm 2016 
Địa chỉ: Viện Khoa học – Công nghệ mật mã, Ban Cơ yếu Chính phủ; 
 * Email: diepnngoc@yahoo.com. 

File đính kèm:

  • pdfmot_de_xuat_ma_tran_mds_44_an_toan_hieu_qua_cho_tang_tuyen_t.pdf