Tải bản đầy đủ (.pdf) (27 trang)

Nghiên cứu phát triển các phương pháp của lý thuyết đồ thị và otomat trong giấu tin mật và mã hóa tìm kiếm tt

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (619.25 KB, 27 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
——————————

Nguyễn Huy Trường

NGHIÊN CỨU PHÁT TRIỂN CÁC PHƯƠNG PHÁP
CỦA LÝ THUYẾT ĐỒ THỊ VÀ OTOMAT
TRONG GIẤU TIN MẬT VÀ MÃ HÓA TÌM KIẾM
Ngành: Toán Tin
Mã số: 9460117

TÓM TẮT LUẬN ÁN TIẾN SĨ TOÁN TIN

Hà Nội - 2020


Công trình được hoàn thành tại:
Trường Đại học Bách khoa Hà Nội

Người hướng dẫn khoa học:
1. PGS. TSKH. Phan Thị Hà Dương
2. TS. Vũ Thành Nam

Phản biện 1:
Phản biện 2:
Phản biện 3:
Luận án được bảo vệ trước Hội đồng đánh giá luận án tiến sĩ cấp Trường
họp tại Trường Đại học Bách khoa Hà Nội

Vào hồi ....... giờ, ngày ....... tháng ....... năm .......



Có thể tìm hiểu luận án tại:
1. Thư viện Tạ Quang Bửu, Trường Đại học Bách khoa Hà Nội
2. Thư viện Quốc gia Việt Nam


DANH MỤC CÁC CÔNG TRÌNH ĐÃ CÔNG BỐ
CỦA LUẬN ÁN
[T1] N. H. Truong (2019), “A New Digital Image Steganography Approach
Based on The Galois Field GF (pm ) Using Graph and Automata”, KSII
Transactions on Internet and Information Systems, 13(9), pp. 4788-4813.
(ISI)
[T2] N. H. Truong (2019), “A New Approach to Exact Pattern Matching”,
Journal of Computer Science and Cybernetics, 35(3), pp. 197-216.
[T3] N. H. Truong (2019), “Automata Technique for The LCS Problem”,
Journal of Computer Science and Cybernetics, 35(1), pp. 21-37.
[T4] N. H. Truong (2019), “A Novel Cryptosystem Based on Steganography
and Automata Technique for Searchable Encryption”, KSII Transactions
on Internet and Information Systems (đã gửi bản thảo sửa đổi). (ISI)


MỞ ĐẦU
Khi việc sử dụng máy tính và Internet ngày càng cấp thiết, dữ liệu
số (thông tin) có thể bị sao chép cũng như truy cập trái phép. Như
một kết quả, an toàn thông tin trở nên ngày càng quan trọng. Có hai
phương pháp phổ biến để cung cấp an toàn, đó là mật mã và giấu tin.
Mật mã được sử dụng để mã hóa dữ liệu với mục đích làm cho dữ liệu
khó đọc bởi bên thứ ba. Giấu tin được sử dụng để nhúng dữ liệu vào
trong phương tiện số. Dựa trên mục đích của ứng dụng, giấu tin nói
chung được chia thành giấu tin mật (che giấu sự tồn tại của dữ liệu để

bảo vệ dữ liệu được nhúng) và thủy vân (bảo vệ sở hữu quyền tác giả
và xác thực phương tiện số mang dữ liệu được nhúng).
Giấu tin mật có thể được sử dụng như một cách thay thế mật mã.
Tuy nhiên, giấu tin mật sẽ trở nên yếu nếu các kẻ tấn công phát hiện
sự tồn tại của dữ liệu được giấu. Do đó tích hợp mật mã và giấu tin
mật như là một lựa chọn thứ ba cho an toàn dữ liệu.
Với sự phát triển nhanh chóng của các ứng dụng dựa trên nền tảng
Internet, tính toán đám mây trở thành một trong những chủ đề nóng
nhất trong lĩnh vực công nghệ thông tin. Thực ra, nó là một hệ thống
tính toán dựa trên Internet (cung cấp các dịch vụ theo yêu cầu từ các
ứng dụng và phần mềm hệ thống, lưu trữ cho đến xử lý dữ liệu). Ví
dụ, khi các người dùng đám mây sử dụng dịch vụ lưu trữ, họ có thể
gửi thông tin lên các máy chủ và sau đó truy cập nó trực tuyến trên
Internet. Trong khi đó, các doanh nghiệp có thể không trả số tiền lớn
cho bảo trì và sở hữu một hệ thống bao gồm phần cứng và phần mềm.
Mặc dù tính toán đám mây mang lại nhiều lợi ích cho các cá nhân và
tổ chức, song an toàn đám mây vẫn là một vấn đề mở khi các nhà cung
cấp đám mây có thể lạm dụng thông tin của khách hàng và các người
dùng đám mây mất quyền kiểm soát thông tin của họ. Do đó, đảm bảo
sự riêng tư thông tin của người thuê dịch vụ mà không phủ nhận lợi
ích của tính toán đám mây được xem là cần thiết. Để bảo vệ sự riêng
tư của người dùng đám mây, các dữ liệu nhạy cảm cần được mã hóa
trước khi gửi chúng lên các máy chủ. Thật không may mắn, mã hóa
làm cho các máy chủ thực hiện tìm kiếm trên dữ liệu mã hóa khó hơn
nhiều so với văn bản rõ. Để giải quyết vấn đề này, nhiều kỹ thuật mã
1


hóa tìm kiếm đã được trình bày từ năm 2000. Mã hóa tìm kiếm không
chỉ lưu trữ dữ liệu mã hóa của các người dùng mà còn cho phép tìm

kiếm thông tin trên bản mã.
Mã hóa tìm kiếm cho so mẫu chính xác là một lớp mới của các kỹ
thuật mã hóa tìm kiếm. Các giải pháp cho lớp này đã được trình bày
dựa trên các thuật toán hoặc các cách tiếp cận của so mẫu chính xác.
Cũng như trích rút thông tin từ bản rõ, sự phát triển mã hóa tìm
kiếm với khả năng so xâu xấp xỉ là cần thiết, trong đó xâu tìm kiếm có
thể là một từ khóa được xác định, được mã hóa và được lưu trữ trong
các máy chủ đám mây hoặc là một mẫu bất kì.
Từ những vấn đề ở trên, cùng với các phương pháp sử dụng lý
thuyết đồ thị và otomat được đề xuất bởi P. T. Huy và cộng sự giải các
bài toán so mẫu chính xác (2002), dãy con chung dài nhất (2002) và
giấu tin mật trong ảnh số (2011, 2012 và 2012), và các ứng dụng tiềm
năng của chúng, cũng như dưới sự hướng dẫn của tập thể hướng dẫn,
tên luận án được giao là nghiên cứu phát triển các phương pháp
của lý thuyết đồ thị và otomat trong giấu tin mật và mã hóa
tìm kiếm.
Mục đích của luận án là nghiên cứu phát triển các giải pháp mới
chất lượng sử dụng lý thuyết đồ thị và otomat, chỉ ra các ứng dụng của
chúng, và áp dụng chúng vào trong giấu tin mật và mã hóa tìm kiếm.
Dựa trên các kết quả và gợi ý được giới thiệu bởi P. T. Huy và cộng
sự, luận án sẽ tập trung vào bốn bài toán sau trong giấu tin mật và
mã hóa tìm kiếm:
- Giấu tin mật trong ảnh số;
- So mẫu chính xác;
- Dãy con chung dài nhất;
- Mã hóa tìm kiếm.
Với ba bài toán đầu, công việc của luận án là tìm các giải pháp mới
hiệu quả sử dụng lý thuyết đồ thị và otomat. Sau đó chúng được sử
dụng và ứng dụng để giải bài toán cuối cùng.
Luận án đã được hoàn thành với cấu trúc như sau. Ngoài phần Mở

đầu ở đầu và Kết luận ở cuối luận án, nội dung chính của luận án
được chia thành năm chương.
Chương 1. Kiến thức cơ sở.
Chương 2. Giấu tin mật trong ảnh số dựa trên trường Galois sử
dụng lý thuyết đồ thị và otomat.
2


Chương 3. Một cách tiếp cận otomat cho so mẫu chính xác.
Chương 4. Kỹ thuật otomat cho bài toán dãy con chung dài nhất.
Chương 5. Mật mã dựa trên giấu tin mật và các phương pháp
otomat cho mã hóa tìm kiếm.
Các nội dung của luận án được viết dựa trên bài báo được xuất
bản [T1] ở, bản thảo sửa đổi [T4] được gửi tới KSII Transactions on
Internet and Information Systems (ISI), và các bài báo [T2, T3] được
xuất bản ở Journal of Computer Science and Cybernetics trong năm
2019. Các kết quả chính của luận án đã được trình bày ở: Seminar Cơ
sở Toán của Tin học ở Viện Toán học, Viện Hàn lâm Khoa học và Công
nghệ Việt Nam; Đại hội Toán học Việt Nam lần thứ 9, Nha Trang, 1418/08/2018; Seminar ở Viện Toán ứng dụng và Tin học, Trường Đại
học Bách khoa Hà Nội.
CHƯƠNG 1
KIẾN THỨC CƠ SỞ
1.1 Cấu trúc cơ bản
1.1.1 Xâu
Trong luận án, các dữ liệu mật được coi là các xâu. Vì vậy, một số
thuật ngữ liên quan đến xâu sẽ được nhắc lại ở đây.
1.1.2 Đồ thị
Bên cạnh một số khái niệm cơ bản trong lý thuyết đồ thị, mục này
nhắc lại cách biểu diễn đồ thị bằng danh sách kề và tìm kiếm theo
chiều rộng. Chúng được sử dụng trong Chương 2.

1.1.3 Otomat hữu hạn đơn định
Nghiên cứu bài toán xây dựng và sử dụng các otomat hữu hạn đơn
định là một trong các mục tiêu của luận án. Do đó, mục này sẽ làm rõ
mô hình tính toán này.
1.1.4 Trường Galois GF (pm )
Mục này trình bày lại cách xây dựng trường hữu hạn với pm phần
tử, được gọi là trường Galois GF (pm ), trong đó p là số nguyên tố và
m ≥ 1 là một số nguyên. Cấu trúc đại số này sẽ được sử dụng trong
Chương 2.
3


1.2 Giấu tin mật trong ảnh số
Bài toán quan tâm trong Chương 2 là giấu tin mật trong ảnh. Mục
này sẽ nhắc lại khái niệm các ảnh số, mô hình cơ bản của giấu tin mật
trong ảnh, một số tham số để xác định tính hiệu quả của giấu tin mật
a
a, b
trong ảnh và cuối cùng trình bày lại các kết quả sẽ được nghiên cứu
phát triển và sử dụng trong Chương 2, như phương pháp gán chẵn lẻ
b
a
q2
q1 pháp), phương
q1 phương
tối ưu nhanh nhất (FOPA
pháp mô đun và khái
niệm tỷ lệ giấu tin tối đa (MSDR).
b
Mô hình cơ bản của giấu tin mật trong ảnh được chỉ ra trong Hình

1.4.
Dữ liệu mật

Ảnh
gốc

Nhúng

Dữ liệu mật

Ảnh
chứa
tin

Kênh truyền
thông
Gửi đến

Ảnh
chứa
tin

Trích

Khóa bí mật

Khóa bí mật

Người gửi


Người nhận

Cover
Image

Hình 1.4. Sơ đồ cơ bản của giấu tin mật trong ảnh

Định nghĩa 1.4 (P. T. Huy và cộng sự, 2011). MSDR k (N ) là số lớn
nhất các bít dữ liệu mật được nhúng trong
một khối
ảnh có N điểm
2
4
ảnh bằng cách thay đổi nhiều nhất k điểm ảnh trong khối ảnh, trong
2
đó k, N là các số nguyên dương.

1

3

1

4
3
Cho một số nguyên dương qcolour , gọi
qcolour là 5số các cách khác
nhau để thay đổi màu của mỗi điểm ảnh trong một khối ảnh bất kì
gồm N điểm ảnh. Khi đó


1
2
2
k
k
MSDR k (N ) = log2 (1+qcolour CN
+qcolour
CN
+· · ·+qcolour
CN
) . (1.3)

1.3 So mẫu chính xác
Mục này sẽ phát biểu lại bài toán so mẫu đơn chính xác, và nhắc
lại khái niệm độ mờ (xuất hiện) sẽ được sử dụng trong Chương 3.

4

5


Định nghĩa 1.5. Cho p là một mẫu có độ dài m và x là một văn bản
có độ dài n trên bảng chữ cái Σ. Khi đó bài toán so mẫu đơn chính xác
là tìm tất cả các xuất hiện của mẫu p trong x.
Định nghĩa 1.6 (P. T. Huy và cộng sự, 2002). Cho p là một mẫu
và x là một văn bản có độ dài n trên bảng chữ cái Σ. Khi đó với mỗi
1 ≤ i ≤ n, độ xuất hiện của p trong x ở vị trí i bằng độ dài của xâu
con dài nhất của x sao cho xâu con này là khúc đầu của p, trong đó kí
tự tận cùng bên phải của xâu con này là x[i].
1.4 Dãy con chung dài nhất

Mục này sẽ nhắc lại bài toán dãy con chung dài nhất, và cách tiếp
cận lắc ba lô giải quyết bài toán này sẽ được nghiên cứu phát triển
trong Chương 4.
Kí hiệu dãy con chung dài nhất của p và x là LCS(p, x). Độ dài của
một LCS(p, x) được kí hiệu là lcs(p, x).
Cho p và x là hai xâu có độ dài m và n trên bảng chữ cái Σ, m ≤ n.
Bài toán dãy con chung dài nhất của hai xâu (bài toán LCS) có thể
được phát biểu trong hai dạng sau.
Bài toán 1. Tìm một LCS(p, x).
Bài toán 2. Tính lcs(p, x).
1.5 Mã hóa tìm kiếm
Mục này làm rõ thuật ngữ mã hóa tìm kiếm (SE) và nhắc lại định
nghĩa một hệ mật mã. Chúng sẽ được nghiên cứu và sử dụng trong
Chương 5.
SE thực ra là một hệ thống bao gồm hai thành phần chính, một hệ
mật mã được sử dụng để mã hóa và giải mã bên phía các người dùng
và các thuật toán tìm kiếm trên dữ liệu mã hóa được thực hiện bên
phía các nhà cung cấp đám mây.
Trong mật mã, SE có thể là mã hóa đối xứng tìm kiếm (SSE) hoặc
bất đối xứng tìm kiếm (SAE). Trong SSE, chỉ có những người cầm
khóa bí mật mới có thể tạo ra dữ liệu mã hóa và sinh ra các cửa sập
cho tìm kiếm. Trong SAE, các người dùng có khóa công khai có thể
tạo ra dữ liệu mã hóa nhưng chỉ những người cầm khóa bí mật mới có

5


thể sinh các cửa sập.
CHƯƠNG 2
GIẤU TIN MẬT TRONG ẢNH SỐ DỰA TRÊN TRƯỜNG

GALOIS SỬ DỤNG LÝ THUYẾT ĐỒ THỊ VÀ OTOMAT
Chương này trước tiên đề xuất các khái niệm các lược đồ giấu tin
tối ưu và gần tối ưu. Tiếp theo chương đề xuất một cách tiếp cận giấu
tin mật trong ảnh mới dựa trên trường Galois GF (pm ) sử dụng đồ thị
và otomat để thiết kế lược đồ giấu tin dạng tổng quát (k, N, log2 pmn )
cho các ảnh nhị phân, xám và chỉ số với một số giả thiết cho trước,
trong đó k, m, n, N là các số nguyên dương và p là nguyên tố, và chỉ ra
các điều kiện đủ cho sự tồn tại và chứng minh sự tồn tại của một số
lược đồ giấu tin mật tối ưu và gần tối ưu. Những kết quả này được phát
triển từ khái niệm tỷ lệ giấu tin tối đa của các bít được nhúng, phương
pháp mô đun và phương pháp FOPA được đề xuất bởi P. T. Huy và
cộng sự trong các năm 2011, 2012 and 2013, được nhắc lại trong Mục
1.2 của Chương 1. Một ứng dụng của các lược đồ cho quá trình giấu
một dãy hữu hạn dữ liệu mật trong một ảnh được xem xét. Các phân
tích an toàn và kết quả thực nghiệm khẳng định rằng cách tiếp cận
được đề xuất có thể tạo ra các lược đồ giấu tin mật đạt được hiệu quả
cao về khả năng nhúng, chất lượng ảnh, tốc độ cũng như độ an toàn,
chúng là những thuộc tính quan trọng nhất của giấu tin mật.
Các kết quả của Chương 2 đã được công bố trong [T1].
2.1 Giới thiệu
2.2 Bài toán giấu tin mật trong ảnh số
Định nghĩa 2.1. Một lược đồ giấu tin mật theo khối trong các ảnh
số (cho ngắn, gọi là một lược đồ giấu tin) là một bộ năm
(I, M, K, Em, Ex), trong đó các điều kiện sau được thỏa mãn.
1. I là một tập tất cả các khối ảnh cùng kích thước và loại ảnh,
2. M là một tập hữu hạn các phần tử mật,
3. K là một tập hữu hạn các khóa bí mật,
4. Em là một hàm nhúng để nhúng một phần tử mật vào trong một
khối ảnh, Em : I × M × K → I,
5. Ex là một hàm trích để trích một phần tử mật được nhúng từ

một khối ảnh, Ex : I × K → M,
6


6. Ex(Em(I, M, K), K) = M, ∀(I, M, K) ∈ I × M × K.
Định nghĩa 2.2. Một lược đồ giấu tin (I, M, K, Em, Ex) được gọi là
một lược đồ giấu tin (k, N, r), trong đó k, N, r là các số nguyên dương,
nếu mỗi khối ảnh trong I có N điểm ảnh và hàm nhúng Em có thể
nhúng r bít dữ liệu mật vào trong một khối ảnh bất kì bằng cách thay
đổi các màu của nhiều nhất k điểm ảnh trong khối ảnh.
Định nghĩa 2.3. Với qcolour được cho trước, một lược đồ giấu tin
(k, N, r) được gọi là một lược đồ giấu tin tối ưu nếu r = MSDR k (N )
và N , N < N , r = MSDR k (N ). Khi đó N được kí hiệu là Noptimum .
Định nghĩa 2.4. Với qcolour được cho trước, một lược đồ giấu tin
(k, N, r) được gọi là một lược đồ giấu tin gần tối ưu r = MSDR k (N ) và
N > Noptimum .
Bài toán giấu tin mật trong ảnh số của chương. Thiết kế các
lược đồ giấu tin tối ưu và gần tối ưu (k, N, r) cho các ảnh số (các ảnh
nhị phân, xám và chỉ số).
2.3 Một cách tiếp cận giấu tin mật trong ảnh số mới
2.3.1 Cơ sở toán học dựa trên trường Galois
Cho GF n (pm ) = {(x1 , x2 , . . . , xn )|xi ∈ GF (pm ), ∀i = 1, n}, trong
đó n là một số nguyên dương, với hai phép toán cộng véc tơ + và nhân
vô hướng · được định nghĩa như sau.
x + y = (x1 + y1 , x2 + y2 , . . . , xn + yn ),
ax = (ax1 , ax2 , . . . , axn ), a ∈ GF (pm ),
trong đó x, y ∈ GF n (pm ) và x = (x1 , x2 , . . . , xn ), y = (y1 , y2 , . . . , yn ).
Chúng ta nhớ rằng (GF n (pm ), +, ·) là một không gian véc tơ trên
trường GF (pm ).
Định nghĩa 2.5. Lớp của một phần tử x ∈ GF n (pm ), kí hiệu [x], được

cho bởi
[x] = {ax|a ∈ GF (pm )\{0}}.
Cho một lớp [x], x được xem là phần tử đại diện của [x]. Cho đơn
giản, kí hiệu lớp [0] là 0.
Kí hiệu tập tất cả các lớp là [GF n (pm )]. Tập này được biểu diễn
bởi [GF n (pm )] = {[x]|x ∈ GF n (pm )}. Số lượng các phần tử của một
tập S được kí hiệu là |S|.
7


Mệnh đề 2.2. |[GF n (pm )]\{0}| =

pmn −1
pm −1 .

Định nghĩa 2.6. Giả sử S ⊂ [GF n (pm )]\{0}. Khi đó S được gọi là
k-[Các phần tử sinh] của tập [GF n (pm )], trong đó k là một số nguyên
dương, nếu ∀[v] ∈ [GF n (pm )]\{0}, [v] ∈ {[ ti=1 ai vi ]|ai ∈ GF (pm )\{0},
[vi ] ∈ S, i = 1, t, t ≤ k}.
Định nghĩa 2.7. Cho V là một không gian véc tơ trên trường K,
S ⊂ V . Khi đó S được gọi là k-Các phần tử sinh của V , trong đó k là
một số nguyên dương, nếu hai điều kiện sau thỏa mãn.
a) ∀v, v ∈ S, a ∈ K, v = av,
b) ∀v ∈ V \{0}, ∃t, t ≤ k, v1 , v2 , . . . , vt ∈ S, a1 , a2 , . . . , at ∈ K\{0},
v = ti=1 ai vi .
Định lý 2.1. Tồn tại S là một k-Các phần tử sinh của không gian véc
tơ GF n (pm ) với |S| = N nếu và chỉ nếu tồn tại S là một k-[Các phần
tử sinh] của tập [GF n (pm )] với |S | = N .
Mệnh đề 2.4. Cho c là số lượng k-[Các phần tử sinh] gồm N phần tử
của tập [GF n (pm )]. Khi đó số lượng k-Các phần tử sinh gồm N phần

