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

Giấu tin trong video 3D kết hợp mật mã

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 (4.86 MB, 8 trang )

Hội thảo quốc gia 2014 về Điện tử, Truyền thông và Công nghệ thông tin (ECIT2014)

Giấu tin trong video 3D kết hợp mật mã
Nguyễn Lương Nhật

Đào Duy Liêm, Nguyễn Thị Minh Thy

Học Viện Công Nghệ Bưu Chính Viễn Thông
Tp. Hồ Chí Minh, Việt Nam
Email:

Đại Học Công Nghệ Sài Gòn
Tp. Hồ Chí Minh, Việt Nam
Email: ,


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.

II.

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.

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.

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.

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.

ISBN: 978-604-67-0349-5

CÁC NGHIÊN CỨU LIÊN QUAN

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).

366


Hội thảo quốc gia 2014 về Điện tử, Truyền thông và Công nghệ thông tin (ECIT2014)


w[0, 3]

w[4, 7]

KeyExpansion
Algorithm

AddRoundKey
InvSubBytes
InvShiftRows

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:

ShiftRows

Φ(n)=(p-1)(q-1)
InvMixColumns

MixColumns
AddRoundKey

w[(Nb(Nr+1)-8),
(Nb(Nr+1)-5)]

w[(Nb(Nr+1)-4),
(Nb(Nr+1)-1)]


Ciphertext

Encryption

 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 .

AddRoundKey

B. Mã hóa

Ciphertext

KeyExpansion

(1)

 Chọn một số tự nhiên e sao cho 1là số nguyên tố cùng nhau với Φ(n).

InvShiftRows

ShiftRows
AddRoundKey


AddRoundKey
InvSubBytes

SubBytes
Round Nr

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ã.

InvMixColumns

Round 1

Round 1

MixColumns

SubBytes
Round (Nr -1)

InvShiftRows

ShiftRows

AddRoundKey

AddRoundKey
InvSubBytes


SubBytes

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.

Plaintext

Round Nr

AddRoundKey

Secret key

Round (Nr-1)

Plaintext

c = me mod n

Decryption

(3)

Với c là bản mã và m là bản rõ.
Hình 1. Lưu đồ thực hiện thuật toán AES


C. Giải mã
m = cd mod n

Độ 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).

V.

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.

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].

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.

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

ISBN: 978-604-67-0349-5

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.

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.

(4)

367


Hội thảo quốc gia 2014 về Điện tử, Truyền thông và Công nghệ thông tin (ECIT2014)

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ì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.

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ẻ.

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à
H N.

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.


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.

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ê .
2 Pixel ảnh gốc
F2i 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 1
F2i+1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 1
B
G
R
Tổng số bít 1 Pi=24 ; thông tin cần giấu Si =1


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).

2 Pixel sau khi ẩn dữ liệu
F’2i 0 1 0 1 0 0 1 1 0 1 0 1 0 0 1 0 1 0 0 1 0 1 0 0
F’2i+1 1 1 0 1 1 0 0 1 1 0 0 1 1 0 1 0 1 1 1 0 0 0 0 1
B
G
R
P’i= 23  S’i = 23 mod 2 = 1
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

Hình 3. Cấu trúc Sponge sử dụng trong SHA3

ISBN: 978-604-67-0349-5

368


Hội thảo quốc gia 2014 về Điện tử, Truyền thông và Công nghệ thông tin (ECIT2014)


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.

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.

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.

Để 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.

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.
Public
key

Cover 3D Secret
Video
Data

Private
key

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.


Secret
Data

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.

Configuring Authentication

Encryption key generation

Authentication

AES key encryption

Data decryption

Data encryption

Decryption key recovery

Steganographic Embedding


Steganographic Extraction

SENDER

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:

RECEIVER
Internet

Hình 5. Mô hình hệ thống truyền tin mật

ISBN: 978-604-67-0349-5

369


Hội thảo quốc gia 2014 về Điện tử, Truyền thông và Công nghệ thông tin (ECIT2014)



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.

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.

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 .

-

PRPG

AES

Encryption

SHA3
Hash value

Cipher data
Embedding

Secret key

MD5

Address

Left Images Right Images

Audio

Public
Key

Secret
Data

Cover 3D
Video

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:

RSA
Encryption

Header
Embedding

+

SENDER

RECEIVER

-

Header
Extraction
RSA
Decryption

Left Images

Right Images

Cipher data

Extraction

MD5

Address
Secret key

Hash value

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.

Quá trình bóc tách dữ liệu ở khối Header Extraction
và khối Cipher data Extraction được thực hiện theo
phương pháp parity với trình tự các bước như sau:

