Giấu tin trong video 3D kết hợp mật mã 
Nguyễn Lương Nhật 
Học Viện Công Nghệ Bưu Chính Viễn Thông 
Tp. Hồ Chí Minh, Việt Nam 
Email: 
[email protected] 
Đào Duy Liêm, Nguyễn Thị Minh Thy 
Đại Học Công Nghệ Sài Gòn 
Tp. Hồ Chí Minh, Việt Nam 
Email: 
[email protected], 
[email protected]
Tóm tắt—Bài báo này trình bày một hệ thống truyền 
tin mật an toàn, kết hợp các thuật toán mã hóa mạnh mẽ 
nhất (AES, RSA và SHA3) với kỹ thuật giấu tin trong 
video 3D. Sự kết hợp này tạo nên một hệ thống truyền tin 
mật mạnh mẽ trước nhiều loại tấn công thám mã và giả 
mạo. Dữ liệu mật sẽ được mã hóa bởi các thuật toán đủ 
mạnh trước khi nhúng vào video 3D bằng kỹ thuật 
Steganography. Trong khi các tầng mã hóa đảm bảo tính 
an toàn, xác thực cho thông tin mật và đối tượng chứa thì 
kỹ thuật Steganography sẽ tạo thêm một mức bảo mật 
nữa: sự che giấu. 
Từ khóa— AES; RSA; SHA3; Steganography; Video 3D 
I. GIỚI THIỆU 
Truyền thông tin an toàn trên các kênh không an 
toàn, ví dụ như internet, đã trở thành vấn đề nóng trong 
các nghiên cứu từ nhiều năm nay. Với sự phát triển 
không ngừng của mật mã khóa đối xứng và bất đối xứng, 
truyền thông qua internet ngày càng an toàn và bảo mật. 
Cũng với mục đích bảo mật thông tin, một hướng 
tiếp cận khác thực hiện ghi thông tin ẩn vào các đối 
tượng chứa số khác, đó là kỹ thuật giấu tin 
(Steganography). Không giống với mật mã, kỹ thuật 
giấu tin sẽ làm cho thông tin mật “vô hình” trên đối 
tượng chứa, vì vậy đối tượng chứa được chọn phải là 
loại phương tiện phổ biến trên đường truyền. Cùng với 
nhu cầu ngày càng cao của con người, công nghệ 3D 
ngày càng phát triển. Một khi mọi người đã dần quen với 
việc sử dụng công nghệ 3D thì giấu tin trong các đối 
tượng chứa 2D sẽ không còn đảm bảo tính ngụy trang 
nữa [1], [2]. Khi đó cần có các hướng nghiên cứu tiếp 
theo về kỹ thuật giấu tin với phương tiện chứa là các đối 
tượng 3D. 
Sự kết hợp của mật mã và giấu tin sẽ làm tăng độ tin 
cậy của một kênh thông tin mật, vì ngoài quá trình mã 
hóa và giải mã, chúng được bổ sung thêm hai quá trình 
là giấu tin và tách tin. Hệ thống kết hợp này sẽ làm cho 
các thám mã khó khăn hơn khi phải cố gắng nhận ra đối 
tượng có ẩn dữ liệu trước khi bóc tách và giải mã chúng. 
Ngay cả trong các hệ thống sử dụng mật mã yếu hơn 
cũng rất khó để nhận ra việc truyền tin có ẩn dữ liệu mật 
bởi tính ngụy trang cao của các kỹ thuật giấu tin tiên 
tiến. 
II. CÁC NGHIÊN CỨU LIÊN QUAN 
Trong [3], [4], tác giả đã trình bày phương pháp giấu 
tin trong miền không gian chủ yếu dùng kỹ thuật LSB 
(Least Significant Bit). Phương pháp này dễ thực hiện và 
cũng dễ dàng bị tấn công để bóc tách thông tin. Trong 
[5] [6] các tác giả đã thực hiện giấu thông tin trong video 
nhưng thực tế thông tin chỉ được nhúng trong các khung 
ảnh của video còn phần âm thanh đi kèm thi chưa được 
khai thác. 
Phương pháp kết hợp kỹ thuật mật mã và giấu tin 
cũng đã được thực hiện trong [7] [8] [9] và kết quả đạt 
được rất đáng ghi nhận vì đã tăng tính bảo mật cho hệ 
thống truyền tin. Tuy nhiên, vẫn còn tồn tại một số vấn 
đề: trong [7] việc truyền các khóa mật trên các kênh an 
toàn gây không ít tốn kém cho hệ thống, trong [8] thuật 
toán RSA (Rivest, Shamir & Adelman) được sử dụng để 
mã hóa thông tin mật, khi dung lượng thông tin mật lớn 
thì phương pháp này không hiệu quả, còn trong [9] khóa 
công khai được lựa chọn để mã hóa truyền các khóa mật 
nhưng hệ thống này chỉ dùng thuật toán RSA 512 bit 
thực tế là không an toàn theo NIST (National Institute of 
Standards and Technology) và vẫn chưa đảm bảo tính 
chứng thực của thông tin mật. 
Trong hệ thống của chúng tôi sử dụng sử dụng thuật 
toán giấu tin parity, cùng với việc tăng tính ngẫu nhiên 
của các bit nhúng vào đối tượng chứa. Điều này giúp hệ 
thống chống lại các phương pháp tấn công nhằm bóc 
tách thông tin. Thông tin sẽ được nhúng vào cả phần âm 
thanh và hình ảnh của video 3D chứa. Thiết kế sử dụng 
đồng thời hai thuật toán mã hóa AES và RSA nên sẽ làm 
tăng độ bảo mật và tăng tốc độ thực hiện của hệ thống. 
III. CHUẨN MẬT MÃ TIÊN TIẾN AES 
Chuẩn mã hóa dữ liệu tiên tiến AES (Advanced 
Encryption Standard) là một hệ mã khóa bí mật có tên là 
Rijndael cho phép xử lý các khối dữ liệu đầu vào có kích 
thước 128 bit sử dụng các khóa có độ dài 128, 192 hoặc 
256 bit [10]. Ban đầu hệ mã Rijndael được thiết kế để có 
thể làm việc với các khóa và các khối dữ liệu có độ dài 
lớn hơn. Tuy nhiên khi được NIST chọn là một chuẩn 
vào năm 2001, nó được qui định chỉ làm việc với các 
khối dữ liệu 128 bit và các khóa có độ dài 128, 192 hoặc 
256 bit (do đó còn gọi là AES-128, AES-192, AES-256). 
 Hội thảo quốc gia 2014 về Điện tử, Truyền thông và Công nghệ thông tin (ECIT2014) 
