Luận án Xây dựng thuật toán truyền dữ liệu qua kênh thoại của mạng GSM và ứng dụng thuật toán sinh số giả ngẫu nhiên dựa trên các dãy phi tuyến lồng ghép để bảo mật dữ liệu

Ban đầu GSM được dự định là một hệ thống không dây an toàn. Để đạt được mục
đích này, hệ thống đã được xây dựng bằng các cơ chế:
• Xác thực người dùng, xác thực dịch vụ di động
• Mã hóa các thông tin trao đổi trên môi trường radio.
Xác thực người dùng bằng cách sử dụng khóa được chia sẻ trước, có cơ chế mã
hóa qua mạng. GSM dễ bị tấn công bởi các loại tấn công khác nhau, mỗi loại đều
nhắm vào một phần khác nhau của mạng, GSM chỉ xác thực người dùng với mạng.
Mô hình cung cấp bảo mật và xác thực, nhưng không có khả năng chống chối bỏ.
GSM sử dụng một số thuật toán A5/(1, 2, 3) chỉ để mã hóa đảm bảo bảo mật thoại
trên kênh vô tuyến, trong khi giọng nói được truyền ở dạng rõ qua mạng lõi dưới dạng
PCM và ADPCM [31]. A5 có một số hạn chế về mật mã và không thể liên lạc an toàn
[2][6]. Do đó, A5 không thể cung cấp bảo mật cuộc gọi thoại hoàn toàn cho khách
hàng GSM. Hơn nữa, người dùng không có quyền kiểm soát bảo mật mã hóa được
kiểm soát bởi nhà cung cấp mạng và nhà sản xuất điện thoại di động 
pdf 132 trang phubao 26/12/2022 8421
Bạn đang xem 20 trang mẫu của tài liệu "Luận án Xây dựng thuật toán truyền dữ liệu qua kênh thoại của mạng GSM và ứng dụng thuật toán sinh số giả ngẫu nhiên dựa trên các dãy phi tuyến lồng ghép để bảo mật dữ liệu", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pdfluan_an_xay_dung_thuat_toan_truyen_du_lieu_qua_kenh_thoai_cu.pdf
  • pdfNguyen Thanh Bình_E.pdf
  • pdfNguyen Thanh Bình_TT.pdf
  • pdfNguyen Thanh Binh_V.pdf
  • pdfQĐ_ Nguyễn Thanh Bình.pdf

