1. Về mã khối
Các mã khối hiện đại đều tuân thủ hai nguyên lý thiết kế, đó là nguyên lý xáo trộn (confusion) và nguyên lý khuếch tán (diffusion). Hai nguyên lý này nhằm làm cho quá trình tìm kiếm mối quan hệ thống kê giữa bản gốc và bản mã trở nên “không thể”. Bên cạnh tầng phi tuyến, tầng khuếch tán đóng một vai trò quan trọng đối với độ an toàn của mã khối.
Mã khối có hai cấu trúc chính là cấu trúc Feistel và SPN (Substitution Permutation Networks), mỗi vòng của cấu trúc SPN gồm một tầng khuếch tán, tầng thay thế và tầng cộng khóa. Tầng khuếch tán đảm bảo rằng, sau một số vòng nhất định thì tất cả các bit đầu ra đều phụ thuộc vào tất cả các bit đầu vào, trong khi tầng thay thế hay tầng phi tuyến đảm bảo sự phụ thuộc này có tính chất phức tạp và phi tuyến. Hầu hết các tầng khuếch tán là các biến đổi tuyến tính có biểu diễn dạng ma trận trên GF(2m) hoặc GF(2).
Một biến đổi tuyến tính cung cấp sự khuếch tán nhằm đáp ứng độ an toàn cho hàm vòng của một mã khối bằng cách xáo trộn các bit của khối đầu vào có kích cỡ cố định để tạo ra khối đầu ra tương ứng có cùng kích cỡ [3].
Nhiều mã khối sử dụng mã tách có khoảng cách cực đại (Maximum Distance Separable - MDS) và mã tuyến tính nhị phân khoảng cách cực đại (Maximum Distance Binary Linear - MDBL) cho tầng khuếch tán của chúng. Chẳng hạn, một số mã nổi tiếng như AES và Khazad sử dụng các mã MDS, Camellia và ARIA sử dụng các mã MDBL. Các tầng khuếch tán của các mã khối này được chỉ ra trong bảng dưới đây.
2. Các phương pháp đo độ khuếch tán của mã khối hiện nay
Ảnh hưởng thác đổ [2]
Sau năm 2000, dự án NESSIE (sau khi NIST tuyển chọn xong AES) đã đưa ra tiêu chuẩn về mức độ ảnh hưởng thác đổ (The avalanche effect - AC) để đánh giá các mã khối. Dự án NESSIE đánh giá thống kê mã khối, trong đó kiểm tra mức độ của tiêu chuẩn AC, ký hiệu là da.
Xét vectơ:
và vectơ:
đạt được bằng cách lấy phần bù bit thứ i của vectơ x (với i = 1, ..., n).
- Hàm thỏa mãn tiêu chuẩn AC:
Hàm f: (GF(2))n -> (GF(2))m được gọi là thỏa mãn tiêu chuẩn ảnh hưởng thác đổ nếu trung bình có ½ các bit ra thay đổi mỗi khi một bit vào đơn được thay đổi hay:
Trọng số Hamming w(x) của x là số các thành phần khác 0 của vectơ x.
Ảnh hưởng thác đổ chặt [2]
Dự án NESSIE cũng đã đưa ra tiêu chuẩn về mức độ ảnh hưởng thác đổ chặt (The strict avalanche effect - SAC) để đánh giá các mã khối. Dự án NESSIE đánh giá thống kê mã khối, trong đó kiểm tra mức độ của tiêu chuẩn SAC, ký hiệu là dsa.
- Hàm thỏa mãn tiêu chuẩn SAC:
Hàm f: (GF(2))n -> (GF(2))m được gọi là thoả mãn tiêu chuẩn SAC nếu mỗi bit ra thay đổi với xác suất 1/2 mỗi khi một bit vào (đơn) được thay đổi, hay với mọi i = 1, ..., n và j = 1 , ..., m, ta có:
Thuộc tính đầy đủ [2]
Thuộc tính này là thuộc tính mong muốn của mỗi thuật toán mã hóa. Giả thuyết rằng, nếu chỉ có một vài bit đầu ra phụ thuộc vào một bit đầu vào, thì bằng cách quan sát một số lượng đáng kể của các cặp đầu ra, đầu vào, người thám mã có thể phát hiện được mối quan hệ thống kê và sử dụng thông tin này để tìm được khóa. Dự án NESSIE đã đưa ra tiêu chuẩn về mức độ của thuộc tính đầy đủ (the completeness property), ký hiệu là dc.
- Hàm thỏa mãn tiêu chuẩn về thuộc tính đầy đủ:
Hàm f: (GF(2))n -> (GF(2))m của n bit vào và m bit ra được gọi là thỏa mãn thuộc tính đầy đủ nếu mỗi bit ra phụ thuộc vào một bit vào, hay với mọi i = 1 ÷ n và j = 1 ÷ n ta được bit ra thứ j phụ thuộc vào bit vào thứ i tức là: tồn tại
sao cho (f(xi))j ≠ (f(x))j, ở đây có nghĩa là tồn tại vectơ
sao cho khi thay đổi bit vào thứ i thì sẽ làm thay đổi bit ra thứ j.
Số nhánh của biến đổi tuyến tính [1]
Số nhánh (branch number) của một biến đổi tuyến tính L được ký hiệu là B(L), là số tối thiểu của hộp S hoạt động trong hai vòng liên tiếp bất kỳ của một mã khối có cấu trúc SPN. Trong đó, một hộp S song ánh được gọi là hoạt động nếu cả hai đầu vào và đầu ra của nó đều khác 0 trong một đặc trưng tuyến tính hoặc lượng sai.
Số nhánh được tính như sau:
Giả sử: Z=(Z0, Z1,...,Zm-1) là một khối gồm mb bit được tạo thành bằng cách kết hợp m từ, mỗi từ gồm b bit.
Giả sử
ký hiệu vectơ nhị phân độ dài m. Trong đó
nếu Zi ≠ 0 và =0 nếu Zi=0
Giả sử
định nghĩa trọng số Hamming, Số nhánh của L được ký hiệu bởi B(L) được mô tả như sau:
Trong đó B(L) ≤ m+1.
Số nhánh B(L) là tối ưu nếu B(L)=m+1, mã tuyến tính được gắn với L sẽ có khoảng cách tối thiểu cực đại. Trong thực tế, để đạt được mã tuyến tính có khoảng cách tối thiểu cực đại, người ta xây dựng các mã MDS.
Điểm bất động trong biến đổi tuyến tính [1]
Xét các giá trị b-bit như là các phần tử thuộc trường F2b và ký hiệu S là tập tất cả các vectơ trong F2b với độ dài là:
Định nghĩa
là ma trận không suy biến với các phần tử thuộc F2q, là ma trận biểu diễn của một biến đổi tuyến tính L trên các phần tử của S. Trường F2q là tập con của F2b. Biến đổi tuyến tính L ánh xạ một phần tử
tới một phần tử
Với X = AZ được biểu diễn như sau:
Trong đó
Giả sử
biểu diễn ma trận cỡ m×m dựa trên ma trận đơn vị
Trong đó, I(0) = I. Các phần tử của ma trận I(l) được xác định bởi tham số dịch vòng
trong đó
Chẳng hạn, ma trận I(1) và I(2) với m=4 được biểu diễn như sau:
Tập tất cả các điểm bất động của một biến đổi tuyến tính L được biểu diễn bởi một ma trận không suy biến A, có thể thu được bằng cách giải phương trình sau:
Với l=0, phương trình trên trở thành (A – I) Z =0. Nghiệm của phương trình này chính là các khối đầu vào mà khi đi qua biến đổi tuyến tính L sẽ cho khối đầu ra không thay đổi (bằng chính nó).
Với l>0, nghiệm của phương trình trên chính là tập các khối đầu vào thỏa mãn: khi đi qua biến đổi tuyến tính L ta chỉ cần quay vòng lb bit sang trái của khối đầu vào đó thì có thể thu được khối đầu ra. Giả sử ^Z biểu diễn các khối đầu vào thỏa mãn phương trình (5), khi đó ta có:
Số các khối đầu vào mà thỏa mãn mối quan hệ (5) được cho bởi:
Khi đó, độ khuếch tán được đo bởi phương pháp dựa trên số điểm bất động được ký hiệu bởi hệ số D(A), được định nghĩa như sau:
Trong đó, 2-mb ≤ D(A) ≤ 1 và ma trận A biểu diễn dạng ma trận của biến đổi tuyến tính L. Hệ số D(A) biểu thị số trung bình của các khối đầu vào của L mà có mối quan hệ tuyến tính được cho bởi phương trình (5). Giá trị D(A) lớn nghĩa là có nhiều khối đầu vào không thay đổi bởi phép biến đổi tuyến tính L khi tạo khối đầu ra tương ứng. Giá trị số D(A) nhỏ nghĩa là có nhiều khối đầu vào được thay đổi hiệu quả bởi biến đổi tuyến tính L khi tạo ra các khối đầu ra tương ứng. Ngoài ra, hệ số D(A) còn biểu thị mức độ khuếch tán tốt đến đâu, nghĩa là nó có thể thể hiện biến đổi tuyến tính L thay đổi hiệu quả như thế nào các khối đầu vào khi tạo khối đầu ra tương ứng. Với phương pháp đo độ khuếch tán này, rõ ràng là không có sự khuếch tán đối với các kiểm bất động.
Kết luận
Để thiết kế một mã khối an toàn, người thiết kế phải quan tâm đến mọi thành phần của mã khối, trong đó tầng biến đổi tuyến tính vô cùng quan trọng quyết định độ an toàn của mã khối. Bài báo đã giới thiệu về tầng khuếch tán của một số mã khối và các phương pháp đánh giá mã khối cũng như đo độ khuếch tán của mã khối. Mỗi phương pháp thể hiện một góc nhìn khác nhau về toàn bộ mã khối và độ khuếch tán của tầng biến đổi tuyến tính trong mã khối và có thể là một sổ tay hữu ích cho các nhà nghiên cứu về mã khối.
TÀI LIỆU THAM KHẢO [1] M.R.Z’aba, Analysis of Linear Relationships in BlockCiphers. Ph.D. Thesis,Queensland University of Technology, Brisbane, Australia, 2010. [2] Pascale Serf: The degrees of completeness, of avalanche effect, and of strict avalabche criterion for MARS,RC6,Rijndael,Serpent, and Twofish with reduced number of rounds. – Siemens AG, ZT IK 3, April 3 – 2000. [3] Speaker M. Tolga Sakallı, Bora Aslan, Algebraic Construction of 16×16 Binary Matrices of Branch Number 7 with One Fixed Point, Computer Engineering Department, Trakya University, Edirne, Turkey. |
09:00 | 08/03/2024
Từ lâu, botnet là một trong những mối đe dọa lớn nhất đối với an ninh mạng, nó đã gây ra nhiều thiệt hại cho các tổ chức và doanh nghiệp trên toàn thế giới. Bài báo sẽ giới thiệu tới độc giả một số kỹ thuật phát hiện botnet bằng Honeynet và tính hiệu quả của chúng, đồng thời đề xuất một số hướng phát triển trong tương lai để nâng cao khả năng phát hiện và ngăn chặn botnet bằng Honeynet.
10:00 | 02/01/2024
Trong hệ mật RSA, mô hình hệ mật, cấu trúc thuật toán của các nguyên thủy mật mã là công khai. Tuy nhiên, việc lựa chọn và sử dụng các tham số cho hệ mật này sao cho an toàn và hiệu quả là một vấn đề đã và đang được nhiều tổ chức quan tâm nghiên cứu. Trong bài viết này, nhóm tác giả đã tổng hợp một số khuyến nghị cho mức an toàn đối với độ dài khóa RSA được Lenstra, Verheul và ECRYPT đề xuất.
13:00 | 29/12/2023
Hiện nay, số lượng các vụ tấn công mạng trên ứng dụng web đang có xu hướng ngày càng gia tăng cả về quy mô lẫn mức độ tinh vi, với mục tiêu nhắm vào các dịch vụ cơ sở trọng yếu, khối tài chính, ngân hàng và các tổ chức/doanh nghiệp (TC/DN) lớn. Hậu quả của các cuộc tấn công này có thể là giả mạo giao dịch, gián đoạn hoạt động kinh doanh hay vi phạm dữ liệu, dẫn đến nguy cơ rò rỉ thông tin và mất mát dữ liệu quan trọng. Điều này gây ra nhiều thiệt hại đáng kể về tài chính cũng như uy tín của các TC/ DN. Bài báo sẽ trình bày thực trạng về bảo mật ứng dụng web năm 2023 dựa trên báo cáo của công ty an ninh mạng OPSWAT, cùng các giải pháp phòng tránh mối đe dọa tấn công mạng này.
10:00 | 28/08/2023
Trước đây đã có những quan điểm cho rằng MacBook rất khó bị tấn công và các tin tặc thường không chú trọng nhắm mục tiêu đến các dòng máy tính chạy hệ điều hành macOS. Một trong những nguyên do chính xuất phát từ các sản phẩm của Apple luôn được đánh giá cao về chất lượng lẫn kiểu dáng thiết kế, đặc biệt là khả năng bảo mật, nhưng trên thực tế MacBook vẫn có thể trở thành mục tiêu khai thác của các tin tặc. Mặc dù không bị xâm phạm thường xuyên như máy tính Windows, tuy nhiên đã xuất hiện nhiều trường hợp tin tặc tấn công thành công vào MacBook, từ các chương trình giả mạo đến khai thác lỗ hổng bảo mật. Chính vì vậy, việc trang bị những kỹ năng an toàn cần thiết sẽ giúp người dùng chủ động nhận biết sớm các dấu hiệu khi Macbook bị tấn công, đồng thời có những phương án bảo vệ hiệu quả trước các mối đe dọa tiềm tàng có thể xảy ra.
Theo báo cáo năm 2022 về những mối đe doạ mạng của SonicWall, trong năm 2021, thế giới có tổng cộng 623,3 triệu cuộc tấn công ransomware, tương đương với trung bình có 19 cuộc tấn công mỗi giây. Điều này cho thấy một nhu cầu cấp thiết là các tổ chức cần tăng cường khả năng an ninh mạng của mình. Như việc gần đây, các cuộc tấn công mã độc tống tiền (ransomware) liên tục xảy ra. Do đó, các tổ chức, doanh nghiệp cần quan tâm hơn đến phương án khôi phục sau khi bị tấn công.
19:00 | 30/04/2024
Mới đây, Cơ quan An ninh mạng và Cơ sở hạ tầng Hoa Kỳ (CISA) đã phát hành phiên bản mới của hệ thống Malware Next-Gen có khả năng tự động phân tích các tệp độc hại tiềm ẩn, địa chỉ URL đáng ngờ và truy tìm mối đe dọa an ninh mạng. Phiên bản mới này cho phép người dùng gửi các mẫu phần mềm độc hại để CISA phân tích.
13:00 | 17/04/2024