Authentication

Secret
Data


Hình 6. Giải thuật thực hiện

ISBN: 978-604-67-0349-5



Các khung ảnh trái sau khi chọn được một số khung
theo địa chỉ (Address) sẽ được bóc tách dữ liệu bởi khối
Cipher data Extraction và ngõ ra sẽ là dữ liệu mật đã
được mã hóa. Dữ liệu này sẽ được giải mã bởi AES
Decryption với khóa giải mã cho bởi: 128 bit Secret key
và 128 bit ngõ ra của MD5 cho ra dữ liệu mật ban đầu.

AES
Decryption

Private
Key

Các bit đệm vào tại phía phát (nếu có) sẽ được
loại bỏ.

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ì tại ngõ ra hàm băm MD5 sẽ
cho 128 bit giống với phía phát, 128 bit này là ½ khóa
dùng để giải mã dữ liệu mật. Đây là bước chứng thực
thứ nhất, nếu có sự thay đổi không mong muốn trên đối
tượng chứa thì dữ liệu mật sẽ không được khôi phục.


Stegano
3D Video

Audio



370



Chia đối tượng chứa tin mật thành các khối nhỏ
N x M byte, mỗi bit thông tin S’i sẽ được tách từ
một khối.



Tính tổng số bit 1 trong khối – P’i.



S’i = P’i mod 2.


Hội thảo quốc gia 2014 về Điện tử, Truyền thông và Công nghệ thông tin (ECIT2014)

Authentication là bước chứng thực cuối cùng, bước
này thực hiện băm dữ liệu mật và so sánh với 256 bit giá
trị băm nhận được tại header. Hàm băm SHA3 được sử

dụng để chắc chắn rằng đây là dữ liệu chính xác từ đầu
phát muốn gởi đến, dữ liệu này sẽ xuất hiện tại ngõ ra
của đầu thu kết thúc một quá trình truyền tin thành công.
VIII. KẾT QUẢ THỰC NGHIỆM
Các kết quả sau đây được thực hiện trên trên Matlab
2014a với video 3D chứa có kích thước mỗi khung ảnh
720 x 1280 pixel, thông tin mật thử nghiệm lần lượt là:
một ảnh xám 128 x 192 pixel, một ảnh màu 256 x 256
pixel, một file âm thanh (wav) 1.5 giây và một file âm
thanh (mp3) 2 giây. Để đánh giá kết quả chúng tôi sử
dụng các tham số: MSE (Mean Squared Error), SNR
(Signal-to-Noise Ratio) và PSNR (Peak Signal-to-Noise
Ratio).

Hình 7. Kết quả thực hiện với dữ liệu mật là ảnh xám 128 x 192 và
đối tượng chứa là video 3D Over Under

MSE là sai số bình phương trung bình, dùng để so
sánh dữ liệu mật trước khi nhúng và sau khi tách và
được cho bởi (5). Giá trị này càng thấp thì sai số càng ít
và ngược lại. MSE = 0 khi hai khối dữ liệu giống nhau
hoàn toàn.

MSE 

1
MN

M


N

  (I
i 1

j 1

'
i, j

 Ii , j )2

(5)

Với: M,N là kích thước khối dữ liệu. Ii,j và I’i,j là giá
trị của các khối dữ liệu tại điểm i,j.
PSNR là tỉ lệ tín hiệu đỉnh trên nhiễu, thường dùng
để so sánh sự khác nhau của hai bức ảnh và được cho
bởi (6). PSNR càng cao thì hai ảnh càng giống nhau .

PSNR  10.log10

2
I peak

MSE

(dB )

(6)


Hình 8. Kết quả thực hiện với dữ liệu mật là bức ảnh màu 256 x 256
và đối tượng chứa là video 3D Side by Side

Với Ipeak là giá trị đỉnh (max) của tín hiệu ngõ vào,
với ảnh 8 bit thì Ipeak=255.
Một thông số khác cũng dùng để đánh giá chất lượng
của một hệ thống truyền tin là giá trị tín hiệu trên nhiễu
SNR. Giống như PSNR, giá trị SNR càng cao càng tốt
và thường sử dụng để đánh giá chất lượng của âm thanh.



SNR  10.log10  M


 i 1



i 1
j 1
 (dB) (7)
N
2
'
 Ii, j  Ii, j  

j 1


M

N

 I

2
i, j

Hình 7, 8, 9 và 10 cho thấy kết quả của các quá trình
mã hóa, nhúng, tách và giải mã của của hệ thống.

