You are on page 1of 23

Học viện Công nghệ Bưu chính Viễn thông

cơ sở TP. HCM

BÁO CÁO CUỐI KÌ


Môn: Kỹ Thuật Giấu Tin
Giảng viên: Phan Nghĩa Hiệp

Thành viên nhóm: 05


STT Họ và tên Mã sinh viên Lớp
1 Dương Công Sáng N18DCAT066 D18CQAT02-N Nhóm Trưởng
2 Lê Hoàng Anh N18DCAT004 D18CQAT02-N
3 Phạm Ngọc Hưng N18DCAT0 D18CQAT02-N

4 Trịnh Văn Trung N18DCAT0 D18CQAT02-N


5 Nguyễn Thanh Thông N18DCAT0 D18CQAT02-N

TPHCM 05/2022
LỜI CẢM ƠN
Em xin chân thành cám ơn thầy Phan Nghĩa Hiệp đã tạo mọi điều kiện thuận lợi cho nhóm em
trong suốt quá trình học tập.

Trong quá trình thực hiện đồ án nhóm em luôn cố gắng tìm hiểu, trao đổi và học hỏi kiến thức mới
để hoàn thành đề tài một cách tốt nhất. Tuy nhiên cũng không tránh khỏi những sai sót. Mong Thầy xem
xét và góp ý giúp nhóm để đề tài hoàn thiện hơn.

Xin chân thành cảm ơn. TPHCM, 12/05/2022

NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN


Điểm:...........................................................................................................................................................

Nhận xét: ....................................................................................................................................................

....................................................................................................................................................................

....................................................................................................................................................................

....................................................................................................................................................................

....................................................................................................................................................................

....................................................................................................................................................................

....................................................................................................................................................................

....................................................................................................................................................................

....................................................................................................................................................................

....................................................................................................................................................................

....................................................................................................................................................................

....................................................................................................................................................................

....................................................................................................................................................................

....................................................................................................................................................................
Mục lục
NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN......................................................................................2
I. Tổng quan kỹ thuật giấu tin trong ảnh............................................................................................4
1. Khái niệm và nghiên cứu liên quan.............................................................................................4
2. Phân loại giấu tin...........................................................................................................................6
3. Tính chất kỹ thuật giấu tin............................................................................................................7
a. Khả năng nhúng tin...................................................................................................................7
b. Khả năng che giấu (tính ẩn)......................................................................................................7
c. Tính bảo mật..............................................................................................................................8
4. Một số ứng dụng của kỹ thuật giấu tin.........................................................................................8
II. Giấu tin trong ảnh nhị phân.............................................................................................................9
1. Tổng quan......................................................................................................................................9
2. Tìm hiểu về thuật toán giấu tin của M.Y.Wu và J.H.Lee ( WL )...............................................9
a. Sự ra đời và ý tưởng..................................................................................................................9
b. Thuật toán................................................................................................................................10
III. Hình Thành Thuật Toán Và Ví Dụ ...............................................................................................10
IV. Demo của nhóm...............................................................................................................................13
V. CHI TIẾT CODE KĨ THUẬT WU-LEE.......................................................................................18
Các Phương Thức Chính Trong Wulee-Agorithm code ......................................................................18
1. Mã hoá và giấu tin.......................................................................................................................19
2. Giải mã và nhận tin.....................................................................................................................21
VI. Phân chia công việc..........................................................................................................................23
I. Tổng quan kỹ thuật giấu tin trong ảnh.
1. Khái niệm và nghiên cứu liên quan
- Theo quan điểm của nghiên cứu sinh: Giấu tin mật trong ảnh số (còn gọi là thông tin
giấu trong ảnh số) có nghĩa là Thông tin sẽ được giấu cùng với dữ liệu ảnh nhưng chất
lượng ảnh ít thay đổi và không ai biết được đằng sau ảnh đó có chưa thông tin hay
không. Ngày nay, khi ảnh số đã được sử dụng rất phổ biến, thì giấu thông tin trong ảnh
đã đem lại rất nhiều những ứng dụng quan trọng trên nhiều lĩnh vực trong đời sống xã
hội. Một đặc điểm của giấu thông tin trong ảnh đó là thông tin được giấu trong ảnh
một cách vô hình, nó như là một cách mà truyền thông tin mật cho nhau mà người
khác không thể biết được bởi sau khi giấu thông tin thì chất lượng ảnh gần như không
thay đổi đặc biệt đối với ảnh mầu hay ảnh xám.
- Năm 2012, báo chí đã được các cơ quan điều tra tiết lộ thông tin tên trùm khủng bố
quốc tế Osma BinLaDen đã sử dụng cách thức giấu tin trong bức ảnh để mã hóa tốt
hơn nhằm mục đích trao đổi, ra lệnh cho cấp dưới. Ngoài ra, chúng còn dùng quyển
kinh thánh được viết bằng tiếng Anh nhằm chuyển các bản khóa và giải mã để phục vụ
liên lạc bí mật. Cục tình báo trung ương Mĩ (CIA) và các cơ quan an ninh quốc tế đã bị
qua mặt về vấn đề này. Sau khi được công bố, việc nghiên cứu các vấn đề liên quan
đến giấu thông tin trong ảnh và phát hiện ảnh giấu tin ngày càng được quan tâm trên
toàn thế giới không chỉ với các cơ quan đặc biệt mà còn cả các nhà mật mã học. Có
khá nhiều công trình nghiên cứu về kỹ thuật giấu tin trong ảnh đã được công bố trên
IEEE. Hình 1.1 thống kê từ năm 1996 đến năm 9/2015 số lượng nghiên cứu được công
bố về steganography (giấu tin mật) là 1855 công trình.