ISBN: 978-604-67-0349-5 366
 Hình 1. Lưu đồ thực hiện thuật toán AES 
Độ dài của ngõ vào, ngõ ra và các trạng thái (state) 
của chuẩn mã hóa AES là 128 bit tương ứng với giá trị 
của Nb = 4 (là số lượng các word 32-bit và cũng là số 
cột của mỗi trạng thái). Khóa của AES có độ dài là 128, 
192 hoặc 256 bit tương ứng với các giá trị của Nk là 4, 6, 
hoặc 8 và cũng là số cột của khóa mã hóa. Tương ứng 
với độ dài của khóa sử dụng số vòng lặp của thuật toán 
(Nr) nhận các giá trị 10 (Nk = 4), 12 (Nk = 6) hoặc 14 
(Nk = 8). 
Toàn bộ thuật toán AES được mô tả trong hình 1 với 
ba quá trình: mã hóa, giải mã và mở rộng khóa. Các 
khóa con sử dụng trong quá trình mã hóa và giải mã 
được tạo ra từ quá trình mở rộng khóa với đầu vào là 
khóa mật 128, 192 hoặc 256 bit. 
IV. HỆ MẬT MÃ KHÓA CÔNG KHAI RSA 
Hệ mật mã khóa công khai RSA được xây dựng bởi 
các tác giả Ron Rivest, Adi Shamir và Len Adleman tại 
học viện MIT vào năm 1977, nó đánh dấu một sự tiến bộ 
vượt bậc của lĩnh vực mật mã học trong việc sử dụng 
khóa công cộng. RSA đang được sử dụng phổ biến 
trong thương mại điện tử và được cho là đảm bảo an 
toàn với điều kiện độ dài khóa đủ lớn [11]. 
Thuật toán RSA có hai khóa: khóa công khai (hay 
khóa công cộng) và khóa bí mật (hay khóa cá nhân). Mỗi 
khóa là những số cố định sử dụng trong quá trình mã hóa 
và giải mã. Khóa công khai được công bố rộng rãi cho 
mọi người và được dùng để mã hóa. Những thông tin 
được mã hóa bằng khóa công khai chỉ có thể được giải 
mã bằng khóa bí mật tương ứng. Nói cách khác, mọi 
người đều có thể mã hóa nhưng chỉ có người biết khóa 
cá nhân (bí mật) mới có thể giải mã được. 
Hoạt động của RSA dựa trên ba quá trình: tạo khóa, 
mã hóa và giải mã. 
A. Tạo khóa 
 Chọn 2 số nguyên tố lớn p và q với p≠q là lựa 
