Tổng quan luận án
Tính cấp thiết và khoảng trống nghiên cứu
Trong lĩnh vực công nghệ thông tin và kỹ thuật truyền thông hiện đại, bài toán tạo ra các dãy số giả ngẫu nhiên có chất lượng cao đóng vai trò nền tảng. Dãy chu kỳ cực đại (m-dãy) được xây dựng trên nền tảng lý thuyết trường Galois là cấu trúc giả ngẫu nhiên được ứng dụng phổ biến nhất nhờ các đặc tính thống kê đồng đều, giá trị hàm tương quan và tự tương quan nhỏ, cùng khả năng cài đặt hiệu quả trên phần cứng logic cũng như phần mềm. M-dãy và các biến thể được ứng dụng rộng rãi từ định vị toàn cầu (GPS), phân kênh đa truy nhập theo mã (CDMA), bảo vệ kênh di động GSM (họ thuật toán A5/1, A5/2, A5/3), đến xáo trộn dữ liệu trên các giao tiếp tốc độ cao như SATA, SDH.
Tuy nhiên, trong kỹ thuật mật mã, m-dãy đơn lẻ bộc lộ điểm yếu cốt tử về tính tuyến tính hoàn toàn: kẻ thám mã chỉ cần thu thập $2n$ bit của dãy là có thể áp dụng thuật toán Berlekamp-Massey để khôi phục toàn bộ đa thức sinh và trạng thái bên trong. Do đó, các hệ mật mã dòng bắt buộc phải kết hợp nhiều m-dãy để tăng cường tính phi tuyến và mở rộng độ phức tạp tuyến tính. Đồng thời, sự phát triển liên tục của các hệ thống tính toán hiệu năng cao và siêu máy tính (đạt năng lực tính toán trên $2^{60}$ phép tính/giây) đòi hỏi các dãy giả ngẫu nhiên ứng dụng trong mật mã phải có bậc rất lớn ($n \ge 128$) cùng chu kỳ kéo dài.
Tại Việt Nam, hướng nghiên cứu về kiến trúc dãy lồng ghép (Interleaved sequence) và dãy phi tuyến lồng ghép dựa trên m-dãy đã được khởi xướng và phát triển từ những năm 1980. Dãy phi tuyến lồng ghép kết hợp hai m-dãy có cùng bậc nhưng khác đa thức sinh bằng cơ chế hoán đổi thứ tự lồng ghép, mang lại tính phi tuyến vượt trội. Mặc dù các nghiên cứu trước đây đã chứng minh nhiều tính chất lý thuyết tốt về chu kỳ, phân bố thống kê và khoảng tương đương tuyến tính, nhưng hầu hết chỉ thử nghiệm trên các dãy có bậc thấp. Khi áp dụng vào kỹ thuật mật mã đòi hỏi bậc lớn, các phương pháp sinh dãy đã công bố (sử dụng biến đổi $d$, toán tử vết hoặc tính trực tiếp ma trận) gặp phải rào cản lớn về độ phức tạp tính toán và dung lượng lưu trữ, trở nên không khả thi trong thực hành. Do đó, việc xây dựng một thuật toán hiệu quả để sinh dãy phi tuyến lồng ghép với bậc lớn tùy ý, vừa đảm bảo tính an toàn mật mã vừa đáp ứng hiệu năng thực tế, là một yêu cầu khoa học cấp thiết.
Mục tiêu nghiên cứu
Luận án xác định hai mục tiêu nghiên cứu cụ thể:
- Nghiên cứu các phương pháp sinh dãy phi tuyến lồng ghép, các phương pháp tấn công phân tích dãy giả ngẫu nhiên để từ đó đề xuất một phương pháp khả thi trong thực hành để sinh dãy phi tuyến lồng ghép với bậc lớn.
- Đề xuất một thuật toán hiệu quả để sinh dãy phi tuyến lồng ghép với bậc lớn, phân tích đánh giá thuật toán đã đề xuất về độ phức tạp tính toán, độ phức tạp lưu trữ và các tính toán thực nghiệm.
Đối tượng và phạm vi nghiên cứu
- Đối tượng nghiên cứu: Các phương pháp xây dựng dãy giả ngẫu nhiên dựa trên m-dãy ứng dụng trong truyền thông và kỹ thuật mật mã, tập trung vào ba vấn đề cốt lõi:
- Phương pháp xây dựng dãy lồng ghép và dãy phi tuyến lồng ghép dựa trên m-dãy.
- Thuật toán sinh dãy phi tuyến lồng ghép hiệu quả, khả thi trong thực tế với bậc lớn.
- Phương pháp đánh giá hệ mã dòng sử dụng dãy giả ngẫu nhiên dựa trên m-dãy.
- Phạm vi nghiên cứu: Các phương pháp và thuật toán xây dựng dãy giả ngẫu nhiên dựa trên m-dãy trên trường Galois $GF(p)$ và trường mở rộng $GF(p^n)$, cùng các ứng dụng của chúng trong kỹ thuật mật mã dòng và truyền thông.
- Thời gian và địa điểm thực hiện: Luận án tiến sĩ chuyên ngành Kỹ thuật điện tử (mã số: 9.03) được thực hiện tại Học viện Công nghệ Bưu chính Viễn thông dưới sự hướng dẫn khoa học của GS.TSKH. Nguyễn Xuân Quỳnh, có sự phối hợp nghiên cứu cùng Viện Khoa học Công nghệ Mật mã và Ban Cơ yếu Chính phủ, hoàn thành năm 2022 tại Hà Nội.
Tổng quan tài liệu và vị trí của luận án
Các hướng nghiên cứu trước đây
Cơ sở lý thuyết của m-dãy được S. Golomb thiết lập từ thập niên 1960 dựa trên đại số trường Galois hữu hạn. Thuật toán m-dãy sau đó trở thành nền tảng của hàng loạt công nghệ điện tử và viễn thông toàn cầu. Về khía cạnh mật mã, Menezes đã hệ thống hóa các nguyên lý của mật mã dòng so với mật mã khối, chỉ ra ưu thế của mã dòng trong các ứng dụng phần cứng tối thiểu (như RFID) và các hệ thống truyền thông tốc độ cao. Năm 2004, tại hội nghị AsiaCrypt, Adi Shamir trình bày báo cáo "Stream Ciphers: Dead or Alive?", tái khẳng định tiềm năng và định hướng phát triển của mã dòng kết hợp thanh ghi dịch phản hồi tuyến tính (LFSR).
Để khắc phục nhược điểm tuyến tính của một m-dãy đơn lẻ (bị thám mã bởi thuật toán Berlekamp-Massey), nhiều cấu trúc kết hợp đã được nghiên cứu:
- Dãy Gold (Gold, 1967): Tạo ra họ dãy từ cặp m-dãy thông qua phép cộng modulo 2 với các độ dịch pha khác nhau, cho hàm tương quan chéo (CCF) và tự tương quan (ACF) tốt, nhưng khoảng tương đương tuyến tính (ELS) chỉ đạt $2m$.
- Dãy tựa Gold (Gold-like, Boztas & Kumar, 1992; Klapper, 1993): Lấy mẫu m-dãy theo bước $q$ để tạo ra tập hợp dãy có tính chất tương quan xác định và $ELS = 2m$.
- Bộ tạo dãy luân phiên (Alternating Step Generator - ASG, Günther, 1987): Kết hợp hai m-dãy được điều khiển luân phiên bởi một dãy De Bruijn, cung cấp độ phức tạp tuyến tính cao và khả năng miễn dịch tương quan.
Tại Việt Nam, hướng nghiên cứu dãy lồng ghép được khởi xướng bởi TS. Lê Chí Quỳnh từ năm 1986 và tiếp tục được phát triển:
- TS. Lê Chí Quỳnh (1986) công bố các công trình nền tảng về cấu trúc dãy lồng ghép nhị phân.
- TS. Lê Minh Hiếu tiếp tục mở rộng sang dãy lồng ghép tam phân và cấu trúc dãy phi tuyến lồng ghép.
- TS. Bùi Lai An (2012) bảo vệ luận án tiến sĩ về phát triển cấu trúc dãy lồng ghép đa cấp và đa chiều.
- Nhóm nghiên cứu của TS. Lê Chí Quỳnh tiếp tục ứng dụng cấu trúc này vào các bài toán cảm biến nén và thủy vân số.
Khoảng trống nghiên cứu được lựa chọn giải quyết
Các công trình trước đây về dãy lồng ghép và dãy phi tuyến lồng ghép chủ yếu tập trung giải quyết các bài toán lý thuyết thuần túy trên các dãy có bậc nhỏ ($n < 30$), áp dụng các công cụ như biến đổi $d$, toán tử vết (Trace function), hoặc tính toán trực tiếp ma trận. Khi chuyển sang ứng dụng mật mã đòi hỏi các tham số bậc lớn ($n \ge 128$) để chống lại năng lực thám mã của các siêu máy tính, các phương pháp cũ đòi hỏi không gian bộ nhớ khổng lồ và số phép tính vượt quá khả năng thực thi của phần cứng thực tế. Luận án lựa chọn giải quyết khoảng trống này bằng cách xây dựng một thuật toán sinh dãy phi tuyến lồng ghép bậc lớn khả thi, tối ưu hóa độ phức tạp tính toán và bộ nhớ, đồng thời đề xuất kiến trúc bộ tạo dãy luân phiên phi tuyến lồng ghép nhằm nâng cao mức độ an toàn mật mã.
Cơ sở lý thuyết và phương pháp nghiên cứu
Cơ sở lý thuyết và các khái niệm sử dụng
Luận án sử dụng các công cụ toán học và lý thuyết mật mã chuẩn mực:
- Trường Galois $GF(p)$ và trường mở rộng $GF(p^n)$:
- Trường hữu hạn $GF(p)$ với $p$ là số nguyên tố, tập xác định ${0, 1, \dots, p-1}$, hai phép toán cộng và nhân theo modulo $p$.
- Phép chia modulo $c = a \cdot b^{-1} \pmod p$ được tính thông qua thuật toán Euclid mở rộng giải phương trình Diophantine $ax + by = \gcd(a, b)$.
- Trường mở rộng $GF(p^n) \cong Z(x^n)/g(x)$, trong đó các phần tử được biểu diễn qua vector $A = {a_0, a_1, \dots, a_{n-1}}$ tương ứng với đa thức $A(x) = \sum_{i=0}^{n-1} a_i x^i$, với $g(x)$ là đa thức nguyên thủy bậc $n$.
- Kỹ thuật xây dựng m-dãy:
- Cấu trúc thanh ghi dịch phản hồi tuyến tính (LFSR) theo sơ đồ Galois và Fibonacci.
- Trạng thái của m-dãy sau $t$ bước: $A(x) = S(x) \cdot x^t \pmod{g(x)}$.
- Hàm phản hồi trên trường $GF(p)$ với $p > 2$:
$$a_n = -g_n^{-1} \sum_{i=0}^{n-1} a_i g_{n-1-i} \pmod p$$
- Biến đổi $d$ (d-Transform):
- Biểu diễn chuỗi ${b_n}$ trên trường $GF(p^n)$ thành đa thức hình thức:
$$D[b_n] = F = \sum_{i=0}^{m} b_i d^i, \quad b_i \in GF(p)$$
- Chuỗi sinh bởi LFSR với đa thức sinh $g(d)$ và trạng thái khởi tạo $S(d)$ được biểu diễn dưới dạng phân thức $b(d) = S(d)/g(d)$.
- Kiến trúc dãy lồng ghép và phi tuyến lồng ghép:
- Với $n = m \cdot l$, độ dài chu kỳ $L = p^n - 1$, $N = p^m - 1$, bước lồng ghép được xác định bởi:
$$T = \frac{L}{N} = \frac{p^n - 1}{p^m - 1}$$
- Phân rã theo bước (decimation) với bước nhảy $T$ từ vị trí khởi đầu $t$:
$${a_{nT+t}} = {a_t, a_{T+t}, \dots, a_{(p^m-2)T+t}}$$
- Các độ đo an toàn mật mã:
- Độ phức tạp tuyến tính (Linear Complexity - LC) và thuật toán Berlekamp-Massey.
- Tính chất tương quan địa phương và mômen phân bố trọng số $B_3, B_4$.
Phương pháp nghiên cứu thực tế
- Phương pháp giải tích đại số: Khảo sát các tính chất cấu trúc của trường Galois, phân tích tính chất chu kỳ, hàm tương quan và khoảng tương đương tuyến tính của dãy lồng ghép.
- Phương pháp phân tích độ phức tạp thuật toán: Đánh giá định lượng số phép tính thời gian thực (time complexity) và dung lượng bộ nhớ (space complexity) của các thuật toán sinh dãy.
- Phương pháp thực nghiệm và mô phỏng số: Xây dựng phần mềm mô phỏng, lập trình cài đặt thuật toán bằng ngôn ngữ máy tính, tiến hành đo lường hiệu năng và kiểm nghiệm phân bố thống kê của các dãy sinh ra.
Nội dung chính theo từng chương
Chương 1: Tổng quan về bộ tạo dãy giả ngẫu nhiên dựa trên m-dãy
Chương 1 hệ thống hóa cơ sở lý thuyết về trường Galois $GF(p)$ và trường mở rộng $GF(p^n)$, thuật toán Euclid mở rộng (Thuật toán 1.1 và Thuật toán 1.2 tính nghịch đảo modulo), cùng các phương pháp sinh m-dãy theo cấu hình Galois và Fibonacci. Tác giả trình bày thuật toán chi tiết sinh từng phần tử cho m-dãy trên trường tổng quát $GF(p)$ (Thuật toán 1.3):
# Thuật toán 1.3: Thuật toán sinh 1 phần tử cho m-dãy trên GF(p)
An = 0
for i in range(0, n):
An = (An + A[i] * g[n - 1 - i]) % p
An = (An * InvMod(g[n], p)) % p
An = SubMod(0, An, p)
for i in range(1, n):
A[i - 1] = A[i]
A[n - 1] = An
Chương 1 đi sâu phân tích các ứng dụng thực tế của m-dãy trong các thế hệ mạng di động (2G TDMA, 3G CDMA, 4G, 5G), kỹ thuật ngẫu nhiên hóa tín hiệu (nhiễu trắng) trên bus truyền dữ liệu (PCIe, SATA, Wi-Fi, Bluetooth), và cấu trúc mật mã dòng đối xứng ($C = P \oplus K$, $P = C \oplus K$). Luận án nhấn mạnh nguy cơ thám mã đối với m-dãy đơn lẻ và khảo sát năng lực xử lý của các hệ thống siêu máy tính hàng đầu thế giới (tính đến tháng 6/2021) để chỉ ra yêu cầu về độ dài khóa và bậc của dãy:
| STT |
Hệ thống siêu máy tính |
Số lõi CPU/GPU |
$R_{\max}$ (TFlop/s) |
$R_{\text{peak}}$ (TFlop/s) |
Công suất (kW) |
| 1 |
Supercomputer Fugaku (Fujitsu, Japan) |
7.630.848 |
442.010 |
537.212 |
29.899 |
| 2 |
Summit - IBM Power System AC922 (USA) |
2.414.592 |
148.600 |
200.794 |
10.096 |
| 3 |
Sierra - IBM Power System AC922 (USA) |
1.572.480 |
94.640 |
125.712 |
7.438 |
Tiếp đó, chương 1 phân tích cấu tạo và đặc tính của các bộ tạo dãy kinh điển:
- Bộ tạo dãy Gold: Cấu trúc từ cặp m-dãy $a$ và $b$ bậc $m$, chu kỳ $N = 2^m - 1$, tập hợp $G(a, b)$ gồm $N + 2$ dãy với $ELS = 2m$. Bảng dữ liệu thực nghiệm cho trường hợp $m = 5, N = 31$:
| STT |
Ký hiệu |
Dãy Gold tương ứng ($N = 31$) |
| 1 |
$a$ |
1110001101110101000010010110011 |
| 2 |
$b$ |
1000101011010000110010011111011 |
| 3 |
$a \oplus b$ |
0110100110100101110000001001000 |
| 4 |
$a \oplus Tb$ |
0010011000011101011011011001110 |
| 5 |
$a \oplus T^2b$ |
0000000111000001001110110001101 |
| 6 |
$a \oplus T^3b$ |
1001001000101111000100000101100 |
| 7 |
$a \oplus T^4b$ |
0101101111011000000001011111100 |
| 8 |
$a \oplus T^5b$ |
0011111100100011100011110010100 |
| 9 |
$a \oplus T^6b$ |
0000110101011110010010100100000 |
| 10 |
$a \oplus T^7b$ |
0001010001100000101010001111010 |
| 11 |
$a \oplus T^8b$ |
0001100011111111110110011010111 |
| 12 |
$a \oplus T^9b$ |
1001111010110000011000010000001 |
| 13 |
$a \oplus T^{10}b$ |
1101110110010111101111010101010 |
| 14 |
$a \oplus T^{11}b$ |
0111110000000100010100110111111 |
| 15 |
$a \oplus T^{12}b$ |
1010110011001101101001000110101 |
| 16 |
$a \oplus T^{13}b$ |
1100010010101001010111111110000 |
| 17 |
$a \oplus T^{14}b$ |
0111000010011011001000100010010 |
| 18 |
$a \oplus T^{15}b$ |
0010101010000010000111001100011 |
| 19 |
$a \oplus T^{16}b$ |
1000011110001110100000111011011 |
- Bộ tạo dãy tựa Gold: Được xây dựng bằng phép lấy mẫu m-dãy $a$ theo bước $q$ (với điều kiện $\gcd(q, 2^m - 1) = 3$). Bảng dữ liệu minh họa cho $m = 4, q = 9, N = 15$, kích thước tập hợp $M = 16$:
| STT |
Ký hiệu |
Dãy tựa Gold ($N = 15$) |
| 1 |
$a$ |
000100110101111 |
| 2 |
$a \oplus T^0b(0)$ |
011010001000000 |
| 3 |
$a \oplus T^1b(0)$ |
111001001110001 |
| 4 |
$a \oplus T^2b(0)$ |
111111000010010 |
| 5 |
$a \oplus T^3b(0)$ |
110011011010100 |
| 6 |
$a \oplus T^4b(0)$ |
101011101011000 |
| 7 |
$a \oplus T^0b(1)$ |
000010111001100 |
| 8 |
$a \oplus T^1b(1)$ |
001000101101001 |
| 9 |
$a \oplus T^2b(1)$ |
011100000100011 |
| 10 |
$a \oplus T^3b(1)$ |
110101010110111 |
| 11 |
$a \oplus T^4b(1)$ |
100111110011110 |
| 12 |
$a \oplus T^0b(2)$ |
010000011100101 |
| 13 |
$a \oplus T^1b(2)$ |
101101100111011 |
| 14 |
$a \oplus T^2b(2)$ |
010110010000110 |
| 15 |
$a \oplus T^3b(2)$ |
100001111111101 |
| 16 |
$a \oplus T^4b(2)$ |
001110100001010 |
- Bộ tạo dãy luân phiên (ASG): Kết hợp hai m-dãy $U$ và $V$ có bậc $L$ và $M$ nguyên tố cùng nhau dưới sự điều khiển của dãy De Bruijn $K$ bậc $k$, cho chu kỳ tổng thể $T = 2^k (2^L - 1)(2^M - 1)$, độ phức tạp tuyến tính $L(W) \approx (L + M) 2^{k-1}$, cùng các tính chất tốt về phân bố $r$-tuple và miễn dịch tương quan.
Chương 2: Các phương pháp sinh dãy phi tuyến lồng ghép dựa trên m-dãy
Chương 2 trình bày chi tiết cơ chế toán học của kiến trúc dãy lồng ghép và dãy phi tuyến lồng ghép:
- Biểu diễn qua biến đổi $d$: Phân tích cấu trúc phân thức $S(d)/g(d)$ trên trường $GF(p^n)$, giải thích ưu thế của biến đổi đa thức so với biểu diễn hàm vết khi xét các trường hợp độ dài chuỗi không thỏa mãn $L = q^n - 1$.
- Ba phương pháp sinh dãy lồng ghép đã có:
- Phương pháp mở rộng dãy sử dụng biến đổi $d$: Chuyển đổi trạng thái thanh ghi sang miền đa thức.
- Phương pháp phân rã m-dãy sử dụng hàm vết: Tách m-dãy thành các dãy con thông qua phép ánh xạ vết $\text{Tr}_{m}^{n}(\cdot)$.
- Phương pháp tính trực tiếp $m$ hàng đầu tiên của ma trận: Dùng đại số tuyến tính để tìm trật tự sắp xếp các dãy con.
- Cấu trúc dãy phi tuyến lồng ghép: Sử dụng hai đa thức sinh nguyên thủy khác nhau $f(x)$ và $g(x)$ có cùng bậc $n$. Khi phân rã thành các dãy con tương ứng với các đa thức $f_1(x)$ và $g_1(x)$, việc tráo đổi thứ tự lồng ghép của dãy thứ nhất sang dãy thứ hai tạo ra một dãy mới có độ phức tạp tuyến tính tăng vọt so với dãy lồng ghép gốc, loại bỏ hoàn toàn tính phụ thuộc tuyến tính tổng thể.
- Phương pháp phân rã theo bước (decimation): Khảo sát cấu trúc phân rã theo bước nhảy $T = (p^n - 1)/(p^m - 1)$, phân tích các bước tính toán tiền xử lý cần thiết để xác định dãy con và xây dựng kiến trúc lồng ghép hiệu quả.
Chương 3: Thuật toán sinh dãy phi tuyến lồng ghép bậc lớn ứng dụng trong kỹ thuật mật mã
Chương 3 tập trung giải quyết bài toán cốt lõi của luận án:
- Đánh giá các kỹ thuật thám mã:
- Phân tích thuật toán Berlekamp-Massey và phân bố độ phức tạp tuyến tính của dãy ngẫu nhiên.
- Phân tích tương quan địa phương của m-dãy thông qua bài toán tính toán các mômen phân bố trọng số $B_3$ và $B_4$, chỉ ra các điểm yếu tương quan cục bộ mà thám mã có thể khai thác.
- Đề xuất thuật toán sinh dãy phi tuyến lồng ghép bậc lớn:
- Phân tích các rào cản tính toán trong các phương pháp cũ khi bậc $n$ lớn (đòi hỏi xử lý ma trận và lưu trữ trạng thái trung gian bùng nổ theo hàm mũ).
- Đề xuất thuật toán tối ưu hóa quá trình tính toán thứ tự lồng ghép và sinh trực tiếp các bit đầu ra mà không cần lưu trữ toàn bộ chu kỳ dãy.
- Đánh giá định lượng độ phức tạp tính toán và bộ nhớ lưu trữ của thuật toán, chứng minh tính khả thi khi cài đặt trên hệ thống phần cứng/phần mềm với bậc $n \ge 128$.
- Đề xuất mô hình bộ tạo dãy luân phiên phi tuyến lồng ghép:
- Cải tiến bộ tạo dãy luân phiên ASG truyền thống bằng cách thay thế các m-dãy thành phần bằng các khối sinh dãy phi tuyến lồng ghép bậc lớn.
- Phân tích các tính chất mật mã của mô hình cải tiến: chu kỳ cực đại, độ phức tạp tuyến tính tăng cường, khả năng kháng đồng thời cả tấn công tuyến tính (Berlekamp-Massey) lẫn tấn công tương quan địa phương.
Kết quả và những đóng góp mới
Đóng góp về mặt lý luận
- Đã phân tích toàn diện các phương pháp sinh dãy lồng ghép và phi tuyến lồng ghép hiện có, chỉ rõ các giới hạn về độ phức tạp tính toán khi mở rộng lên bậc lớn.
- Đề xuất một thuật toán hiệu quả cho phép sinh dãy phi tuyến lồng ghép với bậc lớn tùy ý, đồng thời cung cấp các đánh giá lý thuyết chặt chẽ về độ phức tạp thời gian và không gian lưu trữ.
- Phân tích định lượng đặc tính tương quan địa phương của m-dãy thông qua thuật toán tính mômen trọng số $B_3, B_4$, cung cấp cơ sở toán học để đánh giá an toàn mật mã của cấu trúc dãy.
- Đề xuất mô hình bộ tạo dãy luân phiên phi tuyến lồng ghép, tích hợp dãy phi tuyến lồng ghép vào kiến trúc Stop-and-Go luân phiên nhằm gia tăng độ an toàn.
Đóng góp về mặt thực tiễn
- Cung cấp một giải pháp thuật toán khả thi để cài đặt các bộ tạo số giả ngẫu nhiên có độ an toàn cao trên các thiết bị phần cứng hạn chế tài nguyên cũng như trên phần mềm tính toán.
- Đóng góp trực tiếp vào việc thiết kế thuật toán mã dòng ứng dụng trong công tác bảo mật thông tin thuộc ngành Cơ yếu Việt Nam và các hệ thống viễn thông bảo mật băng thông rộng.
Hạn chế và hướng nghiên cứu tiếp
- Hạn chế: Luận án tập trung chủ yếu vào việc xây dựng cơ sở toán học, phân tích độ phức tạp thuật toán và mô phỏng số trên máy tính đối với các cấu trúc dãy trên trường $GF(p)$ và $GF(p^n)$. Các thử nghiệm chế tạo mạch tích hợp chuyên dụng (ASIC) hoặc tối ưu hóa sâu trên phần cứng FPGA ở quy mô công nghiệp chưa được trình bày chi tiết trong khuôn khổ tài liệu này.
- Hướng nghiên cứu tiếp:
- Tối ưu hóa kiến trúc phần cứng chuyên dụng trên FPGA/ASIC cho bộ tạo dãy luân phiên phi tuyến lồng ghép nhằm ứng dụng trong các thiết bị mạng tốc độ cực cao và thiết bị nhúng IoT/RFID.
- Tiếp tục mở rộng nghiên cứu cấu trúc dãy lồng ghép đa cấp, đa chiều trên các trường có đặc số lớn kết hợp với các phép biến đổi phi tuyến hiện đại.
- Khảo sát khả năng kháng cự của mô hình đề xuất trước các phương pháp thám mã đại số và thám mã lượng tử.
Giá trị tham khảo
Luận án là tài liệu tham khảo chuyên sâu và hữu ích cho:
- Nghiên cứu sinh, học viên cao học và giảng viên: Thuộc các chuyên ngành Kỹ thuật điện tử, Kỹ thuật viễn thông, Khoa học máy tính, An toàn thông tin và Mật mã học. Đặc biệt, Chương 1 và Chương 2 cung cấp tài liệu chi tiết về đại số trường Galois, biến đổi $d$ và các cấu hình LFSR.
- Kỹ sư và chuyên gia an toàn thông tin, mật mã: Đang công tác tại Ban Cơ yếu Chính phủ, Viện Khoa học Công nghệ Mật mã, các viện nghiên cứu và doanh nghiệp viễn thông. Chương 3 cung cấp giải pháp thuật toán cụ thể để thiết kế các khối sinh dòng khóa bảo mật cao.
Câu hỏi thường gặp
1. Cấu trúc dãy phi tuyến lồng ghép khác biệt như thế nào so với dãy lồng ghép thông thường?
Dãy lồng ghép thông thường được xây dựng từ một m-dãy ban đầu thông qua phép phân rã theo bước $T = (p^n - 1)/(p^m - 1)$ thành các dãy con. Ngược lại, dãy phi tuyến lồng ghép sử dụng hai m-dãy cùng bậc nhưng được sinh bởi hai đa thức sinh nguyên thủy khác nhau $f(x)$ và $g(x)$. Sau khi phân rã, thứ tự lồng ghép của dãy thứ nhất được tráo đổi sang dãy thứ hai. Phép kết hợp này phá vỡ tính phụ thuộc tuyến tính tổng thể, làm tăng vọt độ phức tạp tuyến tính của dãy đầu ra.
2. Tại sao m-dãy đơn lẻ không thể sử dụng trực tiếp để tạo dòng khóa trong kỹ thuật mật mã?
Mặc dù m-dãy có tính chất phân bố thống kê đồng đều tuyệt đối (cân bằng số lượng bit 0 và 1) và hàm tự tương quan lý tưởng, nhưng chúng có bản chất tuyến tính hoàn toàn. Khi kẻ tấn công thu được một đoạn bản rõ và bản mã tương ứng, chúng sẽ tính ra một đoạn dòng khóa có độ dài chỉ cần bằng $2n$ bit (với $n$ là bậc của đa thức sinh). Bằng thuật toán Berlekamp-Massey, kẻ tấn công có thể khôi phục chính xác toàn bộ đa thức sinh và trạng thái bên trong của thanh ghi, từ đó tái tạo toàn bộ dòng khóa của hệ thống.
3. Thuật toán Berlekamp-Massey có vai trò gì trong phân tích mật mã đối với m-dãy?
Thuật toán Berlekamp-Massey là phương pháp giải thuật toán học hiệu quả dùng để tìm thanh ghi dịch phản hồi tuyến tính ngắn nhất có thể sinh ra một chuỗi nhị phân cho trước. Trong phân tích mật mã, thuật toán này được sử dụng để xác định độ phức tạp tuyến tính (LC) của dòng khóa và phá vỡ các hệ mật mã dòng tuyến tính chỉ với $2 \cdot LC$ bit dòng khóa đã biết.
4. Mô hình bộ tạo dãy luân phiên (ASG) hoạt động theo nguyên lý nào?
Bộ tạo dãy luân phiên ASG gồm ba thanh ghi: một thanh ghi điều khiển $K$ (sinh dãy De Bruijn chu kỳ $2^k$) và hai thanh ghi sinh m-dãy $U$ và $V$ có bậc $L, M$ nguyên tố cùng nhau. Tại mỗi nhịp đồng hồ, dựa vào bit điều khiển $k_t \in {0, 1}$, một trong hai thanh ghi $U$ hoặc $V$ sẽ dịch chuyển bước (Stop-and-Go), thanh ghi còn lại giữ nguyên trạng thái. Đầu ra là kết quả XOR của hai dãy $w_t = u_{f(t)} \oplus v_{f^*(t)}$, giúp dãy đạt chu kỳ $T = 2^k(2^L - 1)(2^M - 1)$, độ phức tạp tuyến tính xấp xỉ $(L+M)2^{k-1}$ và có khả năng miễn dịch tương quan.
5. Đóng góp kỹ thuật cốt lõi của luận án trong việc sinh dãy phi tuyến lồng ghép bậc lớn là gì?
Các phương pháp sinh dãy phi tuyến lồng ghép trước đây phụ thuộc vào việc tính toán trực tiếp ma trận hoặc sử dụng biến đổi $d$/hàm vết trên toàn bộ chu kỳ, dẫn đến sự bùng nổ về thời gian tính toán và dung lượng bộ nhớ khi bậc $n \ge 128$. Luận án đã đề xuất một thuật toán tính toán phân rã tối ưu, cho phép xác định thứ tự lồng ghép và sinh trực tiếp các bit đầu ra một cách tuần tự với chi phí bộ nhớ tối thiểu, mở đường cho việc ứng dụng thực tế cấu trúc phi tuyến lồng ghép vào các hệ mật mã dòng yêu cầu độ an toàn cao.
Kết luận
Luận án tiến sĩ của nghiên cứu sinh Đặng Vân Trường đã giải quyết một bài toán quan trọng trong kỹ thuật mật mã và truyền thông: phát triển thuật toán sinh dãy số giả ngẫu nhiên phi tuyến lồng ghép với bậc lớn khả thi trong thực tế. Bằng việc kết hợp chặt chẽ giữa lý thuyết trường Galois, cấu trúc phân rã m-dãy và kiến trúc bộ tạo luân phiên, tác giả đã đề xuất một giải pháp sinh dòng khóa có độ phức tạp tuyến tính cao, khả năng kháng tấn công tương quan tốt và hiệu năng thực thi tối ưu. Công trình đóng góp cả về mặt lý luận toán học mật mã lẫn giá trị ứng dụng thực tiễn cho ngành Cơ yếu và lĩnh vực bảo mật thông tin tại Việt Nam.