Hình 1.1: Số lượng nghiên cứu về Steganography và các dạng giấu tin trong ảnh,
video, audio được IEEE xuất bản từ năm 1996 đến năm 2015.
- Những thông tin trong hình 1.2 mặc dù đã cũ (do các tài liệu mà luận án tham khảo chỉ
cập nhập đến năm 2007-2008) so với thời điểm thực hiện nội dung nghiên cứu của
mình, tuy nhiên vì nhiều lý do khác nhau, những số liệu thống kê về nghiên cứu bảo
mật thường ít được công bố trên các phương tiện thông tin. Ngoài ra, các thuật toán
giấu tin cũng như các kỹ thuật watermark đều không được công bố rộng rãi vì lý do
nhạy cảm cũng như các ứng dụng của nó đối với an ninh thương mại điện tử, đặc biệt là
quốc phòng-an ninh. Luận án cũng chưa tìm thấy các thống kê về nghiên cứu này ở các
mốc thời gian những năm gần đây.
- Từ các hình 1.1, 1.2 cho thấy tỷ lệ giữa giấu tin giữa các định dạng đa phương tiện là
khác nhau, trong đó, giấu tin trong ảnh chiếm tỷ lệ lớn nhất. Giấu tin trong ảnh được sử
dụng nhiều nhất vì các lý do như dễ thực hiện nhất, tỷ lệ giấu được nhiều thông tin nhất
và hiện nay ảnh số được sử dụng nhiều nhất trên mạng viễn thông nói chung. Ngoài ra
giấu thông tin trong ảnh chiếm tỉ lệ lớn nhất trong các chương trình ứng dụng, các phần
mềm, do lượng thông tin được trao đổi bằng ảnh là rất lớn.

Hình 1.2: Tỷ lệ và số lượng các ứng dụng giấu dữ liệu trong dữ liệu đa phương
tiện năm 2008.