chọn ngẫu nhiên và độc lập. Sau đó tính n=p.q. 
 Tính giá trị hàm số Euler: 
 Φ(n)=(p-1)(q-1) (1) 
 Chọn một số tự nhiên e sao cho 1<e<Φ(n) và 
là số nguyên tố cùng nhau với Φ(n). 
 Tìm d sao cho: 
 d=e-1 mod(Φ(n)) (2) 
Lúc này khóa công khai là modulus n và số mũ công 
khai e. Khóa bí mật là modulus n và số mũ bí mật d . 
B. Mã hóa 
 c = me mod n (3) 
Với c là bản mã và m là bản rõ. 
C. Giải mã 
 m = cd mod n (4) 
V. HÀM BĂM MẬT MÃ 
Hàm băm là các thuật toán không sử dụng khóa để 
mã hóa, nó có nhiệm vụ “lọc” thông điệp được đưa vào 
theo một thuật toán h một chiều nào đó, rồi đưa ra một 
bản băm có kích thước cố định. Giá trị của hàm băm là 
duy nhất, và không thể suy ngược lại được nội dung 
thông điệp từ giá trị băm này. 
Hiện nay hàm băm được ứng dụng rất mạnh trong 
vấn đề an toàn thông tin trên đường truyền. Các ứng 
dụng có sử dụng hàm băm không chỉ đảm bảo về mặt an 
toàn thông tin, mà còn tạo được lòng tin của người dùng 
vì họ có thể dễ dàng phát hiện được thông tin của mình 
có còn toàn vẹn hay không, họ biết rằng thông tin của 
mình chắc chắn được bí mật với phía các nhà cung cấp. 
A. Hàm băm MD5 
MD5 viết tắt từ chữ “Message Digest algorithm 5” là 
chuẩn hàm băm được sử dụng phổ biến nhất hiện nay, 
được phát minh bởi Ron Rivest, người cũng đã tham gia 
xây dựng RSA. Hàm băm MD5 cho kích thước giá trị 
băm ngõ ra là 128 bit, được dùng để tính giá trị băm của 
thông điệp có kích thước tối đa là 264 bit. 
KeyExpansion 
Algorithm 
ShiftRows 
AddRoundKey 
MixColumns 
SubBytes 
AddRoundKey 
R
o
u
n
d
 1
ShiftRows 
AddRoundKey 
MixColumns 
SubBytes 
R
o
u
n
d
 (
N
r 
-1
) 
ShiftRows 
AddRoundKey 
SubBytes 
R
o
u
n
d
 N
r 
InvShiftRows 
InvSubBytes 
AddRoundKey 
R
o
u
n
d
 N
r 
AddRoundKey 
InvMixColumns 
InvSubBytes 
InvShiftRows R
o
u
n
d
 (
N
r-
1
) 
AddRoundKey 
InvMixColumns 
InvSubBytes 
InvShiftRows 
R
o
u
n
d
 1