tử của không gian véc tơ GF n (pm ) là c(pm − 1)N .
2.3.2 Giấu tin mật dựa trên trường Galois GF (pm ) sử dụng lý
thuyết đồ thị và otomat
Cho I là một tập tất cả các khối ảnh với cùng kích thước và loại
ảnh và giả thiết rằng mỗi khối ảnh trong I có N điểm ảnh, trong đó
N là một số nguyên dương. Cho đơn giản, cấu trúc của một khối ảnh
bất kì I trong I có thể được biểu diễn bởi I = {I1 , I2 , ..., IN }, trong
đó Ii là giá trị màu đối với các ảnh nhị phân và xám hoặc chỉ số màu
trong bảng màu đối với các ảnh chỉ số của điểm ảnh thứ ith trong I,
∀i = 1, N . Xem C là một tập tất cả các giá trị hoặc chỉ số màu của
các điểm ảnh của I.
Cho M là một tập hữu hạn các phần tử mật và đặt M = GF n (pm ).
Cho K là một tập hữu hạn các khóa bí mật. Với tất cả K ∈ K, cũng
giả thiết rằng cấu trúc của khóa K giống như là cấu trúc của khối ảnh
I. Vì vậy, chúng ta có thể viết K = {K1 , K2 , ..., KN } với Ki ∈ GF (pm ),
∀i = 1, N .
Giả thiết rằng tìm được một k-Các phần tử sinh S của GF n (pm )
với |S| = N và S = {v1 , v2 , . . . , vN }.
8