- Giấu tin trong ảnh gồm hai giai đoạn: nhúng thông tin vào ảnh gốc và tách thông tin đã
giấu. Để tăng cường độ an toàn cho thông tin đem giấu, thường thì trước khi giấu thông
tin có thể được mã hóa bằng kỹ thuật mã hóa nào đó. Trong quá trình tách tin, người ta
thực hiện các bước ngược lại.
- Đối với dữ liệu hình ảnh, tính che giấu của phương pháp giấu tin có thể được đánh giá
thông qua chất lượng ảnh chứa tin so với ảnh gốc bằng hệ số PSNR (Peak Signal-to-
Noise Ratio). Lược đồ nào có giá trị PSNR càng lớn thì chất lượng ảnh càng cao (tính
che giấu càng cao).
Hình 1.3: Sơ đồ quá trình giấu tin trong ảnh

- Một số phép biến đổi được sử dụng chủ yếu trong quá trình giấu tin và tách tin như
sau: các phép biến đổi cosine, wavelet, fourier rời rạc.
- Để nâng cao tính bền vững, các thuật toán giấu tin thường biến đổi ảnh số từ miền
không gian sang một miền biểu diễn mới (miền biến đổi), hay còn gọi là miền tần số
và lựa chọn những đặc trưng thích hợp để nhúng tin, sau đó dùng phép biến đổi
ngược tương ứng để chuyển dữ liệu từ miền biến dổi về miền không gian. Một số
phép biến đổi thường được sử dụng như: DCT và DWT, NMF (Non-negative Matrix
Factorization), SVD (Singular Value Decomposition) và phép biến đổi QR. Nhóm kĩ
thuật này sử dụng một phương pháp biến đổi trực giao nào đó, chẳng hạn như Cosine
rời rạc, hay Fourier… để chuyển miền không gian ảnh sang miền tần số. Thuỷ vân sẽ
được nhúng trong miền không gian tần số của ảnh theo kĩ thuật trải phổ trong truyền
thông. Đây là kĩ thuật phổ biến nhất với nhiều thuật toán và được hứa hẹn là một
phương pháp tốt giải quyết vấn đề đảm bảo hai thuộc tính quan trọng của thuỷ vân
sau khi giấu.
- Biến đổi cosine rời rạc được thực hiện theo chuẩn nén ảnh JPEG, miền dữ liệu pixel
của ảnh được chia thành các miền nhỏ (thường là kích cỡ 8x8 hoặc 16x16 pixel) sử
dụng phép biến cosine rời rạc được các hệ số cosine, thông tin thường được giấu vào
các hệ số cosine có giá trị lớn nhất hoặc nằm ở miền tần số giữa như các kỹ thuật
giấu.
- Biến đổi wavelet rời rạc, sử dụng phép biến đổi wavelet rời rạc biển đổi miền dữ liệu
pixel thành bốn băng tần mới LL, LH, HL, HH. Các giá trị trên bốn băng tần này gọi
là các hệ số wavelet. Theo nhận định của những nhà giấu tin thì khi có thay đổi nhỏ
các hệ số wavelet trên hai băng tần cao LH và HL (một số kỹ thuật giấu sử dụng cả
băng tần HH) sẽ ít ảnh hưởng đến chất lượng trực quan của ảnh ban đầu như các kỹ
thuật giấu.

2. Phân loại giấu tin.


Có thể phân loại kỹ thuật giấu tin làm hai hướng:
 Giấu tin mật (Steganography).
 Thủy vân số (Watermarking).
 Giấu tin mật (Steganograph) quan tâm tới việc giấu các tin sao cho thông tin
giấu được càng nhiều càng tốt và quan trọng là người khác khó phát hiện được
một đối tượng có bị giấu tin bên trong hay không bằng kỹ thuật thông thường.
 Thủy vân số (Watermarking) đánh giấu vào đối tượng nhằm khẳng định bản