AddRoundKey 
w[(Nb(Nr+1)-4), 
(Nb(Nr+1)-1)] 
w[(Nb(Nr+1)-8), 
(Nb(Nr+1)-5)] 
w[4, 7] 
w[0, 3] 
Plaintext 
Ciphertext 
Secret key Plaintext 
Ciphertext 
 Encryption KeyExpansion Decryption 
 Hội thảo quốc gia 2014 về Điện tử, Truyền thông và Công nghệ thông tin (ECIT2014) 
ISBN: 978-604-67-0349-5 367
 Hình 2. Sơ đồ tổng thể MD5 
Mẩu tin đầu vào được chia thành từng đoạn 512 bit, 
mẩu tin sau đó được đệm sao cho chiều dài của nó chia 
chẵn cho 512. Công việc đệm vào như sau: đầu tiên một 
bit đơn (bit 1) được gắn vào cuối mẩu tin. Tiếp theo là 
một dãy các bit 0 sao cho chiều dài của mẩu tin lên tới 
64 bit ít hơn so với bội số của 512. Những bit còn lại 
được lấp đầy bằng một số nguyên 64 bit đại diện cho 
chiều dài của mẩu tin gốc. 
Quá trình tính giá trị băm của thông điệp là quá trình 
lũy tiến. Trước tiên block M1 kết hợp với giá trị khởi tạo 
H0 thông qua hàm F để tính giá trị H1. Sau đó block M2 
được kết hợp với H1 để cho ra giá trị là H2 . Block M3 
kết hợp với H2 cho ra giá trị H3. Cứ như vậy cho đến 
block MN thì ta có giá trị băm của toàn bộ thông điệp là 
HN. 
B. Hàm băm SHA3 
Hàm băm SHA3 (Secure Hash Algorithm-3) dựa trên 
giải thuật Keccak (do nhóm các nhà mật mã người Bỉ 
thiết kế, đứng đầu là Daemen – đồng tác giả của AES), 
giải thuật đã được NIST lựa chọn thắng cuộc trong cuộc 
thi về các giải thuật hàm băm mật mã vào tháng 10 năm 
2012. Họ hàm SHA3 bao gồm 4 hàm băm mật mã 
(SHA3-224, SHA3-256, SHA3-384, SHA3-512) và 2 
hàm mở rộng (SHAKE-128, SHAKE-256). Sáu hàm này 
sử dụng cấu trúc Sponge [12] là một cấu trúc dùng để 
biểu diễn các hàm dưới dạng dữ liệu nhị phân với chiều 
dài ngõ ra bất kỳ được mô tả như hình 3. 
Hàm f sắp xếp các chuỗi có chiều dài cố định, ký 
hiệu là b thành các chuỗi có cùng chiều dài, b gọi là độ 
rộng của f và b=r+c. Với tốc độ r là một số nguyên 
dương và phải nhỏ hơn độ rộng b. Dung lượng ký hiệu là 
c, là một số nguyên dương c=b-r (đối với SHA3 thì 
r+c=1600). 
Hình 3. Cấu trúc Sponge sử dụng trong SHA3 
VI. STEGANOGRAPHY 
Giấu thông tin là một kỹ thuật nhúng thông tin vào 
trong một nguồn đa phương tiện gọi là các phương tiện 
chứa mà không gây ra sự nhận biết về sự tồn tại của 
thông tin giấu (invisible). Phương pháp giấu tin là làm 
cho người ta khó có thể biết được có thông tin giấu bên 
trong đó do tính chất ẩn của thông tin được giấu. 
Sự khác biệt giữa mã hoá thông tin và giấu thông tin 
là mức độ biểu thị của đối tượng mang tin mật. Nếu ta 
phối hợp hai phương pháp trên thì độ an toàn dữ liệu mật 
sẽ được nâng cao. Chẳng hạn, ta có thể mã hoá bản tin 
mật R thành R’ sau đó mới giấu R’ vào đối tượng chứa F 
để thu được F’. Tóm lại, giấu thông tin và hệ mật mã có 
quan hệ mật thiết với nhau, cùng xây dựng nên một hệ 
thống an toàn và bảo mật cho thông tin. 
Hệ thống của chúng tôi sử dụng kỹ thuật 
Steganography dựa trên phương pháp kiểm tra tính chẵn 
lẻ (Parity) của khối bit. Ý tưởng của thuật toán này là 
chia đối tượng chứa đầu vào thành các khối nhỏ, mỗi 
khối sẽ giấu một bit thông tin. Dựa vào tính chẵn lẻ của 
tống số bit 1 trong khối để quy định bit giấu là bit 1 hay 
bit 0. Cụ thể sau khi giấu thì tổng số bit 1 trong khối và 
bit cần giấu sẽ có cùng tính chẵn lẻ. 
Giả sử một bit thông tin thứ i (Si = 1) sẽ được giấu 
vào một khối hai pixel liên tiếp của ảnh chứa biểu diễn 
dưới dạng 24 bit như hình 4. 
Tổng số bit 1 trong hai pixel là Pi = 24, bit cần giấu 
Si = 1 nên cần thay đổi sao cho (Pi + Si) mod 2 = 0. Một 
bit có trọng số thấp nhất (LSB) được lựa chọn ngẫu 
nhiên trong khối (6 byte) sẽ được đảo bit  sau khi 
nhúng P’i = 23. Vì vậy khi tách S’i= (23 mod 2) = 1. 
Vị trí bit sẽ thực hiện đảo bit được thay đổi ngẫu 
nhiên sau mỗi lần nhúng để chống lại các phương pháp 
dò tìm thống kê . 
Hình 4. Mô tả kỹ thuật giấu tin Parity 
VII. PHƯƠNG PHÁP ĐỀ XUẤT 
Trong bài báo này chúng tôi đề xuất một hệ thống 
truyền tin mật sử dụng các thuật toán mã hóa mạnh mẽ 
AES-256, RSA-15360 và hàm băm SHA3 kết hợp với 
R G B
F2i
2 Pixel ảnh gốc
2 Pixel sau khi ẩn dữ liệu
1 1 1 0 0 0 0 11 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0
Tổng số bít 1 Pi=24 ; thông tin cần giấu Si =1
P’i= 23  S’i = 23 mod 2 = 1
1 0 0 1 0 1 0 10 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0
F2i+1
R G B
F’2i
1 1 1 0 0 0 0 11 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0
1 0 0 1 0 1 0 00 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0
F’2i+1
 Hội thảo quốc gia 2014 về Điện tử, Truyền thông và Công nghệ thông tin (ECIT2014) 
