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 t[r]
(1)MỘT ĐỀ XUẤT MA TRẬN MDS 4×4 AN TỒN, HIỆU QUẢ CHO TẦNG TUYẾN TÍNH CỦA CÁC MÃ PHÁP DẠNG AES
Nguyễn Ngọc Điệp*
Tóm tắt Trong báo này, chúng tơi đề xuất đánh giá tầng tuyến tính có tính chất cài đặt hiệu phần cứng dựa ma trận tựa vịng sử dụng thiết kế tầng tuyến tính cho mã pháp dạng AES, đảm bảo tính chất cài đặt phần mềm tương tự tầng tuyến tính AES Đánh giá số lượng điểm bất động tầng tuyến tính nhận so sánh với tầng tuyến tính AES
Từ khóa: Ma trận MDS, Tầng tuyến tính, AES
1 GIỚI THIỆU
Từ năm 2000 với việc chuẩn hóa mật mã tiên tiến (AES) [1], số lượng lớn đáng ngạc nhiên xuất nguyên thủy mới, sử dụng thành phần tương tự AES: LED [2], GOST R 34.11.2012 [3] Điều đa phần chiến lược vệt lan rộng xem xét [7] nhằm bảo đảm tính chất khuếch tán tốt cho phép dễ dàng đưa cận an toàn cho khả chống lại thám mã lượng sai tuyến tính cho mã pháp nhận Tầng tuyến tính AES gồm có biến đổi chính: MixColumns ShiftRows Phép MixColumns phép nhân ma trận với véc tơ cột phép ShiftRow hoán vị từ trạng thái Để đảm bảo chiến lược vệt lan rộng, ma trận phải có tính chất khuếch tán tốt nhất, ma trận MDS [4]
Tuy nhiên, thiết kế việc phải đảm bảo độ an toàn, cần phải lựa chọn tham số tầng tuyến tính nhận phải dễ dàng cài đặt mơi trường khác Bởi tầng tuyến tính thành phần chậm mã pháp, vấn đề lớn thu hút nhà làm mật mã ứng dụng
Cơng trình liên quan: Trong [6] nhóm tác giả đề xuất đánh giá số ma trận MDS cuộn có dạng Hadamrd hiệu cài đặt phần cứng Tuy nhiên, đánh giá cho tài nguyên cài đặt phần cứng nhóm tác giả chưa chặt, chưa đưa chiều sâu thiết kế (số xung nhịp) sơ đồ phần cứng nhận Hơn trận MDS Hadamard cuộn đem lại nhiều điểm bất động cho tầng tuyến tính Trong [5] đưa kết số lượng điểm bất động cho tầng tuyến tính AES 216, nghiên cứu trích dẫn số cơng tiềm liên quan đến điểm bất động tầng tuyến tính Các ma trận tựa vịng Junod cộng nghiên cứu đề xuất [8] lợi cài đặt ma trận có nhiều phần tử so sánh với ma trận dịch vòng ma trận Hadamard Trong [9], tác giả Hoàng Văn Quân đề xuất ma trận dịch vòng hiệu sử dụng mã pháp dạng AES sở khai thác cấu trúc đa thức sinh nguyên thủy trường hữu hạn nhằm tìm kiếm phần tử hiệu cho ma trận tuyến tính
Đóng góp báo: Trên sở cách tiếp cận [9], báo đề xuất ma trận tựa vịng 4x4 an tồn có tính chất cài đặt hiệu Hơn nữa, lý thuyết báo đa thức nguyên thủy [9] khơng phải Từ đó, cho phép xây dựng nhiều ma trận MDS có tính chất mật mã tốt
(2)ma trận MDS tựa vịng an tồn, hiệu Việc phân tích khả cài đặt phần mềm đánh giá số lượng điểm bất động ma trận đề xuất trình bày tương ứng mục Mục kết cài đặt mô phần cứng cài đặt phần mềm cho ma trận đề xuất Cuối phần kết luận mục danh mục tài liệu tham khảo
2 ĐẶT VẤN ĐỀ
Xem xét số định nghĩa, khái niệm sau:
Định nghĩa Ma trận dịch vòng ma trận mà hàng (hoặc cột) nhận từ hàng (cột) trước cách dịch vịng phần tử
Một ma trận dịch vịng d×d ký hiệu Cir a a 0, , ,1 ad1,
2n,
i
a i d
Định nghĩa [8] Ma trận tựa vịng kích thướcdd ma trận có dạng
1
1
1
1 , , ,
d
d d
a
Cir a a a
,
trong đó, 1
1
1d 1, ,1 d
a a, iGF 2n , 1 i d2 Ma trận ký hiệu
1
, 1, , , d
C like a Cir a a
Định nghĩa [4] Ma trận vng kích thước dxd ma trận MDS tất ma trận vng không suy biến
Như biết, số nhánh ma trận MDS bằng d + Ngoài số nhánh, tham số liên quan đến độ an tồn tầng tuyến tính số điểm bất động Trong [5], tác giả đưa khái niệm điểm bất động tầng tuyến tính
2
: n n
m m
, L X A X T, đó, A ma trận khơng suy biến kích thước
dxd Theo số lượng điểm bất động NL số nghiệm hệ phương trình A I X 0, đó, Id×d ma trận đơn vị Như vậy, có
2n rank A rank A I 2n d rank A I L
N , số lượng điểm bất động phụ thuộc vào hạng ma trận AI
Trong [9], xem xét đánh giá độ phức tạp cài đặt phần cứng ma trận vòng
1,1, ,
Cir a b Theo đó, cài đặt yêu cầu số xung nhịp + t, tổng số cổng XOR yêu cầu 16 # a # b 3n với #(a) số lượng cổng XOR yêu cầu cho cài đặt phép nhân phần tử a
Trong trường hợp ma trận tựa vòng C like c Cir ( , 1, ,e f ), phép biến đổi MixColumns Y MX là:
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
y y y y c x x x x
y y y y e f x x x x
y y y y f e x x x x
y y y y e f x x x x
(3)trong đó,
2
, , , , n, ,
ij ij
y x c e f i j Ví dụ để tính y00, cần thực
00 00 10 20 30
y x c x x x , phép tính yêu cầu + t1 xung nhịp, t1
số xung yêu cầu thực với phép nhân với c. Đối với phân tử lại ma trận Y, ví dụ y10, ta cần thực y10 x00x10x20 e x30 f Phép tính yêu cầu + t2 xung nhịp, đó, t2 số xung nhịp lớn yêu
cầu thực với phép nhân với e f
Như vậy, số xung nhịp cài đặt ma trận tựa vòng 2max t t1, 2, Còn số cổng XOR yêu cầu # c 3n12 # e # f 3n Bảng tổng hợp độ phức tạp cài đặt phần cứng số dạng ma trận
Bảng 1. Tham số cài đặt phần cứng hai dạng ma trận dịch vòng tựa vòng
Dạng ma trận Số xung nhịp Số cổng XOR 1,1, ,
Cir a b + t 16 # a # b 3n
, 1, ,
C like c Cir e f 2max t t1, 2 # c 3n12 # e # f 3n
Had(1,a,b,c) [6] + t 16 # a # b # c 3n
3 MỘT ĐỀ XUẤT MA TRẬN TUYẾN TÍNH TỰA VỊNG HIỆU QUẢ TRONG CÀI ĐẶT
Rõ ràng điều độ phức tạp cài đặt ma trận tuyến tính việc cài đặt phép nhân với phần tử ma trận trường hữu hạn Như vậy, việc lựa chọn hệ số ma trận định tính chất cài đặt Trong trường hữu hạn 2n, với đa thức sinh có bậc n phép nhân với phần tử 1,
g g1 dễ dàng cài đặt, g – phần tử nguyên thủy trường (thông thường trường hữu hạn với đa thức sinh đa thức nguyên thủy ta thường chọn
g = x [1]) Trong cài đặt phép nhân với phần tử tầm thường, có nghĩa phép nhân khơng tốn tài ngun, cịn phép nhân với g
g
có độ phức tạp nhau, cần không clock cycle Do vậy, tốc độ cài đặt chúng nhanh
Mặt khác ma trận tựa vòng có dạng (1) phải ma trận có tính MDS để đảm bảo tính khuếch tán cực đại, có nghĩa tất ma trận vng phải khơng suy biến Từ đây, ta có mệnh đề buộc hệ số ma trận M sau:
Mệnh đề Ma trận tựa vòng C like c Cir ( , 1, ,e f) (1) ma trận MDS khi
1
1 2
, , 0,1 , , ,
, ,
c e f c e c f
e f e f f e
(2)
Việc chứng minh mệnh đề đơn giản xét điều kiện khác không cho định thức tất ma trận Ngồi ràng buộc hệ số
(4)như phần mềm Thông thường phần tử bội trường hữu hạn phần tử g, nghịch đảo nó, biểu thức “đơn giản” từ hai phần tử này, ví dụ g 1, g-1 1,… ưu tiên lựa chọn, ví dụ hệ số (tức g 1, với g = 2) AES [1], hệ số (bằng g2, với g = 2) LED [2],… Tuy nhiên, yêu cầu hệ số thực phép nhân yêu cầu clock cycle Khi khai thác biểu thức phép nhân với phần tử dạng mối quan hệ với đa thức sinh trường có mệnh đề sau:
Mệnh đề 2 Cho trường hữu hạn 2n, n chẵn, với đa thức sinh đa thức nguyên
thủy
1 1 n n i i i
f x x x
, phần tử nguyên thủy trường chọn g = 2 Phép nhân với g2chỉ yêu cầu xung nhịp khi:
7
0
0,
i i i n
(3)
Trong [9], tác giả có đưa phân tích vấn đề tổng hợp lại viết dạng mệnh đề cho rõ ràng Phần chứng minh mệnh đề tham khảo giải thích [9] Tuy nhiên, [9] tác giả kết luận đa thức f x x8x5x3 x đa thức nguyên thủy cho phép xây dưng ma trận dịch vòng tương tự [9] chưa đủ Mệnh đề sau chứng minh cho vấn đề Đây mở rộng báo so với kết [9] Từ cho phép tìm tập nhiều ma trận có tính chất cài đặt tốt
Mệnh đề 3 Cho trường hữu hạn 2n, n chẵn, với đa thức sinh đa thức nguyên
thủy h x , phần tử nguyên thủy trường chọn g = Phép nhân với g -2 chỉ yêu cầu xung nhịp khi:
1
0
0,
i i i n
(4)
trong đó,
1
1
1
n
n n i
n i i
h x x x
là đa thức liên hợp đa thưc nguyên
thủy
1 1 n n i i i
f x x x
Thấy rằng, đa thức
1 1 n n i i i
f x x x
nguyên thủy, đa thức
liên hợp
1
1
1
n
n n i
n i i
h x x x
(5)thỏa mãn điều kiện mệnh dề 1, ta ln tìm đa thức tương ứng thỏa mãn điều kiện mệnh đề
Như phân tích mục trước, quan tâm đến ma trận 4x4 trường 28, vậy, quan tâm đến đa thức bậc Với giá trị n =
có đa thức thỏa mãn yêu cầu mệnh đề 1, đa thức
1
f x x x x x Đây kết đưa [9] Từ có đa thức
1
h x x x x x thỏa mãn điều kiện mệnh đề Hai đa thức liên hợp Chúng tổng số 281 / 16 đa thức nguyên thủy có bậc 8, hàm Euler [1] Do vậy, chúng sử dụng vai trò đa thức sinh trường 28
Khi xây dựng trường 28 với
8
1
f x x x x x g = Ta chọn hệ số ma trận tựa vòng (1) sau: c = f = g-1 e = g2 Dễ dàng kiểm tra hệ số thỏa mãn điều kiện (2) Do vậy, ma trận
1
, 1, , 149, 1, 4,149
C like g Cir g g C like Cir (5) ma trận MDS
Tương tự, xây dựng trường với đa thức sinh h x x8x7x5x31, phần tử nguyên thủy g = Khi chọn hệ số c = f = g, cịn e = g-2, ta xây dựng ma trận MDS sau:
2
, 1, , 2, 1, 223,
C like g Cir g g C like Cir (6) Khi thực cài đặt theo quan điểm phân tích mục trước, hai ma trận (5) (6) yêu cầu + max{t1, t2} = + = xung nhịp Ví dụ hình minh
họa cho phép nhân với phần tử ma trận (5) (6)
Từ ta tính số cổng XOR cần thiết để thực biến đổi
MixColumns sử dụng ma trận (5)
4 # c 3n 12(# e # f 3 )n 4 3 8 12 3 8 504, số xung nhịp Do tính liên hợp hai hai đa thức f(x)và h(x) độ phức tạp thực cài đặt phần cứng cho ma trận (6) Dưới so sánh tính chất cài đặt cho ma trận báo đề xuất trước
a3 a2 a1 a0
a7 a6 a5 a4
b3 b2 b1 b0
b7 b6 b5 b4
a3 a2 a1 a0
a7 a6 a5 a4
b3 b2 b1 b0
b7 b6 b5 b4
a3 a2 a1 a0
a7 a6 a5 a4
b3 b2 b1 b0
b7 b6 b5 b4
x2 x4 x149
a3 a2 a1 a0
a7 a6 a5 a4
b3 b2 b1 b0
b7 b6 b5 b4 x223
Hình 1. Minh họa phép nhân với 2, 4, 149 223 28 với
1
f x x x x x
1
(6)Bảng 2. Độ phức tạp cài đặt số tầng tuyến tính sở ma trận tuyến tính 4x4
Dạng ma trận Số cổng XOR
Số xung nhịp
Đa thức sinh trường 28
Ghi chú
Cir(1,1,2,3) 576
1
x x x x [1]
Cir(4, 149, 1, 1) 520
1
x x x x [9]
Had(1,2,4,195) 560
1
x x x x [6] C.like1(195,Cir(1,4,195)) 504 x8x5x3 x
Đề xuất C.like2(2,Cir(1,223,2)) 504 x8x7x5x31
Đề xuất Bảng phân tích thấy ma trận đề xuất hiệu so với đề xuất trước Tiếp theo chúng tơi phân tích cài đặt theo quan điểm phần mềm ma trận đề xuất so với ma trận trước
4 PHÂN TÍCH CÀI ĐẶT THEO QUAN ĐIỂM PHẦN MỀM
Tài liệu mô tả gốc chuẩn AES trình bày phương pháp cài đặt môi trường 32 bit sử dụng kỹ thuật tra bảng [1] Theo đó, phương pháp áp dụng với ma trận MixColumns tuyến tính 4x4 Bộ nhớ yêu cầu lưu toàn bảng tra cho cài đặt biến đổi MixColumns 4096 Bytes (4KB) Trong hệ thống mạng với lực tính tốn máy tính nhớ KB hồn tồn khơng đáng kể Tuy nhiên, quan điểm người thiết kế cịn mong muốn hướng đến mơi trường hạng nhẹ, nơi mà quan tâm nhiều yêu cầu tài nguyên cài đặt Do vậy, để phân tích cài đặt cách tổng thể theo quan điểm phần mềm, mục tập trung phân tích độ phức tạp, hay nói xác số phép toán cần thiết cài đặt mà không sử dụng kỹ thuật tra bảng (trong nhiều tài liệu gọi phương pháp cài đặt bit-slice [1]) Bản chất kỹ thuật thực biến đổi tuyến tính xem xét phép nhân trực tiếp với hệ số ma trận tuyến tính sử dụng biến đổi MixColumns Ta quan tâm đến biến đổi MixColumns phép ShiftRows thực tế cài đặt không tốn tài nguyên
Không giống mục mà phép XOR hiểu cộng bit theo modulo với nhau, phép XOR hiểu cộng bit theo modulo hai số bit
Đối với hai ma trận đề xuất, ví dụ với C.like1(195, Cir(1,4,195)) xét biểu thức:
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
149 1
1 149
1 149
1 149
y y y y x x x x
y y y y x x x x
y y y y x x x x
y y y y x x x x
(7)
(7)1
00 149 00 10 20 30 00 10 20 30
y x x x x x x x x
Như vậy, để tính tồn y00,y01,y02 y03 cần 4x1 = phép Xtime 4x3 = 12 phép XOR Mặt khác ta thấy 12 giá trị yij, với 1 i 3, 0 j3 cịn lại
được tính giống hàng lại ma trận tuyến tính có số hạng giống Ví dụ với y10 có:
1
10 00 10 20 149 30 00 10 2 20 30
y x x x x x x x x
Biểu thức yêu cầu phép Xtime phép XOR Như vậy, việc tính tồn 12 giá trị yij, với 1 i 3, 0 j3 yêu cầu 12x3 = 36 phép Xtime 12x3 =
36 phép XOR
Từ đây, ta có độ phức tạp để thực toàn biến đổi MixColumns 36 + = 40 phép Xtime 36 + 12 = 48 phép XOR
Tương tự, độ phức tạp cho ma trận C.like2(2,Cir(1,223,2)) 40 phép
Xtime 48 phép XOR Bảng so sánh khả cài đặt môi trường bit ma trận đề xuất, ma trận AES, [6] [9]
Bảng 3. So sánh cài đặt kiểu bit-slice ma trận MDS 4x4
Ma trận XOR Xtime Ghi
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 AES u cầu số phép tốn nhất, cịn ma trận MDS Hadamard [6] không hiệu cài đặt theo kiểu bit-slice khơng thích hợp sử dụng cài đặt môi trường hạn chế so sánh với ma trận MixColumns AES ma trận MDS tựa vịng mà chúng tơi đề xuất Cần phải nói thêm ma trận sử dụng biến đổi MixColumns AES ma trận tối ưu tất ma trận MDS 4x4
8
2
cài đặt theo kiểu bit-slice, nhiên cài đặt phần cứng phân tích mục trước ma trận chúng tơi đề xuất lại ma trận tối ưu 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 nghiên cứu [9] tác giả Hoàng Văn Quân
Trên thực tế lựa chọn ma trận ta phải xét tất tính chất Do vậy, phần chúng tơi phân tích thêm tính chất nữa, số lượng điểm bất động tầng tuyến tính
5 ĐIỂM BẤT ĐỘNG CỦA TẦNG TUYẾN TÍNH