quyền sở hữu hay phát hiện xuyên tạc thông tin.
So sánh Giấu tin mật Thủy vân số
Mục đích * Che giấu sự hiện hữu của * Thêm vào thông tin
thông điệp. bản quyền.
* Thông tin che giấu độc * Che giấu thông tin
lập với vỏ bọc. gắn với đối tượng vỏ
bọc
Yêu cầu * Không phát hiện được * Tiêu chuẩn bền
thông tin bị che giấu vững
* Dung lượng tin được giấu
Tấn công thành công * Phát hiện ra thông điệp bí * Thủy phân bị phá
mật bị che giấu vỡ

3. Tính chất kỹ thuật giấu tin


Các kỹ thuật giấu tin đều có một số tính chất (khả năng) chung giống nhau như: khả
năng nhúng tin, khả năng che giấu (tính ẩn) và khả năng bảo mật.
a. Khả năng nhúng tin
Khả năng nhúng tin của một thuật toán giấu tin là số bít dữ liệu có thể
nhúng được trên một đơn vị dữ liệu môi trường. Thuật toán nào nhúng được nhiều
dữ liệu hơn thì có khả năng nhúng tin cao hơn và ngược lại. Khả năng nhúng tin
là một trong những tính chất quan trọng nhất của kỹ thuật giấu tin. Thường người
ta đo khả năng giấu tin bởi tỷ lệ giấu tin , tức là tỷ số giữa các bít thông tin giấu
được so với số lượng các LSB của ảnh mà không làm ảnh hưởng đáng kể chất
lượng của ảnh.

b. Khả năng che giấu (tính ẩn)


Hệ số PSNR được dùng để tính toán khả năng che giấu của thuật toán giấu
tin [46]. Giá trị PSNR càng lớn, khả năng che giấu càng cao và ngược lại. Hệ số
PSNR giữa ảnh mang tin S (Steago) so với ảnh gốc C (Cover) kích thước m x n
được tính theo công thức dưới đây.
PSNR = 20log10(MAX/sqrt(MSE))
Còn tham số MSE được tính như sau:
1 m n
mn ∑ ∑ [C ( i , j )−S (i , j)]2
MSE =
i=1 j=1
Trong đó, MAX là giá trị cực đại của điểm ảnh và MSE là sai số bình
phương trung bình. Giá trị PSNR tính theo đơn vị decibel (dB).
Đối với một thuật toán giấu tin, khả năng nhúng tin và khả năng che giấu
có quan hệ mật thiết với nhau. Đối với mỗi thuật toán giấu tin, khi tăng dữ liệu
nhúng thường làm giảm chất lượng ảnh chứa tin. Do vậy, tùy thuộc vào từng
trường hợp, các thuật toán giấu tin đưa ra những giải pháp khác nhau nhằm cân
bằng hai tính chất này.

c. Tính bảo mật


Tương tự như các hệ mật mã, các thuật toán giấu tin thường được công
khai khi ứng dụng. Do đó, sự an toàn của phương pháp giấu tin phụ thuộc vào độ
khó của việc phát hiện ảnh có chứa thông tin mật hay không. Mỗi khi thu được
các ảnh số, làm thế nào để phát hiện được trong các ảnh đó, ảnh nào nghi có chứa
thông tin ẩn? Đối với các hệ thống thông tin liên lạc bí mật, khi sử dụng các thuật
toán giấu tin chúng ta cần bảo mật được các thuật toán giấu tin đó để bảo đảm ảnh
chứa tin mật không bị phát hiện và không thể tách thông tin đã giấu ra khỏi ảnh
đó khi bị tấn công trên đường tuyền.

4. Một số ứng dụng của kỹ thuật giấu tin.