Định nghĩa 2.8. Một đồ thị có hướng có trọng số G = (V, E) được
gọi là một đồ thị lật trên trường Galois GF (pm ) (cho ngắn, gọi là một
đồ thị lật) nếu hai điều kiện sau được thỏa mãn.
1. V = C và với tất cả v ∈ V , đỉnh v được gán một trọng số bởi
hàmVal sao choVal(v) ∈ GF (pm ),
2. Với ∀cp ∈ V, ∀a ∈ GF (pm )\{0}, ∃!(cp , cp ) ∈ E và cung (cp , cp )
được gán trọng số a sao cho Val (cp ) = Val (cp ) + a (trên GF (pm )).
Cho một đồ thị lật G, chúng ta kí hiệu Adjacent(cp , a) là một đỉnh
kề của cp , trong đó trọng số a được gán cho cung (cp , Adjacent(cp , a)).

Giả thiết rằng xây dựng được một đồ thị lật G = (V, E).
Từ cách xác định tập cung E trong Định nghĩa 2.8, giả thiết rằng
|C| ≥ pm và qcolour = pm − 1.

(2.1)

Cho một khối ảnh I ∈ I, một phần tử mật M ∈ M, một khóa
K ∈ K. Bằng cách sử dụng otomat A(I, M, K) và đồ thị lật G, hai
hàm Em and Ex trong lược đồ giấu tin (I, M, K, Em, Ex) được định
nghĩa như sau.
Hàm Em (nhúng M vào trong I):
q = q0 ;
For i = 1 to N Do q = δ(q, Ii );
q = δ(q, M );
For each (it , at ) in q Do Iit = Adjacent(Iit , at );
I = I;
Hàm Ex (trích M từ I ):
q = q0 ;
For i = 1 to N Do q = δ(q, Ii );
M = q;
Định lý 2.2. Giả sử rằng tìm được một k-Các phần tử sinh S của
không gian véc tơ GF n (pm ) và xây dựng được một đồ thị lật G. Khi đó
tồn tại lược đồ giấu tin (k, N, log2 pmn ), trong đó N = |S|.
Phân tích an toàn của lược đồ giấu tin được đề xuất
(k, N, log2 pmn ): Giả thiết rằng công khai các tham số k, N , Em, Ex,
9


