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

7 17 0
Đề 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

Đang tải... (xem toàn văn)

Thông tin tài liệu

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[r]

(1)

ĐỀ 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 Qn*

Tóm tắt: Trong báo này, chúng tơi phân tích, đánh giá số kết có về ma trận MDS có cấu trúc dịch vịng cho phép biến đổi MixColumns tầng tuyến tính mã pháp dạng AES Dựa phân tích này, đề xuất một ma trận có khả cài đặt hiệu phần cứng, đồng thời đánh giá số lượng điểm bất động tính khuếch tán tầng tuyến tính sử dụng ma trận đề xuất Kết áp dụng để chọn 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 cao thực 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 mã khối thiết kế dựa nguyên tắc xây dựng Shannon, tính xáo trộn (confusion) tính khuếch tán (diffusion) [5] Nếu tính xáo trộn đảm bảo hộp tính khuếch tán đảm bảo tầng biến đổi tuyến tính (được gọi tầng tuyến tính) Mặt khác tầng tuyến tính thành phần nguyên thủy mật mã chậm mã khối, việc nghiên cứu lựa chọn tầng tuyến tính khơng liên quan trực tiếp đến độ an toàn mã khối kháng lại số thám mã quan trọng thám mã lượng sai thám mã tuyến tính mà cịn ảnh hưởng đến việc cài đặt hiệu mã khối

Đối với 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 hoán vị từ trạng tháivà MixColumns phép nhân ma trận với cột trạng thái phép tính phức tạp tiêu tốn nhiều thời gian tầng tuyến tính [8] Trong tầng tuyến tính AES, ma trận MDS sử dụng ma trận có cấu trúc dịch vịng lựa chọn kỹ lưỡng sở đảm bảo độ an toàn khả cài đặt Tuy nhiên, theo đánh giá quan điểm điểm bất động tác giả Z’aba M R [7] tầng khuếch tán lại có 216 điểm bất động, [7] tác giả tương quan tỷ lệ nghịch độ khuếch tán số điểm bất động, nhiều điểm bất động độ khuếch tán thấp, điều ảnh hưởng trực tiếp đến tính an tồn thuật toán mã khối

Trong số cơng trình nghiên cứu khả cài đặt cứng hóa FPGA AES [1], [2], [3], phương pháp cài đặt tầng tuyến tính chủ yếu dựa trực tiếp phép nhân với số ma trận biến đổi MixColumns Mặc dù số ma trận lựa chọn để dễ dàng cài đặt, nhiên phép nhân trực tiếp cứng hóa chưa tối ưu chưa đưa đánh giá trực quan chiều sâu thiết kế mạch phần cứng nhận

Trong [6] nhóm tác giả đề xuất số ma trận MDS MDS cuộn có dạng Hadamard hiệu cài đặt phần cứng Cụ thể tài liệu đưa số cổng XOR cần thiết ma trận đề xuất, 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), yếu tố có ảnh hưởng trực tiếp đến tốc độ xử lý mạch phần cứng Hơn 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

(2)

cũng ma trận MDS 4x4 có cấu trúc dịch vịng, tầng tuyến tính nhận ngồi khả đạt hiệu cao cài đặt cứng hóa 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 mã pháp dạng AES, phép biến đổi MixColumns thực phép nhân ma trận YMX:

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

y y y y a b x x x x

y y y y a b x x x x

y y y y a b x x x x

y y y y b a x x x x

     

     

   

     

     

 

   

, (1)

trong y x a bij, ij, , 2n, 0i j, 3. Để tính phần tử, ví dụ y00, ta cần thực y00 x00 a x10 b x20x30 Ký hiệu M=Cir(a,b,1,1)

Phép cộng XOR số hạng yêu cầu xung nhịp (2 clock cycle) Như số xung nhịp để tính phần tử t +2, t số xung nhịp lớn yêu cầu thực với phép nhân với a b Số cổng XOR yêu cầu để tính y00 # a # b 3n,

 

#  ký hiệu số cổng XOR thực phép nhân với phân tử  2n

 Do để thực tính tồn giá trị đầu cần tiến hành 16 phép tính song song với (do hàng ma trận có phần tử giống nhau) Nhưng số xung nhịp yêu cầu t+2, tổng số cổng XOR yêu cầu 16 #  a # b 3n

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 biến đổi MixColumns chuẩn mã hóa AES ma trận 4×4 với phần tử thuộc trường hữu hạn 28với đa thức sinh

 

1

f xxxx  x

2 1

1

1

3 1

M

 

 

 

 

 

 

Để thực phép biến đổi ta cần thực phép nhân với phần tử (biểu diễn dạng số 10) 28 Trong số cài đặt phần cứng [1], [2], [3] công bố