ISBN: 978-604-67-0349-5 368
Steganography để đảm bảo độ an toàn và tính chứng 
thực cho thông tin mật. Thuật toán AES sử dụng để cung 
cấp tốc độ mã hóa cao khi khối lượng thông tin lớn. RSA 
sử dụng cho việc truyền tin một chiều và cũng làm tăng 
độ bảo mật cho hệ thống bằng cách mã hóa chuỗi khóa 
dùng trong AES. Các hàm băm dùng để chứng thực cho 
thông tin mật và cho một phần của đối tượng chứa. 
Steganography dùng để ngụy trang cho thông tin mật, 
đảm bảo rằng chúng hoàn toàn “vô hình” trên đối tượng 
chứa trước những tấn công thống kê và dò tìm tiên tiến. 
Quá trình truyền thông tin trong hệ thống này được 
mô tả như trong hình 5 với ba cấp độ bảo mật cho dữ 
liệu. 
Ngụy trang là lớp bảo mật ngoài cùng có chức năng 
che giấu thông tin để truyền trên kênh truyền. Thuật toán 
giấu tin sử dụng trong lớp này phải đảm bảo tính vô hình 
và tính toàn vẹn cho dữ liệu mật. Tính bền vững không 
cần xét đến trong mô hình này vì nếu đối tượng chứa tin 
nhận được là không nguyên vẹn, hay bất kỳ kẻ tấn công 
nào cố tình thay đổi đối tượng chứa cũng sẽ làm thông 
tin mật bị hủy với sự bảo vệ của lớp chứng thực. 
Lớp bảo mật thứ hai là mã hóa. Dữ liệu mật trước khi 
nhúng vào video 3D phải qua bước mã hóa để đảm bảo 
độ an toàn. Hai thuật toán mã hóa mạnh nhất hiện nay 
(AES-256 và RSA-15360) được sử dụng. Thuật toán 
AES dùng để mã hóa dữ liệu mật vì có khả năng mã hóa 
khối dữ liệu lớn với thời gian nhanh. Thuật toán RSA 
dùng để mã hóa khóa của AES và một phần của lớp 
chứng thực. Khóa dùng cho RSA là khóa một chiều, 
người gởi dùng khóa công khai và chỉ có người nhận 
mới có khóa giải mã. Khóa sử dụng cho AES được tạo 
mới mỗi lần mã hóa bao gồm 2 phần: phần ngẫu nhiên 
128 bit đầu (in đậm) được tạo ra từ bộ phát chuỗi giả 
ngẫu nhiên, phần được tính toán 128 bit sau tạo ra từ 
hàm băm MD5 trong lớp chứng thực. Phần khóa ngẫu 
nhiên sẽ được mã hóa bởi RSA và nhúng vào video 3D 
rồi truyền đến phía thu. Chỉ người có khóa riêng chính 
xác mới có thể giải mã được thông tin. 
Hình 5. Mô hình hệ thống truyền tin mật 
Khóa AES đầy đủ: 
 AF A7 06 A8 A7 2D 64 94 59 E7 5A 3C 89 2B 95 8C 
 B5 72 ED 5D 7E 38 9D 5F 8A 3C 52 53 41 AF 46 EB 