không gian véc tơ GF n (pm ) và đồ thị lật G trong lược đồ giấu tin
(k, N, log2 pmn ).

log2 pmn

c(pm − 1)N N !pmN Cp2mn

2

log2 pmn

!.

(2.12)

Định lý 2.3. Giả sử rằng xây dựng được đồ thị lật G. Khi đó tồn tại
mn −1
lược đồ tối ưu (1, ppm −1
, log2 pmn ) với qcolour = pm − 1.
Mệnh đề 2.6. Với n là một số nguyên dương, tồn tại lược đồ tối ưu
(1, 2n − 1, n) cho các ảnh nhị phân, xám và chỉ số với qcolour = 1.
Chú ý rằng nếu chúng ta đặt N = 2n − 1, khi đó lược đồ giấu tin
(1, 2n − 1, n) trở thành lược đồ giấu tin (1, N, log2 (N + 1) ). Nhớ rằng
với N là một số nguyên dương, lược đồ giấu tin (1, N, log2 (N + 1) )
cho ảnh nhị phân với qcolour = 1 là lược đồ giấu tin CTL (Chang và
cộng sự, 2005). Vì vậy, Mệnh đề 2.6 chỉ ra rằng lược đồ giấu tin CTL
đạt được lược đồ giấu tin tối ưu với N = 2n − 1, trong đó n là một số
nguyên dương.
Định lý 2.4. Giả sử rằng tìm được một 2-Các phần tử sinh S của
không gian véc tơ GF n (pm ) với |S| =

pm −3
+

2

mn
(pm −3)2
+2(2 log2 p
4
m
p −1

−1)

và xây dựng được một đồ thị lật G. Khi đó tồn tại lược đồ giấu tin tối
ưu (2, |S|, log2 pmn ) với qcolour = pm − 1.
2.4 Các lược đồ giấu tin gần tối ưu và tối ưu cho các ảnh xám
và chỉ số
Ở đây xét trường hợp k = p = m = 2 và n = 4, lược đồ giấu
tin (2, N, 8) tồn tại nếu giả thiết của Định lý 2.2 được thỏa mãn,
nghĩa là tìm được một 2-Các phần tử sinh S của không gian véc tơ
GF 4 (22 ), |S| = N và xây dựng được một đồ thị lật G trên trường
Galois GF (22 ).
Định lý 2.5. Tồn tại lược đồ giấu tin gần tối ưu (2, 9, 8) cho các ảnh
xám và chỉ số với qcolour = 3.
Phân tích an toàn của lược đồ giấu tin gần tối ưu (2, 9, 8):
c39 9!218 28 !.
10