ISBN: 978-604-67-0349-5

Hình 9. Kết quả thực hiện với dữ liệu mật là file wav 1.5 giây và đối
tượng chứa là video 3D Over Under

371


Hội thảo quốc gia 2014 về Điện tử, Truyền thông và Công nghệ thông tin (ECIT2014)

BẢNG 2. THỜI GIAN THỰC HIỆN TẠI ĐẦU PHÁT VÀ ĐẦU THU

Dữ liệu mật

Mã hóa / giải Mã hóa / giải
mã AES
mã RSA
(giây)

(giây)

Nhúng / tách
(giây)

Đầu phát

0.86346

0.068945

0.327090

Đầu thu

1.11169

0.776509

0.086750

Đầu phát

6.79380

0.018027

1.674700

Đầu thu


7.90651

0.769565

0.672842

Đầu phát

1.17140

0.018662

0.387620

Đầu thu

1.35613

0.758561

0.119912

Đầu phát

12.0312

0.017678

2.914800


Đầu thu

14.2855

0.761344

1.365858

Ảnh xám

Ảnh màu

1.5s.wav
Hình 10. Kết quả thực hiện với dữ liệu mật là file mp3 2 giây với đối
tượng chứa là video 3D Side by Side

Kết quả mô phỏng cho thấy kỹ thuật giấu tin đã làm
cho thông tin mật gần như biến mất trên đối tượng chứa.
Hoàn toàn không thể nhận ra bằng mắt thường sự khác
biệt của đối tượng chứa trước và sau khi nhúng. Nhưng
tham số SNR và PSNR cho thấy sự khác biệt này. Bảng
1 cho thấy các giá trị SNR, PSNR của âm thanh và các
khung ảnh trái trước và sau khi nhúng.

2s.mp3

IX.

Trong bài báo này chúng tôi giới thiệu một hệ thống

truyền tin an toàn chống lại được các kỹ thuật tấn công
và dò tìm tiên tiến. Hệ thống hoàn chỉnh bao gồm 3 lớp
bảo mật:

So với các nghiên cứu liên quan, thuật toán giấu tin
của chúng tôi cho tính vô hình cao hơn rất nhiều. Cụ thể
SNR = 88.7 dB >> 54.7 dB trong [13] và PSNR = 57.5
dB >> 38.7 dB trong [6].
Để đánh giá tính hiệu quả của hệ thống, bảng 2 sẽ
cho thấy thời gian thực hiện của đầu phát và đầu thu với
các quá trình mã hóa, nhúng, tách và giải mã.



Steganography là lớp bảo mật ngoài cùng, dùng
video 3D che phủ toàn bộ thông tin mật. Thông
tin mật được phân bố một cách ngẫu nhiên, hợp
lý vào đối tượng chứa và không thể nhận ra
được bằng mắt thường hoặc bằng máy tính.



AES_RSA là sự kết hợp hoàn hảo của hệ mật
khóa công khai và hệ mật khóa bí mật. Hệ thống
mật mã này bao gồm 3 loại khóa: khóa mật dùng
trong AES, khóa công khai dùng để mã hóa
RSA và khóa riêng dùng để giải mã RSA. Chỉ
duy nhất người nhận có khóa riêng đúng thì mới
có thể trích xuất được thông tin mật.




Authentication có khả năng chứng thực cả đối
tượng chứa và thông tin mật để loại trừ những
thay đổi không mong muốn lên đối tượng chứa.
Giải thuật hàm băm hiện đại nhất là SHA3 được
sử dụng để đảm bảo tính chứng thực cao nhất
cho thông tin mật.

BẢNG 1. KẾT QUẢ GIẤU TIN VỚI THUẬT TOÁN PARITY
Video 3D chứa
Dữ liệu mật

Tham số
Over Under

Side by Side

SNR (dB)

88.75716

96.85605

PSNR (dB)

59.60560

59.61165


SNR (dB)

88.75207

96.87903

PSNR (dB)

57.57225

57.56982

SNR (dB)

88.73344

96.89987

PSNR (dB)

58.32555

58.33469

SNR (dB)

88.71097

96.87847


PSNR (dB)

57.58762

57.58505

Ảnh xám

Ảnh màu

Sự kết hợp này tạo nên một hệ thống truyền tin gần
như hoàn hảo, có độ tin cậy cao với thời gian thực hiện
hợp lý. Vì vậy có thể sử dụng để truyền các thông điệp
nhạy cảm hay các dữ liệu tuyệt mật.

1.5s.wav