phép nhân với thực theo sơ đồ hình 1–a), b) Biểu thức phép nhân phần tử a với trường xét công thức (2);

(3)

7

6

5

4

3

2

1

0

y x

y x

y x

y x x

y x x

y x

y x x

y x                         (2)

7

6

5

4

3

2

1

0

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 0

7

6

5

4

3

2

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ặp bit y y3, 4 hoặcy y0, 1có thành phần giống Do vậy, viết cơng thức (3) thành (4) Theo phép nhân cần xung nhịp để thực cần cổng XOR thay 11 cài đặt trước Minh họa cho phép nhân thể hình 1–c)

Hình Phép nhân với 28 với  

8

1

f xxxx  x

Như vậy, số cổng XOR cần thiết cho cài đặt phép nhân hàng ma trận MixColumns với cột ma trận liệu 12 + 3x8 = 36 Cịn số xung nhịp u cầu + = 4, xung nhịp để thực phép nhân với 3, xung nhịp yêu cầu cộng XOR byte để nhận byte đầu

Hình Phép nhân với 2, 145 28 với  

8

1

f xxxx  x Trong [6] nhóm tác giả đề xuất ma trận Had(1,2,4,145), 28 với đa thức sinh

(4)

7

6

5

4

3

2

1

0

y x x

y x x

y x

y x

y x

y x

y x x

y x                         (5)

7

6

5

4

3

2

1

0

y x x

y x x x

y x

y x

y x

y x x

y x

y x x

                          (6)

7

6

5

4

3

2

1

0

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 13 + 3x8 = 37 Tuy nhiên, theo chúng tơi đánh giá chưa chặt nhóm tác giả khơng xét đến trùng lặp biểu thức phép nhân với 145 Như thực chất số cổng XOR cần thiết 11 + 3x8 = 35 Theo (6), (7) phép nhân với 145 cần xung nhịp, để cài đặt ma trận Had(1,2,4,145) cần 2+2 = xung nhịp Giá trị số xung nhịp cài đặt ma trận sử dụng biến đổi MixColumns thuật toán AES, nhiên ma trận Hadamard nói cài đặt tốn tài nguyê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 cài đặt ma trận tuyến tính phần cứng việc cài đặt phép nhân với phần tử ma trận trường hữu hạn Các nguyên thủy mật mã sử dụng thực tế phải lựa chọn cho chúng dễ dàng cài đặt phần cứng phần mềm Như cài đặt ma trận tuyến tính 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 đa thức bậc n phép nhân với phần tử 1, 2-1 dễ cài đặt [8] Trong cài đặt phần cứng phép nhân với 2-1 có độ phức tạp cần xung nhịp, đạt hiệu cao mặt tốc độ

Như biết để nhận số nhánh cực đại ma trận vịng M trong (1) phải có tính MDS [4], tức tất ma trận vuông phải khơng suy biến Từ đây, điều kiện để M có tính MDS là:

   

2

0,1 , 0,1

, ,

a b

a b b a ab

          (8) Thông thường phần tử bội trường hữu hạn phần tử nghịch đảo ưu tiên lựa chọn Trong biểu thức (8) ta thấy cặp giá trị a b,  2 , 22 1

luôn thỏa mãn trường 2n

 Tuy nhiên, phải lựa chọn đa thức sinh trường cho phép nhân với phần tử 22 cài đặt phần cứng yêu cầu xung nhịp Với giá trị n = có đa thức thỏa mãn yêu cầu đa thức

 

1

f xxxx  x Đây đa thức nguyên thủy tổng số

 

 

2 1 / 16

(5)

Bảng Danh sách 16 đa thức nguyên thủy bậc 2

TT Đa thức TT Đa thức

1

1

xxxx

1

xxxx

2

1

xxx  x 10

1

xxxxxx

3

1

xxxxx  x 11

1

xxxx

4

1

xxx  x 12

1

xxxx

5

1

xxxxx  x 13

1

xxx  x

6

1

xxxx  14

1

xxxx

7

1

xxxx  15

1

xxxxx  x

8

1

xxxx16

1

xxx  x

Bây chúng tơi giải thích lại chọn đa thức số 16 bảng chứng tỏ cặp a b, 2 , 22 14,149 lại tạo lợi cài đặt phần cứng trường hữu hạn nhận Tương tự mục 3, phép nhân a với 2, 4, 149 28 với đa thức sinh  

8

1

f xxxx  x minh họa hình

Hình Phép nhân với 2, 149 28 với  

8

1

f xxxx  x Ta thấy phép nhân với phần tử yêu cầu xung nhịp, điều nhận tính chất đa thức sinh trường 28 Thật vậy, giả sử đa thức sinh xác định phép

