Về một thuật toán sinh số giả ngẫu nhiên dựa trên phương pháp tạo dãy phi tuyến lồng ghép với bậc lớn.Về một thuật toán sinh số giả ngẫu nhiên dựa trên phương pháp tạo dãy phi tuyến lồng ghép với bậc lớn.Về một thuật toán sinh số giả ngẫu nhiên dựa trên phương pháp tạo dãy phi tuyến lồng ghép với bậc lớn.Về một thuật toán sinh số giả ngẫu nhiên dựa trên phương pháp tạo dãy phi tuyến lồng ghép với bậc lớn.Về một thuật toán sinh số giả ngẫu nhiên dựa trên phương pháp tạo dãy phi tuyến lồng ghép với bậc lớn.Về một thuật toán sinh số giả ngẫu nhiên dựa trên phương pháp tạo dãy phi tuyến lồng ghép với bậc lớn.Về một thuật toán sinh số giả ngẫu nhiên dựa trên phương pháp tạo dãy phi tuyến lồng ghép với bậc lớn.Về một thuật toán sinh số giả ngẫu nhiên dựa trên phương pháp tạo dãy phi tuyến lồng ghép với bậc lớn.Về một thuật toán sinh số giả ngẫu nhiên dựa trên phương pháp tạo dãy phi tuyến lồng ghép với bậc lớn.Về một thuật toán sinh số giả ngẫu nhiên dựa trên phương pháp tạo dãy phi tuyến lồng ghép với bậc lớn.
BỘ THÔNG TIN VÀ TRUYỀN THÔNG HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THƠNG - Đặng Vân Trường VỀ MỘT THUẬT TOÁN SINH SỐ GIẢ NGẪU NHIÊN DỰA TRÊN PHƯƠNG PHÁP TẠO DÃY PHI TUYẾN LỒNG GHÉP VỚI BẬC LỚN Chuyên ngành: Kỹ thuật Điện tử Mã số: 9.52.02.03 TÓM TẮT LUẬN ÁN TIẾN SĨ KỸ THUẬT ĐIỆN TỬ HÀ NỘI - 2022 Cơng trình hồn thành tại: Học viện Cơng nghệ bưu viễn thơng Phản biện 1:……………………………………………………… Phản biện 2: ……………………………………………………… Phản biện 3: ……………………………………………………… Luận án bảo vệ trước Hội đồng chấm luận án cấp Học viện Học viện Cơng nghệ Bưu viễn thơng, KM 10 đường Nguyễn Trãi, Hà Đông, Hà Nội Họp tại: ……………………………………………………… Vào hồi………giờ…………ngày………tháng………năm 2022 Có thể tìm hiểu luận án thư viện Học viện Cơng nghệ Bưu viễn thơng MỞ ĐẦU Tính cấp thiết đề tài luận án Bài toán tạo dãy số giả ngẫu nhiên (pseudo noise – PN) tốn ln quan tâm nghiên cứu phát triển những năm gần đây, phục vụ nhiều yêu cầu thực tế Dãy giả ngẫu nhiên sử dụng phổ biến m-dãy Các tạo m-dãy S.W Golomb đặt móng từ thập kỷ 1960, dựa lý thuyết trường Galois Tiến sỹ Lê Chí Quỳnh đặt móng cho dãy lồng ghép từ năm 1986, tiếp sau TS Lê Minh Hiếu TS Bùi Lai An tiếp tục nghiên cứu dãy lồng ghép tam phân, dãy phi tuyến lồng ghép dãy lồng ghép đa cấp, đưa ba phương pháp sinh dãy phi tuyến lồng ghép dựa m-dãy Trong hội nghị Asia Crypt 2004, chuyên gia mật mã Shamir rõ lợi hướng phát triển mã dịng m-dãy Để ứng dụng m-dãy hệ mã dòng, những tham số quan trọng độ lớn bậc đa thức đặc trưng Các phương pháp sinh dãy lồng ghép trước có độ phức tạp tính tốn cao, khó triển khai thực tế với bậc đa thức lớn Trong luận án này, tác giả nghiên cứu đề xuất đưa thêm phương pháp sinh dãy phi tuyến lồng ghép sử dụng kỹ thuật mật mã, với thuật toán hiệu để sinh dãy phi tuyến lồng ghép với bậc lớn Mục tiêu nghiên cứu Nghiên cứu phương pháp sinh dãy phi tuyến lồng ghép, từ đề xuất phương pháp khả thi thực hành để sinh dãy phi tuyến lồng ghép ứng dụng kỹ thuật mật mã; Đề xuất thuật toán hiệu để sinh dãy phi tuyến lồng ghép với bậc lớn, phân tích đánh giá thuật tốn đề xuất Ý nghĩa khoa học đóng góp Các giải pháp đề xuất luận án giúp đưa nghiên cứu dãy phi tuyến lồng ghép vào ứng dụng kỹ thuật mật mã ngành Cơ yếu Việt Nam Luận án gồm có 02 đóng góp sau: 1) Đề xuất giải pháp sinh dãy phi tuyến lồng ghép dựa kỹ thuật phân rã theo bước kỹ thuật tính phần thứ tự lồng ghép Giải pháp ứng dụng thực tế để sinh đoạn có kích thước tùy ý dãy phi tuyến lồng ghép 2) Đề xuất đề xuất thuật toán hiệu để sinh dãy phi tuyến lồng ghép với bậc lớn Độ phức tạp tính tốn thuật tốn cỡ (n3) so với bậc n đa thức sinh m-dãy Độ phức tạp lưu trữ m.n Bằng cách khai thác đặc điểm tham số dãy lồng ghép, thuật toán có lợi lớn so với thuật tốn bình phương nhân thơng thường Bố cục luận án Nội dung luận án trình bày chương Chương trình bày tổng quan tạo dãy giả ngẫu nhiên dựa m-dãy, với số ứng dụng m-dãy mật mã Chương trình bày phương pháp xây dựng dãy phi tuyến lồng ghép dựa m-dãy đề xuất giải pháp sinh phần dãy phi tuyến lồng ghép Chương đề xuất thuật toán sinh dãy phi tuyến lồng ghép với bậc lớn ứng dụng kỹ thuật mật mã với đánh giá độ phức tạp tính tốn, độ phức tạp lưu trữ đề xuất hệ mã dịng sử dụng dãy phi tuyến lồng ghép ứng dụng mật mã CHƯƠNG TỔNG QUAN VỀ BỘ TẠO DÃY GIẢ NGẪU NHIÊN DỰA TRÊN M-DÃY 1.1 Khái niệm trường Galois Trường Galois hay gọi trường modulo theo đặc số p với p số nguyên tố, ký hiệu GF(p), bao gồm tập xác định gồm p số nguyên [0, 1, …, p-1] hai phép toán ký hiệu , phép cộng nhân số nguyên theo modulo p Ta quan tâm tới trường hợp p>2, phép chia modulo (là phép tốn ngược với phép ) thực cách áp dụng thuật toán Euclid mở rộng Phép mở rộng trường GF(pn) cho phép mở rộng trường Galois cho vector gồm n phần tử Trạng thái vector thời điểm A = {a0, a1, …, an-1} biểu diễn đa thức với biến x: A(x) = a0 + a1x + a2x2 + … + an-1xn-1 Từ trường GF(pn) với đa thức đặc trưng g(x) bậc n đa thức nguyên thủy, ta xây dựng nên m-dãy, cịn gọi dãy có chu kỳ cực đại Trạng thái m-dãy sau t bước trạng thái S(x) là: A(x) = S(x)*xt/g(x) (1.1) Chú ý phép modulo theo đa thức g(x) tính theo nguyên tắc modulo theo hệ số bậc cao nhất, nghĩa vector S(x) với biểu diễn thành đa thức có bậc khơng nhỏ n cần chia cho g(x) để lấy phần dư đa thức kết S’(x) có bậc nhỏ n, gọi modulo S(x) theo g(x) Có hai phương pháp xây dựng m-dãy GF(pn): Phương pháp Galois áp dụng trực tiếp công thức xây dựng dãy trường GF(pn) nêu Output … g0=1 g1 g2 g3 gm-2 gm-1 gm=1 Phương pháp Fibonacci áp dụng cơng thức tính truy hồi kiểu Fibonacci (cịn gọi ghi dịch phản hồi tuyến tính – LFSR), ứng dụng tính chất phụ thuộc tuyến tính m-dãy ∑𝑛𝑖=0 𝐴𝑖 ⊗ 𝑔𝑛−𝑖 = (1.2) Phương pháp Fibonacci thường sử dụng để cài đặt thuật toán sinh m-dãy máy tính hệ vi xử lý … gm=1 gm-1 gm-2 gm-3 g2 g1 g0=1 … Nếu ta thực thuật toán trường GF(2), phép nhân thay phép AND, phép cộng modulo thay phép XOR, việc lấy nghịch đảo modulo trừ modulo khơng cần thực Khi ta khơng cịn phép tính số học số ngun mà cịn phép tính logic bit Trong trường hợp tổng quát ta phải thực phép tính nghịch đảo module sinh bit dãy đầu ra: 𝐴𝑛 = −𝑔𝑛−1 ∑𝑛−1 (1.3) 𝑖=0 𝐴𝑖 ⊗ 𝑔𝑛−1−𝑖 Để cài đặt thuật toán sinh m-dãy máy tính, ghi A lưu trữ mảng số nguyên Các hệ số đa thức sinh g(x) lưu trữ mảng số nguyên tương ứng Để sinh bit đầu dãy, ta thực tính giá trị phản hồi theo cơng thức phụ thuộc tuyến tính, sau dịch tồn ghi vị trí số Giá trị trống ghi gán giá trị phản hồi vừa tính 1.2 Ứng dụng dãy giả ngẫu nhiên dựa m-dãy Dãy giả ngẫu nhiên dựa m-dãy có nhiều ứng dụng hệ thống truyền thơng đại, máy tính nhiều thiết bị điện tử khác Trong mạng di động, dãy giả ngẫu nhiên có ứng dụng với thuật tốn A5 để mã hóa dữ liệu GSM, phân chia miền tần số cho CDMA Trong nhiều chuẩn truyền thông nối tiếp, dãy giả ngẫu nhiên sử dụng cho việc ngẫu nhiên hóa dữ liệu kênh truyền Bluetooth, USB… để dạng tín hiệu kênh gần giống nhiễu trắng, sử dụng tính chất phân bố cân m-dãy Ứng dụng quan trọng m-dãy mật mã hệ mã dòng dựa m-dãy, sử dụng rộng rãi từ thập niên 1960 Cùng với phát triển khoa học mật mã, có nhiều hệ mật đại xuất mã khối, mã hóa khóa cơng khai song mã dịng giữ chỗ đứng định tính đơn giản thiết kế ứng dụng Một dãy giả ngẫu nhiên từ m-dãy độc lập có tính tuyến tính cao, khơng thể sử dụng trực tiếp kỹ thuật mật mã Giải pháp thường sử dụng kết hợp nhiều mdãy với để thiết kế lên hệ mã dòng Tuy nhiên yêu cầu đặt với mật mã dòng ngày tăng, việc phát triển kỹ thuật phân tích mã để cơng hệ mã dịng Cùng với tăng trưởng khơng ngừng cơng nghệ, sức mạnh siêu máy tính mạnh gần đạt tới 260 phép tính/giây Chính hệ mã dòng sử dụng m-dãy thường yêu cầu dãy thành phần có bậc tối thiểu 128 để bảo đảm an toàn mật mã 1.3 Một số tạo dãy giả ngẫu nhiên dựa m-dãy Có 03 tạo dãy tạo dãy giả ngẫu nhiên có khả ứng dụng mật mã xây dựng cách kết hợp nhiều m-dãy thành phần với tính chất tốt mật mã Bộ tạo dãy Gold xây dựng từ m-dãy chu kỳ kết hợp với theo công thức cộng dịch sau: G(a,b) = {a, b, a b, a Tb, a T2b, …, a TN-1b } Trong đó, T phép dịch dãy, G(a,b) chứa N + = 2m + dãy có chu kì N = 2m – Dãy Gold tạo nên tập hợp lớn dãy có tính chất tương quan ACF CCF tốt giá trị khoảng tuyến tính chưa cao Bộ tạo dãy tựa Gold (Gold-like) cải tiến dãy Gold phép dịch dãy đơn giản thay ba phép dịch theo mẫu phức tạp hơn, từ dãy đầu có khoảng tuyến tính cao H(a,b) = {a, ab(0), aT1b(0),…, aTN’-1b(0), ab(1), aT1b(1),…, aTN’-1b(1), ab(2), aT1b(2),…, aTN’-1b(2)} Bộ tạo dãy luân phiên (ASG) kết hợp giữa hai m-dãy theo kiểu Stop – Go thông qua điều khiển dãy thứ ba g-s U = {ut} {wt} + K={kt} s-g V = {vt} Dãy điều khiển dãy luân phiên dãy D’Brujin Nếu đầu dãy điều khiển bit 1, dãy U chạy dãy V dừng; Ngược lại đầu dãy điều khiển bit 0, dãy V chạy dãy U dừng Bộ tạo dãy ln phiên có tính chất mật mã tốt, bao gồm chu kỳ, độ phức tạp tuyến tính, hàm phân bố, tính tương quan Một lợi lớn dãy luân phiên dãy có tốc độ sinh bit nhanh so với tạo dãy kiểu kết hợp tương tự Dãy lồng ghép dãy phi tuyến lồng ghép: Dãy lồng ghép (Interleaved sequence) kiến trúc riêng nhóm nghiên cứu TS Lê Chí Quỳnh đề xuất, với mục tiêu xây dựng dãy giả ngẫu nhiên từ m-dãy ban đầu với tham số lồng ghép lựa chọn theo nguyên tắc riêng Kế tiếp nghiên cứu ban đầu dãy lồng ghép, TS Lê Minh Hiếu tiếp tục nghiên cứu dãy lồng ghép tam phân dãy phi tuyến lồng ghép Tiếp đó, tiến sỹ Bùi Lai An phát triển dãy lồng ghép đa cấp, đa chiều 2012 Dãy phi tuyến lồng ghép phát triển dãy lồng ghép, sử dụng m-dãy ban đầu, song kết hợp với theo phương pháp đặc trưng dãy lồng ghép với mục tiêu đưa dãy đầu có tính phi tuyến cao so với dãy lồng ghép sử dụng tham số hai dãy đầu vào có bậc sinh hai đa thức sinh khác f(x) g(x) Tính chất “phi tuyến” đề cập có nghĩa dãy tạo có độ phức tạp tuyến tính lớn nhiều so với dãy lồng ghép ban đầu Kết luận chương I Trong chương tác giả trình bày ngắn gọn rõ ràng trường Galois mở rộng trường Galois khái niệm toán học đơn giản Trong chương giới thiệu số ứng dụng m-dãy sâu phân tích ứng dụng m-dãy hệ mã dịng, với số tạo dãy thơng dụng dựa m-dãy 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 2.1 Kiến trúc dãy lồng ghép Biểu diễn biến đổi d chuỗi {bn} GF(pn) ký hiệu D[bn] xác định công thức: 𝑖 D[𝑏𝑛 ] = 𝐹 = ∑𝑚 𝑖=0 𝑏𝑖 𝑑 , 𝑏𝑖 {GF(𝑝)}, (2.1) Biến đổi d chuỗi {bn} sinh từ ghi dịch phản hồi tuyến tính (LFSR) xác định công thức: 𝑏(𝑑) = 𝑆(𝑑) 𝑔(𝑑) (2.2) Trong g(d) có bậc n đa thức sinh LFSR S(d) xác định giá trị ban đầu ghi Khi g(d) đa thức nguyên thủy, chuỗi sinh gọi m-dãy Kiến trúc dãy lồng ghép Với m-dãy {bi} sinh đa thức sinh g(x) trường GF(pn) Trong trường hợp n=m.l, từ giá trị L = pn-1, N = pm-1 ta tính bước lồng ghép T = L/N Ta xây dựng lên dãy lồng ghép {bi} cách lồng ghép (T-1) dãy thành phần, dãy có độ dài N = qm-l Các dãy có cách áp dụng phép phân rã theo bước (decimation) dãy {bi} với bước nhảy T, Do đó, xét miền thời gian, dãy (sắp xếp theo cột) coi ghép kênh theo bước thời gian T để đặt vào T khe thời gian sơ đồ đây: {bn} Ta quan tâm tới tham số quan trọng trình xây dựng dãy lồng ghép tập thứ tự lồng ghép 𝐼𝑃𝑇 (cũng danh sách bước dịch dãy con) dạng: 11 g(d) f(d), hai đa thức sinh cho dãy tương ứng g1(d) f1(d) Sử dụng thứ tự lồng ghép 𝐼𝑃𝑇 từ dãy lồng ghép thứ lấy dãy theo đa thức sinh f1(d) từ dãy lồng ghép thứ hai, dãy đầu {en} dãy phi tuyến lồng ghép Dãy phi tuyến lồng ghép sinh chứng minh có giá trị hàm tự tương quan hàm tương quan chéo có tính chất tốt, hàm phân bố nhận giá trị phân bố đều, Khoảng tương đương tuyến tính dãy phi tuyến lồng ghép Khoảng tương đương tuyến tính (Equivalent Linear Span ELS) dãy bậc nhỏ đa thức sinh toàn dãy Trong luận án này, ta áp dụng biến đổi d để tính giá trị ELS Sau xác định biến đổi d dãy phi tuyến lồng ghép đầu ra, áp dụng thuật toán Euclid đa thức ta tính gcd hai đa thức, đa thức biểu diễn ELS dãy đầu Tính tốn thực nghiệm ví dụ dãy phi tuyến lồng ghép cụ thể, ta thấy giá trị ELS dãy đầu cao bậc dãy lồng ghép tương ứng Tác giả xây dựng chương trình máy tính thực bước xây dựng dãy phi tuyến lồng ghép với bậc nhỏ Chương trình thực tính tốn sinh tập thứ tự lồng ghép, từ sinh dãy phi tuyến lồng ghép đầu Điểm khác biệt chương trình xây dựng cho nhiều giá trị đặc số p > 2, cụ thể p=5 p=7 2.4 Phương pháp phân rã theo bước để sinh dãy lồng ghép Ngoài ba phương pháp sinh dãy phi tuyến lồng ghép nghiên cứu, công bố [J2] tác giả luận án đưa thêm phương pháp sinh dãy phi tuyến lồng ghép có tính ứng dụng cao Gọi A m-dãy với bậc n, chu kỳ 2n-1 phần tử sinh α Ta sinh dãy A(T) cách lấy bit cách T vị trí từ dãy A, bit A(T) gọi dãy phân 12 rã (hay dãy decimation) theo bước T từ dãy A Giá trị T gọi bước phân rã Nếu bước phân rã T độ dài chu kỳ m-dãy nguyên tố nhau, dãy phân rã theo bước T từ m-dãy ban đầu m-dãy với phần tử sinh αT, tham số khác m-dãy phân rã giống dãy ban đầu Nếu bước phân rã thỏa mãn T = L / N theo điều kiện dãy lồng ghép, dãy phân rã dãy dãy lồng ghép trình bày phần 2.2 chương Giải pháp để xây dựng dãy phân rã cách hiệu Ta cần tính tốn T trạng thái m-dãy để tạo bit dãy phân rã đầu Nếu ta sử dụng biến đổi - d để tính tốn, ta tính trực tiếp trạng thái sau bước T trạng thái nhân với dT trường GF(qn) Khi sử dụng phương pháp Fibonacci, ta thực phân rã nhanh cách thực tính tốn trước sau: Giả sử trạng thái m-dãy lưu ghi dịch ký hiệu {ai} (i = n-1) Từ bit trạng thái ban đầu S(0) = {a0, a1, …, an-1}, sử dụng phương pháp Fibonacci để lập công thức cho T bit liên tiếp, tính từ n bit S(0) Như trạng thái ghi sau T bước là: S(5) = {a5, a6, … , a22, a23, a24, a25, a26, a27} Nếu biểu diễn dạng ma trận: 00000100000000000000000 00000010000000000000000 ⋮ 00000000000000000000001 A= 10000100110010100010010 01000010011001010001001 00100101111110001010110 01010010111111000101011 [ 1 1 1 1 0 0 0 1 1] 13 Với biểu diễn ma trận này, ta tính trạng thái ghi sau T bước là: S(T) = A S(0)T Sử dụng lặp lại cơng thức trên, ta sinh tồn dãy phân rã mà khơng cần tính giá trị trung gian Khi áp dụng giải pháp nêu trên, độ phức tạp tính tốn khơng thay đổi giữa phương pháp truyền thống phương pháp tính phân rã theo trực tiếp Tuy nhiên phương pháp truyền thống, ta cần dịch chuyển ghi dịch T lần Với phương pháp mới, ta cần lần dịch chuyển ghi Phương pháp xây dựng dãy lồng ghép từ phân rã theo bước Áp dụng giải pháp xây dựng nhanh dãy phân rã nêu, ta tính giá trị m bit đầu tiên, từ xây dựng nên dãy dãy lồng ghép Đồng thời tính tốn ta lưu lại m trạng thái m-dãy ban đầu tương ứng Từ m trạng thái này, áp dụng công thức gốc để sinh m-dãy ban đầu, ta tính m bit khởi đầu dãy Các m bit khởi đầu sử dụng để sinh dãy Như sử dụng phương pháp phân rã theo bước, ta tính trực tiếp m bit khởi đầu Phương pháp cần sử dụng dung lượng nhớ để lưu m trạng thái m-dãy ban đầu, tương ứng với kích thước m.n Thông thường cần sinh phần dãy lồng ghép với kích thước cho trước, ta cần tính thứ tự lồng ghép tương ứng với số dãy cần thiết để sinh đủ lượng đầu với kích thước yêu cầu Kết luận chương Trong chương này, tác giả giới thiệu kiến trúc dãy lồng ghép, phương pháp xây dựng dãy lồng ghép trường p-phân 14 Đồng thời phân tích phương pháp xây dựng dãy phi tuyến lồng ghép từ hai dãy lồng ghép Trong phần cuối chương đề xuất phương pháp để sinh dãy lồng ghép sử dụng kỹ thuật phân rã theo bước Phương pháp áp dụng thực tế để sinh phần dãy lồng ghép với kích thước cho trước 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Ã Trong chương phân tích số yêu cầu dãy giả ngẫu nhiên dùng mật mã đề xuất thuật toán sinh dãy phi tuyến lồng ghép bậc lớn với ứng dụng mật mã 3.1 Độ phức tạp tuyến tính dãy giả ngẫu nhiên Độ phức tạp tuyến tính Ln(s) xác định số k-bé cho dãy n-phần tử s1, s2, sn trùng với n-số hạng dãy ghi dịch phản hồi tuyến tính bậc k Độ phức tạp tuyến tính dãy xác định thuật tốn Belekamp-Massey Thuật toán đưa giá trị đa thức sinh cho dãy ghi dịch phản hồi tuyến tính Thuật tốn tổng hợp LFSR (Berlekamp-Massey) 1) C(D) 0L B(D) 1x 1b 0N 2) Nếu N = n, dừng thuật tốn Ngược lại tính L d = sN + cisN-i i 1 3) Nếu d = 0, x + x, chuyển đến bước 6) 4) Nếu d 2L > N, C(D) - d.b-1.Dx.B(D) C(D) 15 x+1x chuyển đến bước 6) 5) Nếu d 2L N, C(D) T(D) [lưu giữ tạm thời C(D)] C(D) - d.b-1.Dx.B(D) C(D) N+1-LL T(D) B(D) db 1x 6) N + N quay bước 2) Thuật toán Belekamp – Massey sử dụng để phân tích mã dãy giả ngẫu nhiên tạo m-dãy nhất, tạo dãy giả ngẫu nhiên dựa m-dãy cấu thành từ nhiều m-dãy kết hợp phi tuyến với để tránh cơng 3.2 Tính chất tương quan địa phương m-dãy Trong thực tế thực mã hóa hệ mã dịng, ta dùng đoạn dãy giả ngẫu nhiên có độ dài M tương ứng với độ dài rõ để thực mã hóa Ta quan tâm tới tương quan giữa đoạn khóa độ dài M lấy ngẫu nhiên từ sinh dãy giả ngẫu nhiên Bài toán trở thành: Giả thiết lấy ngẫu nhiên khơng gian M Tìm phân bố biến ngẫu nhiên wt(), trọng số M Mômen phân bố trọng số m-dãy Cơng thức tính mơmen bậc 1: N 1 S1 = N Sn n 0 N 1 M 1 N bni n 0 i 0 Cơng thức tính mơmen bậc 2: M 1 N 1 N b i 0 n 0 n i MN (3.1) 16 S2 = M + (2/N){ C M2 (-1)} = M.[1- (M-1)/N] Cơng thức tính mơmen bậc 3: S3 = MN 3! NN1 B3 (3.2) (3.3) Cơng thức tính mơmen bậc 4: S4 = M (3M 2) M ( M 1) ( M ) N 4! NN1 B4 (3.4) Từ ta xây dựng thuật tốn tính giá trị mômen bậc mômen bậc phân bố trọng số (gọi B3 B4) Để kiểm tra tính tương quan địa phương sinh dãy giả ngẫu nhiên, ta sinh lượng bit đầu để thực thi thuật tốn tính B3 B4 So sánh kết mơmen trọng số tính với bảng phân bố trọng số dãy ngẫu nhiên lý tưởng, ta đưa kết luận sinh số giả ngẫu nhiên xét thỏa mãn tính ngẫu nhiên địa phương mức độ 3.3 Đề xuất thuật toán sinh dãy giả ngẫu nhiên phi tuyến lồng ghép với bậc lớn Các yêu cầu dãy lồng ghép áp dụng kỹ thuật mật mã Từ hai phương pháp phân tích dãy giả ngẫu nhiên đề cập phần 3.1 3.2, hầu hết trường hợp ta nhận kết luận dãy sinh m-dãy thành phần có bậc m Chỉ đoạn dữ liệu đem phân tích có tiếp nối giữa hai dãy con, độ phức tạp tuyến tính tăng lên, song khơng vượt độ phức tạp chung dãy gốc có bậc n Việc áp dụng toán tương quan địa phương đưa kết tương tự Phân tích chi tiết độ phức tạp tính tốn phương pháp sinh dãy lồng ghép phi tuyến nêu chương 2, ta thấy phương pháp cần tính tốn đa thức có bậc tương đương tham số lồng ghép T Với m, n đủ lớn ta coi T pn-m T ≥ pn/2 Với giới hạn công nghệ lực tính tốn 17 lực lưu trữ, tính tốn với số phép tính khoảng 1010 thực thời gian chấp nhận được, song số phép tính cỡ 1015 trở nên tốn trở thành khơng khả thi tính tốn Với u cầu kỹ thuật mật mã nêu phần 1.2, ta cần có yêu cầu bậc: n ≥ 128 hay T ≥ p64 Với giá trị yêu cầu T phương pháp nêu khó áp dụng thực tế Để sinh dãy giả ngẫu nhiên phi tuyến lồng ghép thỏa mãn yêu cầu kỹ thuật mật mã, tác giả luận án đề xuất thuật tốn để tính tốn giá trị đa thức dT trường GF(pn) trường hợp T lớn, sử dụng trình xây dựng tập thứ tự lồng ghép Thuật toán sinh dãy giả ngẫu nhiên phi tuyến lồng ghép với bậc lớn Ta ý tới giá trị tham số T: T = 𝑁⁄𝐿 với L = pm-1 N = pn-1 (3.5) Chú ý n = m*l, ta viết: N = pm*l-1 hay N = (pm)l – (3.6) Để đơn giản, đặt Q = p , ta viết m T= 𝑄 𝑙 −1 𝑄−1 = Ql-1 + Ql-2 + … + Q + (3.7) Nói cách khác, biểu diễn giá trị T theo số Q (l số 1) T = 111 … 111Q (3.8) Nếu biểu diễn T theo số p, biễu diễn T có l số 1, chen giữa số m-1 số 0: T = 100 00100 00100 … 001p (3.9) Ta tìm cách tính nhanh giá trị đa thức 𝑈𝑇 (𝑑) = 𝑑𝑇 𝑔(𝑑) (3.10) Trong chia thành bước tính UQ(d) 𝑈𝑄𝑘 (𝑑) Để tính UQ(d) ta tính bước sau Trước hết 18 tính trực tiếp đa thức: 𝑈𝑝 (𝑑) = 𝑑𝑝 𝑔(𝑑) (3.11) Chú ý rằng: 𝑘 𝑑𝑝 = 𝑑𝑝 𝑘−1 ×𝑝 = (𝑑 𝑝 𝑘−1 ) 𝑝 (3.12) Vì ta có: 𝑝 𝑈𝑝𝑘 (𝑑) = (𝑈𝑝𝑘−1 (𝑑)) (3.13) Ta tính 𝑈𝑝𝑘 (𝑑) theo công thức sau: 𝑝 𝑈𝑝𝑘 (𝑑) = ∏𝑗=1 𝑈 𝑘−1 (𝑑) 𝑝 𝑔(𝑑) (3.14) 𝑈𝑄 (𝑑) = 𝑈𝑝𝑚 (𝑑) (3.15) Để tính 𝑈𝑄𝑘 (𝑑) từ 𝑈𝑄𝑘−1 (𝑑) Ta sử dụng phương pháp tương tự Chú ý 𝑈𝑝0 𝑄𝑘−1 (𝑑) = 𝑈𝑄𝑘−1 (𝑑) nên: 𝑝 𝑈𝑝𝑖 𝑄𝑘−1 (𝑑) = ∏𝑗=1 𝑈 𝑖−1 𝑘−1 (𝑑) 𝑝 𝑄 𝑔(𝑑) 𝑈𝑄𝑘 (𝑑) = 𝑈𝑝𝑚 𝑄𝑘−1 (𝑑) (3.16) (3.17) Cuối cùng, sử dụng giá trị tính (3.17) ta tính đa thức (3.10) Như cách áp dụng cơng thức truy hồi, ta tính giá trị 𝑈𝑇 (𝑑) với tham số lồng ghép T có độ lớn Áp dụng phương pháp bình phương nhân Một số cơng thức thuật tốn cần tính phép nhân tích lũy p giá trị giống (dạng xp) Khi ta có biểu diễn p dạng nhị phân thành tập bit {pi} với i=0 r, sau sử dụng phương pháp bình phương nhân ta tính đa thức kết công thức (3.40) phương pháp sau: Đặt U* = Vtmp = 𝑈𝑝𝑘 (𝑑) 19 Với i chạy từ tới r, ta tính Nếu pi = U* = U* x Vtmp 𝑉𝑡𝑚𝑝 = (𝑉𝑡𝑚𝑝 ) 𝑔(𝑑) Sau r bước ta có 𝑈𝑝𝑘 (𝑑) = U* Bằng phương pháp tương tự ta tính đa thức kết cơng thức (3.42) sau: Đặt U* = Vtmp = 𝑈𝑝𝑖−1 𝑄𝑘−1 (𝑑) Với i chạy từ tới r, ta tính Nếu pi = U* = U* x Vtmp 𝑉𝑡𝑚𝑝 = (𝑉𝑡𝑚𝑝 ) 𝑔(𝑑) Sau r bước ta có 𝑈𝑝𝑖𝑄𝑘−1 (𝑑) = U* Thuật toán sinh dãy phi tuyến lồng ghép dựa m-dãy Từ trạng thái khởi đầu dãy, áp dụng thuật tốn nêu ta tính trạng thái dãy sau T bước Tiếp tục áp dụng phương pháp sinh dãy lồng ghép sử dụng phân rã theo bước ta tìm m trạng thái dãy gốc giá trị m vị trí cột ma trận lồng ghép, đồng nghĩa với việc ta xây dựng n cột ma trận lồng ghép (do trạng thái có n bit) Nếu cần xây dựng cột tiếp theo, ta tìm thứ tự lồng ghép cách sử dụng trạng thái S(kT) để xác định trạng thái S(kT+1) qua công thức sinh m-dãy, từ có giá trị khởi đầu cột n+1 Như ta xây dựng dãy lồng ghép có độ dài mà khơng cần tính trước tồn bảng thứ tự lồng ghép Để sinh dãy phi tuyến lồng ghép, ta áp dụng bước tương tự với dãy lồng ghép dãy đầu vào thứ nhất, song riêng 20 việc sinh giá trị cột lại sử dụng dãy từ dãy đầu vào thứ hai Với dãy thứ hai ta khơng cần tính thứ tự lồng ghép Đánh giá độ phức tạp thuật toán sinh dãy giả ngẫu nhiên phi tuyến lồng ghép với bậc lớn Để tính 𝑈𝑄 (𝑑) ta cần (m-1).(p-1) phép nhân đa thức trường GF(pn) để tính cơng thức (3.17) Trong trường hợp tính phương pháp bình phương nhân, số phép nhân cần tính (m-1).log2p (Giả sử thời gian tính phép bình phương phép nhân đa thức tương đương nhau) Để tính 𝑈𝑄𝑘 (𝑑) từ 𝑈𝑄𝑘−1 (𝑑) ta cần tính phép nhân đa thức trường GF(pn) Xét trường hợp sử dụng phương pháp bình phương nhân thay cho (3.14) (3.16) số phép nhân đa thức là: vmulq = (m-1).log2p (3.18) Để tính 𝑈𝑇 (𝑑) theo (3.10) ta cần sử dụng thêm (l-1) phép nhân đa thức Tổng số phép nhân đa thức trường GF(pn) cần tính là: vq = (l-1).(m-1).log2p + (l-1) (3.19) Chú ý n , m l có cỡ tương đương n Ta coi log2p số, xét phép nhân đa thức trường GF(pn) có độ phức tạp tính tốn n độ phức tạp tính toán vq cỡ (n3) So sánh với phương pháp bình phương nhân áp dụng trực tiếp cho giá trị số mũ T thuật toán tương tự Thuật toán Ta biểu diễn giá trị T thành log2T bit {ti} để áp dụng bình phương nhân Số phép bình phương đa thức cần tính vmul2 = log2T = (n-m)*log2p = m.(l-1).log2p (3.20) Số phép nhân cần tính có giá trị trung bình v/2 (do phân 21 bố bit 0/1 biểu diễn nhị phân T nhau) Vậy tổng số phép nhân đa thức cần tính v2 = 3⁄2 vmul2 , v2 = 3⁄2 m.(l-1).log2p (3.21) Phương pháp tính theo biểu diễn số p có lợi phương pháp biểu diễn nhị phân biểu diễn số p T có nhiều phần tử theo (3.31), biểu diễn nhị phân T khơng có lợi Để so sánh cụ thể số bước tính tốn giữa hai trường hợp tính tốn với số p tính tốn theo phương pháp bình phương nhân trực tiếp (trên biểu diễn số T) ta tính tốn giá Bảng 3.2 Số bước tính tốn tiền xử lý cho dãy lồng ghép TT p n m vmulq nbit1-q vq T 24 17 20 24 32 35 43 053 283 24 48 51 28 14 42 44 13 12 36 40 13 18 36 38 29 12 45 49 31 12 45 49 65 793 33 232 936 334 403 678 223 072 850 10 609 328 380 10 604 499 374 14 507 740 823 580 26 440 509 694 144 vmul2 nbit1-2 v2 17 20 26 12 38 45 24 69 40 23 63 34 17 51 34 17 51 44 19 63 45 12 57 22 trị cụ thể vq v2 số trường hợp bảng 3.2 Ta tính xác giá trị T, sau chuyển đổi sang nhị phân đếm số bit để có nbit1-2 , số trường hợp số bit khơng giá trị ½log2T So sánh dữ liệu bảng trên, ta thấy phương pháp tính tốn với số p có hiệu tốt phương pháp tính tốn bình phương nhân trực tiếp Với số p = 2, hai phương pháp có số bước giống tính toán số Với số p = giá trị nhỏ, phương pháp tính toán với số p giúp tăng phần nhỏ hiệu so với phương pháp tính tốn bình phương nhân trực tiếp Trong trường hợp số p có giá trị lớn, phương pháp tính tốn số p có hiệu tốt hẳn so với phương pháp tính tốn bình phương nhân trực tiếp, cụ thể số bước tính tốn khoảng 25% 3.4 Đề xuất phương pháp sinh dãy giả ngẫu nhiên an toàn sử dụng dãy phi tuyến lồng ghép Bộ tạo dãy luân phiên phi tuyến lồng ghép: Sử dụng tạo dãy luân phiên trình bày phần 1.3.3, ta chọn dãy thành phần thứ dãy phi tuyến lồng ghép, dãy thành phần thứ giữ nguyên m-dãy dãy điều khiển giữ nguyên dãy D’Brujin K={ kt}t0 dãy D' Bruijn bậc k; U={ut} m-dãy bậc L, V={vt} dãy phi tuyến lồng ghép bậc M, L M nguyên tố Các tính chất tạo dãy luân phiên phi tuyến lồng ghép So sánh với dãy luân phiên ban đầu, dãy luân phiên phi tuyến lồng ghép có chu kỳ tương đương, lực lượng tạo dãy lớn có 23 thêm giá trị tham số lồng ghép T Song xét độ an toàn, cụ thể tính tương quan dãy ln phiên phi tuyến lồng ghép có tính tương quan phụ thuộc vào dãy dãy lồng ghép, tính chất tương quan bị suy giảm tương ứng với độ dài dãy so với độ dài dãy ban đầu Kết luận chương Trong chương đề xuất thuật toán để sinh dãy phi tuyến lồng ghép với bậc lớn Thuật tốn có độ phức tạp tính tốn tiệm cận với (n3) với n bậc đa thức sinh m-dãy Bằng cách khai thác đặc điểm tham số dãy lồng ghép, thuật tốn có lợi lớn thuật tốn bình phương nhân thơng thường Tác giả đề xuất tạo dãy luân phiên phi tuyến lồng ghép việc ứng dụng dãy phi tuyến lồng ghép vào tạo dãy luân phiên 24 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN A-Hai đóng góp khoa học luận án 1) Đề xuất giải pháp sinh dãy phi tuyến lồng ghép dựa kỹ thuật phân rã theo bước kỹ thuật tính phần thứ tự lồng ghép Giải pháp ứng dụng cài đặt thực tế để sinh đoạn có kích thước tùy ý dãy phi tuyến lồng ghép 2) Đề xuất thuật toán hiệu để sinh dãy phi tuyến lồng ghép với bậc lớn Độ phức tạp tính tốn thuật tốn cỡ (n3) so với bậc n đa thức sinh m-dãy Bằng cách khai thác đặc điểm tham số dãy lồng ghép, thuật tốn có lợi lớn so với thuật tốn bình phương nhân thơng thường B-Hướng phát triển đề tài Với những đóng góp khoa học nêu trên, luận án sở để tác giả đề xuất hệ mã dịng ứng dụng kỹ thuật mật mã đáp ứng nhu cầu bảo mật thông tin Ban Cơ yếu Việc đề xuất thuật toán mật mã cần phải xem xét kỹ tính an tồn thuật tốn nhiều khía cạnh trước đưa vào sử dụng thực tế, cần có nghiên cứu sâu việc phân tích mã dãy lồng ghép phi tuyến lồng ghép, dãy luân phiên phi tuyến lồng ghép Một công việc khác cần tiếp tục nghiên cứu giải pháp để cài đặt hiệu dãy GF(pn) với số p nguyên tố lớn (p>2) hai mơi trường: phần mềm máy tính thiết bị xử lý trực tiếp phần cứng Ta cần nghiên cứu việc sử dụng hiệu dãy đầu GF(pn), phương pháp chuyển đổi dữ liệu giữa hệ q-phân hệ nhị phân DANH MỤC CƠNG TRÌNH KHOA HỌC ĐÃ CƠNG BỐ [J1] Hieu Le Minh, Truong Dang Van, Binh Nguyen Thanh and Quynh Le Chi, “Design and Analysis of Ternary msequences with Interleaved Structure by d-Transform”, Journal of Information Engineering and Applications, vol.5, no.8, pp.93-101, 2015 [J2] Truong Dang Van, Quynh Le Chi, “Applying Msequences Decimation to Generate Interleaved Sequence”, Journal of Science and Technology on Information security, No 2.CS (14) 2021, pp 85-88 [J3] Đặng Vân Trường, “Một phương pháp hiệu để sinh dãy giả ngẫu nhiên kiểu lồng ghép phi tuyến với bậc lớn”, Tạp chí Khoa học Công nghệ Thông tin Truyền thông (Journal of Science and Technology on Information and Communications), 2022 ... m -dãy, với số ứng dụng m -dãy mật mã Chương trình bày phương pháp xây dựng dãy phi tuyến lồng ghép dựa m -dãy đề xuất giải pháp sinh phần dãy phi tuyến lồng ghép Chương đề xuất thuật toán sinh dãy. .. số dãy ngẫu nhiên lý tưởng, ta đưa kết luận sinh số giả ngẫu nhiên xét thỏa mãn tính ngẫu nhiên địa phương mức độ 3.3 Đề xuất thuật toán sinh dãy giả ngẫu nhiên phi tuyến lồng ghép với bậc lớn. .. cứu phương pháp sinh dãy phi tuyến lồng ghép, từ đề xuất phương pháp khả thi thực hành để sinh dãy phi tuyến lồng ghép ứng dụng kỹ thuật mật mã; Đề xuất thuật toán hiệu để sinh dãy phi tuyến lồng