Lớp bảo mật sau cùng là chứng thực, trong phương 
pháp này sử dụng hai thuật toán MD5 và SHA3 cho mục 
đích chứng thực. Thuật toán MD5 dùng để chứng thực 
cho đối tượng chứa, đảm bảo tính nguyên vẹn của đối 
tượng khi đến phía thu. Giá trị băm 128 bit của MD5 
được sử dụng làm nửa khóa AES. Thuật toán hàm băm 
tốt nhất hiện nay SHA3 được sử dụng để chứng thực cho 
thông tin mật. Giá trị băm 256 bit của thông tin mật 
được mã hóa bởi RSA và truyền đến phía thu phục vụ 
cho quá trình chứng thực thông điệp mật tại phía thu. 
Hình thức chứng thực này được sử dụng với mục đích 
chống lại các tấn công xuyên tạc hay cố tình làm sai lệch 
thông tin mật. Đảm bảo rằng thông tin đến được người 
nhận thật sự chính xác. 
Để hiểu rõ hơn về quá trình hoạt động của hệ thống 
từ khi bắt đầu đến khi kết thúc, chúng tôi xin trình bày 
giải thuật chi tiết của mô hình với sự kết hợp của hàm 
băm, mật mã và giấu tin như hình 6. 
A. Đầu phát 
Video 3D chứa (Cover 3D Video) ở ngõ vào được 
tách làm 3 phần: âm thanh (Audio) dùng để chứa 
Header, các khung ảnh trái (Left Images) dùng để chứa 
dữ liệu mật và các khung ảnh phải (Right Images) là 
phần không thay đổi trong quá trình nhúng sẽ được tạo 
chứng thực bởi thuật toán MD5. 
Dữ liệu mật (Secret Data) trước tiên sẽ được tạo 
chứng thực bởi thuật toán SHA3-256, đồng thời sẽ được 
mã hóa bởi thuật toán AES-256 (AES Encryption) với 
khóa dùng để mã hóa gồm: ½ khóa là 128 bit ngõ ra của 
hàm băm MD5, ½ khóa còn lại (Secret Key) được tạo từ 
bộ tạo chuỗi giả ngẫu nhiên (PRPG – Pseudo Random 
Pattern Generator). Ngoài 128 bit dùng làm khóa mật 
cho AES, bộ tạo chuỗi giả ngẫu nhiên còn tạo ra các địa 
chỉ ngẫu nhiên (Address), đây là địa chỉ các khung ảnh 
dùng để nhúng dữ liệu mật. 
Giá trị băm (Hash value) 256 bit tại ngõ ra của khối 
SHA3 cùng với địa chỉ nhúng tạo ra từ khối PRPG sẽ 
được sẽ được mã hóa bởi thuật toán RSA (RSA 
Encryption) với khóa công khai lấy từ ngõ vào (Public 
key). Thông tin trước khi mã hóa RSA có thể thêm vào 
các bit đệm để tăng tính bảo mật. Ngõ ra của khối RSA 
Encryption được gọi là header có chiều dài tương đương 
với khóa công khai và sẽ được nhúng vào phần âm thanh 
của video 3D bởi khối Header Embedding. 
Dữ liệu mật sau khi được mã hóa AES gọi là Cipher 
data sẽ được nhúng vào các khung ảnh trái bởi khối 
Cipher data Embedding với thứ tự các khung nhúng cho 
bởi Address. Quá trình nhúng thông tin được thực hiện 
bằng phương pháp Parity với trình tự các bước như sau: 
Internet
Public 
key
Cover 3D 
Video
Encryption key generation
AES key encryption
Data encryption
Steganographic Extraction
Decryption key recovery
Data decryption
Secret 
Data
Private 
key
Steganographic Embedding
Secret 
Data
SENDER RECEIVER
Configuring Authentication
Authentication
 Hội thảo quốc gia 2014 về Điện tử, Truyền thông và Công nghệ thông tin (ECIT2014) 