(2.45)


Hệ quả 2.1. Tồn tại lược đồ tối ưu (1, 5, 4) cho các ảnh xám và chỉ

số với qcolour = 3.
Phân tích an toàn của lược đồ giấu tin tối ưu (1, 5, 4):
35 5!210 24 !.

(2.47)

2.5 Kết quả thực nghiệm
Mục này làm một số thực nghiệm để đánh giá hiệu quả của các
lược đồ và cách tiếp cận được đề xuất.
2.6 Kết luận
Một bài toán thú vị xảy ra là có tồn tại lược đồ giấu tin tối ưu
(2, 8, 8) cho ảnh xám dùng 8 bít biểu diễn một điểm ảnh với qcolour = 3.
Để tăng tính an toàn dữ liệu của các lược đồ được đề xuất, Chương
5 sẽ nghiên cứu bài toán kết hợp mật mã và giấu tin mật cho mã hóa
tìm kiếm.
CHƯƠNG 3
MỘT CÁCH TIẾP CẬN OTOMAT CHO SO MẪU
CHÍNH XÁC
Chương này đề xuất một cách tiếp cận mềm dẻo sử dụng otomat
để thiết kế một thuật toán hiệu quả cho so mẫu chính xác trong
thực hành, và so sánh nó với một số thuật toán hiệu quả nhất, như
AOSO, EBOM, FJS, FSBNDM, HASHq, LBNDM, SA, BMH-SBNDM,
SBNDMq, TVSBS. Các kết quả này dựa trên khái niệm độ xuất hiện
được đề xuất bởi P. T. Huy và cộng sự trong năm 2002, được nhắc lại
trong Mục 1.3 của Chương 1. Các phân tích lý thuyết và kết quả thực
nghiệm chỉ ra rằng trong thực hành thuật toán được đề xuất nhanh
hơn các thuật toán được đề cập ở trên trong hầu hết các trường hợp
được cho trước của các mẫu và bảng chữ cái.
Các kết quả của Chương 3 đã được công bố trong [T2].
3.1 Giới thiệu

Chương này chỉ giải quyết bài toán so mẫu chính xác, được nhắc
lại trong Mục 1.3 của Chương 1. Nghiên cứu ứng dụng đề xuất của
chương giải bài toán này cho SE sẽ được giới thiệu trong Chương 5.
11


3.2 Thuật toán mới - Thuật toán MRc
Cho trước một số nguyên dương c, một xâu có độ dài c được gọi là
một c_block. Một c_block được (tương ứng không được) gọi là trong
p, kí hiệu c_block ∈ p (tương ứng c_block ∈
/ p), nếu c_block là (tương
ứng không là) một xâu con của p. Với một số nguyên dương cho trước
c, 1 ≤ c ≤ m and c ≤ i ≤ m, xâu con p[i − c + 1..i] được gọi là một
c_block của p ở vị trí i, kí hiệu c_blockip . Đặc biệt, c = 1, khi đó
c_block chỉ là một kí tự.
Định nghĩa 3.3. Cho p là một mẫu và z là một c_block của p, trong đó
c là một số nguyên dương với 1 ≤ c ≤ |p|. Cho i là vị trí nào đó trong p
với c ≤ i ≤ |p|. Khi đó i được gọi là vị trí xuất hiện cuối cùng của z trong
p, kí hiệu Pos p (z), nếu z = c_blockip và ∀j > i, j ≤ |x|, z = c_blockjp .
Dựa vào otomat Mp và hai khái niệm điểm gãy và Posp , ý tưởng cơ
bản của cách tiếp cận được đề xuất cho so mẫu chính xác được chỉ ra
trong Hình 3.2.
c_block

p, trượt cửa sổ và thực hiện bước nhảy kiểm tra

Đặt q = 0

Điểm gãy xảy ra, thực hiện bước nhảy kiểm tra


x
Cửa sổ

c_block

Vị trí quay lui

p

Hình 3.2. Ý tưởng cơ bản của cách tiếp cận đề xuất

Từ cách tiếp cận ở trên, mục này xây dựng một thuật toán so mẫu
chính xác, được gọi là thuật toán MRc . Tính đúng đắn của thuật toán
MRc được đảm bảo bởi định lý sau.
Định lý 3.3. Với mẫu p và văn bản x được cho trước bất kì, thuật toán
MRc tìm được tất cả các xuất hiện của mẫu p trong x.
3.3 Phân tích thuật toán MRc
Mệnh đề 3.2. Cho p là một mẫu có độ dài m và x là một văn bản có
độ dài n trên bảng chữ cái Σ. Cho c là một hằng số nguyên dương sao
12


cho 1 ≤ c ≤ m. Khi đó thuật toán MRc đòi hỏi n + 2c kí tự của x được
truy cập trong trường hợp xấu nhất.
Kí hiệu xác suất của một sự kiện bất kì là P .
Mệnh đề 3.3. Cho p là một mẫu có độ dài m trên bảng chữ cái Σ.
Nếu |Σ| ≥ 4 và 8 ≤ m ≤ 2048, khi đó tồn tại c, 1 ≤ c ≤ 8 sao cho với
một c_block z bất kì trên bảng chữ cái Σ, P (z ∈ x) ≤ 2−5 với phân
phối đều trên bảng chữ cái Σ.
Định lý 3.4. Cho p là một mẫu có độ dài m và x là một văn bản có

độ dài n trên bảng chữ cái Σ. Cho T (n) là số lượng tất cả các kí tự của
x được truy cập bởi thuật toán MRc . Nếu |Σ| ≥ 4, 16 ≤ m ≤ 2048 hoặc
|Σ| ≥ 32, 8 ≤ m ≤ 2048, khi đó tồn tại c, 1 ≤ c ≤ 8 sao cho các điều
kiện sau được thỏa mãn với phân phối đều trên bảng chữ cái Σ.
(a) T (n) < n,
(b) P (z ∈ x) ≤ 2−5 , trong đó z là một c_block bất kì trên bảng chữ
cái Σ.
3.4 Kết quả thực nghiệm
Mục này thực hiện một số thực nghiệm để so sánh thuật toán MRc
với các thuật toán khác.
3.5 Kết luận
Xuất hiện của một phần của mẫu được phản ánh và cập nhật tức
thì tại vị trí bất kì đang được duyệt trên văn bản, vì vậy cách tiếp cận
của chương có thể được ứng dụng cho SE. Chủ đề quan trọng này sẽ
được trình bày trong Chương 5.
CHƯƠNG 4
KỸ THUẬT OTOMAT CHO BÀI TOÁN DÃY CON
CHUNG DÀI NHẤT
Chương này đề xuất hai thuật toán hiệu quả trong thực hành để
tính độ dài của một dãy con chung dài nhất của hai xâu, sử dụng kỹ
thuật otomat, trong các cách tuần tự và song song. Với hai xâu đầu
vào có độ dài m và n với m ≤ n, thuật toán song song sử dụng k vi
xử lý (k ≤ m) và có độ phức tạp thời gian O(n) trong trường hợp xấu
13