Giấu tin trong ảnh số ngày càng được ứng dụng rộng rãi trong nhiều lĩnh vực. Các ứng
dụng có sử dụng đến giấu tin trong ảnh số có thể là: Bảo vệ bản quyền tác giả (Copyright
Protection), Điểm chỉ số(fingerprinting), Gán nhãn(Labelling), Giấu thông tin
mật(Steganography)…
- Bảo vệ bản quyền: Là ứng dụng cơ bản nhất của kỹ thuật thuỷ vân số (watermarking) -
một dạng của phương pháp giấu tin. Một thông tin nào đó mang ý nghĩa sở hữu quyền tác
giả (người ta gọi nó là thuỷ vân - watermark) sẽ được nhúng vào trong các sản phẩm,
thuỷ vân đó chỉ có một mình người chủ sở hữu hợp pháp các sản phẩm đó có và được
dùng làm minh chứng cho bản quyền sản phẩm. Giả sử có một thành phẩm dữ liệu dạng
đa phương tiện như ảnh, âm thanh, video cần được lưu thông trên mạng. Để bảo vệ các
sản phẩm chống lại hành vi lấy cắp hoặc làm nhái cần phải có một kỹ thuật để “dán tem
bản quyền” vào sản phẩm này. Việc dán tem hay chính là việc nhúng thuỷ vân cần phải
đảm bảo không để lại một ảnh hưởng lớn nào đến việc cảm nhận sản phẩm. Yêu cầu kỹ
thuật đối với ứng dụng này là thuỷ vân phải tồn tại bền vững cùng với sản phẩm, muốn
bỏ thuỷ vân này mà không được phép của người chủ sở hữu thì chỉ còn cách là phá huỷ
sản phẩm.
- Điểm chỉ số: Mục tiêu của điểm chỉ số là để chuyển thông tin về người nhận (chứ không
phải chủ sở hữu) sản phẩm phương tiện số nhằm xác định đây là bản sao duy nhất của sản
phẩm. Về mặt ý nghĩa điểm chỉ số tương tự như số xê ri của phần mềm.
- Gán nhãn: Tiêu đề, chú giải và nhãn thời gian cũng như các minh hoạ khác có thể được
nhúng vào ảnh, ví dụ đính tên người lên ảnh của họ hoặc đính tên vùng địa phương lên
bảng đồ. Khi đó nếu sao chép ảnh thì cũng sẽ sao chép cả các dữ liệu nhúng trong nó. Và
chỉ có chủ sở hữu của tác phẩm, người có được khoá mật (Stego-Key) mới có thể tách ra
và xem các chú giải này. Trong một cơ sở dữ liệu ảnh, người ta có thể nhúng các từ khoá
để các động cơ tìm kiếm có thể tìm nhanh một bức ảnh. Nếu ảnh là một khung ảnh cho cả
một đoạn phim, người ta có thể gán cả thời điểm diễn ra sự kiện để đồng bộ hình ảnh
vớiâm thanh. Người ta cũng có thể gán số lần ảnh được xem để tính tiền thanh toán theo
số lần xem.
- Giấu thông tin mật: Trong nhiều trường hợp sử dụng mật mã có thể gây ra sự chú ý
ngoài mong muốn. Ngoài ra việc sử dụng công nghệ mã hoá có thể bị hạn chế một số kỹ
thuật giấu tin trong ảnh mầu hoặc cấm sử dụng. Ngược lại việc giấu tin trong môi trường
nào đó rồi gửi đi trên mạng ít gây sự chú ý. Có thể dùng nó để gửi đi một bí mật thương
mại, một bản vẽ hoặc các thông tin nhạy cảm khác.

II. Giấu tin trong ảnh nhị phân.


1. Tổng quan
- Đối tượng làm môi trường chứa tin của thuật toán này là ảnh nhị phân đen trắng dạng
bitmap. Ảnh nhị phân đen trắng bao gồm các điểm ảnh chỉ có màu đen hoặc trắng (tương
ứng với bit 0 hoặc bit 1). Để giấu dữ liệu, ta sẽ tách ma trận điểm ảnh (pixel) thành ma
trận bit F kích thước mxn rời nhau, và giấu tin trên mỗi ma trận đó, Bởi vậy các thuật
toán chỉ cần quan tâm tới phương pháp giấu dữ liệu trên ma trận F.
- Một số thuật toán giấu tin trên ảnh nhị phân nổitiếng hiện nay như:WuLee, CPT,
CPTE,.... Các thuật toán này đều dựa trên thao tác biến đổi ma trận bit.

