Bài viết tập trung phân tích tính chất đại số của hoán vị Keccak-f trong hàm băm này, sau đó đề xuất một thành phần S-hộp mới có tính chất mật mã tốt để sử dụng trong hoán vị của hàm băm Keccak.
Journal of Science and Technology on Information security Đề xuất S-hộp có tính chất mật mã tốt cho hốn vị hàm băm Keccak Nguyễn Văn Long, Lê Duy Đức Tóm tắt—Keccak hàm băm giành chiến thắng thi SHA-3 Viện Tiêu chuẩn Công nghệ Mỹ (NIST) tổ chức Có nhiều cơng thám mã khai thác bậc đại số thấp hoán vị hàm băm Chính kết mà nhóm tác giả thiết kế Keccak tăng số vòng từ 18 lên 24 hốn vị Trên sở đó, báo tập trung phân tích tính chất đại số hoán vị Keccak-f hàm băm này, sau đề xuất thành phần S-hộp có tính chất mật mã tốt để sử dụng hốn vị hàm băm Keccak Abstract—Keccak is the winner of the SHA-3 competition of National Institute of Standards and Technology (NIST) There are many cryptographic attacks that exploit the low algebraic degree in permutation of this hash function Due to these results, the Keccak design team increased the number of rounds from 18 to 24 in its permutation On that basis, the paper focuses on analyzing the algebraic properties of the Keccak-f permutation in this hash function, then proposes a new S-box with good cryptographic properties used in Keccak’s permutation Từ khóa—Keccak; S-hộp; bậc đại số; SHA-3; cơng phân biệt Keywords—Keccak; S-box; algebraic degree; SHA3; distinguishing attack I GIỚI THIỆU Cuộc thi tuyển chọn hàm băm SHA-3 NIST tổ chức tháng 11/2007, kết thúc vào tháng 10/2012 Cuộc thi diễn vòng với tham gia 64 hàm băm dự tuyển Sau kết thúc thi, Keccak hàm băm chiến thắng lựa chọn để xây dựng chuẩn hàm băm SHA-3 NIST Chuẩn công bố năm 2015 với tên gọi FIPS 202 [1] Bài báo nhận ngày 30/6/2020 Bài báo nhận xét phản biện thứ ngày 03/8/2020 chấp nhận đăng ngày 03/8/2020 Bài báo nhận xét phản biện thứ hai ngày 11/7/2020 chấp nhận đăng ngày 29/8/2020 32 No 1.CS (11) 2020 Ngay từ đề xuất, Keccak nhận quan tâm cộng đồng mật mã quốc tế Một lý quan tâm cấu trúc thiết kế hàm băm dựa kiến trúc Sponge, đạt độ an toàn chứng minh cách rõ ràng Hơn nữa, thành phần mật mã bên Keccak tạo nhiều lợi cài đặt nhiều tảng khác Đến nay, có hàng trăm cơng trình nghiên cứu tính chất thám mã lên hàm băm này, tất nghiên cứu nhóm thiết kế cơng bố cập nhật thường xuyên website thức hàm băm Keccak (https://keccak.team/keccak.html) Trong số hướng nghiên cứu lên Keccak, nhóm tác giả đặc biệt quan tâm đến kết đánh giá tính chất hốn vị Keccak-f nhóm tác giả C Boura cộng [2]-[5] Cơng trình nghiên cứu nhóm tác giả khai thác tính chất tổng khơng (zezo-sum property) sở đạo hàm bậc cao, từ cho phép đánh giá tính chất phân biệt qua vịng hốn vị Chính kết nhóm nghiên cứu mà nhà thiết kế hàm băm Keccak định tăng số vịng hốn vị lên 24 thay 18 đề xuất ban đầu Nghiên cứu theo hướng khai thác tính chất tổng khơng nhóm J Aumasson W Meier CHES 2009 [6] Dựa vào việc đánh giá bậc đại số qua vịng hốn vị Keccak-f, tác giả xây dựng phân biệt lên 16 vịng hốn vị Năm 2010, C Boura A Canteaut công bố cơng trình nghiên cứu hội nghị ISIT 2010 [3] Nghiên cứu trình bày tính chất tổng khơng lên tồn 18 vịng hốn vị Keccak-f phiên hàm băm Keccak Chính kết mà nhóm thiết kế Keccak thay đổi số vịng hốn vị lên 24 Cũng năm 2010 hội nghị SAC, Khoa học Công nghệ lĩnh vực An tồn thơng tin C Boura A Canteaut mở rộng kết nghiên cứu trước áp dụng để xây dựng phân biệt lên 20 vòng cho phiên hàm băm Keccak Kết cho phép xây dựng phân biệt tổng khơng có kích thước 21586 lên 20 vịng hoán vị Keccak-f [2] Năm 2011, hội nghị FSE, C Boura, A Canteaut C De Cannière thực nghiên cứu tính chất vi sai bậc cao Keccak [4] Từ cho phép xây dựng phân biệt tổng khơng lên tồn 24 vịng hàm băm Keccak Một nghiên cứu khác theo hướng thuộc nhóm tác giả M Duan X Lai [7], công bố năm 2012 cải tiến cận đánh giá nhóm C Boura cộng để nhận độ phức tạp nhỏ Một hướng nghiên cứu khác khai thác tính chất tuyến tính hóa khơng đầy đủ S-hộp (Non-Full S-box Lineariation) để thực công lên Keccak Hướng nghiên cứu Ling Song cộng khai thác [8] K Qiao cộng khai thác [9] để đánh giá độ an tồn lên số vịng rút gọn Keccak Ý tưởng nghiên cứu thành lập phương trình tuyến tính tập đầu vào S-hộp Keccak, sau khai thác để đưa ước lượng an toàn cho số vịng rút gọn Keccak Có thể thấy rằng, phương trình biểu diễn S-hộp Keccak có bậc đại số thấp lý dạng cơng mà tác giả liệt kê khai thác Với phân tích vậy, nhóm tác giả hướng đến đối tượng nghiên cứu báo cáo S-hộp hoán vị Keccak-f, ảnh hưởng lên độ an tồn đề xuất S-hộp với mục đích tăng độ an tồn lên hoán vị Keccak-f Với S-hộp đề xuất này, thay S-hộp hoán vị Keccak-f nhận hàm băm có cấu trúc Sponge (hàm băm Keccak sửa đổi) Trên sở vậy, bố cục báo tổ chức sau: Phần II mô tả hoán vị Keccak-f; Phần III số phân tích tính chất hốn vị này; Phần IV trình bày đề xuất thay S-hộp gốc Keccak Shộp mới; Phần V trình bày số phân tích an tồn hàm băm Keccak sửa đổi dùng Shộp đề xuất; đánh giá khả thực thi sử dụng S-hộp đề xuất phần VI Cuối phần kết luận II MƠ TẢ HỐN VỊ KECCAK-F Họ hoán vị hàm băm Keccak ký hiệu Keccak-f[b], với b độ rộng (width) hoán vị Họ hoán vị gồm giá trị tập {25, 50, 100, 200, 400, 800, 1600} Hoán vị hoạt động 𝑛𝑟 vòng Phụ thuộc vào giá trị độ rộng 𝑏, số vòng xác định 𝑛𝑟 = 12 + 2𝑙, 2𝑙 = 𝑏 Đối với 25 Keccak-f[1600], 𝑛𝑟 = 24 Hàm vòng ký hiệu 𝑅𝑜𝑢𝑛𝑑, 24 vịng hoạt động hốn vị Keccak mô tả sau: 𝐾𝑒𝑐𝑐𝑎𝑘 − 𝑓[𝑏](𝑋) 𝑓𝑜𝑟 𝑖 𝑖𝑛 𝑡𝑜 𝑛𝑟 − 𝑋 = 𝑅𝑜𝑢𝑛𝑑[𝑏](𝑋, 𝑅𝐶[𝑖]) 𝑟𝑒𝑡𝑢𝑟𝑛 𝑋 Một vịng hốn vị Keccak-f gồm chuỗi ánh xạ khả nghịch hoạt động trạng thái X mà tổ chức × lane (thuật ngữ lane tham khảo [1]) Theo đó, phần tử mảng X tương đương với lane lane có độ dài 𝑤 ∈ {1, 2, 4, 8, 16, 32, 64} bit Một lane có tọa độ (𝑥, 𝑦) mảng 𝑋 ký hiệu 𝑋[𝑥, 𝑦] Trong dạng biểu diễn trạng thái theo lane, hàm vịng mơ tả sau: 𝑅𝑜𝑢𝑛𝑑[𝑏](𝑋, 𝑅𝐶) 𝜃 𝑠𝑡𝑒𝑝: 𝐶[𝑥] = 𝑋[𝑥, 0] ⊕ 𝑋[𝑥, 1] ⊕ 𝑋[𝑥, 2] ⊕ 𝑋[𝑥, 3] ⊕ 𝑋[𝑥, 4], ≤ 𝑥 ≤ 𝐷[𝑥] = 𝐶[𝑥 − 1] ⊕ 𝑅𝑂𝑇(𝐶[𝑥 + 1], 1), ≤ 𝑥 ≤ 𝑋[𝑥, 𝑦] = 𝑋[𝑥, 𝑦] ⊕ 𝐷[𝑥], ≤ 𝑥, 𝑦 ≤ 𝜌 𝑎𝑛𝑑 𝜋 𝑠𝑡𝑒𝑝𝑠: 𝑌[𝑦, 2𝑥 + 3𝑦] = 𝑅𝑂𝑇(𝑋[𝑥, 𝑦], 𝑟[𝑥, 𝑦]), ≤ 𝑥, 𝑦 ≤ Số 1.CS (11) 2020 33 Journal of Science and Technology on Information security 𝜒 𝑠𝑡𝑒𝑝: 𝑋[𝑥, 𝑦] = 𝑌[𝑥, 𝑦] (𝑁𝑂𝑇 𝑌[𝑥 + 1, 𝑦]) ⊕( ), 𝐴𝑁𝐷 𝑌[𝑥 + 2, 𝑦] ≤ 𝑥, 𝑦 ≤ Đối với S-hộp Keccak, nhóm tác giả đưa kết phụ thuộc bit vịng hốn vị Keccak-f hàm băm SHA-3 sau: Mệnh đề [15] Đối với biến đổi vòng hốn vị Keccak-f hàm băm SHA-3 có: 128 bit đầu phụ thuộc vào 32 bit đầu vào; 𝜄 𝑠𝑡𝑒𝑝: 𝑋[0, 0] = 𝑋[0, 0] ⊕ 𝑅𝐶 Trong đó, phép “+” thực theo modulo 5, X trạng thái hoán vị, 𝑌, 𝐶, 𝐷 biến trung gian, ⊕ phép cộng theo modulo 2, NOT phép phủ định, 𝐴𝑁𝐷 phép nhân theo bit 𝑅𝑂𝑇 phép dịch vòng trái lane 𝑟 bit Chi tiết giá trị 𝑟[𝑥, 𝑦], 𝑅𝐶[𝑖] tham khảo [14] Trong khn khổ báo này, nhóm tác giả tập trung lên hốn vị Keccak-f[1600], có nghĩa lane có độ dài từ 64 bit (𝑤 = 64) Đây hốn vị sử dụng để xây dựng hàm băm chuẩn SHA-3 III MỘT SỐ PHÂN TÍCH CHO HỐN VỊ KECCAK-F Nội dung phần tập trung trình bày Shộp ánh xạ phi tuyến Keccak, ước lượng bậc đại số qua vịng hốn vị Keccak-f phân tích tính chất tuyến tính hóa khơng đầy đủ hoán vị 1472 bit đầu phụ thuộc vào 33 bit đầu vào B Bậc đại số hoán vị Keccak-f Để đánh giá bậc đại số hoán vị nhiều nguyên thủy mật mã, C Boura cộng phát biểu chứng minh định lý sau Định lý (Theorem [5]) Cho 𝐹 hoán vị từ 𝔽𝑛2 vào 𝔽𝑛2 tương ứng với phép nối s hoán vị 𝑛 𝑆1 , … , 𝑆𝑠 nhỏ 𝔽2 Gọi 𝛿𝑘 bậc lớn tích k hàm tọa độ Shộp Khi với hàm 𝐺 từ 𝔽𝑛2 vào 𝔽𝑚 , ta có: deg(𝐺 ∘ 𝐹) ≤ 𝑛 − 𝛾 , 𝛾= 𝑛0 − 𝑘 max 1≤𝑘≤𝑛0 −1 𝑛 − max 𝛿𝑘 (𝑆𝑗 ) 1≤𝑗≤𝑠 Đặc biệt, ta có: 𝛾 ≤ max max (𝑛 A S-hộp hốn vị Keccak-f Hốn vị Keccak-f hoạt động 24 vịng với biến đổi tuyến tính 𝜃, 𝜋, 𝜌, 𝜄 phi tuyến 𝜒 Thành phần sử dụng biến đổi phi tuyến S-hộp 5×5 bit Biểu diễn hàm bool dạng chuẩn tắc đại số ANF sau: 𝑛−deg(𝐹) 1≤𝑗≤𝑠 𝑛0 −1 −deg(𝑆𝑗 ) , 𝑛0 − 1, deg(𝑆𝑗−1 )) Từ biểu diễn ANF S-hộp ánh xạ 𝜒 Keccak xét tất tổ hợp hàm bool có: 𝑦0 = 𝑥0 ⊕ 𝑥2 ⊕ 𝑥1 𝑥2 k 𝑦1 = 𝑥1 ⊕ 𝑥3 ⊕ 𝑥2 𝑥3 𝛿𝑘 (𝑆𝑗 ) 4 𝑦2 = 𝑥2 ⊕ 𝑥4 ⊕ 𝑥3 𝑥4 𝑦3 = 𝑥3 ⊕ 𝑥0 ⊕ 𝑥4 𝑥0 𝑦4 = 𝑥4 ⊕ 𝑥1 ⊕ 𝑥0 𝑥1 Nhận thấy rằng, bậc đại số S-hộp không cao S-hộp 5×5 bit Chính giá trị khai thác nhiều phân tích cơng lên Keccak 34 No 1.CS (11) 2020 Tương tự S-hộp nghịch đảo ánh xạ 𝜒 −1 có: k 𝛿𝑘 (𝑆𝑗−1 ) 3 4 Khoa học Cơng nghệ lĩnh vực An tồn thông tin Từ bảng bậc đại số 𝛿𝑘 (𝜒), 𝛿𝑘 (𝜒 −1 ) theo Định lý 2, tính được: 𝛾(𝜒) = max ( , , , ) = 3 1 5−1 𝛾(𝜒 −1 ) ≤ max ( , , 2) = 5−3 Như vậy, biểu thức sau áp dụng cho hoán vị Keccak-f nghịch đảo nó: deg(𝑅𝑟 ) ≤ 1600 − deg(𝑖𝑛𝑣𝑅𝑟 ) ≤ 1600 − 1600 − deg(𝑅𝑟−1 ) 1600 − deg(𝑖𝑛𝑣𝑅𝑟−1 ) Từ đây, ước lượng bậc đại số qua vịng hốn vị Keccak-f sau (phần in đậm tính theo cơng thức deg(𝑅𝑟 ) deg(𝑖𝑛𝑣𝑅𝑟 ) trên): BẢNG BẬC ĐẠI SỐ QUA CÁC VỊNG CỦA HỐN VỊ KECCAK-F r deg(𝑅𝑟 ) deg(𝑖𝑛𝑣𝑅𝑟 ) 27 16 81 32 243 64 729 128 1164 256 1382 512 1491 10 1024 1545 11 1408 1572 12 1536 1586 13 1578 1583 14 1592 1596 15 1597 1598 16 1599 1599 Kết công bố năm 2011 Hội nghị FSE C Boura, A Canteaut C De Cannière Từ đây, nhóm tác giả thực xây dựng phân biệt lên tồn 24 vịng hốn vị Keccak-f [4] Từ phân tích trên, ta thấy bậc đại số thấp S-hộp Keccak ảnh hưởng đến độ an toàn hàm băm Việc tăng bậc đại số làm tăng độ phức tạp trước công phân biệt Tuy nhiên kéo theo phức tạp cài đặt, đề xuất cụ thể cần xem xét theo phương diện tổng thể C Tính tuyến tính hóa khơng đầy đủ S-hộp Khái niệm tính tuyến tính hóa không đầy đủ S-hộp (Non-Full S-box Lineariation) đưa Ling Song cộng [8] Tuy nhiên, trước tính chất Dinur cộng sử dụng [10] K Qiao cộng [9] Bản chất việc áp dụng xuất phát từ nhận xét quan trọng trạng thái hàm băm Keccak có kích thước lớn nhiều so với kích thước giá trị băm, cho phép kẻ cơng có số lượng lớn bậc tự (nhiều lựa chọn cho tham số để thành lập hệ phương trình tuyến tính cho số vòng rút gọn) Một vài tập thuộc khơng gian với tính chất đặc biệt lựa chọn để tăng tốc q trình công Trong trường hợp Keccak, tác giả [9] chọn tập có tính chất tuyến tính tương ứng với S-hộp, có nghĩa biểu thức S-hộp viết lại thành biến đổi tuyến tính đầu vào giới hạn tập Xem xét định nghĩa sau: Định nghĩa (Definition [9]) Những khơng gian affine tuyến tính khơng gian đầu vào affine, mà không gian này, S-hộp tương đương với biến đổi tuyến tính Nếu 𝑉 khơng gian tuyến tính biến đổi 𝑆( ) Shộp, ∀𝑥 ∈ 𝑉, 𝑆(𝑥) = 𝐴 𝑥 + 𝑏, 𝐴 ma trận 𝑏 số Ví dụ, đầu vào S-hộp Keccak-f giới hạn tập {00000,00001,00100,00101} {00,01,04,05} hệ Hex, đầu tương ứng Số 1.CS (11) 2020 35 Journal of Science and Technology on Information security S-hộp là: {00000,01001,00101,01100} biểu diễn bởi: 1 0 y 0 1 0 0 1 0 0 0 0 0 x 0 Nhận xét (Observation [9]): Tồn 80 không gian chiều affine tuyến tính S-hộp Keccak-f Khơng tồn khơng gian tuyến tính với số chiều lớn Trong [9], tác giả tìm 80 khơng gian có số chiều nhận xét Tuy nhiên kiểm tra lại, nhóm tác giả thấy nhiều khơng thỏa mãn Ví dụ {1, 2, 9, 𝐴} = {00001, 00010, 01001, 01010} Thấy rằng: 𝟎0𝟎01 𝟎0𝟎10 𝟎1𝟎01 𝟎1𝟎10 Trong trên, bit 𝑥2 𝑥4 Do vậy, từ phương trình biểu diễn ANF bit đầu S-hộp Keccak có: y0 = x0 + (x1 + 1) · x2 = x0 y1 = x1 + (x2 + 1) · x3 = x1 + x3 y2 = x2 + (x3 + 1) · x4 = x2 y3 = x3 + (x4 + 1) · x0 = x3 + x0 y4 = x4 + (x0 + 1) · x1 = x1 + x0 · x1 Thấy có số phương trình tuyến tính, nên khơng thể biểu diễn dạng: 𝑦 = 𝑀 × 𝑥, đó, 𝑀 ma trận nhị phân × 5, 𝑥 = (𝑥0 , 𝑥1 , 𝑥2 , 𝑥3 , 𝑥4 )𝑇 𝑥 ∈ {1, 2, 9, 𝐴} Nhóm tác giả thực tính lại theo điều kiện Định nghĩa 3, kết tìm 40 Bảng đây: 36 No 1.CS (11) 2020 BẢNG 40 KHƠNG GIAN CON AFFINE CĨ THỂ TUYẾN TÍNH ĐỐI VỚI S-HỘP CỦA KECCAK { 0, 1, 4, 5}, { 0, 1, 8, 9}, { 0, 2, 8, A}, { 0, 2,10,12}, { 0, 4,10,14}, { 1, 3, 9, B}, { 1, 3,11,13}, { 1, 5,11,15}, { 2, 3, 6, 7}, { 2, 3, A, B}, { 2, 6,12,16}, { 3, 7,13,17}, { 4, 5, C, D}, { 4, 6, C, E}, { 4, 6,14,16}, { 5, 7, D, F}, { 5, 7,15,17}, { 6, 7, E, F}, { 8, 9, C, D}, { 8, A,18,1A}, { 8, C,18,1C}, { 9, B,19,1B}, { 9, D,19,1D}, { A, B, E, F}, { A, E,1A,1E}, {B,F,1B,1F}, {C,E,1C,1E}, {D,,1D,1F}, {10,11,14,15}, {10,11,18,19}, {10,12,18,1A}, {11,13,19,1B}, {12,13,16,17}, {12,13,1A,1B}, {14,15,1C,1D}, {14,16,1C,1E}, {15,17,1D,1F}, {16,17,1E,1F}, {18,19,1C,1D}, {1A,1B,1E,1F} Vì khơng gian affine sử dụng với vệt vi sai, nên quan tâm đến khơng gian affine tuyến tính với sai khác đầu vào đầu cố định Và chúng liên quan đến phân bố vi sai theo bảng DDT S-hộp Từ đây, tác giả [9] đưa nhận xét sau: Nhận xét (Observation [9]) Với sai khác đầu vào bit 𝛿𝑖𝑛 sai khác đầu bit 𝛿𝑜𝑢𝑡 thỏa mãn 𝐷𝐷𝑇(𝛿𝑖𝑛 , 𝛿𝑜𝑢𝑡 ) ≠ 0, ký hiệu tập 𝑉 = {𝑥: 𝑆(𝑥) ⊕ 𝑆(𝑥 ⊕ 𝛿𝑖𝑛 ) = 𝛿𝑜𝑢𝑡 𝑆(𝑉) = {𝑆(𝑥): 𝑥 ∈ 𝑉} Ta có: Nếu 𝐷𝐷𝑇(𝛿𝑖𝑛 , 𝛿𝑜𝑢𝑡 ) = 4, V khơng gian affine tuyến tính Nếu 𝐷𝐷𝑇(𝛿𝑖𝑛 , 𝛿𝑜𝑢𝑡 ) = 8, có tập chiều 𝑊𝑖 ⊂ 𝑉, 𝑖 = 0, 1, … , thỏa mãn 𝑊𝑖 khơng gian affine tuyến tính Trường hợp 𝐷𝐷𝑇(𝛿𝑖𝑛 , 𝛿𝑜𝑢𝑡 ) = dễ dàng kiểm tra 𝑉 không gian affine tuyến tính Tuy nhiên, 𝐷𝐷𝑇(𝛿𝑖𝑛 , 𝛿𝑜𝑢𝑡 ) = khơng phải tất 𝑉 khơng gian affine tuyến tính Thật vậy, bảng DDT S-hộp Keccak cho thấy có 120 tập 𝑉 thỏa mãn 𝐷𝐷𝑇(𝛿𝑖𝑛 , 𝛿𝑜𝑢𝑡 ) = Trong đó, tác giả Qiao cộng [9] có 80 tập gồm phần tử, cịn nhóm tác giả có 40 tập Bảng Khoa học Công nghệ lĩnh vực An tồn thơng tin Bằng thực nghiệm, nhóm tác giả thấy rằng, có 40 tập Bảng thỏa mãn Nhận xét mà Trong trường hợp 𝐷𝐷𝑇(𝛿𝑖𝑛 , 𝛿𝑜𝑢𝑡 ) = 8, có tập thỏa mãn mà khơng phải Nhận xét Ở hướng khác, Ling Song cộng [8] không cần phải sử dụng tuyến tính đầy đủ tập, mà cần sử dụng số thành phần tuyến tính tập để thực cơng tìm va chạm lên vịng Tấn cơng thực hành dựa nhận xét sau: Nhận xét (Observation [8]) Gọi 𝛿𝑖𝑛 𝛿𝑜𝑢𝑡 sai khác đầu vào đầu S-hộp bit Keccak-f mà thỏa mãn 𝐷𝐷𝑇(𝛿𝑖𝑛 , 𝛿𝑜𝑢𝑡 ) = Khi đó, số đầu S-hộp tuyến tính đầu vào chọn tập 𝑉 = {𝑥: 𝑆(𝑥) + 𝑆(𝑥 + 𝛿𝑖𝑛 ) = 𝛿𝑜𝑢𝑡 } Ví dụ 𝐷𝐷𝑇(01,01) = 8, tập 𝑉 tính 𝑉 = {10,11,14,15,18,19,1𝐶, 1𝐷} 𝑉 biểu diễn dạng nhị phân sau: 10: 𝟏00𝟎0 11: 𝟏00𝟎1 14: 𝟏01𝟎0 15: 𝟏01𝟎1 18: 𝟏10𝟎0 19: 𝟏10𝟎1 1𝐶: 𝟏11𝟎0 1𝐷: 𝟏11𝟎1 Khi xét tập ta có: 𝑥1 = 0, cịn 𝑥4 = Như vậy, đầu S-hộp tập biểu diễn dạng: 𝑦0 = 𝑥0 + 𝑥2 𝑦1 = (𝑥2 + 1)𝑥3 Khai thác tính chất vậy, năm 2017, nhóm L Song cộng [8], [11] đưa phân tích an tồn trước cơng tìm chạm lên vịng Keccak[r = 1142, c = 448] với độ phức tạp 250; năm 2019 nhóm J Guo cộng đưa công thực hành xây dựng va chạm thực lên vòng SHA3-224, SHA3256 vòng SHAKE128 [12]; năm 2019, M S Rajasree công bố cơng trình phân tích lý thuyết việc tìm tiền ảnh lên vòng số phiên SHA-3 [13] Các kết cho thấy ảnh hưởng tính chất S-hộp lên hốn vị Keccak-f Do đó, việc lựa chọn S-hộp để khơng có tính chất Nhận xét 1, 2, góp phần tăng độ an tồn ngun thủy mật mã sử dụng IV ĐỀ XUẤT S-HỘP SỬ DỤNG TRONG HỐN VỊ KECCAK-F Chúng tơi đề xuất sử dụng S-hộp 5×5 bit mà biểu diễn hàm bool dạng ANF là: 𝑦0 = ⊕ 𝑥1 ⊕ 𝑥0 𝑥2 ⊕ 𝑥1 𝑥2 ⊕ 𝑥3 𝑥4 ⊕ 𝑥1 𝑥2 𝑥3 𝑥4 𝑦1 = ⊕ 𝑥2 ⊕ 𝑥1 𝑥3 ⊕ 𝑥2 𝑥3 ⊕ 𝑥4 𝑥0 ⊕ 𝑥2 𝑥3 𝑥4 𝑥0 𝑦2 = ⊕ 𝑥3 ⊕ 𝑥2 𝑥4 ⊕ 𝑥3 𝑥4 ⊕ 𝑥0 𝑥1 ⊕ 𝑥3 𝑥4 𝑥0 𝑥1 𝑦3 = ⊕ 𝑥4 ⊕ 𝑥3 𝑥0 ⊕ 𝑥4 𝑥0 ⊕ 𝑥1 𝑥2 ⊕ 𝑥4 𝑥0 𝑥1 𝑥2 𝑦4 = ⊕ 𝑥0 ⊕ 𝑥4 𝑥1 ⊕ 𝑥0 𝑥1 ⊕ 𝑥2 𝑥3 ⊕ 𝑥0 𝑥1 𝑥2 𝑥3 (1) thay cho S-hộp sử dụng ánh xạ 𝜒 hốn vị Keccak-f Tính chất mật mã so với S-hộp gốc Keccak-f Bảng sau: 𝑦2 = 𝑥2 + 𝑥3 + 𝑦3 = 𝑥3 𝑦4 = Rõ ràng số bit đầu tuyến tính Số 1.CS (11) 2020 37 Journal of Science and Technology on Information security BẢNG TÍNH CHẤT MẬT MÃ CỦA S-HỘP TRONG KECCAK VÀ ĐỀ XUẤT S-hộp Keccak S-hộp đề xuất Độ phi tuyến 10 Bậc đại số Giá trị AC 32 24 Số điểm bất động Giá trị vi sai cực đại Giá trị xấp xỉ tuyến tính cực đại Có Có Tính chất Tính cân Từ Bảng thấy rằng, S-hộp đề xuất có tính chất mật mã tốt so với S-hộp Keccak S-hộp đề xuất có bậc đại số cao Tính chất để đảm bảo ảnh hưởng bit đầu vào/đầu lên bit đầu ra/đầu vào tốt Đặc biệt, tính chất đại số hốn vị Keccakf tốt (cụ thể phân tích phần sau) Tính chất vi sai S-hộp cao (bằng so với Keccak) đảm bảo xác suất vệt vi sai nhỏ hơn, khai thác công dạng vi sai (tấn công rebound) lên Keccak Cách tiếp cận xây dựng S-hộp sau: Chọn hàm bool có bậc đại số cao mà có dạng biểu diễn ANF đơn giản để đảm bảo tính cài đặt Xây dựng S-hộp sử dụng hàm bool theo quy tắc “dịch vòng”: số biến hàm bool sau số biến hàm bool trước cộng với theo modulo Ví dụ với hàm bool thứ nhất: 𝑦0 = ⊕ 𝑥0 ⊕ 𝑥0 𝑥3 ⊕ 𝑥2 𝑥4 , hàm bool thứ là: 𝑦1 = ⊕ 𝑥1 ⊕ 𝑥1 𝑥4 ⊕ 𝑥3 𝑥0 , 38 No 1.CS (11) 2020 hàm bool thứ là: 𝑦2 = ⊕ 𝑥2 ⊕ 𝑥2 𝑥0 ⊕ 𝑥4 𝑥2 Tính tính chất mật mã S-hộp nhận để lựa chọn S-hộp tốt Trong số S-hộp vậy, nhóm tác giả tìm 20 S-hộp có dạng “dịch vịng” mà có bậc đại số 4, giá trị vi sai cực đại 4, cân bằng, độ phi tuyến 10 Những S-hộp có cấu trúc giống hệt có dạng đối xứng theo quy tắc “dịch vòng” cấu trúc S-hộp Keccak Tuy nhiên chúng lại có 02 điểm bất động S[0] = S[31] = 31 Để loại bỏ điều này, nhóm tác giả sử dụng dạng phủ định Từ nhận Shộp đề xuất có dạng biểu diễn ANF Dạng phủ định đơn giản hóa q trình phân tích cài đặt Thật vậy, với biểu diễn ANF trên, hàm bool đưa dạng: 𝑦0 = 𝑥1 ⊕ 𝑥0 𝑥2 ⊕ (1 ⊕ 𝑥1 𝑥2 )(1 ⊕ 𝑥3 𝑥4 ) = 𝑥1 ⊕ 𝑥0 𝑥2 ⊕ 𝑥1 𝑥2 ⋅ 𝑥3 𝑥4 𝑦1 = 𝑥2 ⊕ 𝑥1 𝑥3 ⊕ (1 ⊕ 𝑥2 𝑥3 )(1 ⊕ 𝑥4 𝑥0 ) = 𝑥2 ⊕ 𝑥1 𝑥3 ⊕ 𝑥2 𝑥3 ⋅ 𝑥4 𝑥0 𝑦2 = 𝑥3 ⊕ 𝑥2 𝑥4 ⊕ (1 ⊕ 𝑥3 𝑥4 )(1 ⊕ 𝑥0 𝑥1 ) = 𝑥3 ⊕ 𝑥2 𝑥4 ⊕ 𝑥3 𝑥4 ⋅ 𝑥0 𝑥1 𝑦3 = 𝑥4 ⊕ 𝑥3 𝑥0 ⊕ (1 ⊕ 𝑥4 𝑥0 )(1 ⊕ 𝑥1 𝑥2 ) = 𝑥4 ⊕ 𝑥3 𝑥0 ⊕ 𝑥4 𝑥0 ⋅ 𝑥1 𝑥2 𝑦4 = 𝑥0 ⊕ 𝑥4 𝑥1 ⊕ (1 ⊕ 𝑥0 𝑥1 )(1 ⊕ 𝑥2 𝑥3 ) = 𝑥0 ⊕ 𝑥4 𝑥1 ⊕ 𝑥0 𝑥1 ⋅ 𝑥2 𝑥3 Nếu đặt biến phụ 𝑡0 = 𝑥0 𝑥1 , 𝑡1 = 𝑥1 𝑥2 , 𝑡2 = 𝑥2 𝑥3 , 𝑡3 = 𝑥3 𝑥4 , 𝑡4 = 𝑥4 𝑥0 , ta có bảng so sánh cài đặt S-hộp đề xuất Keccak sau: Khoa học Cơng nghệ lĩnh vực An tồn thơng tin BẢNG SỐ PHÉP TOÁN LOGIC CÀI ĐẶT CHO S-HỘP CỦA KECCAK VÀ ĐỀ XUẤT Số biến phụ Số phép AND Số phép XOR Số phép NOT S-hộp Keccak 5 S-hộp đề xuất 15 15 Trên số phân tích sở đề xuất S-hộp để thay cho S-hộp hốn vị Keccak-f V ĐÁNH GIÁ AN TỒN KHI SỬ DỤNG S-HỘP ĐỀ XUẤT TRONG HOÁN VỊ KECCAK-F Với S-hộp đề xuất Phần IV, thay vào S-hộp hàm băm Keccak để nhận sửa đổi hàm băm có cấu trúc Sponge Tuy nhiên, thay dẫn tới số câu hỏi đặt liệu có ảnh hưởng đến độ an tồn hàm băm nhận hay khơng? Trong phần này, nhóm tác giả tập trung phân tích số khía cạnh như: phụ thuộc bit đầu vào đầu hàm vịng hốn vị, bậc đại số hốn vị, tính tuyến tính hóa khơng đầy đủ S-hộp số bình luận độ an tồn cấu trúc Sponge tổng thể Chứng minh Ví dụ hàm 𝑦0 , có: 𝑦0 = 𝑥1 ⊕ 𝑥0 𝑥2 ⊕ (1 ⊕ 𝑥1 𝑥2 )(1 ⊕ 𝑥3 𝑥4 ) (2) Xét lane có tọa độ (𝑥, 𝑦) bất kỳ, ≤ 𝑥, 𝑦 ≤ Để biểu thức nhỏ gọn hơn, ký hiệu lane ký tự L Thực biểu diễn hàm bool qua ánh xạ 𝜒, 𝜋, 𝜌 𝜃 biến đổi vịng hốn vị Keccak-p, có: 𝜒 𝐿[𝑥, 𝑦] ← 𝐿[𝑥 + 1, 𝑦] ⊕ 𝐿[𝑥, 𝑦] ⋅ 𝐿[𝑥 + 2, 𝑦] ⊕ (1 + 𝐿[𝑥 + 1, 𝑦] ⋅ 𝐿[𝑥 + 2, 𝑦]) ⋅ (1 + 𝐿[𝑥 + 3, 𝑦] ⋅ 𝐿[𝑥 + 4, 𝑦]) 𝜋 ← 𝐿[𝑥 + 3𝑦 + 1, 𝑥 + 1] ⊕ 𝐿[𝑥 + 3𝑦, 𝑥] ⋅ 𝐿[𝑥 + 3𝑦 + 2, 𝑥 + 2] ⊕ (1 + 𝐿[𝑥 + 3𝑦 + 1, 𝑥 + 1] ⋅ 𝐿[𝑥 + 3𝑦 + 2, 𝑥 + 2]) + 𝐿[𝑥 + 3𝑦 + 3, 𝑥 + 3] ⋅( ) 𝐿[𝑥 + 3𝑦 + 4, 𝑥 + 4] 𝜌 (𝐿[𝑥 + 3𝑦 + 1, 𝑥 + 1] ⋙ 𝑎) ⊕ ←⏟ 𝐴 (𝐿[𝑥 ⏟ + 3𝑦, 𝑥] ⋙ 𝑏) ∙ 𝐵 (𝐿[𝑥 + 3𝑦 + 2, 𝑥 + 2] ⋙ 𝑐) ⊕ (1 ⊕ ⏟ 𝐶 A Sự phụ thuộc bit đầu vào/đầu hàm vịng Tương tự Mệnh đề 1, nhóm tác giả phát biểu chứng minh Mệnh đề với S-hộp đề xuất sau: Mệnh đề Đối với biến đổi vịng hốn vị Keccak-f mà sử dụng S-hộp đề xuất có: 320 bit đầu ra, bit phụ thuộc vào 54 bit đầu vào; 1280 bit đầu ra, bit phụ thuộc vào 55 bit đầu vào (𝐿[𝑥 + 3𝑦 + 1, 𝑥 + 1] ⋙ 𝑎) ⋅ ⏟ 𝐴 (𝐿[𝑥 ⏟ + 3𝑦 + 2, 𝑥 + 2] ⋙ 𝑐)) ⋅ (1 ⊕ 𝐶 (𝐿[𝑥 + 3𝑦 + 3, 𝑥 + 3] ⋙ 𝑑) ⋅ ⏟ 𝐷 (𝐿[𝑥 ⏟ + 3𝑦 + 4, 𝑥 + 4] ⋙ 𝑒)), 𝐸 (3) đó, 𝑎, 𝑏, 𝑐, 𝑑, 𝑒 giá trị offset quy định biến đổi 𝜌 Giá trị offset tham khảo [1]: 𝑎 = 𝑜𝑓𝑓𝑠𝑒𝑡[𝑥 + 3𝑦 + 1, 𝑥 + 1] 𝑏 = 𝑜𝑓𝑓𝑠𝑒𝑡[𝑥 + 3𝑦, 𝑥] 𝑐 = 𝑜𝑓𝑓𝑠𝑒𝑡[𝑥 + 3𝑦 + 2, 𝑥 + 2] Số 1.CS (11) 2020 39 Journal of Science and Technology on Information security 𝑑 = 𝑜𝑓𝑓𝑠𝑒𝑡[𝑥 + 3𝑦 + 3, 𝑥 + 3] 𝑒 = 𝑜𝑓𝑓𝑠𝑒𝑡[𝑥 + 3𝑦 + 4, 𝑥 + 4] Trong trường hợp 𝑤 = 64, có 𝑎 ≠ 𝑏 ≠ 𝑐 ≠ 𝑒 ≠ 𝑑 Như vậy, 𝐿[𝑥, 𝑦] = 𝐴 ⊕ 𝐵𝐶 ⊕ (1 ⊕ 𝐴𝐶)(1 ⊕ 𝐷𝐸) Xét biểu thức 𝐴 qua ánh xạ θ, có: 𝐴 = (𝐿[𝑥 + 3𝑦 + 1, 𝑥 + 1] ⋙ 𝑎) ⇒ 𝜃 𝐴 ← (𝐿[𝑥 + 3𝑦 + 1, 𝑥 + 1] ⋙ 𝑎) ⊕ (𝐷∗ [𝑥 + 3𝑦 + 1] ⋙ 𝑎) = (𝐿[𝑥 + 3𝑦 + 1, 𝑥 + 1] ⋙ 𝑎) ⊕ (𝐶 ∗ [𝑥 + 3𝑦] ⋙ 𝑎) ⊕ ((𝐶 ∗ [𝑥 + 3𝑦 + 2] ⋘ 1) ⋙ 𝑎) = (𝐿[𝑥 + 3𝑦 + 1, 𝑥 + 1] ⋙ 𝑎) ⊕ (𝐶 ∗ [𝑥 + 3𝑦] ⋙ 𝑎) ⊕ (𝐶 ∗ [𝑥 + 3𝑦 + 2] ⋙ (𝑎 − 1)) = (𝐿[𝑥 + 3𝑦 + 1, 𝑥 + 1] ⋙ 𝑎) ⊕ ∑4𝑖=0(𝐿[𝑥 + 3𝑦, 𝑖] ⋙ 𝑎) ⊕ ∑4𝑖=0(𝐿[𝑥 + 3𝑦 + 2, 𝑖] ⋙ (𝑎 − 1)) (4) Đối với biểu thức B: 𝐵 = (𝐿[𝑥 + 3𝑦, 𝑥] ⋙ 𝑏) ⇒ 𝜃 𝐵 ← (𝐿[𝑥 + 3𝑦, 𝑥] ⋙ 𝑏) ⊕ ∑4𝑖=0 (𝐿[𝑥 + 3𝑦 + 4, 𝑖] ⋙ 𝑏) ⊕ ∑4𝑖=0(𝐿[𝑥 + 3𝑦 + 1, 𝑖] ⋙ (𝑏 − 1)) (5) Đối với biểu thức C: 𝐶 = (𝐿[𝑥 + 3𝑦 + 2, 𝑥 + 2] ⋙ 𝑐) ⇒ 𝜃 𝐶 ← (𝐿[𝑥 + 3𝑦 + 2, 𝑥 + 2] ⋙ 𝑐) ⊕ ∑𝑖=0(𝐿[𝑥 + 3𝑦 + 1, 𝑖] ⋙ 𝑐) ⊕ ∑4𝑖=0(𝐿[𝑥 + 3𝑦 + 3, 𝑖] ⋙ (𝑐 − 1)) (6) 40 No 1.CS (11) 2020 Đối với biểu thức D: 𝐷 = (𝐿[𝑥 + 3𝑦 + 3, 𝑥 + 3] ⋙ 𝑑) ⇒ 𝜃 𝐷 ← (𝐿[𝑥 + 3𝑦 + 3, 𝑥 + 3] ⋙ 𝑑) ⊕ ∑𝑖=0(𝐿[𝑥 + 3𝑦 + 2, 𝑖] ⋙ 𝑑) ⊕ ∑4𝑖=0(𝐿[𝑥 + 3𝑦 + 4, 𝑖] ⋙ (𝑑 − 1)) (7) Đối với biểu thức E: 𝐸 = (𝐿[𝑥 + 3𝑦 + 4, 𝑥 + 4] ⋙ 𝑒) ⇒ 𝜃 𝐸 ← (𝐿[𝑥 + 3𝑦 + 4, 𝑥 + 4] ⋙ 𝑒) ⊕ ∑𝑖=0(𝐿[𝑥 + 3𝑦 + 3, 𝑖] ⋙ 𝑒) ⊕ ∑4𝑖=0(𝐿[𝑥 + 3𝑦, 𝑖] ⋙ (𝑒 − 1)) (8) Trong biểu thức (4), (5), (6), (7) (8) trên, biểu thức phụ thuộc vào 11 biến theo tọa độ 𝑥 𝑦 Tiếp theo, tùy thuộc vào giá trị bảng offset biến đổi 𝜌, cần tìm biến chung biểu thức 𝐴, 𝐵, 𝐶, 𝐷 𝐸 để biết xác bit đầu phụ thuộc vào bit đầu vào Từ bảng offset biến đổi 𝜌 có: (x, y) = (0, 0): a = 44, b = 0, c = 43, d = 31, e = 14 (x, y) = (0, 1): a = 20, b = 28, c = 3, d = 45, e = 61 (x, y) = (0, 2): a = 6, b = 1, c = 25, d = 8, e = 18 (x, y) = (0, 3): a = 36, b = 27, c = 10, d = 15, e = 56 (x, y) = (0, 4): a = 55, b = 62, c = 39, d = 41, e = (x, y) = (1, 0): a = 43, b = 44, c = 31, d = 14, e = (x, y) = (1, 1): a = 3, b = 20, c = 45, d = 61, e = 28 (x, y) = (1, 2): a = 25, b = 6, c = 8, d = 18, e= Khoa học Cơng nghệ lĩnh vực An tồn thơng tin (x, y) = (1, 3): a = 10, b = 36, c = 15, d = 56, e = 27 10 (x, y) = (1, 4): a = 39, b = 55, c = 41, d = 2, e = 62 11 (x, y) = (2, 0): a = 31, b = 43, c = 14, d = 0, e = 44 12 (x, y) = (2, 1): a = 45, b = 3, c = 61, d = 28, e = 20 13 (x, y) = (2, 2): a = 8, b = 25, c = 18, d = 1, e= 14 (x, y) = (2, 3): a = 15, b = 10, c = 56, d = 27, e = 36 15 (x, y) = (2, 4): a = 41, b = 39, c = 2, d = 62, e = 55 16 (x, y) = (3, 0): a = 14, b = 31, c = 0, d = 44, e = 43 có kích thước 5×5 bit, chi tiết minh họa thuật ngữ slice tham khảo [1] Chúng ta quan tâm đến giá trị 𝑎, 𝑏, 𝑐, 𝑑 𝑒 mà chúng liên tiếp Ví dụ, trường hợp (𝑥, 𝑦) = (0, 0), có 𝑎 = 44 𝑐 = 43 Vì biểu thức 𝐴, 𝐵, 𝐶, 𝐷 𝐸 chứa thành phần 𝑎, 𝑎 − 1, 𝑏, 𝑏 − 1, 𝑐, 𝑐 − 1, 𝑑, 𝑑 − 1, 𝑒 𝑒 − (thỏa mãn phần in đậm phân tích theo bảng offset) Nếu khơng có giá trị liên tiếp vậy, có nghĩa bit nằm slice khác nhau, nghĩa biểu thức 𝐴, 𝐵, 𝐶, 𝐷 𝐸 không chứa lane chung chứa lane chung bit tương ứng nằm slice khác Từ đây, có kết luận số bit phụ thuộc Xét trường hợp cụ thể sau: Trường hợp (𝒙, 𝒚) = (𝟎, 𝟎), có: 𝐴 → (𝐿[1,1] ⋙ 44) ⊕ ∑(𝐿[0, 𝑖] ⋙ 44) 17 (x, y) = (3, 1): a = 61, b = 45, c = 28, d = 20, e = 18 (x, y) = (3, 2): a = 18, b = 8, c = 1, d = 6, e = 25 19 (x, y) = (3, 3): a = 56, b = 15, c = 27, d = 36, e = 10 22 (x, y) = (4, 1): a = 28, b = 61, c = 20, d = 3, e = 45 23 (x, y) = (4, 2): a = 1, b = 18, c = 6, d = 25, e= 24 (x, y) = (4, 3): a = 27, b = 56, c = 36, d = 10, e = 15 25 (x, y) = (4, 4): a = 62, b = 2, c = 55, d = 39, e = 41 𝑖=0 ⊕ ∑(𝑳[𝟐, 𝒊] ⋙ 𝟒𝟑) 𝑖=0 𝜃−1 𝐶 → (𝑳[𝟐, 𝟐] ⋙ 𝟒𝟑) ⊕ ∑(𝐿[1, 𝑖] ⋙ 43) 𝑖=0 ⊕ ∑(𝐿[3, 𝑖] ⋙ 42) 20 (x, y) = (3, 4): a = 2, b = 41, c = 62, d = 55, e = 39 21 (x, y) = (4, 0): a = 0, b = 14, c = 44, d = 43, e = 31 𝜃−1 𝑖=0 Thấy 𝑖 = 2, hai biểu thức có lane chung 𝐿[2,2] ⋙ 43 Do vậy, trường hợp 64 bit thuộc 𝐿[0,0] phụ thuộc vào 11 + 11 + 11 + 11 + 11 – = 54 bit đầu vào Trường hợp (𝒙, 𝒚) = (𝟏, 𝟎), có: 𝜃−1 𝐴 → (𝑳[𝟐, 𝟐] ⋙ 𝟒𝟑) ⊕ ∑(𝐿[1, 𝑖] ⋙ 43) 𝑖=0 ⊕ ∑(𝐿[3, 𝑖] ⋙ 42) 𝑖=0 Trong lane biểu thức trên, đại lượng 𝑎, 𝑏, 𝑐, 𝑑 𝑒 quy định xem bit có nằm slice hay không (slice mặt bit Số 1.CS (11) 2020 41 Journal of Science and Technology on Information security 𝜃−1 𝐵 → (𝐿[1,1] ⋙ 44) ⊕ ∑ (𝐿[0, 𝑖] ⋙ 44) 𝑖=0 ⊕ ∑(𝑳[𝟐, 𝒊] ⋙ 𝟒𝟑) 𝑖=0 Thấy rằng, 𝑖 = 2, hai biểu thức có lane chung 𝐿[2,2] ⋙ 43 Do vậy, trường hợp này, 64 bit thuộc lane 𝐿[1,0] phụ thuộc vào 11 + 11 + 11 + 11 + 11 – = 54 bit đầu vào Tương tự, trường hợp (𝑥, 𝑦) = (2, 0), (3, 0) (4, 0) 64 bit tương ứng thuộc lane 𝐿[2,0], 𝐿[3,0] 𝐿[4,0] phụ thuộc vào 54 bit đầu vào Như vậy, có × 64 = 320 bit đầu phụ thuộc vào 54 bit đầu vào Còn lại 1600 – 320 = 1280 bit đầu phụ thuộc vào 55 bit đầu vào.■ Như vậy, với S-hộp đề xuất, hàm vòng tương ứng nhận có số bit phụ thuộc lớn nhiều so với Keccak Điều có biểu thức đại số hàm bool S-hộp đề xuất phức tạp Do dạng biểu diễn phương trình đại số qua vịng hốn vị sử dụng Shộp có bậc đại số cao Keccak B Bậc đại số hoán vị Keccak-f sử dụng Shộp đề xuất Áp dụng kết nghiên cứu phân biệt tổng cho hoán vị Keccak-f [2], có bảng ước lượng sau: BẢNG BẬC ĐẠI SỐ CHO SỐ VÒNG RÚT GỌN TRONG KECCAK-F VÀ KECCAK-F SỬ DỤNG S-HỘP ĐỀ XUẤT Hoán vị gốc r Hoán vị sử dụng Shộp đề xuất deg(𝑅𝑟 ) deg(𝑖𝑛𝑣𝑅𝑟 ) deg(𝑅𝑟 ) deg(𝑖𝑛𝑣𝑅𝑟 ) 4 16 16 27 64 64 16 81 256 256 32 243 1024 1024 64 729 1456 1456 42 No 1.CS (11) 2020 128 1164 1564 1564 256 1382 1591 1591 512 1491 1598 1598 10 1024 1545 1599 1599 11 1408 1572 1599 1599 12 1536 1586 1599 1599 13 1578 1593 1599 1599 14 1592 1596 1599 1599 15 1597 1598 1599 1599 16 1599 1599 1599 1599 Từ Bảng thấy rằng, phải đến vịng thứ 16 bậc đại số dạng biểu diễn phương trình đại số hoán vị Keccak đạt cực đại Còn thay S-hộp đề xuất 10 Như vậy, bậc đại số S-hộp cao ảnh hưởng trực tiếp đến ước lượng Bảng Hơn nữa, điều giải thích phần thơng qua đánh giá số bit phụ thuộc Mệnh đề 2, Do vậy, hoán vị Keccak-f với Shộp đề xuất có tính chất đại số tốt Keccak-f nguyên thủy Với tính chất đại số vậy, hàm băm Keccak sử dụng S-hộp đề xuất có khả kháng lại tốt trước công phân biệt dựa tổng so với hàm băm Keccak nguyên thủy C Tính tuyến tính hóa khơng đầy đủ S-hộp đề xuất Ở mục trên, nhóm tác giả phân tích tính chất tuyến tính hóa khơng đầy đủ Shộp Keccak-f Có nghĩa rằng, tồn tập mà số phương trình biểu diễn S-hộp Keccak-f có dạng tuyến tính (ví dụ tập Bảng 2) Với tính chất này, tác giả [8]-[10] thực việc lập hệ phương trình cho số vịng nhỏ Keccak Từ đưa công Áp dụng tương tự S-hộp đề xuất báo thấy rằng, tính chất [8] khơng cịn Do vậy, việc sử dụng phương trình tuyến tính để mở rộng số vịng cơng tìm va chạm theo cách tiếp cận [8]-[10] không áp dụng Khoa học Cơng nghệ lĩnh vực An tồn thơng tin cho phiên hàm băm Keccak mà sử dụng S-hộp đề xuất VI ĐÁNH GIÁ KHẢ NĂNG THỰC THI KHI SỬ DỤNG S-HỘP ĐỀ XUẤT TRONG HOÁN VỊ KECCAK-F D Sự ảnh hưởng đến cấu trúc Sponge hàm băm Keccak Nhóm tác giả thực xây dựng chương trình cài đặt ngơn ngữ C cho thuật tốn SpongeHash Cài đặt khơng áp dụng lệnh SIMD hay Assembler Cài đặt biên dịch sử dụng Visual Studio 12 nhân máy Intel(R) Core(TM) i5-6200U CPU @ 2.30GHz 2.40GHz, Windows 10, phiên x64 bit Bảng thống kê thể tốc độ thực thi thuật toán, (AT) – ký hiệu cài đặt an tồn Cài đặt an toàn thực theo kỹ thuật mặt nạ hai chia sẻ [16] Đối tượng mà muốn hướng phần đến cấu trúc Sponge thiết kế hàm băm Keccak Các cơng tổng qt lên kể đến là: tìm va chạm bên trong, tìm chu kỳ đầu ra, tìm đường dẫn đến trạng thái trong, khơi phục trạng thái, [14] Ở phân tích này, tác giả đưa ước lượng độ an toàn cụ thể cho hai trường hợp sử dụng biến đổi ngẫu nhiên hoán vị ngẫu nhiên cấu trúc Sponge Ở khía cạnh khác, với biến đổi ngẫu nhiên hốn vị ngẫu nhiên, nhóm tác giả [14] có đánh giá lợi phân biệt cấu trúc Sponge với tiên tri ngẫu nhiên (Theorem 7, Theorem [14]) Có thể nói rằng, phân tích tài liệu nói khơng sử dụng thuộc tính hàm sử dụng cấu trúc Sponge Chính vậy, việc thay đổi đề xuất S-hộp không làm thay đổi cấu trúc Sponge hàm băm Keccak Nó khơng ảnh hưởng đến độ an toàn chứng minh cấu trúc Sponge hàm băm BẢNG T ỐC ĐỘ THỰC THI CỦA S PONGE H ASH VÀ K ECCAK Tốc độ Mb/s Thuật toán Tên Phiên (bit) Cài đặt bình thường Cài đặt an tồn 256 1101,93 781,25 512 599,70 422,83 256 925,93 702,99 512 520,83 384,99 256 970 512 640 Keccak SpongeHash SHA-2 BẢNG SO SÁNH TỐC ĐỘ CÀI ĐẶT CỦA SPONGEHASH VÀ KECCAK Hàm băm SpongeHash Các nhà thiết kế mật mã thông thường lựa chọn cấu trúc tổng thể, sau có đánh giá cấu trúc trước thiết kế cho thành phần bên Ví dụ mã khối có cấu trúc thơng dụng: mạng SPN, mạng Feistel, Hàm băm có: cấu trúc MerkleDamgard, cấu trúc Sponge, Trước đánh giá lên cấu trúc này, thường lý tưởng hóa thành phần bên mã khối lý tưởng, hoán vị ngẫu nhiên, biến đổi hay hàm ngẫu nhiên, Kết quả, có cơng tổng qt Nói cách khác, công tổng quát công mà không khai thác thuộc tính mật mã bên nguyên thủy mật mã, mà sử dụng cấu trúc tổng thể thiết kế Keccak Phiên (bit) 512 512 ↓13,1% 256 512 (AT) 256 (AT) 256 512 (AT) 256 (AT) ↓15,9% ↓10,0% ↓8,9% Số 1.CS (11) 2020 43 Journal of Science and Technology on Information security BẢNG TỐC ĐỘ THỰC THI CÀI ĐẶT AN TỒN SO VỚI CÀI ĐẶT THƠNG THƯỜNG CỦA SPONGEHASH VÀ KECCAK Hàm băm SpongeHash Keccak Phiên (bit) 512 (AT) Keccak 512 256 SpongeHash 512 256 ↓29,4% 256 (AT) ↓29,1% 512 (AT) ↓26,1% 256 (AT) ↓24,1% Kết thống kê thấy rằng, sử dụng S-hộp đề xuất cho tốc độ thực thi so sánh so với phiên nguyên thủy, mặt khác độ an toàn lại cải thiện VII KẾT LUẬN Trong báo, nhóm tác giả khảo sát độ an toàn hàm băm Keccak dựa phân tích tính chất S-hộp sử dụng Kết rằng, tham số mật mã S-hộp hoán vị Keccak-f đóng vai trị quan trọng ảnh hưởng lên độ an tồn Trên sở phân tích này, chúng tơi đề xuất lựa chọn S-hộp có tính chất mật mã tốt hơn, thay S-hộp vào hốn vị Keccak-f thực phân tích ảnh hưởng chúng hoán vị Keccak-f ban đầu Kết phân tích chứng tỏ Shộp đề xuất mang lại độ an toàn cao Với Shộp đề xuất, báo so sánh khả cài đặt so với S-hộp gốc (Bảng 4) Một điều dễ hiểu rằng, với cấu trúc đại số phức tạp Shộp đề xuất có tính chất cài đặt phức tạp so với S-hộp ban đầu Tuy nhiên, phụ thuộc vào người sử dụng bối cảnh cụ thể, với tốc độ băm chấp nhận được, độ an toàn nâng cao chắn lựa chọn không tồi bối cảnh phát triển khoa học thám mật mã thám mã Bài báo chưa đề cập đến độ an toàn đề xuất trước thám mã vi sai Tuy nhiên, S- 44 No 1.CS (11) 2020 hộp đề xuất có xác suất vi sai tốt S-hộp nguyên thủy Keccak, đảm bảo hàm băm Keccak sử dụng S-hộp đề xuất có khả kháng lại thám mã vi sai biến thể khơng hàm băm ngun thủy Nhóm tác giả tập trung phân tích đánh giá theo hướng nghiên cứu Một vấn đề mở đặt liên quan đến cơng nhóm Boura cộng [2][5], cụ thể với phân tích nhóm mà số vòng Keccak phiên thời tăng lên 24 so với 18 phiên Vì vậy, sử dụng S-hộp đề xuất với tính chất đại số tốt hơn, liệu giảm số vịng khơng? Khi tốc độ cân với phiên nguyên thủy TÀI LIỆU THAM KHẢO [1] NIST, SHA-3 Stadard: Permutation-Based Hash And Extendable Output Functions 8/2015 [2] Boura, C and A Canteaut Zero-sum distinguishers for iterated permutations and application to Keccak-f and Hamsi-256 in International Workshop on Selected Areas in Cryptography 2010 Springer [3] Boura, C and A Canteaut A zero-sum property for the Keccak-f permutation with 18 rounds in 2010 IEEE International Symposium on Information Theory 2010 IEEE [4] Boura, C., A Canteaut, and C De Canniere Higher-order differential properties of Keccak and Luffa in International Workshop on Fast Software Encryption 2011 Springer [5] Boura, C and A Canteaut On the algebraic degree of some SHA-3 candidates in Proceedings of the Third SHA-3 Candidate Conference, Washington DC 2012 [6] Aumasson, J.-P and W Meier, Zero-sum distinguishers for reduced Keccak-f and for the core functions of Luffa and Hamsi rump session of Cryptographic Hardware and Embedded Systems-CHES, 2009 2009: p 67 Khoa học Cơng nghệ lĩnh vực An tồn thơng tin [7] Duan, M and X Lai, Improved zero-sum distinguisher for full round Keccak-f permutation Chinese Science Bulletin, 2012 57(6): p 694-697 [8] Song, L., G Liao, and J Guo Non-full sbox linearization: applications to collision attacks on round-reduced Keccak in Annual International Cryptology Conference 2017 Springer [9] Qiao, K., et al New collision attacks on roundreduced Keccak in Annual International Conference on the Theory and Applications of Cryptographic Techniques 2017 Springer [10] Dinur, I., O Dunkelman, and A Shamir New attacks on Keccak-224 and Keccak-256 in International Workshop on Fast Software Encryption 2012 Springer [11] Li, M and L Cheng Distinguishing property for full round keccak-f permutation in Conference on Complex, Intelligent, and Software Intensive Systems 2017 Springer [12] Guo, J., et al., Practical collision attacks against round-reduced SHA-3 Journal of Cryptology, 2020 33(1): p 228-270 SƠ LƯỢC VỀ TÁC GIẢ TS Nguyễn Văn Long Đơn vị công tác: Phân viện NCKHMM, Viện KH-CN mật mã, Ban Cơ yếu Chính phủ Email: longnv@bcy.gov.vn Q trình đào tạo: Năm 2008 tốt nghiệp Học viện FSO – Liên bang Nga chuyên ngành “An tồn thơng tin hệ thống viễn thơng” Năm 2015 bảo vệ thành công luận án tiến sĩ học viện FSO Liên bang Nga theo chuyên ngành “Các phương pháp bảo vệ thông tin” Hướng nghiên cứu nay: Nghiên cứu, thiết kế thuật toán mã đối xứng an toàn, hiệu cài đặt ThS Lê Duy Đức Đơn vị công tác: Khoa Kỹ thuật sở, Học viện Phịng khơng Khơng qn Email: leduchnnt@gmail.com Quá trình đào tạo: Năm 2006 tốt nghiệp Học viện Kỹ thuật quân sự; Năm 2014 tốt nghiệp Thạc sĩ Học viện Kỹ thuật quân Hướng nghiên cứu nay: vô tuyến điện tử [13] Rajasree, M.S Cryptanalysis of Round-Reduced KECCAK Using Non-linear Structures in International Conference on Cryptology in India 2019 Springer [14] Bertoni, G., et al Sponge functions in ECRYPT hash workshop 2007 Citeseer [15] Nguyễn Văn Long “Phân tích thành phần mật mã hốn vị Keccak-p” Nghiên cứu Khoa học Cơng nghệ lĩnh vực An tồn thơng tin, ISSN 2615-9570, No 08 Vol 02 2018 [16] Bertoni, G., et al., Keccak implementation overview URL: http://keccak neokeon org/Keccak-implementation-3.2 pdf, 2012 Số 1.CS (11) 2020 45 ... xấp xỉ tuyến tính cực đại Có Có Tính chất Tính cân Từ Bảng thấy rằng, S-hộp đề xuất có tính chất mật mã tốt so với S-hộp Keccak S-hộp đề xuất có bậc đại số cao Tính chất để đảm bảo ảnh hưởng... NOT S-hộp Keccak 5 S-hộp đề xuất 15 15 Trên số phân tích sở đề xuất S-hộp để thay cho S-hộp hoán vị Keccak- f V ĐÁNH GIÁ AN TOÀN KHI SỬ DỤNG S-HỘP ĐỀ XUẤT TRONG HOÁN VỊ KECCAK- F Với S-hộp đề xuất. .. thuộc Mệnh đề 2, Do vậy, hoán vị Keccak- f với Shộp đề xuất có tính chất đại số tốt Keccak- f nguyên thủy Với tính chất đại số vậy, hàm băm Keccak sử dụng S-hộp đề xuất có khả kháng lại tốt trước