nhất, trong đó k là một ước lượng trên của độ dài của một dãy con
chung dài nhất của hai xâu. Các kết quả này dựa trên cách tiếp cận lắc
ba lô được giới thiệu bởi P. T. Huy và cộng sự trong năm 2002, được
nhắc lại trong Mục 1.4 của Chương 1. Các kết quả thực nghiệm chỉ ra

rằng với bảng chữ cái 256, các thuật toán tuần tự và song song được đề
xuất lần lượt nhanh hơn khoảng 65.85 và 3.41m lần so với thuật toán
qui hoạch động cổ điển được đề xuất bởi Wagner và Fisher trong năm
1974.
Các kết quả của Chương 4 đã được công bố trong [T3].
4.1 Giới thiệu
Công việc của chương chỉ liên quan đến bài toán tính độ dài của
một dãy con chung dài nhất của hai xâu có độ dài m và n, đây là Bài
toán 2 đã được phát biểu lại trong Mục 1.4 của Chương 1. Thêm nữa,
nghiên cứu ứng dụng các kết quả của chương này vào SE cho so mẫu
xấp xỉ là một trong những mục tiêu chính của Chương 5.
4.2 Cơ sở toán học
Trong thực tế, khi ứng dụng Bài toán 2 vào bài toán so mẫu xấp xỉ,
chúng ta chỉ cần tìm được một dãy con chung của hai xâu sao cho độ
dài của dãy con chung này bằng một hằng số cho trước. Vì vậy, trong
trường hợp tổng quát, Định lý 1.1 sẽ được thay thế bằng định lý sau.
Định lý 4.1. Cho p và x là hai xâu có độ dài m và n trên bảng chữ
cái Σ, m ≤ n. Cho c là một hằng số nguyên dương, 1 ≤ c ≤ m và
Acp = (Σ, Q, q0 , ϕ, F ) tương ứng với p là một otomat trên bảng chữ cái
Σ, trong đó
• Tập các trạng thái Q = Config(p),
• Trạng thái khởi đầu q0 = C0 ,
• Hàm chuyển ϕ được cho như trong Định nghĩa 1.12,

Tập
các
trạng
thái
kết
F = {Cf |Cf ∈ Config(p), Cf = {x1 , x2 , . . . , xc } hoặc Cf = ϕ(C0 , x)}.

Giả sử Cf = {x1 , x2 , . . . , xt } là một trạng thái kết với 1 ≤ t ≤ m. Khi
đó tồn tại xâu con u của x sao cho một LCS(p, u) là xt .
Định lý 4.2. Cho p là một xâu có độ dài m trên bảng chữ cái Σ,
C ∈ Config(p) và s ∈ Σ∗ . Khi đó δ(Wp (C), s) = Wp (ϕ(C, s)), trong đó
δ và ϕ được cho lần lượt như trong các Định nghĩa 4.5 and 1.12.
14


4.3 Các mô hình otomat giải bài toán LCS
Định lý 4.3. Cho p và x là hai xâu có độ dài m và n trên bảng chữ
cái Σ, m ≤ n. Cho c là một hằng số nguyên dương, 1 ≤ c ≤ m và
ASc
p = (Σ, Q, q0 , δStep , F ) tương ứng với p là một otomat trên bảng chữ
cái Σ, trong đó
• Tập các trạng thái Q = WConfig(p),
• Trạng thái khởi đầu q0 = W0 ,
• Hàm chuyển δStep được cho như trong Định nghĩa 4.8,
• Tập các trạng thái kết F = {Wf |Wf ∈ WConfig(p), |Wf | =
c hoặc Wf = δStep (W0 , x)}.
Giả sử Wf là một trạng thái kết. Khi đó tồn tại xâu con u của x sao
cho lcs(p, u) = |Wf |.
Định lý 4.4. Cho p và x là hai xâu có độ dài m và n trên bảng chữ
cái Σ, m ≤ n. Cho c là một hằng số nguyên dương, 1 ≤ c ≤ m và
APp c = (Σ, Qp , q0 , δp , Fp ) tương ứng với p là một otomat trên bảng chữ
cái Σ, trong đó
• Tập các trạng thái Qp = WConfig(p),
• Trạng thái khởi đầu q0 = W0 ,
• Hàm chuyển δp được cho như trong Định nghĩa 4.9.
• Tập các trạng thái kết Fp = {Wf |Wf ∈ WConfig(p), |Wf | =
c hoặc Wf = δp (W0 , x)}.

Giả sử Wf là một trạng thái kết. Khi đó tồn tại xâu con u của x sao
cho lcs(p, u) = |Wf |.
Dựa vào Định lý 4.4 với c = |p|, một thuật toán song song giải Bài
toán 2 được xây dựng như sau.
Thuật toán 2 (thuật toán song song):
Đầu vào: Hai xâu p và x, |p| ≤ |x|.
Đầu ra: lcs(p, x).
q = W0 ; // Thiết lập trạng thái khởi đầu của otomat APp c .
For i = 1 to |x| Do
{
q = δp (q, x[i]);
If (|q| = |p|) Break;
}
15


lcs(p, x) = |q|;
Mệnh đề 4.3. Cho p và x là hai xâu có độ dài m và n trên bảng chữ
cái Σ, m ≤ n. Giả sử Thuật toán 2 sử dụng k vi xử lý (k ≤ m), trong
đó k là một ước lượng trên của độ dài của một dãy con chung dài nhất
của hai xâu. Khi đó độ phức tạp thời gian của Thuật toán 2 là O(n)
trong trường hợp xấu nhất.
4.4 Kết quả thực nghiệm
Mục này tiến hành một số thực nghiệm để so sánh hai thuật toán
được đề xuất với Thuật toán WF.
4.5 Kết luận
Với kỹ thuật otomat, lcs(p, x) luôn được phản ánh và cập nhật tại
mọi vị trí đang duyệt trên xâu x. Khi đó kỹ thuật của chương cho
bài toán LCS có thể được khai thác trong SE. Ứng dụng này sẽ được
nghiên cứu trong Chương 5.

CHƯƠNG 5
MẬT MÃ DỰA TRÊN GIẤU TIN MẬT VÀ CÁC
PHƯƠNG PHÁP OTOMAT CHO MÃ HÓA TÌM KIẾM
Chương này đề xuất một hệ mật mã mới dựa trên lược đồ giấu tin
(2, 9, 8), một kết quả mới được trình bày trong Mục 2.4 của Chương 2,
với độ an toàn cao, trong đó mã hóa và giấu tin được thực hiện cùng
một lúc, bản mã không phụ thuộc vào kích thước ảnh đầu vào như các
kỹ thuật kết hợp mật mã và giấu tin mật hiện đang tồn tại. Tiếp theo
các kết quả của Chương 3 và 4, sử dụng kỹ thuật otomat, được ứng
dụng để thiết kế hai thuật toán cho so mẫu chính xác và xấp xỉ trên dữ
liệu mật được mã hóa bởi hệ mật mã được đề xuất. Các phân tích lý
thuyết nói rằng các thuật toán này đều có độ phức tạp thời gian O(n)
trong trường hợp xấu nhất, trong đó với thuật toán xấp xỉ, giả thiết
rằng nó sử dụng (1 − )m vi xử lý, trong đó , m và n lần lượt là sai
số của độ đo tương tự xâu được định nghĩa mới trong Công thức (5.11)
và các độ dài của mẫu và dữ liệu mật. Trong mã hóa tìm kiếm, hệ mật
mã có thể được ứng dụng để mã hóa và giải mã dữ liệu mật bởi các

