Đề xuất tầng tuyến tính an toàn, hiệu quả cho các mã khối có cấu trúc SPN

8 63 0
Đề xuất tầng tuyến tính an toàn, hiệu quả cho các mã khối có cấu trúc SPN

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

Thông tin tài liệu

Nội dung bài viết này phân tích, đề xuất tầng tuyến tính an toàn, cài đặt hiệu quả dựa trên ma trận MDS có tính truy hồi cho cho các mã khối có cấu trúc dạng SPN. Cụ thể, đề xuất ma trận kích thước 4×4 trên trường hữu hạn được đánh giá có tính chất mật mã và hiệu quả hơn của AES.

Nghiên cứu khoa học công nghệ ĐỀ XUẤT TẦNG TUYẾN TÍNH AN TỒN, HIỆU QUẢ CHO CÁC MÃ KHỐI CĨ CẤU TRÚC SPN Lê Huy Thìn1*, Nguyễn Đơng Hưng1, Bùi Ngọc Mỹ2 Tóm tắt Nội dung báo phân tích, đề xuất tầng tuyến tính an tồn, cài đặt hiệu dựa ma trận MDS có tính truy hồi cho cho mã khối có cấu trúc dạng SPN Cụ thể, đề xuất ma trận kích thước 4×4 trường hữu hạn đánh giá có tính chất mật mã hiệu AES Từ khóa: Trường hữu hạn; Ma trận MDS truy hồi; Tầng tuyến tính; AES MỞ ĐẦU Việc chuẩn hóa Rijndael thành chuẩn mật mã nâng cao (AES) vào năm 2000, sở cho nguyên thủy sau LED [1], PRINCE [2], PHOTON [3]… đời, sử dụng thành phần tương tự AES Sự kế thừa dựa chiến lược vệt lan rộng đưa Rijndael [5] với tham số độ khuếch tán số nhánh Tuy nhiên, thiết kế tầng tuyến tính, ngồi tính chất độ an tồn, ta cần phải lựa chọn tham số nhằm bảo đảm tính mềm dẻo cài đặt phần mềm phần cứng Với quan điểm dẫn đến thỏa hiệp tham số an toàn tham số cài đặt Theo đánh giá quan điểm điểm bất động cơng bố [7], tuyến tính AES có 216 điểm bất động Các nghiên cứu liên quan đến việc xây dựng tầng tuyến tính cho mã khối dạng SPN dựa ma trận MDS có tính truy hồi, lũy thừa ma trận có cấu trúc đơn giản trường hữu hạn LED [1], GOST[4] Trong [8] chí khai thác tính chất phép nhân với phần tử trường phụ thuộc vào đặc điểm ma trận sinh trường hữu hạn Bài báo đề xuất ma trận sử dụng biến đổi MixColumns thuật toán AES Các ma trận đề xuất đánh giá có tính chất mật mã hiệu AES Về hiệu cài đặt phần cứng, phần mềm, ma trận đề xuất có cân biến đổi thuận hàm mã biến đổi nghịch đảo hàm giải mã CƠ SỞ TOÁN HỌC 2.1 Trường hữu hạn sở Gọi trường gồm phần tử nghiệm ( ) = + + + + 1 trên [ ] Định nghĩa trường hữu hạn vành thương [ ]/ ( ) Mỗi phần tử biểu diễn sử dụng sở ( , , … , , 1) Vì ( ) nguyên thủy nên phần tử sinh , có nghĩa phần tử khác biểu diễn lũy thừa bậc k , với ≤ ≤ 254 Mỗi phần tử biểu diễn số nguyên bit ánh xạ song ánh: : → {0,1, … ,255} = ∑ → ∑ Ở Trong báo sử dụng dạng số nguyên để biểu thị phần tử 2.2 Số nhánh, số điểm bất động tầng tuyến tính tham số cài đặt Biến đổi tuyến tính sử dụng biến đổi đơn giản hàm vòng để bảo đảm tính khuếch tán mã pháp Đặc trưng cho tính chất mật mã theo quan điểm an tồn biến đổi tuyến tính, nhà thiết kế mật mã sử dụng hai đại lượng số nhánh số điểm bất động Theo quan điểm cài đặt phần mềm số phép nhân trường, kích thước nhớ lưu bảng, số lần truy cập nhớ, cài đặt phần cứng thường số cổng logic, số xung nhịp Tạp chí Nghiên cứu KH&CN quân sự, Số 61, - 2019 99 Kỹ thuật điều khiển & Điện tử Số nhánh tầng biến đổi tuyến tính xây dựng sở biến đổi tuyến tính M ký hiệu B  M  [5] Số nhánh tính sau Gọi x   x0 , x1 , , xd 1  , với xi 2n   x  x0 , x1 , , xd 1 véc tơ nhị phân chiều dài d, với  xi  xi  , trường khác Ký hiệu wt   x  trọng số Hamming  x Biểu thức số     nhánh là: B  M   wt  x   wt  y : x  0, y  M  x Một tham số khác liên quan đến độ an tồn tầng biến đổi tuyến tính tham số m m m điểm bất động [7] Theo đó, x điểm bất động  : 2n  2n x    x  , x  2n Có nghĩa giá trị khơng thay đổi tác động biến đổi tuyến tính Một m m biến đổi tuyến tính  : 2n  2n biểu diễn ma trận khơng suy biến M có kích thước m  m , phần tử ma trận thuộc trường 2n Như vậy, số lượng điểm bất động biến đổi số nghiệm hệ phương trình:  M  I  x  , I ma trận đơn vị kích thước m  m Do vậy, số lượng điểm bất động cho biến n rank  M   rank  M  I   n d  rank  M  I   đổi tuyến tính nói tính theo cơng thức: N L   2  Từ đây, thấy rằng, số điểm bất động phụ thuộc vào hạng ma trận M  I Bảng Điểm bất động tầng khuếch tán số mã pháp [4] Mã pháp m B(M) rank(M) rank(M-I) NL AES 16 16 14 216 ARIA 16 16 272 PRESENT 64 64 40 224 Serpent 128 128 127 2.3 Cấu trúc Feistel tổng quát dạng biểu diễn ma trận tương ứng Trong [9], Matsumoto giới thiệu cấu trúc Feistel tổng quát (GFS – Generalized Feistel Struture) (hình 1), hay gọi dạng lược đồ sử dụng nhiều ghi dịch tuyến tính có phản hồi (hình 2)[10] Hai biểu diễn cấu trúc Feistel sau: x0 x1 x2 x3 a1 xs-1 x0 x1 x2 x3 xs-2 xs-1 a0 a1 a2 a3 as-2 as-1 as-2 a2 a0 xs-2 as-1 a3 Hình Cấu trúc Feistel tổng quát Ma trận biểu diễn cấu trúc có dạng:  T    A     U   U2 T  U3           Hình Mơ hình nhiều LFSR    T       U s/2 T      (1) 100 L H Thìn, N Đ Hưng, B N Mỹ, “Đề xuất tầng tuyến tính an tồn … có cấu trúc SPN.” Nghiên cứu khoa học công nghệ s 1 0 0 , = = , với  i  chẵn 0 0 Trên sở ma trận xây dựng ma trận MDS kích thước × Khi tầng khuếch tán nhận tương đương với phép nhân ⋅ , ) Thơng thường ta chọn d = s Để xây dựng tầng tuyến = ( , ,…, tính có tính khuếch tán cực đại (tương đương với số nhánh s + 1) A d phải ma trận MDS Trong [10] giới thiệu ma trận MDS dạng (2) với hàm tuyến tính có dạng đó, = s  aki   a k ký hiệu cho ma trận dạng (2) Agfs   a0 , a1 , , as 1  Cổng XOR cần thiết thiết kế phần cứng là[10] : s s (2)  n   i 1 # có nghĩa độ phức tạp phụ thuộc vào độ phức tạp cài đặt thực phép nhân tọa độ , ≤ ≤ − với phần tử , ≤ ≤ − Từ kết cơng bố [10] tìm ma trận dùng tầng tuyến tính mà khối có cấu trúc SPN theo hai tiêu chí an toàn hiệu dạng M = , đó: Tiêu chí an tồn cho “M ma trận MDS có giá trị bé tốt” (tốt =1), tiêu chí hiệu đánh giá thơng qua “giá trị tính theo cơng thức (2) bé tốt” ĐỀ XUẤT MA TRẬN TRUY HỒI AN TOÀN, HIỆU QUẢ TRONG CÀI ĐẶT Trong phần đề xuất ma trận MDS kích thước × trường với đa thức sinh nguyên thủy ( ) = ⊕ ⊕ ⊕ ⊕ Ma trận lũy thừa bậc ma trận có dạng (1) Với = 4, (1) nghịch đảo có dạng: 1  a1a0 0 0     0 a a  , ( 4) 1  4 Agfs  Agfs   a , a1 , a , a      a 21 0 1    0  a a1  đó, ∈ , ≤ ≤ Khi tầng tuyến tính là:  = ( ) , =( , , , ), a3 a 21   y0   x0        y1  x (4)  y  M  x   Agfs        y2   x2         y3   x3   a0 đó, =( , , 0 a1 ,   x0     a3   x1     x2       x3  a2 0 ), a01    (3)    , ∈ (4) Chúng xây dựng chương trình tìm kiếm ma trận MDS lũy thừa bậc ma trận dạng (3) Số dự tuyển cần kiểm tra trường hợp 232 Để kiểm tra tính MDS ma trận nhận sử dụng thuật toán [11] Kết chúng tơi tìm 16.655.547.960 ma trận MDS có dạng lũy thừa bậc ma trận dạng (3) Trong q trình tìm ma trận MDS tính số điểm bất động để từ lựa chọn ma trận ma trận có tính chất mật mã tốt Ngồi ra, tính tốn tham số cài đặt với tiêu chí dựa độ phức tạp cài đặt phần cứng theo (2) số phép nhân với 2-1 (phép Xtime theo [5]) Kết tìm hai ma trận dạng (1) mà lũy thừa bậc Tạp chí Nghiên cứu KH&CN quân sự, Số 61, - 2019 101 Kỹ thuật điều khiển & Điện tử chúng ma trận MDS × Những ma trận có điểm bất động ( ) véc tơ tầm thường Dạng ma trận nghịch đảo tương ứng chúng là: Và 0  ( 4) Agfs _1   0  2   (4)  Agfs  _2    212 0 0  212   2 1 (4) ,  Agfs _1     1   0  0  2   212  1 (4) 1 ,  Agfs  _2  0 0    0  0 0 0 212    ,    2  0 212   0 0 (5) (6) 3.1 Độ phức tạp cài đặt phần mềm Với phương pháp cài đặt không dùng bảng tra, tham số tính thơng qua phép Xtime số phép XOR số bit Ta thấy với đa nguyên thủy ( ) = ⊕ ⊕ ⊕ ⊕ phần tử 212 nghịch đảo Giả code phép nhân với phần tử là: Giả code nhân phần tử x với trường 28   x  1  0xA9 if ( x  ) return else return  x  1 Giả code nhân phần tử x với 212 trường 28 if ( x & x1 ) return  x  1  xD else return  x  1 Thấy ma trận (5), (6) chứa phần tử 212, phần tử dễ thực nhân trường, lý lựa chọn đề xuất Đối với ma trận đề xuất số (5) ta có số kết sau: Gọi x   x0 , x1 , x2 , x3  , xi  28 ,  i  T véc tơ cột đầu vào y   y0 , y1 , y2 , y3  , yi  28 ,  i  véc tơ cột đầu thỏa mãn: T   4 y  M  x  Agfs _1   y0      y x  1  y2       y3   0   x0       x1   0   x2     0   x3  (7) Từ ta tính giá yi theo (7): t0  x2  x3 , t  x  2t , 1   y0  t2  2t3 ,  y1  t3  y2 , t2  x0  x1 t3  x1  t0 y2  2t0  t1 (8) y3  2t1  y0 102 L H Thìn, N Đ Hưng, B N Mỹ, “Đề xuất tầng tuyến tính an tồn … có cấu trúc SPN.” Nghiên cứu khoa học cơng nghệ Như vậy, phép biến đổi cần phép Xtime phép XOR Áp dụng biến đổi tương (4) tự nghịch đảo Agfs _1  2,1,1,  ta có: 0 212   y0  t1  212( x0  x3 ), t  x  x ,  y  0   1 3     y2   y1  212(t0  t3 ),     y3  t1  2t2 ,   y3   y0   212     y1     y2       y3   t0  212(t1  x2 ) t2  x0  2t3 y0  212( y1  t2 ) (9) y2  t0  y3 Phép biến đổi cần phép Xtime phép XOR số bit Như vậy, sử dụng ma trận đề xuất biến đổi MixColumn InvMixColumn AES có độ phức tạp 4x8 = 32 phép Xtime 4x8 = 32 phép XOR số bít Khi phân tích ma ( ) trận _ nhận độ phức tạp tương tự Tiếp theo, bổ sung tính toán độ phức tạp cho cài đặt ma trận nghịch đảo AES mà nghiên cứu trước chưa đề cập, cụ thể sau: Ma trận biến đổi InvMixColumn AES là: 1 M AES  0e 0b 0d 09    09 0e 0b 0d    0d 09 0e 0b     0b 0d 09 0e  (10) 1 Khi thực y  M AES  x , = ( , , , ) = ( , , , ) , , ∈ , ≤ ≤ Ta tính được, ví dụ với giá trị sau: = ⊕ ⊕ ⊕ = (8 ⊕ ⊕ 2) ⊕ (8 ⊕ ⊕ 1) ⊕ (8 ⊕ ⊕ 1) ⊕ (8 ⊕ 1) = 8( ⊕ ⊕ ⊕ ) ⊕ 4( ⊕ ) ⊕ 2( ⊕ ) ⊕ ⊕ ⊕ ⊕ 3⊕ 0=222 0⊕ 1⊕ 2⊕ 3⊕ 0⊕ 2⊕ 0⊕ ⊕ 0⊕ 1⊕ 2⊕ 3⊕ Đặt = ⊕ ⊕ ⊕ , = ⊕ , = ⊕ Ta có: = 2(2(2 ⊕ ) ⊕ ) ⊕ ⊕ Vậy để tính cần biến phụ, Xtime × 1( ộ ) + × 1( ế ) = phép XOR Nếu nhân ma trận với ma trận trạng thái × cần: biến phụ, × 16 = 48 phép Xtime × 4( ộ ) + × 16( ế ) = 108 phép XOR Ta có Bảng so sánh sau: Bảng Thông số ma trận đề xuất ma trận AES [5] Ma trận AES ( ) _ ( ) _ Biến phụ Phép Xtime Phép XOR Số điểm bất động M 16 60 216 M-1 48 108 216 M 32 32 32 32 M 32 32 M-1 32 32 M -1 Nhận xét: Với ma trận thuận nghịch đảo AES ngun thủy có thơng số cài đặt không giống nhau, số điểm bất động lớn Trong ma trận đề xuất đạt Tạp chí Nghiên cứu KH&CN quân sự, Số 61, - 2019 103 Kỹ thuật điều khiển & Điện tử cân thông số cài đặt ma trận thuận nghịch, an toàn theo quan điểm số lượng điểm bất động 3.2 Độ phức tạp cài đặt phần cứng Phần đánh giá độ phức tạp cài đặt phần cứng ma trận đề xuất so sánh với ma trận sử dụng AES Trong báo sử dụng đa thức sinh ( ) = ⊕ ⊕ ⊕ ⊕ đa thức sinh sử dụng [8]để xây dựng trường Ta có độ phức tạp cài đặt phần cứng phép nhân 2, 212 hình [8] a7 a6 a5 a4 a3 b7 b6 a2 a1 b5 b4 b3 x2 a0 a7 b2 b1 a6 a5 a4 a3 a2 a1 a0 a7 a6 a5 b7 b6 b5 b4 b3 x4 b2 b1 b0 b7 b6 Hình Phép nhân với 2, 212 28 với ( ) = b5 ⊕ a3 a2 a1 b4 b3 x212 b2 ⊕ a0 b0 a4 ⊕ b1 b0 ⊕ Ký hiệu: XOR phép XOR hai bit, XORlà phép XOR hai số bit Trong hình vẽ: ký hiệu ⊕ phép XOR bit, ký hiệu ⊕ (tô xám) XOR hai số bit Cách cài đặt sử dụng tính truy hồi ma trận đề xuất: Đối với phép nhân ma trận   y    ( ) _ với véc tơ cột: y0  0   y1  4 0  Agfs  x  _1 0 y2    y3  2 0 1 0   x0       x1      x2       x3   y  x1  y  x  2x   y  x   y  x  x1 (11) Độ phức tạp cài đặt hai phép nhân với vàhai phép XOR hai số bit xung nhịp Như vậy, độ phức tạp cài đặt phần cứng theo biểu thức (11) × + ( ) × = 22 phép XOR xung nhịp Nếu thực phép nhân ma trận _ với ma trận trạng thái kích thước × cần × 22 = 88 phép XOR xung nhịp, phép nhân ( ) với ma trận trạng thái kích thước × cần 88 × = 352 phép XOR,2 × = ( ) xung nhịp Kết độ phức tạp với đề xuất ( ) _ Với phép nhân ma trận với véc tơ cột:   y    y0 y1 y2 y3     A 4  gfs _       212  1 x    0 0  y0 212   x    x    1 y       x  y2    y   x3    212  x  x   x0  x1  x  x2 Tương tự ta có độ phức tạp cài đặt cần 352 phép XOR xung nhịp Kết độ phức tạp đề xuất ( ) _ Theo phân tích cài đặt phần cứng với phép nhân phần tử ma trận, ta có độ phức tạp để thực phép nhân ma trận InvMixColumns AES nguyên cần 1472 phép XOR cần xung nhịp Ta có bảng so sánh sau: 104 L H Thìn, N Đ Hưng, B N Mỹ, “Đề xuất tầng tuyến tính an tồn … có cấu trúc SPN.” Nghiên cứu khoa học công nghệ Bảng Thông số cài đặt phần cứng ma trận đề xuất ma trận AES Ma trận AES ( ) _ ( ) _ M M-1 M M-1 M M-1 Số cổng XOR 576 1472 352 352 352 352 Số xung nhịp 8 8 Ghi Theo [8] Kết nhận ta thấy ma trận đề xuất có cân độ phức tạp cài đặt phần cứng hàm mã hóa giải mã,số lượng cổng logic XOR cần phải sử dụng cải thiện đáng kể so với ma trận AES KẾT LUẬN Nội dung báo đề xuất ma trận tuyến tính có tính chất mật mã tốt thay ma trận biến đổi MixColumns AES Ma trận ma trận MDS có tính truy hồi trường hữu hạn Khi sử dụng biến đổi MixColumns AES nhận tầng tuyến tính đảm bảo số nhánh theo chiến lược vệt lan rộng đồng thời khơng có điểm bất động trường hợp ma trận gốc AES Độ phức tạp cài đặt cải thiện đáng kể so với ma trận AES, bảo đảm độ cân độ phức tạp cài đặt phần mềm phần cứng Phạm vi báo thực phân tích mặt lý thuyết, hướng nghiên cứu ứng dụng kết phân tích để xây dựng tầng tuyến tính thay cho mã pháp dạng AES cài đặt tảng cụ thể tùy vào ứng dụng khác TÀI LIỆU THAM KHẢO [1] Guo, J., et al., The LED block cipher, in Cryptographic Hardware and Embedded Systems–CHES 2011 2011, Springer p 326-341 [2] Borghoff, J., PRINCE–a low-latency block cipher for pervasive computing applications, in Advances in Crypto–ASIACRYPT 2012, Springer p 208-225 [3] Guo, J., T Peyrin, and A Poschmann, The PHOTON family of lightweight hash functions, in Advances in Cryptology–CRYPTO 2011 2011, Springer p 222-239 [4] ГОСТ Р 34.11-2012: Криптографическая защита информации Функция хиширования 2012: p 25 [5] Daemen, J and V Rijmen, The design of Rijndael: AES-the advanced encryption standard 2002: Springer [6] Langford, S.K and M.E Hellman Differential-linear cryptanalysis Springer [7] Z'aba, M.R., Analysis of linear relationships in block ciphers Luận án tiến sĩ Queensland University of Technology, 2010 [8] Quân, H.V., Một đề xuất ma trận MDS đạt hiệu cao cài đặt phần cứng cho mã pháp dạng AES Nghiên cứu KH&CN quân sự, Năm 2015 [9] Zheng, Y., T Matsumoto.On the construction of block ciphers provably secure in Conference on the Theory and Application of Cryptology 1989 Springer [10] Wu, S., M Wang, and W Wu Recursive diffusion layers for (lightweight) block ciphers and hash functions in Selected Areas in Cryptography 2013 Springer [11] Gupta, K.C and I.G Ray, On constructions of MDS matrices from companion matrices for lightweight cryptography 2013, Springer p 29-43 Tạp chí Nghiên cứu KH&CN quân sự, Số 61, - 2019 105 Kỹ thuật điều khiển & Điện tử ABSTRACT A PROPOSAL OF THE EFFICIENCY OF SAFETY AND EFFICIENCY FOR AES SOLUTIONS In this paper, a safe linear layer, effective setting based on recurrent MDS matrix for AES solutions is proposed and analyzed Specifically, the proposed × matrix on finite fields has a higher safety and improved installation efficiency compared to the linear matrix in AES Keywords: Finite Fields; Matrix MDS retrieval; Linear layer; AES Nhận ngày 09 tháng năm 2019 Hoàn thiện ngày 20 tháng năm 2019 Chấp nhận đăng ngày 17 tháng năm 2019 Địa chỉ: 1Cục Cơ yếu- BTTM; Viện KH-CN quân - BQP * Email: tlehuy2001@gmail.com 106 L H Thìn, N Đ Hưng, B N Mỹ, “Đề xuất tầng tuyến tính an tồn … có cấu trúc SPN.” ... tìm ma trận dùng tầng tuyến tính mà khối có cấu trúc SPN theo hai tiêu chí an tồn hiệu dạng M = , đó: Tiêu chí an toàn cho “M ma trận MDS có giá trị bé tốt” (tốt =1), tiêu chí hiệu đánh giá thơng... nhịp Ta có bảng so sánh sau: 104 L H Thìn, N Đ Hưng, B N Mỹ, Đề xuất tầng tuyến tính an tồn … có cấu trúc SPN. ” Nghiên cứu khoa học công nghệ Bảng Thông số cài đặt phần cứng ma trận đề xuất ma... Hưng, B N Mỹ, Đề xuất tầng tuyến tính an tồn … có cấu trúc SPN. ” Nghiên cứu khoa học cơng nghệ s 1 0 0 , = = , với  i  chẵn 0 0 Trên sở ma trận xây dựng ma trận MDS kích thước × Khi tầng khuếch

Ngày đăng: 10/02/2020, 01:49

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

  • Đang cập nhật ...

Tài liệu liên quan