ISBN: 978-604-67-0349-5 369
 Chia đối tượng chứa thành các khối nhỏ N x M 
byte, mỗi bit thông tin Si sẽ được nhúng vào một 
khối. 
 Tính tổng số bit 1 trong khối – Pi. 
 Nếu Pi mod 2 = Si thì giữ nguyên dữ liệu của 
khối, ngược lại thì đảo một bit LSB bất kỳ trong 
khối. 
Sau đó, các khung ảnh và âm thanh sau khi nhúng sẽ 
được ghép lại theo đúng thứ tự để tạo thành video 3D đã 
nhúng dữ liệu mật (Stegano 3D Video) rồi truyền đến 
phía thu . 
Hình 6. Giải thuật thực hiện 
B. Truyền tin 
Video 3D chứa tin mật được truyền đi một cách an 
toàn trên kênh truyền với nhiều giao thức truyền thông 
khác nhau. Nội dung ẩn chứa rất khó bị phát hiện vì 
video là một dạng media phổ biến trên internet. 
Trong trường hợp dữ liệu bị chặn trên đường truyền, 
rất khó để phát hiện video có chứa tin mật hay không vì 
khả năng ngụy trang cao của thuật toán giấu tin Parity. 
Nói cách khác, phương pháp giấu tin này không làm 
tăng sự nghi ngờ vì thông tin ẩn giấu gần như “vô hình” 
trên đối tượng chứa. 
C. Đầu thu 
Tương tự như đầu phát, tại đầu thu video 3D có chứa 
dữ liệu cũng sẽ được tách làm 3 phần: âm thanh, các 
khung ảnh trái và các khung ảnh phải. Phần âm thanh sẽ 
được đưa qua khối Header Extraction để bóc tách ra các 
byte header, các byte này sẽ được giải mã RSA (RSA 
Decryption) với khóa riêng (Private Key) của người 
nhận. Header sau khi được giải mã sẽ bao gồm: 
 Các bit đệm vào tại phía phát (nếu có) sẽ được 
loại bỏ. 
 Address: địa chỉ các khung ảnh trái sẽ thực hiện 
tách thông tin. 
 Secret key: ½ khóa mật dùng để giải mã AES. 
 Hash value: 256 bit giá trị băm của thuật toán 
SHA3 từ đầu phát gởi đến để phục vụ cho bước 
chứng thực thông tin mật. 
Các khung ảnh phải sẽ được chứng thực bởi hàm 
băm MD5. Nếu trong quá trình truyền video 3D không 
có bất kỳ sự thay đổi gì th