16


người dùng và các thuật toán so mẫu được sử dụng bởi các máy chủ
để thực hiện tìm kiếm mẫu.
Các kết quả của Chương 5 đã được công bố trong [T4].
5.1 Giới thiệu
Mục tiêu của chương này là đề xuất một hệ mật mã đối xứng mới
được sử dụng bên phía các người dùng, và các thuật toán cho so mẫu
chính xác và xấp xỉ trên các bản mã được sử dụng bên phía các máy
chủ đám mây. Chúng là những thành phần rất quan trọng trong SSE.
5.2 Một hệ mật mã mới dựa trên lược đồ giấu tin (2, 9, 8)

Hàm Em (tính toán thông tin lật q):
q = q0 ;
For i = 1 to N Do q = δ(q, Ii );
q = δ(q, M );
Hàm Ex (trích M từ I ):
I = I;
For each (it , at ) in q Do Iit = Adjacent(Iit , at );
q = q0 ;
For i = 1 to N Do q = δ(q, Ii );
M = q;
Nhận xét 5.1. Từ định nghĩa hai hàm Em và Ex như ở trên, tất cả
các khối ảnh được sử dụng không bị thay đổi.
Xét Σ là bảng chữ cái có kích thước 256. Đặt P = Σ.
Với biểu diễn thập phân của không gian véc tơ GF 4 (22 ) trên trường
GF (22 ) trong Mục 2.4, khi đó |P| = |GF 4 (22 )| = 256, do đó tồn tại
hàm song ánh f từ P đến GF 4 (22 ), kí hiệu hàm ngược của f là f −1 .
Đặt F là tập tất cả các f .
Từ hàm δ2 , trạng thái q của otomat A(I, M, K) được tính bởi Lệnh
(2.4) là một tập. Giả sử B là một xâu nhị phân có độ dài 12 để biểu
diễn một trạng thái bất kì q.
Đặt Q là tập tất cả các trạng thái có thể q, C là tập tất cả các xâu
12 bít B biểu diễn q, q ∈ Q. Xét hàm h, h : Q → C, h(q) = B, trong
17


đó q được biểu diễn bởi B. Rõ ràng, h là một hàm song ánh. Kí hiệu
hàm ngược của h là h−1 .
Cho K = {(f, K, I)|f ∈ F, K ∈ K, I ∈ I} là một tập hữu hạn các
khóa bí mật. Với k ∈ K , k = (f, K, I), ek và dk được định nghĩa như
sau.

1. ek : P → C, ek (x) = h(Em (I, f (x), K)) với x ∈ P.
2. dk : C → P, dk (y) = f −1 (Ex (h−1 (y), I, K)) với y ∈ C.
Đặt E = {ek |k ∈ K }, D = {dk |k ∈ K }. Từ Định nghĩa 1.13, tính
đúng đắn của hệ mật mã (P, C, K , E, D) được đảm bảo bằng định lý
sau.
Định lý 5.1. Cho ∀x ∈ P, ∀k ∈ K , ek ∈ E và dk ∈ D. Khi đó
dk (ek (x)) = x.
Phân tích an toàn của hệ mật mã (P, C, K , E, D): Giả thiết rằng
công khai các tham số đồ thị lật G, Em , Ex , GF 4 (22 ) và h trong hệ
mật mã (P, C, K , E, D).
c39 9!218 28 !2569 = c39 9!290 28 ! với các ảnh xám,

(5.3)

c39 9!218 29t 28 ! = c39 9!218+9t 28 ! với các ảnh chỉ số.

(5.4)

hoặc
Nhận xét 5.2. Với Nhận xét 5.1, tất cả các cặp của các hàm (ek , dk )
trong hệ mật mã (P, C, K , E, D) không làm các khối ảnh I thay đổi với
∀k ∈ K , k = (f, K, I). Hơn nữa, chúng ta có thể thấy rằng mã hóa và
giấu tin được thực hiện cùng một lúc.
Xem một tập con các khối ảnh F là một ảnh đầu vào, F ⊂ I,
F = {F1 , F2 , . . . , Ft2 }, t2 là số lượng các khối ảnh. Tiếp theo, Mục 5.2
đưa ra cách ứng dụng hệ mật mã (P, C, K , E, D) vào quá trình mã
hóa và giải mã dữ liệu mật qua kênh không an toàn. Với Nhận xét
5.2, chúng ta có thể sử dụng một tập con các khóa bí mật K thay
cho một khóa bí mật k, K = {(f, K, I)|K ∈ K, I ∈ F } ⊂ K với
f ∈ F, K = {K 1 , K 2 , . . . , K t1 }.

Giả sử rằng dữ liệu mật là một xâu x = x1 x2 ..xt3 với xi ∈ P, ∀i =
1, t3 , t3 ≥ 1. Thuật toán mã hóa eK được sử dụng để mã hóa x được
18


cho như sau.
iK = 1;
iF = 1;
For i = 1 to t3 Do
{
ki = (f, K iK , FiF );
yi = eki (xi );
iK = (iK − 1) mod t1 + 1;
iF = (iF − 1) mod t2 + 1;
}
y = y1 y2 ..yt3 ;
Thuật toán giải mã dK được sử dụng để giải mã y được cho như sau.
iK = 1;
iF = 1;
For i = 1 to t3 Do
{
ki = (f, K iK , FiF );
xi = dki (yi );
iK = (iK − 1) mod t1 + 1;
iF = (iF − 1) mod t2 + 1;
}
x = x1 x2 ..xt3 ;
Nhận xét 5.3. Với hai thuật toán eK và dK được cho như ở trên,
một khối ảnh bất kì I trong ảnh đầu vào F có thể được sử dụng nhiều
lần trong quá trình mã hóa và giải mã dữ liệu mật. Vì vậy, với một ảnh

đầu vào cho trước F , dữ liệu mật được mã hóa không bị giới hạn bởi
kích thước ảnh đầu vào F .
5.3 Kỹ thuật otomat cho so mẫu chính xác trên dữ liệu mã
hóa
Giả sử rằng Alice có một dữ liệu mật và thích thuê ngoài dữ liệu
này lên nhà cung cấp đám mây Bob. Vì nhà cung cấp là bán đáng tin
19