2. Tìm hiểu về thuật toán giấu tin của M.Y.Wu và J.H.Lee ( WL )


a. Sự ra đời và ý tưởng
Năm 1998, M. Y. Wu và J. H. Lee đề xuất thuật toán giấu tin Wu-Lee theo
khối [39], trong đó một ảnh nhị phân dùng làm môi trường giấu tin được chia
thành các khối đều nhau, mỗi khối là một ma trận nhị phân. Thông tin mật là một
bít mật được giấu vào mỗi khối này bằng cách thay đổi nhiều nhất một bit của
khối.
Kỹ thuật giấu thông tin trong ảnh đen trắng do M.Y.Wu và J.H.Lee vẫn
dựa trên tư tưởng giấu một bit thông tin vào một khối ảnh gốc nhưng đã khắc
phục được phần nào những tồn tại của mã hóa khối bằng cách đưa thêm khoá K
cho việc giấu tin và đưa thêm các điều kiện để đảo bit trong mỗi khối, theo điều
kiện đó các khối ảnh gốc toàn màu đen hoặc toàn màu trắng sẽ không được sử
dụng để giấu tin.
Quá trình biến đổi khối ảnh F thành F’ để giấu 1 bit b được thực hiện theo
công thức:
SUM(K^F’) mod 2 = b
Công thức này cũng được sử dụng cho quá trình tách, lấy tin đã giấu.
Đánh giá về thuật toán giấu tin Wu-Lee là chỉ có thể giấu được 1 bit thông tin vào
một khối m×n bit và cũng chỉ thay đổi tối đa 1 bit.
b. Thuật toán
Input: F là ảnh mang; b là bit bí mật cần giấu; K là khóa bí mật (Ma trận m x n).
Output: ảnh đã được giấu bit b bí mật.

Ký hiệu: SUM(F) là số các số 1 có trong ma trận F.

B1: Chia F thành các khối nhỏ Fi có kích thước m x n (như ma trận K).
B2: Với mỗi khối nhỏ Fi, kiểm tra điều kiện: 0 < SUM(Fi ^ K) < SUM(K).
Nếu đúng thì sang B3, để giấu b vào Fi; Nếu không đúng thì giữ nguyên
Fi .
B3: Giả sử bit cần giấu vào khối Fi là b. Thay đổi Fi như sau:
if(SUM(Fi ^ K) mod 2 =b) then giữ nguyên Fi;
else if(SUM(Fi ^ K) = 1) then
chọn ngẫu nhiên 1 bit thỏa mãn [Fi]jk = 0 & [K]jk =1, lật [Fi]jk thành
1;
else if (SUM(Fi ^ K) = SUM(K) – 1) then
chọn ngẫu nhiên 1 bit thỏa mãn [Fi]jk = 1 & [K]jk = 1 lật [Fi]jk thành
0;
else chọn ngẫu nhiên 1 bit thỏa mãn [K]jk = 1, lật bit [Fi]jk
từ 0 thành 1 hay từ 1 thành 0;

III. Hình Thành Thuật Toán Và Ví Dụ .


Ta tiến hành phân tích các loại ảnh (.jpg, .jpeg, .png).
Ảnh này sẽ được đọc theo trình tự channel BGR (blue, green, red). Tức ảnh này sẽ
là 1 ma trận 3 chiều, chiều rộng (witdth), cao (height), sâu (depth).
- Chiều rộng sẽ biểu thị số cột của ma trận.
- Chiều cao sẽ biểu thị số hàng của ma trận.

Bắt đầu ví dụ:


