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. |
14:00 | 11/09/2024
Keylogger là phần cứng hoặc phần mềm có khả năng theo dõi tất cả các hoạt động thao tác nhập bàn phím, trong đó có các thông tin nhạy cảm như tên người dùng, mật khẩu thẻ tín dụng, thẻ ngân hàng, tài khoản mạng xã hội hay các thông tin cá nhân khác. Keylogger thậm chí có thể ghi lại các hành động gõ phím từ bàn phím ảo, bao gồm các phím số và ký tự đặc biệt. Bài báo sẽ hướng dẫn độc giả cách thức phát hiện và một số biện pháp kiểm tra, ngăn chặn các chương trình Keylogger nhằm bảo vệ máy tính trước mối đe dọa nguy hiểm này.
10:00 | 08/05/2024
Trong thời đại công nghệ phát triển ngày nay, việc tiếp xúc với môi trường trực tuyến đã trở nên rất phổ biến. Điện thoại thông minh không chỉ là công cụ để chúng ta có thể liên lạc với con cái, mà còn mở ra cơ hội cho trẻ tiếp cận kiến thức và giải trí một cách bổ ích, miễn là người lớn biết cách hướng dẫn chúng một cách đúng đắn. Thay vì kiểm soát, hãy tìm cách để thiết lập điện thoại sao cho phù hợp, từ đó đảm bảo an toàn cho trẻ em trên môi trường mạng. Bài báo sau đây sẽ hướng dẫn độc giả đặc biệt là các phụ huynh cách thiết lập quản lý việc sử dụng điện thoại thông minh (hệ điều hành Android) của con mình một cách hiệu quả và an toàn.
09:00 | 06/12/2023
Các cuộc chiến tranh giành lãnh địa trên không gian mạng trong tương lai sẽ xuất hiện và gia tăng giữa các nhóm tội phạm mạng khi nhiều đối thủ tập trung vào cùng một mục tiêu. Vừa qua Fortinet đã công bố Báo cáo Dự báo về các mối đe dọa an ninh mạng năm 2024 từ đội ngũ nghiên cứu FortiGuard Labs đưa ra những tác động của AI tới mô hình chiến tranh mạng, đồng thời nhấn mạnh xu hướng các mối đe dọa mới nổi có thể định hình bối cảnh chuyển đổi số trong năm tới và những năm sau.
10:00 | 22/09/2023
Internet robot hay bot là các ứng dụng phần mềm thực hiện các tác vụ lặp đi lặp lại một cách tự động qua mạng. Chúng có thể hữu ích để cung cấp các dịch vụ như công cụ tìm kiếm, trợ lý kỹ thuật số và chatbot. Tuy nhiên, không phải tất cả các bot đều hữu ích. Một số bot độc hại và có thể gây ra rủi ro về bảo mật và quyền riêng tư bằng cách tấn công các trang web, ứng dụng dành cho thiết bị di động và API. Bài báo này sẽ đưa ra một số thống kê đáng báo động về sự gia tăng của bot độc hại trên môi trường Internet, từ đó đưa ra một số kỹ thuật ngăn chặn mà các tổ chức/doanh nghiệp (TC/DN) có thể tham khảo để đối phó với lưu lượng bot độc hại.
Một ví dụ điển hình trong việc triển khai mô hình Zero Trust thành công là của Tập đoàn công nghệ Microsoft. Điều này minh chứng cho cách một tổ chức lớn có thể bảo vệ tài nguyên và người dùng bằng các phương pháp kiểm soát nghiêm ngặt, đảm bảo an ninh mạng toàn diện. Đây cũng là bài học kinh nghiệm cho các tổ chức trong quá trình triển khai mô hình bảo mật hiện đại này.
10:00 | 14/11/2024
Đứng trước thách thức về các mối đe dọa nâng cao, khái niệm về “chuỗi tiêu diệt” được sử dụng để phòng, chống các mối đe dọa này. Phần 2 của bài báo tập trung trình bày về các biện pháp phát hiện, bảo vệ hệ thống khỏi tấn công APT, khai thác lỗ hổng Zero-day và tấn công chuỗi cung ứng.
13:00 | 18/11/2024