cậy, Alice cần mã hóa bản rõ của chị ta và chỉ muốn lưu trữ bản mã
trên đám mây. Giả thiết rằng Alice sử dụng hệ mật mã (P, C, K , E, D)
được đề xuất ở trong Mục 5.2 để mã hóa dữ liệu với một cặp của hai
tham số bí mật (S, k) trong hệ mật mã, trong đó S là một 2-Các phần
tử sinh của GF 4 (22 ) với 9 phần tử và k = (f, K, I) ∈ K .
Vì không gian và khả năng tính toán hạn chế, thay vì tải bản mã
xuống, giả mã nó và tìm kiếm cục bộ, Alice có thể yêu cầu Bob thực
hiện công việc so mẫu trên trực tiếp bản mã với một cửa sập của mẫu
được nhận từ chị ta.
Xem Σ là bảng chữ cái có kích thước 256. Giả sử rằng dữ liệu mật
là một xâu trên Σ, x = x1 x2 ..xt3 với xi ∈ P, ∀i = 1, t3 , t3 ≥ 1 và t3
thường là một số tự nhiên lớn, trong đó P = Σ.
Trước khi tải dữ liệu mật x lên cho Bob, Alice sử dụng hàm mã
hóa ek ∈ E để mã từng xi . Khi đó Alice tính yi = ek (xi ), ∀i = 1, t3 , và
dữ liệu mật được mã hóa là một xâu trên Σ , y = y1 y2 ..yt3 được gửi tới
Bob, trong đó Σ là một bảng chữ cái, Σ = {a |a = ek (a), a ∈ Σ}.
Trong trường hợp tổng quát, với x là xâu bất kì trên bảng chữ cái
Σ và xâu y thu được từ x bằng cách ở trên. Khi đó chúng ta có thể
viết y = ek (x) cho ngắn và y là một xâu trên bảng chữ cái Σ .
Nhận xét 5.4. Với sử dụng chỉ một cặp của hai tham số bí mật (S, k),
khi đó độ an toàn của quá trình mã hóa và giải mã dữ liệu mật x tương

tự như các Công thức (5.3) (với các ảnh xám) hoặc (5.4) (với các ảnh
chỉ số).
Giả sử Bob cần thực hiện công việc so mẫu chính xác của một mẫu
bất kì p trên dữ liệu được mã hóa y. Dựa trên những kết quả được
được giới thiệu trước đây trong Chương 3, ở đây tiếp tục sử dụng kỹ
thuật otomat để giải quyết yêu cầu này.
Định lý 5.2. Cho p là một mẫu trên bảng chữ cái Σ. Cho hai otomat
Mp = (Σ, Qp , q0 , δp , Fp ) và Mp = (Σ , Qp , q0 , δp , Fp ) được xác định
như trong Định lý 3.2. Khi đó Qp = Qp , Fp = Fp , ∀q ∈ Qp ,
∀a ∈ Σ , a = dk (a ), δp (q, a ) = δp (q, a), trong đó p = ek (p).
Nhận xét 5.5. Ý nghĩa của Định lý 5.2 trong thực hành là để tính
δp từ δp .
Cho một mẫu p và một văn bản (dữ liệu mật) x là hai xâu trên
cùng bảng chữ cái Σ và giả thiết |p|
|x|. Với giả thiết rằng chúng ta
20


chỉ có dữ liệu mật được mã hóa y không được giải mã ra dữ liệu mật x,
từ các Mệnh đề 5.2, 5.3 và 5.4, Định lý 5.2, dựa trên thuật toán MRc
với c = 1 và sử dụng điểm gãy loại a và khái niệm Posp trong Chương
3, và bằng cách sử dụng otomat Mp được cho như trong Định lý 3.2,
chúng ta có ngay một thuật toán so mẫu chính xác tìm được tất cả các
xuất hiện của mẫu p trong x như sau. Nhớ rằng cửa sập ứng với mẫu
tìm kiếm p được tính dựa trên p, nó bao gồm độ dài của p, hàm Sign,
Posp và otomat Mp .
jump = |p|;
While (jump ≤ |y|)
{
If (sign(yjump ) == 1)

{
q = 0;
i = jump − P osp (yjump ) + 1;
Do
{
q = δp (q, yi );
If (q == |p|) Mark an occurrence of p at i − |p| + 1 in x;
i + +;
} While (q = 0 and i ≤ |y|);
jump = i − 1;
}
jump = jump + |p|;
}
Nhận xét 5.6. Trong trường hợp xấu nhất, độ phức tạp thời gian của
thuật toán này là O(n).
5.4 Kỹ thuật otomat cho so mẫu xấp xỉ trên dữ liệu mã hóa
Giả sử rằng Bob muốn thực hiện so mẫu xấp xỉ của mẫu bất kì p
trên bản mã y. Từ các kết quả được đề xuất trong Chương 4, kỹ thuật
otomat vẫn được ứng dụng cho giải quyết yêu cầu này.
21


Định lý 5.3. Cho trước một mẫu p trên Σ và một hằng số nguyên
dương c với 1 ≤ c ≤ |p|. Cho hai otomat APp c = (Σ, Qp , q0 , δp , Fp ) và
APp c = (Σ , Qp , q0 , δp , Fp ) được xác định như trong Định lý 4.4. Khi đó
Qp = Qp , Fp = Fp , ∀q ∈ Qp , ∀a ∈ Σ , a = dk (a ), δp (q, a ) = δp (q, a),
trong đó p = ek (p).
Nhận xét 5.7. Ý nghĩa của Định lý 5.3 trong thực hành là để tính
δp từ δp .
Định nghĩa 5.1. Cho trước hai xâu p và x trên Σ, và một độ đo tương

tự xâu d. Cho một sai số , > 0, ∈ . Khi đó p xuất hiện trong x với
sai số nếu tồn tại xâu con u của x sao cho d(p, u) ≤ .
Để xây dựng thuật toán so mẫu xấp xỉ, chúng ta cần một hàm để
đo độ tương tự xâu. Mục này định nghĩa một độ đo tương tự mới giữa
hai xâu
lcs(p, u)
d(p, u) = 1 −
,
(5.11)
min{|p|, |u|}
trong đó p là một mẫu và u là một xâu con của x.
Hằng số c trong Định lý 4.4 được xác định bởi c = (1 − )|p| .
Không giải mã y, dựa trên Định lý 5.3, Định nghĩa 5.1 và Công thức
(5.11), sử dụng otomat APp c được cho như trong Định lý 4.4, chúng ta
có ngay một thuật toán so mẫu xấp xỉ xác định xem p có xuất hiện
trong x không với sai số như sau, trong đó cửa sập tương ứng với
mẫu p được xác định từ p và , nó bao gồm hằng số c và otomat APp c .
app = 0;
q = W0 ; //Trạng thái khởi tạo của otomat APp c được bắt đầu từ W0
For i = 1 to |y| Do
{
q = δp (q, yi );
If (|q| = c) {app=1; Break;}
}
If (app = 1) Announce the appearance of the pattern p in x with the error ;
Else Announce that p does not appear in x with the error .
Nhận xét 5.8. Trong trường hợp xấu nhất, độ phức tạp thời gian của
thuật toán trên là O(n) khi nó sử dụng (1 − )|p| vi xử lý.
22



×