Hướng nghiên cứu tiếp theo của chúng tôi là xây
dựng một lược đồ chữ ký số mới với sự kết hợp của
SHA3 và RSA, đồng thời nghiên cứu các thuật toán
nhằm tăng tốc độ thực hiện RSA khi dung lượng dữ liệu
lớn.

2s.mp3

ISBN: 978-604-67-0349-5

TỔNG KẾT

372



Hội thảo quốc gia 2014 về Điện tử, Truyền thông và Công nghệ thông tin (ECIT2014)

TÀI LIỆU THAM KHẢO
[1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

Woods, A.J, and Sehic, A. “The compatibility of LCD TVs with
time-sequential stereoscopic 3D visualization” in Stereoscopic
Displays and Applications XX, Proceedings of Electronic
Imaging, Proc SPIE Vol. 7237.
Z. Shahid, W. Puech, “Synchronization of Texture and depth
Map by Data Hiding For 3D H.264 Video”, 2011 IEEE
International Conference on Image Processing, pp.2773-2776.

R. Shreelekshmi, M. Wilscy, C.E. Madhavan, “Cover Image
Preprocessing for More Reliable LSB Replacement
Steganography“, IEEE 2010 International Conference on Signal
Acquisition and Processing, pp. 153-156, February 2010.
RigDas, Themrichon Tuithung, “A Novel Steganography
Method for Image Based on Huffman Encoding”, 2012 IEEE,
Emerging Trends and Applications in Computer Science
(NCETACS), pp. 14-18.
R. Balaji, G. Naveen, “Secure Data Transmission Using Video
Steganography”, 2011 IEEE International Conference on
Electro/Information Technology (EIT), pp. 1-5.
B. Suneetha, Ch. Hima Bindu, S. Sarath Chandra, “Secured Data
Transmission Base Video Steganograhy”, International Journal
of Mechanical and Production Engineering (IJMPE) ISSN No.:
2315-4489, Vol-2, Iss-1, 2013, pp. 78-81.
Parag Kadam, Mangesh Nawale, Akash Kandhare, Mukesh
Patil, “Separable Reversible Encrypted Data Hiding in
Encrypted Image Using AES algorithm and Lossy Technique”,
IEEE Proceedings of the 2013 International Conference on
Pattern Recognition, Informatics and Mobile Engineering
(PRIME), pp. 312-316, 21-22 Feb. 2013.
Nadiya, P.V.; Imran, B.M., "Image steganography in DWT
domain using double-stegging with RSA encryption," 2013
International Conference on Signal Processing Image Processing
& Pattern Recognition (ICSIPR), pp.283,287, 7-8 Feb. 2013.

ISBN: 978-604-67-0349-5

[10]
[11]


[12]

[13]

[14]

[15]

[16]

373

Septimiu Fabian Mare, Mircea Vladutiu and Lucian Prodan,
“Secret data communication system using Steganography, AES
and RSA”, 2011 IEEE 17th International Symposium for Design
and Technology in Electronic Packaging (SIITME), pp. 339344, 20-23 Oct. 2011.
J. Daemen, V. Rijmen, „The Design of Rijndael: AES – The
Advanced Encryption Standard.“, Springer, 2002.
Chandra M. Kota and Cherif Aissi1 , "Implementation of the
RSA algorithm and its cryptanalysis", ASEE Gulf­ Southwest
Annual Conference on 2002, Houston, USA.
Charles H. Romine, “SHA-3 Standard: Permutation-Based Hash
and Extendable-Output Functions”, Information Technology
Laboratory Gaithersburg, MD 20899-8900, 2014.
R.F. Olanrewaju, Othman Khalifa and Husna (2013),
“Increasing the Hiding Capacity of Low-Bit Encoding Audio
Steganography Using a Novel Embedding Technique”, World
Applied Sciences Journal 2, pp. 79-83.
Philipp Merkle, Karsten Müller, Thomas Wiegand, “3D Video:

Acquisition, Coding, and Display”, 2010 IEEE Transactions on
Consumer Electronics, Vol. 56, No. 2, May 2010, pp. 946-950.
Elaine Barker, Allen Roginsky, “Transitions: Recommendation
for Transitioning the Use of Cryptographic Algorithms and Key
Lengths”, NIST Special Publication 800-131A, 2011.
Junko Takahashi, Toshinori Fukunaga (2010), “Differential
Fault Analysis on AES with 192 and 256-Bit Keys”, NTT
Information Sharing Platform Laboratories Nippon Telegraph
and Telephone Corporation 3-9-1 Midori-cho, Musashino-shi,
Tokyo, 180-8585, Japan.



×