Giả sử ảnh trên có height = 100, width = 200. Kí hiệu là (100x200).
 Tổng số điểm ảnh (pixel): là 100 x 200 = 20.000 điểm ảnh.
 1 điểm ảnh có 3 giá trị BGR. Tách ra được 3 ma trận 2 chiều giá nơi mà chỉ
có toàn bộ là giá trị số nguyên của blue channel hoặc toàn bộ là giá trị số
nguyên của green channel và tương tự red channel cũng vậy.
 Vậy ta sẽ có 3 ma trận 2 chiều channel_blue = [….], channel_green = [….],
channel_red = [….].

Giả sử key nhập vào là “sang”.

[ ]
115=s
97=a
 Ta sẽ biến “sang” thành 1 ma trận số nguyên theo bảng ASCII key = 110=n
103=g

[ ]
115=s
97=a
 Từ key = 110=n , ta sẽ đổi từng số nguyên trong đó thành số nhị phân có độ
103=g

dài 8 bit.
[ ]
011100112=11510
01100001 =97
 keyMaxtrix= 01101110 2=11010 . Như vậy ta đã có được ma trận khóa. Ngoài ra,
2 10
011001112=10310

ta cũng đã có được block_height = 4, block_width = 8


 Nhưng điều kiện để có thể tạo 1 key đó chính là khi ta đổi key thành
keyMaxtrix thì block_width của nó sẽ luôn luôn bằng 8, vì chỉ có thể đổi
thành nhị phân có độ dài 8 bit mà thôi. Còn với block_height của nó thì sẽ
biến đổi theo độ dài của chuỗi khóa, ở ví dụ này độ dài của “sang” là 4.
 Từ đó, ta có thể hiểu rằng độ dài của chuỗi khóa không được lớn hơn độ
cao (height) của ảnh cover.

Giả số tin nhắn mật là “a”. Ta đổi a = 9710 =011000012


Bắt đầu quá trình giấu tin:
 Ta sẽ bắt đầu dấu tin trong từng channel một (hideInChannel), 1 channel này