Nội dung text: Luận án Xây dựng thuật toán truyền dữ liệu qua kênh thoại của mạng GSM và ứng dụng thuật toán sinh số giả ngẫu nhiên dựa trên các dãy phi tuyến lồng ghép để bảo mật dữ liệu

  1. 90 Bảng 3.4. Các cặp đa thức lồng ghép tạo dãy mới. Đa thức thuộc GF(218) Đa thức thuộc GF(29) STT g0® g18 g0® g9 1 1 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 2 1 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 1 1 1 0 1 0 0 1 1 1 1 3 1 1 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 4 1 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 0 0 1 1 1 0 1 1 1 5 1 0 1 1 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 1 6 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 0 1 1 0 1 0 1 0 0 1 0 1 7 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 0 1 8 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 0 0 1 1 0 1 1 9 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 0 1 10 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 1 1 0 1 0 0 0 0 1 1 1 11 1 1 0 1 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 12 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 0 1 1 1 1 0 1 1 1 1 1 1 1 13 1 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 14 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 15 1 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 16 1 0 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 1 1 1 1 1 1 0 0 0 1 1 17 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 18 1 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 1 1 1 19 1 1 1 1 0 0 1 0 1 0 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 1 1 20 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 1 1 1 1 1 1 0 0 1 1 1 0 1 1 21 1 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 1 0 0 1 22 1 0 0 0 0 0 0 0 0 0 1 1 0 0 1 0 0 0 1 1 0 0 1 1 0 1 1 1 1
  2. 92 Đa thức thuộc GF(218) Đa thức thuộc GF(29) STT g0® g18 g0® g9 46 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 1 1 1 1 0 1 1 1 0 0 1 47 1 1 1 0 1 1 1 0 1 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 48 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 1 1 1 1 1 1 1 1 0 0 0 1 1 49 1 1 1 0 0 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 50 1 0 0 0 0 0 0 0 0 1 1 1 0 0 0 0 1 1 1 1 0 1 0 0 1 0 1 0 1 51 1 0 1 0 1 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 52 1 0 0 0 0 0 0 0 0 1 1 1 0 0 1 0 1 0 1 1 0 0 1 1 1 0 1 1 1 53 1 0 0 1 1 0 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 0 1 0 1 1 0 0 1 54 1 0 0 0 0 0 0 0 0 1 1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 1 0 0 1 55 1 0 0 1 0 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 56 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 0 0 1 1 1 1 1 1 1 1 0 1 1 57 1 0 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 0 1 1 0 1 0 1 0 0 1 0 1 58 1 0 0 0 0 0 0 0 0 1 1 1 0 1 1 0 0 0 1 1 0 1 0 0 1 0 1 0 1 59 1 0 1 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 60 1 0 0 0 0 0 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 0 1 1 0 1 0 1 1 61 1 1 1 0 1 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0 1 62 1 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 63 1 0 0 0 0 1 1 1 1 1 0 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 1 0 1 64 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 0 1 1 0 1 0 1 1 1 1 0 1 65 1 0 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 0 1 1 1 66 1 0 0 0 0 0 0 0 1 0 0 0 0 0 1 1 0 0 1 1 1 1 0 0 0 1 1 1 1 67 1 0 0 0 1 1 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 0 1 68 1 0 0 0 0 0 0 0 1 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 1 1 0 0 1
  3. 94 Đa thức thuộc GF(218) Đa thức thuộc GF(29) STT g0® g18 g0® g9 92 1 0 0 0 0 0 0 0 1 0 1 1 1 1 1 1 1 1 1 1 0 0 0 1 0 1 1 0 1 93 1 0 0 1 0 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 1 1 94 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 1 0 0 1 1 1 0 0 1 1 1 0 1 1 95 1 0 1 1 1 0 0 0 0 1 1 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1 1 96 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 1 1 0 1 1 1 0 1 0 0 1 1 1 1 97 1 1 0 1 0 1 0 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 1 1 1 0 1 0 1 98 1 0 0 0 0 0 0 0 1 1 0 0 0 1 0 1 0 1 1 1 0 1 0 1 1 1 1 0 1 99 1 0 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 1 0 1 1 1 1 1 1 1 100 1 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 Các m-dãy được tạo bởi các cặp đa thức trong Bảng 3.4 sau khi thực hiện lồng ghép sẽ tạo ra các dãy phi tuyến mới có các tính chất (phân bố, ACF, ELS) tương tự nhau. Tuy nhiên, ta cũng có thể nhận thấy được rằng đa thức ngược của các đa thức con trên nếu được sử dụng lồng ghép để tạo dãy phi tuyến thì sẽ tạo ra dãy mới có ELS = 18 (tuyến tính). Để đơn giản trong việc mô tả phương pháp tạo dãy phi tuyến bằng việc sử dụng phương pháp lồng ghép phi tuyến, ta sẽ chọn một cặp đa thức để mô tả và tính toán như sau: 1) Đa thức trên trường GF(218): g(d) = 1 + d8 + d9 + d12 + d13 + d14 + d15 + d16 + d18. (3.23) 2) Đa thức trên trường GF(29): g(d) = 1 + d + d2 + d3 + d4 + d5 + d6 + d8 + d9. 3.3. Thực thi dãy lồng ghép bằng phần cứng Vi xử lý Bằng việc thực hiện lồng ghép các m-dãy con có độ dài N = 2m – 1 theo các giá trị dãy pha lồng ghép có độ dài T ta tạo được dãy mới là phi tuyến có độ dài L = N.T = 2n – 1 (trong đó, n chia hết cho m).
  4. 96 {an} PSG {bn} ROM 2 {ITp} ROM 1 Read/write {ITp’} (ITp) controler Hình 3.4. Sơ đồ khối phần cứng tạo dãy lồng ghép phi tuyến Trong đó: 1) PSG Là khối tạo m-dãy tuyến tính được tạo bởi đa thức nguyên tố. M-dãy được tạo bằng phần cứng sử dụng mô hình LFSR tái cấu hình được mô tả như trong Hình 3.45. Enable/ disable S(d) D D D D D D D D {an} G(d) D D D D D D D Hình 3.5. LFSR tái cấu hình Ta thấy, trong mô hình LFSR thì các tham số: đa thức khởi tạo bộ LFSR G(d) và trạng thái kích hoạt phản hồi trên các thanh ghi dịch S(d) là hai tham số chính quyết định đến dãy đầu ra được cho bởi công thức 3.13 theo biến đổi D. Hình 3.5 là mô hình LFSR tái cấu hình sử dụng các phần tử nhớ là các thanh ghi dịch, các cổng logic AND và XOR. Với sơ đồ này, ta có thể thay đổi các tham số S(d) và G(d) để có thể tạo m-dãy đầu ra tương ứng. Giả sử, muốn thay đổi trạng thái phản hồi (thay đổi đa thức tạo dãy) để tạo m-dãy dùng đa thức bậc 9 g(d) = 1 + d + d2 + d3 + d4 + d5 + d6 + d8 + d9, thì bộ LFSR theo hình 3.5 sẽ có 17 bộ ghi dịch (9 bộ cho S(d), 8 bộ cho G(d)) với dãy đầu vào G(d) là 11111101 có độ dài 8, và để thay đổi trạng thái kích hoạt của LFSR là S(d) = 1 + d2
  5. 98 Trường Galois sẽ sử dụng là trường GF(2n) để có thể dễ dàng khai thác các ưu thế của các hệ vi xử lý cũng như FPGA khi tính toán nhị phân. Chọn bậc dãy ban đầu là n = 26 với m=13. Giá trị các tham số khác như sau: S = (226-1) / (213-1) = 8193 Bộ tham số được lựa chọn như trên có một lý do khác là do với giá trị tham số này, toàn bộ tập tập thứ tự lồng ghép IPS (8193 x 16 bit) có thể lưu trữ gọn trong một Block RAM 18Kbit của FPGA. Bước 2: Lựa chọn đa thức sinh và tính toán đa thức con Để tạo dãy lồng ghép phi tuyến ta cần hai dãy ban đầu với hai đa thức sinh nguyên thủy được lựa chọn là: f(d) = d26 + d22 + d21 + d18 + d13 + d12 + d10 + d8 + d6 + d5 + d2 + d + 1 g(d) =d26 + d20 + d19 + d18 + d16 + d15 + d14 + d13 + d9 + d8 + d4 + d + 1 Với các tham số trên, ta sử dụng công thức sinh m-dãy để sinh ra hai bộ m*S bit tương ứng với hai dãy, sau đó sử dụng thuật toán Belekamp – Massey để tính được các đa thức con của hai dãy con là: 13 12 11 9 7 5 4 3 f1(d) = d + d + d + d + d + d + d + d + 1 13 11 10 8 5 3 2 g1(d) =d + d + d + d + d + d + d + d + 1 Trong thực tế ta không cân sử dụng tới f1(d), chỉ cần tìm g1(d) là đủ Bước 3: Tìm tập thứ tự lồng ghép IPS cho dãy lồng ghép thứ nhất (với đa thức sinh f(d) và đa thức con f1(d)) Tạo bảng lồng ghép từ bộ m*S phần tử của m-dãy thứ nhất theo đa thức sinh f(d) m Ta sinh ra toàn bộ chu kỳ 2 -1 phần tử của dãy con 1 theo đa thức sinh f1(d) So sánh các cột của bảng lồng ghép với từng đoạn con m-bit lệch pha trong dãy con để xác định từng phần tử của tập thứ tự lồng ghép Ik. Nếu cột thứ k của bảng lồng ghép trung với m phần tử của dãy con bắt đầu từ vị trí j thì Ik = j. Nếu cột thứ k của bảng lồng ghép chứa m bit toàn 0 thì ta gán Ik = -1 (trường hợp này theo mô tả lý thuyết ở trên thì cần đặt Ik = ¥, song để biểu diễn trong mảng số nguyên ta sử dụng giá trị -1). Bước 4: Thực thi sinh dãy lồng ghép phi tuyến trong thực tế
  6. 100 3.5. Thực thi thuật toán nén Melpe bằng Vi xử lý STM32F 3.5.1. Lưu đồ thuật toán nén thoại Melpe trên ARM [24] Lý thuyết phầns nén/giải nén thuật toán Melp đã được trình bày trong chương 1, phần dưới đây chỉ trình bày các giá trị thực nghiệm nén Melpe thực hiện trên Vi xử lý ARM STM32F: Luồng bit Melpe đầu vào Phân tích gói dữ liệu Chỉ số VS tần Chỉ số voice Chỉ số biên Cờ không strength băng thấp/pitch C Chỉ số gain độ Fourier tuần hoàn P thông L period ố s ỉ Giải mã và nội Giải mã h Tham số bộ lọc C Giải mã và nội suy biên độ Voice strength tần định hình suy tổng hợp Fourier thấp/Pitch period Suy Pitch Sinh và nội suy Giải mã và nội period Jitter suy LPC Điều chỉnh Tạo xung Pitch period Bộ lọc định hình Hệ số lọc định Lọc nâng cao phổ Lọc tổng hợp xung hình xung Lọc định hình Bộ tạo nhiễu trắng + nhiễu Lọc phân Tính toán hệ số X tán xung khuếch đại Luồng PCM đầu ra Hình 3.6. Lưu đồ giải nén thoại thuật toán Melpe trên ARM - Mã hóa voice strength băng thông: Voice strength của bốn dải tần cao được lượng tử hóa theo thủ tục mã giả. Thủ tục này có đầu vào là voice strength của 5 dải tần. Đối với trường hợp không phải tiếng nói, dựa vào biên độ voice strength đầu tiên ≤ 0.6, giá trị voice strength lượng tử hóa của bốn dải tần cao sẽ được đặt là 0. Ngược
  7. 102 cho các khung không tiếng. Mỗi khung sẽ được truyền tổng cộng là 27 bit, với độ dài là 22.5 ms. Kết quả ta có bit-rate là 1200 bps. 3.5.2. Lưu đồ thuật toán giải nén Melpe trên ARM [24] Luồng bit Melpe đầu vào Phân tích gói dữ liệu Chỉ số VS tần Chỉ số voice Chỉ số biên Cờ không strength băng thấp/pitch C Chỉ số gain độ Fourier tuần hoàn P thông L period ố s ỉ Giải mã và nội Giải mã h Tham số bộ lọc C Giải mã và nội suy biên độ Voice strength tần định hình suy tổng hợp Fourier thấp/Pitch period Suy Pitch Sinh và nội suy Giải mã và nội period Jitter suy LPC Điều chỉnh Tạo xung Pitch period Bộ lọc định hình Hệ số lọc định Lọc nâng cao phổ Lọc tổng hợp xung hình xung Lọc định hình Bộ tạo nhiễu trắng + nhiễu Lọc phân Tính toán hệ số X tán xung khuếch đại Luồng PCM đầ u ra Hình 3.7. Lưu đồ giải nén thoại thuật toán Melpe trên ARM Luồng bit Melpe đầu vào Phân tích gói dữ liệu Chỉ số VS tần Chỉ số voice Chỉ số biên Cờ không strength băng thấp/pitch C Chỉ số gain độ Fourier tuần hoàn P thông L period ố s ỉ Giải mã và nội Giải mã h Tham số bộ lọc C Giải mã và nội suy biên độ Voice strength tần định hình suy tổng hợp Fourier thấp/Pitch period Suy Pitch Sinh và nội suy Giải mã và nội period Jitter suy LPC Điều chỉnh Tạo xung Pitch period Bộ lọc định hình Hệ số lọc định Lọc nâng cao phổ Lọc tổng hợp xung hình xung Lọc định hình Bộ tạo nhiễu trắng + nhiễu Lọc phân Tính toán hệ số X tán xung khuếch đại Luồng PCM đầu ra Hình 3.8. Lưu đồ giải nén thoại thuật toán Melpe trên ARM
  8. 104 thay đổi trong đáp ứng biên độ là tương đối nhỏ. Bộ lọc phân tán xung được dùng để cải thiện cho bộ lọc tổng hợp băng thông với tiếng nói tự nhiên dạng sóng trong các vùng không có cộng hưởng đỉnh. Tiếng nói tự nhiên đã qua lọc băng thông thì có một tỉ lệ đỉnh-trũng nhỏ hơn so với tiếng tổng hợp. 3.6. Tối ưu hóa melpe Do hiệu suất tuyệt vời và tốc độ bit thấp của MELPe, nó thường được sử dụng nhiều trong các lĩnh vực, đặc biệt là trong an ninh quốc phòng. Tuy nhiên, thuật toán của MELPe rất phức tạp và tốn nhiều thời gian. 3.6.1. Phân tích hiệu suất Trong luận văn này, MELPe được áp dụng trên nền tảng của ARM STM32F437 Cortex M4. Sử dụng Gprofile (GNU profiler), là một công cụ lập hồ sơ thống kê trên toàn hệ thống, được sử dụng để phân tích hiệu suất của mã nguồn. Công cụ này có khả năng lập hồ sơ toàn bộ chương trình, tìm ra nơi chương trình đã dành thời gian và số lần hàm được gọi, đây là một tham số quan trọng trong việc tối ưu hóa. Bảng thống kê dưới cung cấp cấu hình các hàm thực thi của bộ mã hóa MELPe trước khi tối ưu hóa. Với dữ liệu hồ sơ, tối ưu hóa của chương trình, thường được chia thành hai loại: tối ưu hóa thuật toán và tối ưu hóa mã nguồn, trong đó mỗi phương pháp tối ưu hóa có thể chi tiết hóa. Đối với các hàm số lần gọi ít, nhưng mỗi lần gọi rất lâu. Chẳng hạn như iir_2nd_s. Số mili giây trung bình dành cho hàm này trên mỗi lần gọi là 0,03 mili giây. Loại hàm này có thể được tối ưu hóa ở cấp độ thuật toán. Đối với các hàm có số lượng code nhỏ và được gọi thường xuyên, chẳng hạn như L40_mac, L_mac và L_ shl, tỷ lệ phần trăm tổng thời gian chạy chương trình của ba hàm này là 50,81%. Các chức năng này có thể được tối ưu hóa ở cấp mã.
  9. 106 và được thực thi ở cuối vòng lặp. Điều này không thay đổi kết quả, nhưng đơn giản hóa tính toán. 2) Đơn giản hóa câu lệnh lựa chọn: Để đáp ứng nhu cầu của nhiều loại lệnh gọi khác nhau, một số hàm đang sử dụng rất nhiều cấu trúc if-else. Hạn chế là các mã này có thể tiêu tốn một lượng lớn thời gian thực hiện trong các lệnh phán quyết và nhảy. Do đó các hàm này phải được tối ưu hóa từ cấu trúc bằng cách được viết lại dựa trên tần suất của lệnh rẽ nhánh. 3.6.3. Tối ưu hóa mã (Optimization of code) Mã nguồn MELPe tiêu chuẩn được viết bằng ANSI-C, sử dụng thiết kế mô- đun để đảm bảo khả năng đọc tốt. Nhưng điều đó cũng làm tăng số lượng lệnh gọi hàm, làm giảm hiệu quả. Theo quy tắc 2/8 tức là 80% thời gian chạy được sử dụng trong 20% mã, để tối ưu hóa hiệu quả hơn, trọng tâm của việc tối ưu hóa là nhằm vào 20% mã chạy chính. Phong cách mã hóa C nên được thay đổi để phù hợp với các đặc điểm của kiến trúc và trình biên dịch ARM. 1) Tối ưu hóa các lệnh cơ bản: Tệp “mathhalf.c” chứa rất nhiều hàm thực hiện các phép toán số học nguyên thủy. Nhiều trong số chúng là các phép toán cơ bản, chẳng hạn như nhân và tích lũy 32 bit (hàm “L _ mac”) hoặc phép cộng 32 bit bão hòa (hàm “L_add”), có thể được thực hiện bằng lệnh Extended ARM của như SMLAL và QDADD. Sử dụng các hướng dẫn đặc biệt này có thể lưu các instructions một cách hiệu quả. 2) Hàm nội tuyến (Inline function): Việc thêm tiền tố nội tuyến vào hàm có thể loại bỏ thời gian gọi hàm, vốn tiêu tốn nhiều thời gian. Hàm nội tuyến đang thay thế trình gọi bằng mã nguồn của hàm, điều này sẽ làm tăng kích thước mã, cụ thể là trao đổi không gian lấy thời gian. Do đó, chỉ có hàm với dung lượng mã nhỏ là thích hợp để sử dụng hàm nội tuyến.
  10. 108 16.75 248 Encode 127.1 46.2 16.75 249 Decode 16.6 9.6 3 44 Encode 111.2 45.5 3 45 Decode 14.8 8.7 Với ba tính năng bổ sung, MELPe có hiệu suất tốt hơn ở tốc độ bit thấp hơn. Để đáp ứng nhu cầu ứng dụng kỹ thuật dựa trên ARM Cortex M4, việc tối ưu hóa được thực hiện theo hai cách, bao gồm tối ưu hóa thuật toán và tối ưu hóa mã. Sau khi tối ưu hóa, độ trễ của mỗi frame được giảm từ 135.1 mili giây xuống 55.4 mili giây mà chất lượng không giảm. Các thí nghiệm chỉ ra rằng hiệu quả của việc tối ưu hóa, đáp ứng nhu cầu thực hiện theo thời gian thực. 3.8. Lưu đồ giải thuật khối mã hóa/giải mã Giải pháp phân phối cụm từ khóa (passphase) được lựa chọn trong Luận án là giải pháp phân phối trước. Hai bên sẽ biết trước được cụm từ khóa giống nhau. 3.8.1. Lưu đồ giải thuật khối mã hóa Bắt đầu Đọc cụm từ khóa (PassPhase) Nạp trạng thái khởi đầu (Initial State) Có dữ liêu N thoại cần mã? Y Đọc dữ liệu thoại rõ ra buffer Sinh dòng khóa bằng dãy lồng ghép (keystream) Thực hiện mã hóa Gửi bản mã bằng mã dòng Kết thúc Hình 3.9. Lưu đồ giải thuật khối mã hóa
  11. 110 Phía nhận sẽ đọc cụm từ khóa (PassPhase) mà 2 bên đã thống nhất từ trước và nạp trạng thái khởi đầu. Khi nhận được dữ liệu thoại mã từ phía gửi, sẽ lưu vào bộ nhớ đệm buffer. Nếu không nhận được sẽ kết thúc phiên. Tiếp theo sẽ sinh dòng khóa (keystream) bằng dãy lồng ghép. Thực hiện giải mã luồng dữ liệu thoại mã nhận được bằng mã dòng và gửi luồng dữ liệu đó tới khối xử lý giải nén thoại Melpe. 3.9. Kết luận chương 3 Chương 3 đã giới thiệu tổng quan về m-dãy, các đa thức các thuộc tính của m-dãy, tính chất các dãy lồng ghép; giới thiệu về cấu trúc dãy lồng ghép (bao gồm cả dãy phi tuyến lồng ghép), trong đó kiến trúc dãy lồng ghép có kế thừa nội dung các bài báo của chính nghiên cứu sinh là tác giả và đồng tác giá (bài báo số 1b); về các phương pháp sinh dãy lồng ghép và lồng ghép phi tuyến, từ Luận án nghiên cứu này nghiên cứu sinh đã đóng góp một phương pháp mới (ngoài phương pháp biến đổi -d và hàm Vết đã kế thừa từ các bài báo trước của các đồng tác giả) đó là phương pháp thứ ba S tính toán trực tiếp giá trị I P là một phương pháp mới, được tác giả luận án đề xuất trong công bố [1b] này. Chương này cũng đưa ra phương pháp là lợi thế của phương pháp tính toán trực tiếp giá trị thứ tự lồng ghép; xây dựng được bảng so sánh hiệu quả rút gọn tính toán khi ứng dụng phương pháp này; Ứng dụng dãy lồng ghép phi tuyến trong kỹ thuật mật mã; Thực nghiêm đánh giá các dãy lồng ghép cụ thể, phương pháp thực thi dãy lồng ghép bằng phần cứng; Tối ưu và thực thi thuật toán nén/giải nén Melpe, phân tích đánh giá hiệu năng sau tối ưu và các thủ tục mã mật/giải mã bằng Vi xử lý ARM STM32F.
  12. 112 mã chương trình, về không gian vùng nhớ dữ liệu và vùng nhớ phục vụ thao tác tính toán. Hướng khác là tích hợp chức năng modem vào phần mềm của điện thoại di động thông minh.
  13. 114 TÀI LIỆU THAM KHẢO 1. TS. Nguyễn Phạm Anh Dũng, Thông tin di động, 2013 2. Ammar Yasir Korkusuz. Security in the GSM Network. Bogazici Univercity, Electrical-Electronics Engineering Department, 2012. 3. Wilayat Khan, Habib Ullah. Authentication and Secure Communication in GSM, GPRS, and UMTS Using Asymmetric Cryptography. IJCSI International Journal of Computer Science Issues, Vol. 7, Issue 3, No 9, May 2010. 4. La Hữu Phúc, Lê Mỹ Tú. Truyền dữ liệu qua kênh thoại GSM với CD-FSK. Chuyên san Nghiên cứu Khoa học và Công nghệ trong lĩnh vực An toàn thông tin. Số 1.CS (01) 2015. 5. Sigurdur Sverrisson, Xiaoyun Liang. Digital Communication over Speech Compressed Channel. CHALMERS UNIVERSITY OF TECHNOLOGY, Goteborg, Sweden. EXE028/2008. 6. Solutions to the GSM Security Weaknesses, Mohsen Toorani & Ali A. Beheshti, 2008 7. Cryptography : An Introduction (3rd Edition), Nigel Smart 8. Wai C. Chu (2003), Speech coding algorithms – Foundation and evolution of standardized coders, A JOHN WILEY & SONS, INC PUBLICATION 9. Lecture 03: SOUND PROPAGATION (Deller, et. al., Discrete-Time Processing of Speech Signals, MacMillan Publishing Co., ISBN: 0-7803-5386-2, 2000). 9b. Lecture 3_winter_2012_6tp 10. Speech Coding: A Tutorial Review; ANDREAS S. SPANIAS; Proceedings of the IEEE, Vol 82, No 10, October 1994. 11. Alan McCree, Low_Bit_Rate Speech Coding. Springer Handbook on Speech Processing and Speech Communication. 11b. Qiuyun Hao,Ye Li, Peng Zhang, Yanhong Fan, Xiaofeng Ma, Jingsai Jiang ; Shandong Provincial Key Laboratory of Computer Networks, Shandong Computer Science Center (National Supercomputer Center in Jinan), Jinan, China. A 600BPS
  14. 116 25. Zdenko MEZGEC, Amor CHOWDHURY, Bojan KOTNIK: Implementation of PCCD-OFDM-ASK Robust Data Transmission over GSM Speech Channel, INFORMATICA, 2009 Institute of Mathematics and Informatics, Vilnius, Vol. 20, No. 1, 51–78 26. CHMAYSSANI, HENDRYCKX: Data transmission over voice dedicated channels using digital modulations. du Gros Chêne, 95610 Eragny, France 27. Christoph K. Ladue, Vitaliy V. Sapozhnykov, and Kurt S. Fienberg: A Data Modem For GSM Voice Channel, IEEE Transactions on Vehicular Technology, Vol. 57, No. 4, July 2008. 28. Parwinder pal singh, Bhupinder singh, Satinder pal Ahuja: Need of Secure Voice Encryption and its Methods, ISSN: 2277 128X, Volume 2, Issue 1, January 2012. 29. Wesley Tanner, Nick Lane-Smith, Keith Lareau: End to End Voice Encryption, DEFCON-13, CellutarCrypto.com 30. Xiaoyun Liang, Sigurdur Sverrisson: “Digital Communication over Speech Compressed Channel”, CHALMERS UNIVERSITY OF TECHNOLOGY, Sweden, Exe028/2008. 31. Kazemi, R., Mosayebi, R., Etemadi, S., Boloursaz, M., & Behnia, F. (2012). A lower capacity bound of secure end to end data transmission via GSM network. In 6th International Symposium on Telecommunications (IST). (IEEE). pp. 1015–1020 32. Challans, P., Gover, R., & Thorlby. End to end data bearer performance characterization for communications over wide area mobile networks. In IEEE Seminar Secure GSM and Beyond: End to End Security for Mobile Communications. IET, 2013. 33. Mobeen Ur Rehman, Muhammad Adnan, Liaqat Ali Khan, Ammar Masood, Mouazma Batool. Effective Model for Real Time End to End Secure Communication Over GSM Voice Channel. Springer Science+Business Media, LLC part of Springer Nature 2021