nhân xét f x x8i71ixi1,i2 Khi thực phép nhân 2

y x (hình 2) cần thực việc kiểm tra “true-false” bit x7, bit cao x Kết số số bit đầu y x 2 xác định tổng theo modul bit x7 với bít đầu vào tương ứng xi, 0 i 7 sau:

1

,

, 1 7

i i i

y x

y x  x i

    

Tiếp theo thực phép zy 2 x2 2 có dạng:

   

 

0 7

1 7 7 7

1 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

     

    

  

   

             

         

(6)

 ii17i0, 2 i

Nếu 7 0, ta có:  i i1 0, 2 i (9) Nếu 7 1 , ta có;  ii1i0, 2 i điều dẫn đến i 1,1 i

nhiên trường hợp đa thức nhận f x x87i1xi1 không bất khả quy, trường hợp khơng thỏa mãn điều kiện cần

Từ phân tích chúng tơi sử dụng điều kiện (9) đa thức sinh trường 2n

 để nhận phép nhân với 22 mà yêu cầu xung nhịp Với đa thức

 

1

f xxxx  x điều kiện (9) nói thỏa mãn đa thức nguyên thủy có bậc thỏa mãn yêu cầu

Như ta tính số xung nhịp cho cài đặt phép nhân hàng ma trận đề xuất với cột ma trận liệu + = số cổng XOR yêu cầu + 8x3 = 33, giảm xung nhịp cổng XOR so với ma trận sử dụng AES, giảm xung nhịp cổng XOR so với ma trận đề xuất [6]

4.2 Điểm bất động tầng tuyến tính theo ma trận đề xuất

Ta biết số nhánh tham số quan trọng tầng tuyến tính, bên cạnh số lượng điểm bất động tầng tuyến tính [7] tham số quan trọng khác lựa chọn tầng tuyến tính, ảnh hưởng đến độ an tồn xem tham số bổ sung cho khái niệm số nhánh tầng tuyến tính

Tầng tuyến tính AES gồm biến đổi: ShiftRows MixColumns Khi kết hợp hai biến đổi biểu diễn phép nhân ma trận A16x16 với véc tơ cột Theo [7] số lượng điểm bất động phụ thuộc vào rank A I  , I ma trận đơn vị Đối với tầng tuyến tính AES có rank A 16 rank A I  14, có NCir_AES 2n rank A  rank A I  28 16 14   216 điểm bất động Tương tự ma trận đề xuất Cir(4, 149, 1, 1) ma trận Had(1, 2, 4, 145) có NCir4,149,1,1 28 16 16   1

 

  16 16 1,2,4,145 2 1 Had

N   

Như là, sử dụng hai ma trận để thay ma trận biến đổi MixColumns AES nhận tầng tuyến tính mà có điểm bất động điểm tầm thường

5. KẾT QUẢ CÀI ĐẶT THỰC NGHIỆM TRÊN FPGA

Chúng thực thiết kế chức biến đổi MixColumns sử dụng ma trận đề xuất số ma trận xem xét nghiên cứu Chương trình viết ngôn ngữ VHDL cho FPGA Xilinx Công cụ thiết kế Xilinx ISE phiên 14.3 Kết cụ thể sau:

5.1.Đối với ma trận đề xuất

Hình kết mô ModelIsim ma trận đề xuất, cài đặt ta thấy sau xung nhịp ta nhận kết đầu tính từ thời điểm xuất tín hiệu đầu vào Kết thực nghiệm giá trị mà đánh giá lý thuyết mục trước

(7)

phần cứng mục trước

Hình Kết mô ma trận đề xuất Cir(4, 149, 1, 1)

5.2.Đối với ma trận sử dụng AES

Đối với ma trận Cir(2, 3, 1, 1) sử dụng AES Tiến hành đánh giá nhận số xung nhịp tài nguyên yêu cầu thực tế với giá trị phân tích lý thuyết Hình kết mô ModelIsim số xung nhịp bảng tài nguyên yêu cầu cho cài đặt thực nghiệm

Hình Kết mơ ma trận AES Cir(2, 3, 1, 1)

Chúng thực cài đặt tương tự cho trường hợp sử dụng ma trận Had(1, 2, 4, 145)và nhận kết thực nghiệm giống đánh giá lý thuyết

Bảng Tham số cài đặt phần cứng FPGA 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 1225.415 39213

Cir(4,149,1,1) 656 520 528 1225.415 52284

Had(1,2,4,145) 702 546 560 1225.415 39213

Kết nhận 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ý liệu vượt trội so sánh với ma trận xét

6. KẾT LUẬN

Ngày đăng: 09/03/2021, 04:28

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

Tài liệu liên quan