được dùng hết để giấu thì sẽ tới channel kế tiếp. ( Vì ta giấu ảnh màu RGB
nên sẽ ứng 3 channel, mỗi channel sẽ là 1 mảng 2 chiều.
 Trong channel mà ta đang thực hiện giấu tin, ta sẽ tách ra từng block ma
trận số nguyên, mà ma trận này sẽ có độ dài height = block_height, width =
1.

[]
71
62
 Gia sử ta tách nhỏ ra rồi lấy block đầu tiên có giá trị là: blockInt = 38 .

[ ]
010001112=7110
00111110 =62
 Biến blockInt thành ma trận nhị phân blockBin= 001001102=3810 . Như vậy, ta
2 10

đã có được 1 ma trận nhị phân blockBin bằng với kích thước của ma trận
khóa keyMaxtrix để giấu 1 bit dữ liệu vào trong đó.
 Tiến hành, dùng thuật toán Wu-lee ( giấu các bit ở các vị trí thõa mãn điều
kiện trong block), ta sẽ cho ra 1 blockBin’ mới. Sau đó biển đổi blockBin’
này thành một blockInt’ mới. Cuối cùng ta sẽ gán tiếp blockInt = blockInt’.
 Tiếp tục làm như vậy cho đến khi giấu hết được các bit thông tin.

Quá trình trích xuất tin cũng làm như vậy.


 Tách tin lấy số lượng tin nhắn trước
 Khi đã có được số lượng thì mới tiếp tục lấy kí tự.
Sau khi đã trích xuất được hết các bit thông tin và gán chúng vào 1 biến, ta
sẽ tiếng hành biến ngược chuỗi nhị phân đó thành chuỗi kí tự.

IV. Demo của nhóm


- Màn hình chờ

- Ấn Start để tiếp tục chạy, Exit để tắt phần mềm


- Sau khi chờ xong phần mềm sẽ chạy, ấn vào Browse để chọn ảnh
- Sau khi chọn ảnh chúng ta sẽ set key cho ảnh ( key phải dài hơn 4 kí tự), và thêm Messages mà
chúng ta muốn giấu, sau khi hoàn thành từng bước sẽ có thông báo dưới phần Notifications,
cuối cùng nhấn Hide để ẩn đoạn tin vào ảnh.

- Nếu muốn giải mã đoạn tin nhắn trong ảnh chúng ta chọn ảnh, đặt key cũ vào ( phải đúng key,
không thì sẽ không giải mã được )
- Lưu ảnh bằng ảnh mới chọn Save
- Nếu muốn xem trước ảnh để giải mã ( trước và cả sau khi giấu tin đều xem được) thì click vào
nút Preview
Link Demo : https://www.youtube.com/watch?v=l5SO0mO61K4&t=119s

V. CHI TIẾT CODE KĨ THUẬT WU-LEE


Các Phương Thức Chính Trong Wulee-Agorithm code .
- setMessage() : gán tin nhắn vào 1 biến message và chuyển tin nhắn đó
thành 1 chuỗi nhị phân dài “01011….” Và gán vào 1 biến bin_message.
- setRetrieveMax() : gán số lượng kí tự có thể trích xuất được, khi vào trong
đó hàm sẽ đổi thành số lượng bit có thể trích xuất được bằng cách nhân thêm
8
- fi_to_binary() : chuyển block số integer thành block nhị phân.
- fi_to_int() : chuyển block nhị phân thành block số int.
- hide() : bắt đầu giấu tin.
- hideInChannel() : giấu tin trong 1 channel nhất định.
- hideInBlock() : giấu tin trong khối.
- retrieve() : bắt đầu trích xuất.
- retrieveInChannel(): trích xuất trong 1 channel nhất định.
- retrieveInBlock() : trích xuất trong khối.

1. Mã hoá và giấu tin


- Đầu tiên sẽ là setKey: Khởi tạo ma trận khóa với kích thước rows = keyString.length(), cols = 8

- Nó sẽ tạo ra ma trận key:

- setCoverImage: Đọc theo cấu trúc BGR


- setMessage: tạo ma trận Message

- Giấu tin dựa trên công thức Wu – Lee

- Nó sẽ giấu tin vào các khối nhỏ Fi


2. Giải mã và nhận tin
- Đảo ngược công thức Wu-Lee để giải mã
- Trích xuất

- Đổi từ ma trận ra binanry và interger để nhận tin nhắn


VI. Phân chia công việc
Họ Tên Mã Số Sinh Viên Công Việc

Dương Công Sáng N18DCAT066 - Giấu tin trong ảnh bằng kĩ


thuật wu-lee.
- Kiểm tra tiến độ làm việc của
các bạn, nâng cấp và sửa đổi
các chức năng (nếu có) để
hoàn thiện đồ án.
Trịnh Văn Trung N18DCAT098 - Giải mã tin trong ảnh bằng kĩ
thuật wu-lee.
- Phối hợp với các bạn làm báo
cáo word.
Nguyễn Thanh N18DCAT088 - Chuẩn bị các hàm cơ sở cho
Thông thuật toán wu-lee ( thay thế
bit, tính số lượng bit có thể
giấu )
- Hỗ trợ xây dựng giao diện bổ
sung ( Loading , Login ).

Phạm Ngọc Hưng N18DCAT032 - Kĩ thuật load ảnh xem trước,


lưu ảnh , Design giao diện cho
App
- Phối hợp các bạn làm báo cáo
powerpoint.
Lê Hoàng Anh N18DCAT004 - Chuyển về nhị phân, chuyển
từ nhị phân sang cypher Text.
- Tìm hiểu các kĩ thuật tiền xử
lý ảnh ( height , width , số
pixel ảnh , chia thành các
khối).

You might also like