Keccak là hàm băm đã chiến thắng trong cuộc thi SHA-3. Nghiên cứu này sẽ tập trung phân tích và chi tiết một số tính chất mật mã của các biến đổi thành phần cấu thành nên hoán vị Keccak-p trong hàm băm Keccak.
Journal of Science and Technology on Information Security Phân tích thành phần mật mã hoán vị Keccak-p Nguyễn Văn Long Tóm tắt— Keccak hàm băm chiến thắng thi SHA-3 Nghiên cứu tập trung phân tích chi tiết số tính chất mật mã biến đổi thành phần cấu thành nên hoán vị Keccak-p hàm băm Keccak Cụ thể đưa lập luận chi tiết cho số nhánh biến đổi tuyến tính hàm vịng hốn vị Keccak-p xem xét phụ thuộc bit đầu vào đầu hàm vòng Mặt khác đưa vài phân tích khả cài đặt Keccak dựa biến đổi thành phần Abstract— Keccak is a winning hash function in the SHA-3 competition This study will focus on analyzing and detailing some of the cryptographic properties of the constituent composition changes, permutating Keccak-p in the hash function Keccak Specifically, a detailed argument will be given for the number of branches of linear transformation in the loop function of Keccak-p permutation and considering the dependency between input and output bits in this loop function On the other hand, also gives some analysis of Keccak's installation ability based on these component changes Từ khóa— Hàm băm Keccak; hốn vị Keccak; SHA-3 Keywords—Keccak hash function; Keccak hash function; SHA-3 I GIỚI THIỆU Hàm băm mật mã thành phần quan trọng mật mã đại Có hai nguyên lý thiết kế điển hình cho hàm băm dựa cấu trúc lặp Merkle-Damgärd [1, 2] cấu trúc Sponge [3] Trong cấu trúc thứ nhất, mã khối đƣợc sử dụng để thiết kế hàm nén theo cấu trúc định, cấu trúc thứ lại sử dụng hoán vị lặp Tuy Bài báo đƣợc nhận ngày 1/12/2018 Bài báo đƣợc nhận xét phản biện thứ vào ngày 5/12/2018 đƣợc chấp nhận đăng vào ngày 21/12/2018 Bài báo đƣợc nhận xét phản biện thứ hai vào ngày 10/12/2018 đƣợc chấp nhận đăng vào ngày 20/12/2018 34 Số 2.CS (08) 2018 nhiên, hàm băm có đƣợc thiết kế theo nguyên lý thấy nhân mật mã chúng đƣợc xây dựng dựa nguyên lý lặp lặp lại biến đổi tuyến tính phi tuyến đơn giản (nguyên lý Shannon) Theo đó, biến đổi phi tuyến cung cấp tính xáo trộn cho bit đƣợc xử lý qua hàm vòng, biến đổi tuyến tính đảm đƣơng nhiệm vụ khuếch tán rộng tính xáo trộn Trong tài liệu [4] nói rằng: Việc sử dụng đơn lẻ hai tính chất không mang lại hiệu thiết kế mật mã Chúng mang lại hiệu đƣợc kết hợp với Keccak hàm băm chiến thắng thi tuyển chọn hàm băm SHA-3 NIST tổ chức Nguyên lý thiết kế dựa ngun tắc Hàm vịng có dạng [5]: ( ) ( ( ( ( ))/) ) Trong đó, tầng tuyến tính kết hợp số thành phần tuyến tính nhƣ biến đổi theta (phép ), biến đổi pi (phép ), biến đổi rho (phép ) biến đổi iota (phép ) Còn biến đổi phi tuyến đƣợc đảm bảo biến đổi Trong [6], tác giả đƣa số nhánh biến đổi tuyến tính Mặt khác, kết hợp biến đổi tuyến tính phi tuyến bit đầu vào có khả ảnh hƣởng tới 31 bit đầu ngƣợc lại Tuy nhiên, số liệu khơng đƣợc tác giả trình bày chi tiết [6] Đóng góp chúng tơi Trên sở phân tích biến đổi tuyến tính , chứng minh chi tiết cho đại lƣợng số nhánh biến đổi Còn kết hợp với biến đổi phi tuyến, chúng tơi giải thích chi tiết cho phụ thuộc biến bit vào đầu hàm vịng hốn vị Keccak-p Ngồi ra, biến đổi thành phần nói trên, đƣa Nghiên cứu Khoa học Cơng nghệ lĩnh vực An tồn thơng tin phân tích khả cài đặt chúng môi trƣờng phần mềm Trong phạm vi nghiên cứu báo tập trung phân tích cho hốn vị Keccak-p hàm băm Keccak chuẩn SHA-3 Có nghĩa thực phân tích tham số w = 64 Các trƣờng hợp khác phụ thuộc vào giá trị tham số đƣợc thực tƣơng tự Bố cục phần lại báo gồm: Mục II trình bày quy ƣớc mảng trạng thái hốn vị Keccak-p Mơ tả biến đổi thành phần với vài phân tích khả cài đặt chúng đƣợc đƣa Mục III Trong Mục IV xem xét làm tƣờng minh số tính chất mật mã biến đổi thành phần Cuối Mục Kết luận A Thành phần mảng trạng thái Đối với phép hoán vị Keccak- , mảng bit biểu diễn trạng thái Các số thỏa mãn: , , ( ) Mảng trạng thái cho phép hốn vị Keccak-p mảng chiều (đƣợc minh họa Hình dƣới đây) trƣờng hợp b 200 , w Các mảng hai chiều đƣợc gọi sheet, plane slice, mảng chiều đƣợc gọi column (cột), row (hàng) lane (làn), đó: sheet: mảng gồm b / bit theo trục tọa độ x cố định plane: mảng gồm b / bit theo trục tọa độ y cố định II QUY ƢỚC MẢNG TRẠNG THÁI Trạng thái mảng bit đƣợc liên tục cập nhập trình xử lý Đối với phép hốn vị Keccak- , trạng thái đƣợc biểu diễn chuỗi mảng ba chiều [5] slice: mảng gồm 25 bit theo trục tọa độ z cố định lane: mảng gồm b / 25 bit theo trục tọa độ x y cố định Trạng thái cho phép hoán vị Keccak- , ] bao gồm bit vịng hốn vị Bản đặc tả thông số kỹ thuật tiêu chuẩn SHA-3 bao gồm hai đại lƣợng khác liên quan đến ⁄ ( ⁄ ), lần lƣợt ký hiệu , * + row (hàng): mảng gồm bit theo tọa độ y z cố định column (cột): mảng gồm bit với trục tọa độ x z khơng đổi Có thể biểu diễn trạng thái đầu vào đầu phép hoán vị chuỗi b bit biểu diễn trạng thái đầu vào đầu ánh xạ mảng bit 5×5×w Nếu S ký hiệu chuỗi biểu diễn trạng thái, bit đƣợc đánh số từ đến b , đó: S S[0]|| S[1]|| || S[b 2]|| S[b 1] Nếu A ký hiệu mảng bit w biểu diễn trạng thái, số ba số nguyên ( x, y, z ) cho x 5,0 y z w Bit tƣơng ứng với ( x, y, z ) đƣợc ký hiệu A[ x, y, z ] Mảng trạng thái biểu diễn cho Hình Thành phần mảng trạng thái tổ chức theo nhiều chiều (w = 8) trạng thái mảng ba chiều với số đƣợc xác định theo cách Số 2.CS (08) 2018 35 Journal of Science and Technology on Information Security B Chuyển từ chuỗi sang mảng trạng thái Cho S ký hiệu chuỗi b bit biểu diễn cho trạng thái phép hoán vị Keccak p[b, nr ] Mảng trạng thái tƣơng ứng ký hiệu A đƣợc định nghĩa nhƣ sau: Đối với ba ( x, y, z ) cho x 5,0 y z w , ta có A[ x, y, z] S[w(5 y x) z ] C Chuyển từ mảng trạng thái sang chuỗi Cho A ký hiệu mảng trạng thái Biểu diễn chuỗi tƣơng ứng ký hiệu S đƣợc cấu trúc từ lane plane A nhƣ sau: Đối với cặp số nguyên (i, j ) cho Nhãn đầy đủ tọa độ ( , ) Hình đƣợc E Quy ước lấy tọa độ lane phụ thuộc vào giá trị dịch bit Cho bit , - thuộc , - Khi thực phép dịch vòng sang phải a bit , -, có nghĩa thực tính , , tọa độ bit , - ( ) cho , - Có nghĩa bit , - thuộc slice có tọa độ z, thực , , bit thuộc slice ) có tọa độ ( III CÁC BIẾN ĐỔI THÀNH PHẦN CỦA HÓA VỊ KECCAK-p Hoán vị Keccak-p đƣợc xây dựng sở hàm ( ) ( ( ( ( ))/) ) i j , xác định chuỗi lane[i, j ] : vòng lane[i, j ] A[i, j ,0] || A[i, j ,1] || A[i, j, 2] || nhƣ đƣợc giới thiệu Mục Giới thiệu Sau xem xét hoạt động biến đổi thành phần số phân tích lên khả cài đặt chúng || A[i, j , w 2] || A[i, j , w 1] Đối với số nguyên j, nghĩa ( ) ,- định , -‖ , -‖ , - , - , - || Do vậy, , -‖ , - , -‖ , - , - D Quy ước nhãn mảng trạng thái Trong sơ đồ trạng thái kèm với thông số kỹ thuật ánh xạ bƣớc, lane tƣơng ứng với tọa độ ( , ) ( , ) nằm trung tâm slice A Biến đổi theta Thuật tốn sau mơ tả hoạt động phép biến đổi Thuật toán 1: ( ) Input: Mảng trạng thái A Output: Mảng trạng thái A’ Các bƣớc biến đổi nhƣ sau: Với tất cặp (x, z) với , - , - , , - , , - Với tất cặp (x, z) với , - ,( ,( ) ) - ( ) - Với tất ba (x, y, z) với , Hình Tọa độ theo trục x, y z cho sơ đồ ánh xạ bƣớc 36 Số 2.CS (08) 2018 - , - , - Nghiên cứu Khoa học Công nghệ lĩnh vực An tồn thơng tin Do 25 lane trạng thái đƣợc tính bởi: ( ) đó, ( ) , -, Rõ ràng trình cho phép thao tác xử lý qua phép trực tiếp lane Ví dụ với trƣờng hợp độ dài b = 800, 1600 bit (tƣơng ứng với w = b/25 = 32 64), ta cài đặt phép môi trƣờng với ghi 32 64 bit Hình Minh họa phép biến đổi áp dụng cho bit Nhƣ thấy thuật 1, biến đổi sử dụng phép toán bit Điều lợi cài đặt cứng hóa Tuy nhiên biến đổi cài đặt hiệu phần mềm môi trƣờng ghi khác tùy theo giá trị tham số w bảng Do đó, mục chúng tơi phân tích khả cài đặt biến đổi dựa theo quan điểm phần mềm Chúng ta thấy rằng, phép tính giá trị C bƣớc thuật tốn khơng phụ thuộc vào tọa độ y bit trạng thái Đây phép toán cộng bit cột Khi ghép tất bit lane theo tọa độ z cộng tất lane sheet ta nhận đƣợc véc tơ có độ dài w bit: , ( ( ( ( ) , - với ) ) ), , ( ( ) ) ( ) Từ biểu thức tính bit , , - ,( ) ) - ( ) Ta tính véc tơ , ,( ) , - ,( - nhƣ sau: ) - - ( ), ,( B Biến đổi Hình thuật tốn dƣới đặc tả biến đổi : Thuật toán 2: ( ) Input: mảng trạng thái A Output: mảng trạng thái A’ Các bƣớc biến đổi: Với tất (x, y, z) thỏa mãn điều kiện , ta đặt: A’[x, y, z]= A[(x + 3y) mod 5, x, z] Return A’ , Hình Minh họa phép biến đổi áp dụng cho slice đơn Biến đổi thực chất phép hoán vị bit slice khối trạng thái Việc hoán vị giống cho toàn w slice mảng trạng thái Nhƣ ghép tất slice thực hoán vị lane khối trạng thái Theo thuật tốn 2, , ) giá trị ,( - Do Số 2.CS (08) 2018 37 Journal of Science and Technology on Information Security vậy, việc cài đặt phần cứng phần mềm biến đổi đƣợc thực cách đơn giản C Biến đổi Thuật toán dƣới minh họa hoạt động biến đổi : Thuật toán 3: ( ) Input: Mảng trạng thái A Output: Mảng trạng thái A’ Các bƣớc biến đổi nhƣ sau: Với tất z với , ta đặt A’[0,0,z]=A[0,0,z] Đặt (x, y) = (0, 1) Cho t chạy từ tới 23: a Với tất z thỏa mãn ta đặt A’[ x, y, z]= A[x, y, (z(t+1)(t+2)/2) mod w] b Đặt [x, y]=[y, (2x + 3y) mod 5] Return A’ Tác động phép biến đổi để xoay bit lane theo chiều dài gọi offset, với việc phụ thuộc vào tọa độ cố định x y lane Tƣơng đƣơng với bit lane, tọa độ z đƣợc sửa đổi cách cộng modulo offset theo kích thƣớc lane Hình Minh họa phép biến đổi với b=200 Biến đổi thực chất phép dịch bit cách độc lập sheet theo lane Giá trị dịch bit phụ thuộc vào tọa độ x y Do cài đặt đơn giản môi trƣờng phần cứng phần mềm phép biến đổi D Biến đổi Thuật toán dƣới minh họa hoạt động biến đổi : Thuật toán 4: ( ) Input: Mảng trạng thái A Output: Mảng trạng thái A’ Những bƣớc biến đổi: Với tất (x, y, z) thỏa mãn điều kiện tính A’[x, y, z]= A[x, y, z] ((A[(x+1) mod 5, y, z] ) A[(x+2) mod 5, y, z]) Return A’ Bảng Các offset x=3 x=4 x=0 x=1 x=2 y=2 153 231 10 171 y=1 55 276 36 300 y=0 28 91 190 y=4 120 78 210 66 253 y=3 21 136 105 45 15 Minh họa phép biến đổi với w = đƣợc biểu diễn Hình Các nhãn chuyển đổi cho tọa độ cố định x, y hình đƣợc biểu diễn tƣơng tự nhƣ nhƣ hình 5, tƣơng đƣơg với hàng cột bảng Ví dụ lane[0,0] đƣợc miêu tả sheet giữa, lane[2,3] đƣợc miêu tả dƣới sheet ngồi bên phải 38 Số 2.CS (08) 2018 Hình Minh họa phép biến đổi áp dụng cho row riêng lẻ Trên thực tế, nhà thiết kế lựa chọn có biểu thức đại số đơn giản để thuận tiện cho cài đặt cứng hóa Tuy nhiên, ghép bit lane để thực Theo đó: Nghiên cứu Khoa học Cơng nghệ lĩnh vực An tồn thơng tin , ) ( ) ) , - ( ,( ( ) ) ,( -, ⏟ Với biểu diễn này, biến đổi thực lane thuận tiện cài đặt phần mềm E Biến đổi Biến đổi tác động lên lane gốc, nghĩa lane có tọa độ x = y = Bản chất cộng vào lane gốc số phụ thuộc vào số vịng hốn vị Keccak-p Do vậy, biến đổi dễ dàng cài đặt phần cứng phần mềm Phép ánh xạ đƣợc tham số hóa số vịng , giá trị đƣợc xác định bƣớc thuật tốn tính hốn vị Keccak–p[b, nr] phần sau Trong phạm vi phép biến đổi thuật toán bên dƣới, tham số xác định bit giá trị lane đƣợc gọi số vòng, đƣợc định nghĩa RC Mỗi bit bit đƣợc tạo hàm mà hàm dựa ghi dịch tuyến tính có phản hồi Hàm ký hiệu rc đƣợc định nghĩa thuật toán Thuật toán 5: rc(t) Input: số nguyên t Output: bit rc(t) Các bƣớc thuật toán Nếu t mod 255 =0 , return Đặt R = 10000000 Cho i chạy từ tới t mod 255, đặt: 3.1 R= R 3.2 R[0]= R[0] R[8] 3.3 R[4]= R[4] R[8] 3.4 R[5]= R[5] R[8] 3.5 R[6]= R[6] R[8] 3.6 R = Trunc8[R] Return R[0] Thuật toán 6: (A,ir) Input: Mảng trạng thái A Chỉ số vòng ir Output: Mảng trạng thái A’ Các bƣớc thuật toán: Với tất (x, y, z) thỏa mãn điều kiện , ta đặt: A’[x, y, z] = A[x, y, z] Đặt RC = Cho j chạy từ tới , ta đặt j RC[2 -1] = rc([j+7ir) Với tất z thỏa mãn A’[0,0,z] = A’[0,0,z] , ta đặt [z] Return A’ Tác động phép biến đổi để biến đổi vài bit lane[0, 0] phụ thuộc vào số vòng ir Còn lại 24 lane khác không bị ảnh hƣởng phép biến đổi Ánh xạ bao gồm việc thêm số vịng hƣớng tới phá vỡ tính đối xứng Các bit số vòng khác từ vòng đến vòng đƣợc lấy đầu LFSR có độ dài lớn Các số đƣợc thêm lane trạng thái Do phá vỡ đƣợc lan truyền thông qua tất lane trạng thái sau đơn IV TÍNH CHẤT MẬT MÃ CÁC BIẾN ĐỔI THÀNH PHẦN TRONG HOÁN VỊ KECCAK-p Trong mục xem xét hai tính chất mật mã, gồm số nhánh biến đổi tuyến tính, ảnh hƣởng bit đầu vào (hoặc đầu ra) lên bit đầu (hoặc đầu vào) hàm vòng Đối với biến đổi tuyến tính, quan tâm đến khuếch tán , biến đổi khơng làm thay đổi số lƣợng bit tích cực mà thay đổi vị trí bit mảng trạng thái Còn biến đổi thực chất phép cộng với số bit lane[0, 0] Do vậy, khơng tác động lên số lƣợng bit tích cực hàm vòng Số 2.CS (08) 2018 39 Journal of Science and Technology on Information Security Đối với việc xem xét hảnh hƣởng bit đầu vào (hoặc đầu ra) lên bit đầu (hoặc đầu vào) hàm vịng, chúng tơi thực biểu diễn bit đầu phụ thuộc vào bit đầu vào A Số nhánh biến đổi Ánh xạ tuyến tính đảm nhiệm vai trị khuếch hốn vị Keccak-p Tác động đƣợc mơ tả nhƣ sau: Cộng XOR bit , -, -, - trạng thái với giá trị chẵn/lẻ -, -, (tổng XOR bit) hai cột , -, -, , - Nếu khơng có biến đổi , hốn vị Keccak-f khơng có tính khuếch tán Đối với trạng thái mà tổng bit tất cột số chẵn, đồng Nhƣ vậy, trạng thái mà có trọng số Hamming nhỏ 2, có nghĩa có cột có bit tích cực, cột khác chứa bit Khi số nhánh biến đổi Trong [6], tác giả lập luận đƣa số nhánh nhƣ Tuy nhiên, để khẳng định điều ta cần xem xét để chứng tỏ trƣờng hợp khác, số nhánh nhỏ Mệnh đề dƣới chi tiết vấn đề Mệnh đề 1: Số nhánh biến đổi hoán vị Keccak-p Chứng minh: Gọi A mảng trạng thái đầu vào, A’ mảng trạng thái đầu qua biến đổi Khi đó, số nhánh theo bit biến đổi đƣợc xác định công thức ( ) ( ) ( ) ( ( )) Xét trƣờng hợp sau: ( ) Trường hợp 1: Có nghĩa trạng thái A có bit có giá trị Giả sử bit có tọa độ ( ) [ ] Khi đó, , { , Từ biểu thức , -, có 40 Số 2.CS (08) 2018 , , , - ( ,( ( ,( ) ) ) ) ( ( - ) ) ( ) , { Còn trƣờng hợp cịn lại tọa độ x z, , Do vậy, bit trạng thái 1, gồm: [ ] [ ] , , ,( ,( ,( với ) ) ) ,( ) ,( ) ) ) ) - - , , ( ( ,( ) , với ( ( ) Từ có ( ) ( ) ( ) Trường hợp 2: Xét khả sau: Nếu hai bit có giá trị trạng thái A nằm hai cột Khi tất giá trị , - 0, với Điều dẫn tới tất giá trị , - với ( ).Vì , - nên ( ) Do , - , ( ) - , -, Nếu hai bit có giá trị trạng thái A nằm cột khác Khi lập luận tƣơng tự nhƣ trƣờng hợp 1, có Nghiên cứu Khoa học Công nghệ lĩnh vực An tồn thơng tin Trường hợp 3: ( ) Nếu ba bit có giá trị A thuộc cột Khi ta tính đƣợc ( ) tƣơng tự nhƣ trƣờng hợp Do vậy, Nếu ba bit có giá trị A không thuộc cột Khi chúng thuộc ba cột khác nhau, thuộc hai cột khác Lập luận tƣơng tự ta có Ở trƣờng hợp cịn lại, mà ( ) ( ) ( ) , ta ln ln có Do số nhánh biến đổi tuyến tính B Sự phụ thuộc bit đầu vào đầu hàm vịng hốn vị Keccak-p Việc xem xét lan truyền bit đầu vào/ra, hay nói cách khác phụ thuộc lẫn bit đầu vào đầu tính chất quan trọng thiết kế nguyên thủy mật mã Trong [6], tác giả nói rằng, kết hợp tầng tuyến tính với biến đổi hàm vịng hốn vị Keccak-p, bit đầu vào hàm vịng có khả ảnh hƣởng tới 31 bit đầu bit đầu hàm vòng phụ thuộc vào 31 bit đầu vào Tuy nhiên, xây dựng chƣơng trình thực hàm vịng hốn vị Keccak-p, chúng tơi tìm nhiều trạng thái, mà thay đổi bit đầu vào đầu làm thay đổi 32 33 bit đầu đầu vào tƣơng ứng Mặt khác biểu diễn phụ thuộc bit đầu bit đầu vào nhận đƣợc đánh giá tƣơng tự Mệnh đề sau chi tiết vấn đề Ở chứng minh kết cho trƣờng hợp hoán vị Keccak-p chuẩn hàm băm SHA3, có nghĩa lựa chọn giá trị w = 64 Mệnh đề Đối với biến đổi vịng hốn vị Keccak-p hàm băm SHA-3 có: 128 bit đầu (hoặc đầu vào) phụ thuộc vào 32 bit đầu vào (hoặc đầu ra); 1472 bit đầu (hoặc đầu vào) phụ thuộc vào 33 bit đầu vào (hoặc đầu ra) Chứng minh Trong chứng minh xem xét ảnh hƣởng bit đầu vào lên bit đầu cách biểu diễn biểu thức lane đầu qua lane đầu vào Từ cho phép nhận đƣợc đánh giá phụ thuộc bit đầu vào bit đầu vào Xét lane có tọa độ ( ) bất kỳ, Và thực biểu diễn qua ánh xạ biến đổi vịng hốn vị Keccak-p , -→ ,( ) ,( ) ,( ) → ,( ,( ,( ,( → (⏟ ,( , - ) ) ( ) ) ) ( ( ) ) - ) - - ) ( ⏟ ,( ) ( ) - ) ( ⏟ ,( ) ( ) - ) ( ,( ) ) ( ) - , a, b, c giá trị offset đƣợc quy định biến đổi Trong trƣờng hợp có Qua biến đổi , ta có, Đối với biểu thức A: ,( → ( ( ,( ( ,( ) ) ) - ) ) - ) Số 2.CS (08) 2018 41 Journal of Science and Technology on Information Security ( ,( ( ,( ( ,( ,( ( ( ,( ( ,( ∑( ) ) ) ) ) ) ) ) ) ( - )) ) ) - ,( ) ( ) ) ,( ∑(( ) ) -) )) Đối với biểu thức B: Các giá trị dịch lane xác định bởi: ) ,( ,( ) ( ) ,( ) ( ) Từ biểu thức A, B C thấy biểu thức tƣơng ứng phụ thuộc vào 11 lane Mặt khác, theo bảng offset biến đổi có trƣờng hợp sau: ) ( ): Trong Trường hợp ( trƣờng hợp có thỏa mãn điều kiện ) ( Trường hợp ( trƣờng hợp có mãn điều kiện → ( ,( ) ( ) - ) ∑( ,( ) - ∑(( ,( ) -) ( ) ( ) ( Trường hợp ( ( ): Trong trƣờng hợp , ) )) ∑( → ,( ) ( ) - ) ∑( ,( ) - ) Xét trƣờng hợp trên: ) ( ), có Trường hợp 1: Với ( ( ,( ) ( ) ) Đối với biểu thức C: ( ): Trong thỏa ) ∑ ,( (( ( ( ) ,( )) = , ∑ ( ) - ) ) -) ) ∑ , - ( , - ) ∑(( ,( ) -) ( )) Ta thấy phép dịch lane biểu thức A, B C cho ta tọa độ z đƣợc dịch đi, hay nói cách khác, phép dịch thể xem tọa độ trạng thái , - nằm slice 42 Số 2.CS (08) 2018 ( ,( ) ) ∑( ∑ ( ( (( ,( ) ,( )) = , ) ∑ ( ( ) - ) ) ) , ∑ - -) ( , )= - Nghiên cứu Khoa học Công nghệ lĩnh vực An tồn thơng tin ( , - ) ∑( , - ) ( , ) ( , ) ( , ) ( , ) ( , ) Nhƣ vậy, biểu thức B C có lane chung (màu đậm biểu thức trên) Do vậy, biểu thức có 11 + 11 + 10 = 32 lane tham gia Kết có 64 bit ) ( ) đầu có tọa độ ( phụ thuộc vào 32 bit đầu vào (các bit thuộc , -) ) ( ), ta thực Trường hợp 2: Với ( phân tích tƣơng tự nhƣ trƣờng hợp Khi đó, biểu thức A B có lane chung , Do vậy, có 64 bit đầu , - phụ thuộc vào 32 bit đầu vào ) ( ) ( ) Trường hợp ( ( ) Khi ta có kết sau: ,( Các tọa độ z ( ) ) A ∑ ( ,( lane tổng ) ) C nằm slice khác (ở xét ), phép dịch lane hai vị trí khác Các tọa độ z lane tổng ∑ (( ,( ) -) ( )) A lane tƣơng ứng ∑ ( ,( tổng ) ) B nằm slice khác nhau, phép dịch lane hai vị trí khác ( ) ), phép dịch lane hai vị trí khác Hay nói cách khác, biểu thức A, B C không chứa lane chung Từ ta có kết bit đầu phụ thuộc vào 33 biến đầu vào Các bit nằm ) ( ) ( ) 23 lane có tọa độ ( ( ) V KẾT LUẬN Trong báo này, chúng tơi tập trung nghiên cứu phân tích số tính chất mật mã biến đổi thành phần hoán vị Keccak-p chuẩn hàm băm SHA-3 Đối với biến đổi thành phần ban đầu mơ tả hoạt động, sau đƣa nhận xét khả cài đặt hiệu phần mềm chúng Riêng với đại lƣợng số nhánh biến đổi làm tƣờng minh kết số nhánh Ngồi ra, kết hợp tầng tuyến tính với biến đổi phi tuyến , chúng tơi xác hóa lại số lƣợng bit đầu phụ thuộc vào bit đầu vào đƣợc đƣa [6] Cụ thể tìm 128 bit đầu , - , - phụ thuộc vào 32 bit đầu vào, 1472 bit lane lại phụ thuộc vào 33 bit đầu vào hàm vịng Từ đây, đƣa hƣớng nghiên cứu để tăng số bit phụ thuộc đầu vào đầu hàm vịng, sử dụng S-hộp có bậc đại số lớn so với S-hộp ánh xạ Keccak-p Tuy nhiên điều ảnh hƣởng đến khả cài đặt tổng thể thuật toán, cần phải tiếp tục nghiên cứu xem xét đề xuất cụ thể S-hộp bit ,( Các tọa độ z lane ( ) ( ) ) B lane tổng ∑ (( ,( ) -) ( )) C nằm slice khác (với ) (ở xét Số 2.CS (08) 2018 43 Journal of Science and Technology on Information Security TÀI LIỆU THAM KHẢO Damgård, I.B ―A design principle for hash functions in Advances in Cryptology— CRYPTO’89 Proceedings” Springer, 1989 Merkle, R.C ―One way hash functions and DES in Advances in Cryptology‖—CRYPTO’89 Proceedings, Springer, 1989 Guido, B., et al., ―Cryptographic sponge functions‖ 2011 Зензин, О and М ―Иванов, Стардарт криптографической защиты-AES‖ Конечные поля, КУДРИЦ-ОБРАЗ М, 2002 NIST, SHA-3 Stadard: ―Permutation-Based Hash And Extendable Output Functions‖ 8/2015 Bertoni, G., et al., ―The Keccak reference, version 3.0‖, URL:http://keccak.noekeon.org/Keccakreference3.0.pdf Citations in this document 4, 2011 44 Số 2.CS (08) 2018 SƠ LƢỢC VỀ TÁC GIẢ TS Nguyễn Văn Long Đơn vị công tác: Viện Khoa học Công nghệ mật mã, Ban Cơ yếu Chính phủ Email: longnv@bcy.gov.vn Q trình đào tạo: Nhận Kỹ sƣ chun nghành An tồn thơng tin hệ thống viễn thông Học viện FSO - Liên bang Nga năm 2008 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 năm 2015 Hƣớng nghiên cứu nay: Nghiên cứu, cài đặt, thiết kế thuật toán mã khối ... mật mã biến đổi thành phần Cuối Mục Kết luận A Thành phần mảng trạng thái Đối với phép hoán vị Keccak- , mảng bit biểu diễn trạng thái Các số thỏa mãn: , , ( ) Mảng trạng thái cho phép hoán vị. .. tọa độ ( ( ) V KẾT LUẬN Trong báo này, tập trung nghiên cứu phân tích số tính chất mật mã biến đổi thành phần hoán vị Keccak-p chuẩn hàm băm SHA-3 Đối với biến đổi thành phần ban đầu chúng tơi... có độ dài lớn Các số đƣợc thêm lane trạng thái Do phá vỡ đƣợc lan truyền thông qua tất lane trạng thái sau đơn IV TÍNH CHẤT MẬT MÃ CÁC BIẾN ĐỔI THÀNH PHẦN TRONG HOÁN VỊ KECCAK-p Trong mục chúng