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

Kỹ thuật Giau tin tren anh so

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 (672.09 KB, 27 trang )

Báo cáo đề tài Thực tập cơ sở chuyên ngành
MỤC LỤC
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU……………………………………2
DANH MỤC CÁC KÝ TỰ VIẾT TẮT……………………………………..... 2
LỜI CẢM ƠN…………………………………………………………………. 3
LỜI MỞ ĐẦU…………………………………………………………………. 4
Chương 1. TỔNG QUAN KỸ THUẬT GIẤU TIN TRONG ẢNH…………...5
1.1 Giới thiệu chung về giấu thông tin………………………………......5
1.2 Một

số khái niệm trong giấu tin……………………….……….…..6

1.3 Yêu cầu của một hệ giấu tin ………………………………………...7
1.3.1 Tính không nhìn thấy………………………………..……..7
1.3.2 Tính mạnh mẽ………………………………………………7
1.3.3 Khả năng nhúng…………………………………….....…..7
1.4 Phân loại và mục đích của giấu tin…………………………………..7
1.5 Tìm hiểu cấu trúc ảnh Bitmap……………………………………….9
Chương 2. KỸ THUẬT GIẤU TIN TRONG ẢNH SỐ…………………….....12
2.1
2.2

Giới thiệu……………………………………………………..…...…12
Kỹ thuật giấu tin trong ảnh ……….…………………………….......12

2.3Thuật toán giấu tin trong ảnh ……………………………………….15
2.4Thuật toán tách tin từ ảnh…………………………………………...16
Chương 3. CÀI ĐẶT VÀ THỬ NGHIỆM ……………………..............….…17
3.1 Môi trường cài đặt………………………………………….……....17
3.2 Tập dữ liệu thử nghiệm………………………………………….....17
3.3 Một số giao diện của chương trình…………………………………17


3.3.1 Giao diện chính của chương trình………………………........18
3.3.2 Các chức năng chính của chương trình………………………19
KẾT LUẬN…………………………………………………………….23
TÀI LIỆU THAM KHẢO…………………………………………………....25

1

GVHD: Thái Thị Thanh Vân


Báo cáo đề tài Thực tập cơ sở chuyên ngành
DANH MỤC HÌNH VẼ VÀ BẢNG BIỂU
Hình 1.1: Lược đồ chung cho giấu thông tin
Bảng 1.1: Bảng chi tiết những thông tin trong BitmapHeader
Hình 2.1: Minh họa giá trị R-G-B của từng pixel
Hình 2.2: Thể hiện sự nạp chồng các ảnh con
Hình 2.3: Biểu diễn ảnh bằng ma trận điểm
Bảng 2.2:Quá trình thay thế các bit LSB
Bảng 2.3:Duyệt và thay thế từng LSB dưới dạng chuỗi bit
Hình 2.4: Sơ đồ quá trình giấu tin
Hình 2.5: Sơ đồ quá trình tách tin.
Hình 3.1: Giao diện chính của chương trình
Hình 3.2: Giao diện của giấu tin
Hình 3.3: Giao diện của tách tin
Hình 3.4: So sánh ảnh trước và sau khi giấu tin
Hình 3.5: Thuộc tính của ảnh trước và sau khi giấu tin

DANH MỤC CÁC KÝ TỰ VIẾT TẮT
R: Red (màu đỏ)
G: Green (màu xanh lá cây)

B: Blue (màu xanh da trời)
C: Cipher text (bản mã)
D: Decryption (giải mã)
E: Encryption (mã hóa)
P: Plaint text (bản rõ)
MBSs: Most Significant Bits (bít có trọng số cao)
LSB: Least Significant Bit (bit có trọng số thấp)
BMP: Bitmap

2

GVHD: Thái Thị Thanh Vân


Báo cáo đề tài Thực tập cơ sở chuyên ngành
LỜI CẢM ƠN
Qua thời gian tìm hiểu và học hỏi, đồng thời được sự giúp đỡ, chỉ
bảo tận tình của cô giáo Thái Thị Thanh Vân báo cáo lớn của chúng tôi đã
hoàn thành. Nội dung báo cáo là những gì chúng tôi đã tìm hiểu suốt thời
gian qua. Cho dù chúng tôi đã cố gắng, nhưng vì vẫn còn hạn chế về mặt
kiến thức và thời gian còn nhiều mặt hạn chế nên báo cáo của chúng tôi
không tránh khỏi thiếu sót, không thể đi sâu vào từng thuật toán, từng kỹ
thuật, hy vọng chúng sẽ được hoàn thiện hơn trong tương lai.
Để hoàn thành tốt báo cáo này, chúng tôi xin bày tỏ lòng biết ơn sâu
sắc tới cô giáo Thái Thị Thanh Vân người đã giúp đỡ chúng tôi rất nhiều
trong quá trình tìm hiểu, xây dựng và hoàn thành báo cáo. Chúng tôi xin
chân thành cảm ơn các thầy cô giáo các bộ môn đã trang bị cho chúng tôi
những kiến thức cơ bản để chúng tôi có thể hoàn thành báo cáo như ngày
hôm nay.
Hà Nội, ngày 30 tháng 8 năm 2016

Nhóm sinh viên thực hiện
Tạ Việt Quang
Nguyễn Thái Duy
Vũ Kiều Anh

3

GVHD: Thái Thị Thanh Vân


Báo cáo đề tài Thực tập cơ sở chuyên ngành
LỜI MỞ ĐẦU
Ngày nay, cùng với sự phát triển mạnh mẽ của ngành khoa học công
nghệ thông tin, internet đã trở thành một nhu cầu, phương tiện không thể thiếu
đối với mọi người, việc truyền tin qua mạng ngày càng lớn. Tuy nhiên, với
lượng thông tin được truyền qua mạng nhiều hơn thì nguy cơ dữ liệu bị truy
cập trái phép cũng tăng lên vì vậy vấn đề bảo đảm an toàn và bảo mật thông tin
cho dữ liệu truyền trên mạng là rất cần thiết.
Để đảm bảo an toàn và bí mật cho một thông điệp truyền đi người ta
thường dùng phương pháp truyền thống là mã hóa thông điệp theo một qui tắc
nào đó đã được thỏa thuận trước giữa người gửi và người nhận. Tuy nhiên,
phương thức này thường gây sự chú ý của đối phương về tầm quan trọng của
thông điệp. Thời gian gần đây đã xuất hiện một cách tiếp cận mới để truyền các
thông điệp bí mật, đó là giấu các thông tin quan trọng trong những bức ảnh
thông thường. Nhìn bề ngoài các bức ảnh có chứa thông tin cũng không có gì
khác với các bức ảnh khác nên hạn chế được tầm kiểm soát của đối phương.
Mặt khác, dù các bức ảnh đó bị phát hiện ra là có chứa thông tin trong đó thì
với các khóa có độ bảo mật cao thì việc tìm được nội dung của thông tin đó
cũng rất khó có thể thực hiện được.
Xét theo khía cạnh tổng quát thì giấu thông tin cũng là một hệ mã mật

nhằm bảo đảm tính an toàn thông tin, nhưng phương pháp này ưu điểm là ở
chỗ giảm được khả năng phát hiện được sự tồn tại của thông tin trong nguồn
mang. Không giống như mã hóa thông tin là chống sự truy cập và sửa chữa
một cách trái phép thông tin, mục tiêu của giấu thông tin là làm cho thông tin
trộn lẫn với các điểm ảnh. Điều này sẽ đánh lừa được sự phát hiện của các tin
tặc và do đó làm giảm khả năng bị giải mã.
Với mục đích quan trọng nhất là bảo mật cho thông tin đi kèm với độ
mạnh của thuật toán giấu tin kèm theo những yêu cầu như đảm bảo lượng
thông tin cần giấu, tránh được sự phát hiện bởi thị giác, không kiểm tra được
nếu không có mã khóa thích hợp. Kết hợp các kỹ thuật giấu tin với các kỹ thuật
mã hóa ta có thể nâng cao độ an toàn cho việc truyền tin.

4

GVHD: Thái Thị Thanh Vân


Báo cáo đề tài Thực tập cơ sở chuyên ngành
Bố cục báo cáo gồm 3 chương:
CHƯƠNG 1 :Tổng quan kỹ thuật giấu tin trong ảnh: Đưa ra khái
niệm dễ hiểu nhất về kỹ thuật giấu tin, tầm quan trọng và sự cần thiết của kỹ
thuật này với chúng ta hiện nay.
CHƯƠNG 2: Kỹ thuật giấu tin trong ảnh số: Đi sâu vào nguyên lý
hoạt động của kỹ thuật giấu tin và thuật toán.
CHƯƠNG 3: Cài đặt và thử nghiệm: Demo minh họa một phần
mềm giấu tin đơn giản đáp ứng các yêu cầu kỹ thuật và thuật toán ở trên.

5

GVHD: Thái Thị Thanh Vân



Báo cáo đề tài Thực tập cơ sở chuyên ngành
Chương 1. TỔNG QUAN KỸ THUẬT GIẤU TIN TRONG ẢNH
1.1 Giới thiệu chung về giấu thông tin
Giấu thông tin (steganography) là nghệ thuật và khoa học về việc viết
và chuyển tải các thông điệp một cách bí mật, sao cho ngoại trừ người gửi
và người nhận, không ai biết đến sự tồn tại của bức thư, là một dạng của
bảo mật bằng cách che giấu.Kỹ thuật giấu tin là một kỹ thuật nhúng dữ liệu
vào một nguồn đa phương tiện gọi là môi trường, ví dụ như file âm thanh,
ảnh động, ảnh tĩnh . . . Mục đích của che giấu thông tin là làm cho dữ liệu
trở lên không thể nghe thấy hay nhìn thấy. Điều đó có nghĩa là đối phương
không nhận thấy sự tồn tại của dữ liệu đã được nhúng dù có lắng nghe hay
cố gắng nhìn thật cẩn thận vào môi trường có giấu dữ liệu.
Mỗi kỹ thuật giấu tin gồm :- Thuật toán giấu tin.
- Bộ giải mã thông tin.
Thuật toán giấu tin được dùng để giấu thông tin vào một phương tiện
mang bằng cách sử dụng một khóa bí mật được dùng chung bởi người mã
và người giải mã, việc giải mã thông tin chỉ có thể thực hiện được khi có
khoá. Bộ giải mã trên phương tiện mang đã chứa dữ liệu và trả lại thông
điệp ẩn trong nó.
Thông tin giấu

Khoá

Nhúng thông tin vào phương tiện chứa
Phân phối trên mạng

Thông tin giấu


Bộ giải mã

Phương tiện mang
Khoá

6

GVHD: Thái Thị Thanh Vân


Báo cáo đề tài Thực tập cơ sở chuyên ngành
Hình 1.1. Lược đồ chung cho giấu thông tin

Tóm lại, mục đích của giấu thông tin là che giấu những thông báo bên
trong những thông báo khác mà không làm ảnh hưởng đáng kể đến thông
báo này; và bằng một cách thức nào đó sao cho con người bằng mắt thường
và những cách bình thường không thể phát hiện hoặc không thể phá huỷ
chúng.
1.2

Một số khái niệm trong giấu tin
Giấu thông tin là quá trình ẩn một dữ liệu vào một tệp dữ liệu khác.
Dữ liệu trước khi giấu có thể được nén và mã hoá, trong các ứng dụng đòi
hỏi độ bảo mật cao, giấu dữ liệu chính là một phương pháp bảo mật thông
tin hiệu quả. Giấu dữ liệu được ứng dụng trong nhiều lĩnh vực khác nhau
như bảo vệ bản quyền, ngăn ngừa sao chép trái phép, truyền thông bí mật
v.v..
Giấu thông tin trong ảnh số là một phần của giấu thông tin với việc sử
dụng ảnh số làm phương tiện mang. Giấu thông tin trong ảnh số có nhiều
ứng dụng trong thực tế như trong việc xác định quyền sở hữu, chống

xuyên tạc thông tin và chuyển giao dữ liệu một cách an toàn.
Ảnh mà ta đem nhúng thông tin vào được gọi là ảnh môi trường hay
ảnh gốc (host image). Ảnh thu được sau khi đã giấu thông tin gọi là ảnh
kết quả (result image). Ảnh kết quả sẽ có những điểm khác so với ảnh
gốc, gọi là nhiễu. Ảnh nhiễu càng ít thì càng khó gây ra nghi ngờ về sự
tồn tại của giấu thông tin trong ảnh.
Thông tin nhúng là lượng thông tin được nhúng vào trong ảnh môi
trường.
Phương tiện nhúng là một đối tượng đa phương tiện như ảnh, audio
hay video đã có thông tin nhúng.
Nhiễu là phương tiện nhúng xuất hiện những đặc điểm lạ so với
phương tiện chứa ban đầu. Độ nhiễu càng thấp tương đương với tính bảo
mật càng cao.
Thủy vân số là một kỹ thuật giấu các hình ảnh vào trong phương tiện
chưa, kỹ thuật này không yêu cầu về tính không nhìn thấy của thông tin
nhúng mà coi trọng tính bản quyền sở hữu thông tin.

1.3

Yêu cầu của hệ giấu tin

7

GVHD: Thái Thị Thanh Vân


Báo cáo đề tài Thực tập cơ sở chuyên ngành
Tính không nhìn thấy là một trong ba yêu cầu của bất kỳ một hệ giấu
tin nào. Tính không nhìn thấy là tính chất vô hình của thông tin nhúng
trong phương tiện nhúng.

Tính mạnh mẽ là yêu cầu thứ hai của một hệ giấu tin. Tính mạnh mẽ
là nói đến khả năng chịu được các thao tác biến đổi nào đó trên phương
tiện nhúng và các cuộc tấn công có chủ đích.
Khả năng nhúng là yêu cầu thứ ba của một hệ giấu tin. Khả năng
nhúng chính là số lượng thông tin nhúng được nhúng trong phương tiện
chứa.
1.3.1Tính không nhìn thấy
Khái niệm này dựa trên đặc điểm của hệ thống thị giác của con người.
Thông tin nhúng là không tri giác được nếu một người với thị giác là bình
thường không phân biệt được ảnh môi trường và ảnh kết quả. Trong khi
image hiding yêu cầu tính vô hình của thông tin giấu ở mức độ cao thì
watermarking lại chỉ yêu cầu ở một cấp độ nhất định. Chẳng hạn như
người ta áp dụng watermarking cho việc gắn một biểu tượng mờ vào một
chương trình truyền hình để bảo vệ bản quyền.
1.3.2 Tính mạnh mẽ
Thuật toán nhúng tin được coi là có tính bảo mật nếu thông tin được
nhúng không bị tìm ra khi bị tấn công một cách có chủ đích trên cơ sở
những hiểu biết đầy đủ về thuật toán nhúng tin và có bộ giải mã (trừ khoá
bí mật), hơn nữa còn có được ảnh có mang thông tin (ảnh kết quả). Đối
với ảnh image hiding đây là một yêu cầu rất quan trọng. Chẳng hạn đối
với thuật toán dò tin trong ảnh đen trắng kích thước m*n, độ phức tạp vẫn
còn lên tới (2m*n) phép tính khi đã biết ma trận trọng số dùng trong quá
trình giấu tin.
1.3.3 Khả năng nhúng
Lượng thông tin giấu so với kích thước ảnh môi trường cũng là một
vấn đề cần quan tâm trong một thuật toán giấu tin. Rõ ràng là có thể chỉ
giấu một bit thông tin vào mỗi ảnh mà không cần lo lắng về độ nhiễu của
ảnh nhưng như vậy sẽ rất kém hiệu quả khi mà thông tin cần giấu có kích
thước được tính bằng KB. Các thuật toán đều cố gắng đạt được mục đích
làm thế nào giấu được nhiều thông tin nhất mà không gây ra nhiễu đáng

kể.
8

GVHD: Thái Thị Thanh Vân


Báo cáo đề tài Thực tập cơ sở chuyên ngành
1.4 Phân loại và mục đích của giấu tin
Có nhiều cách để phân loại các kỹ thuật giấu thông tin trong ảnh số, dựa
trên lĩnh vực áp dụng các kỹ thuật người ta chia kỹ thuật giấu tin trong
ảnh thành hai loại: watermarking và image hiding.

9

GVHD: Thái Thị Thanh Vân


Báo cáo đề tài Thực tập cơ sở chuyên ngành
Watermatking là kỹ thuật nhúng một biểu tượng, còn gọi là thuỷ vân
(watermark) vào trong ảnh môi trường để xác định quyền sở hữu ảnh môi
trường. Kích thước của biểu tượng thường nhỏ ( từ vài bit đến vài nghìn bit ). Kỹ
thuật này cho phép đảm bảo nguyên vẹn biểu tượng khi ảnh môi trường bị biến
đổi bởi các phép thao tác như lọc (filtering), nén mất dữ liệu (lossy
compression), hay các biến đổi hình học, ... Tuy nhiên, việc đảm bảo nguyên vẹn
biểu tượng không kể đến khi có sự tấn công dựa trên việc hiểu rõ thuật toán và
có bộ giải mã trong tay.
Image hiding là kỹ thuật dùng một ảnh môi trường để lưu trữ và chuyển
giao các dữ liệu quan trọng với kích thước tương đối lớn một cách an toàn. Mục
đích của ảnh image hiding là làm cho dữ liệu trở nên không quan sát được đối
với thị giác của con người.

Mục đích của giấu tin :
- Bảo mật cho những thông tin được giấu.
- Bảo mật cho chính các đối tượng giấu tin.
Các yêu cầu đối với giấu tin trong ảnh :
-Tính ẩn của giấu tin được chèn vào ảnh: Sự hiện diện của giấu tin trong ảnh
không làm ảnh chất lượng của ảnh đã chèn tin.
-Tính bền của giấu tin: Cho phép các tin có thể tồn tại được qua các phép biến
đổi ảnh, biến dạng hình học hay các hình thức tấn công cố ý khác.
-Tính an toàn: không thể xoá được tin ra khỏi ảnh trừ khi ảnh được biến đổi tới
mức.
Một kỹ thuật giấu tin trong ảnh được đánh giá dựa trên một số đặc điểm sau:
- Số lượng thông tin được giấu.
- Tính an toàn và bảo mật của thông tin.
- Chất lượng của ảnh sau khi giấu thông tin bên trong.
Yêu cầu cuối cùng là thuật toán phải cho phép lấy lại được thông tin đã giấu
trong ảnh mà không có ảnh môi trường. Điều này là một thuận lợi khi ảnh môi
trường là duy nhất nhưng lại làm giới hạn khả năng ứng dụng của kỹ thuật giấu tin.
Để thực hiện việc giấu tin trong ảnh, trước hết ta phải xử lý được ảnh tức là
phải số hoá ảnh. Quá trình số hoá các dạng ảnh khác nhau thì không như nhau. Có
nhiều loại ảnh đã được chuẩn hoá như: JPEG, PCX, BMP,. . . Trong báo cáo này chỉ
sử dụng ảnh *.BMP.
10

GVHD: Thái Thị Thanh Vân


Báo cáo đề tài Thực tập cơ sở chuyên ngành
1.5 Tìm hiểu về cấu trúc của ảnh Bitmap(BMP)
Ảnh BMP (Bitmap) được phát triển bởi Microsoft Corporation, được lưu trữ dưới
dạng độc lập thiết bị cho phép Windows hiển thị dữ liệu không phụ thuộc vào khung

chỉ định màu trên bất kì phần cứng nào. Tên file mở rộng mặc định của một file ảnh
Bitmap là .BMP. Ảnh BMP được sử dụng trên Microsoft Windows và các ứng dụng
chạy trên Windows từ version 3.0 trở lên.
Mỗi file ảnh BMP gồm 3 phần: -BitmapHeader (54byte)
-Palette màu (bảngmàu)
-Bitmap Data(dữ liệu ảnh)
Cấu trúc cụ thể của ảnh :
-Bitmap Header (54 byte): Lưu trữ những thông tin cơ bản về tệp ảnh và thuộc tính
cơ bản của ảnh.

11

GVHD: Thái Thị Thanh Vân


Byte thứ
1-2
3-6
7-10
11-14

Ý nghĩa
Nhận dạng file
Kích thước file
Dự trữ
Byte bắt đầu vùng dữ liệu

Giá trị
‘BM’ hay 19778
Kiểu long trong Turbo C

Thường mang giá trị 0
Offset của byte bắt đầu vùng dữ
liệu

15-18
19-22
23-26
27-28
29-30
31-34

Số byte cho vùng info
Chiều rộng ảnh BMP
Chiều cao ảnh BMP
Số Planes màu
Số bit cho một pixel

4 byte
Tính bằng pixel
Tính bằng pixel
Cố định là 1
Có thể là1, 4, 8, 16, 24 tuỳ theo

Kiểu nén dữ liệu

loại ảnh
0: Không nén
1: Nén runlength 8bits/pixel

35-38

39-42
43-46
47-50

Kích thước ảnh
Độ phân giải ngang
Độ phân giải dọc
Số màu sử dụng trong

51-54

ảnh
Số màu được sử dụng khi

2: Nén runlength 4bits/pixel
Tính bằng byte
Tính bằng pixel / metter
Tính bằng pixel / metter

hiển thị ảnh
Bảng 1.1 Bảng chi tiết những thông tin trong BitmapHeader.

Thành phần bitCount của cấu trúc BitmapHeader cho biết số bit dành cho
mỗi điểm ảnh và số lượng màu lớn nhất của ảnh. BitCount có thể nhận các giá trị
sau:
1: Bitmap là ảnh đen trắng, mỗi bit biểu diễn 1 điểm ảnh. Nếu bit mang giá
trị 0 thì điểm ảnh là đen, bit mang giá trị 1 điểm ảnh là điểm trắng.
4: Bitmap là ảnh 16 màu, mỗi điểm ảnh được biểu diễn bởi 4 bit.
8: Bitmap là ảnh 256 màu, mỗi điểm ảnh biểu diễn bởi 1 byte.



16: Bitmap là ảnh highcolor, mỗi dãy 2 byte liên tiếp trong bitmap biểu diễn
cường độ tương đối của màu đỏ, xanh lá cây, xanh lơ của một điểm ảnh.
24: Bitmap là ảnh true color (224 màu), mỗi dãy 3 byte liên tiếp trong
bitmap biểu diễn cường độ tương đối của màu đỏ, xanh lá cây, xanh lơ (RGB)
của một điểm ảnh.
Thành phần ColorUsed của cấu trúc BitmapHeader xác định số lượng màu
của palette màu thực sự được sử dụng để hiển thị bitmap.Nếu thành phần này
được đặt là 0, bitmap sử dụng số màu lớn nhất tương ứng với giá trị của
BitCount.
Palette màu (bảng màu): bảng màu của ảnh, chỉ những ảnh lớn hơn hoặc
bằng 8 bit màu mới có Palette màu.
BitmapData (thông tin ảnh): phần này nằm ngay sau phần palette màu của
ảnh BMP. Đây là phần chứa giá trị màu của điểm ảnh trong ảnh BMP, các dòng
ảnh được lưu từ dưới lên trên, các điểm ảnh được lưu từ trái sang phải. Giá trị
của mỗi điểm ảnh là một chỉ số trỏ tới phần tử màu tương ứng của palette màu.
Chương 2. KỸ THUẬT GIẤU TIN TRONG ẢNH SỐ
2.1 Giới thiệu
Kỹ thuật giấu tin LSB(Least significant bit ) là một kỹ thuật đáp ứng
được tính bảo mật và giấu được nhiều dữ liệu hơn.Tuy nhiên hiện tại các kỹ
thuật không sử dụng hết dữ liệu của ảnh gốc. Nhiều kỹ thuật đã được phát
triển để sử dụng số lượng nhiều hơn và nhiều hơn nữa các bit/pixel để đạt
được nhiều dữ liệu ẩn hơn. Bằng cách sử dụng các bit LSB của mỗi pixel để
ẩn dữ liệu mà không có sự thay đổi của hình ảnh giấu tin. Văn bản được
chuyển đổi thành mã ASCII và sau đó lần lượt từng bit mã ASCII của mỗi tin
lần sẽ thay thế các giá trị LSB trên mỗi điểm ảnh của ảnh gốc.
2.2 Kỹ thuật giấu tin trong ảnh
Bit có trọng số thấp(Least significant bit ) là bit có ảnh hưởng ít nhất tới
việc quyết định tới màu của mỗi điểm ảnh, vì vậy khi ta thay đổi bit ít quan
trọng của một điểm ảnh thì màu của mỗi điểm ảnh mới sẽ tương đối gần với

điểm ảnh cũ. Như vậy kỹ thuật tách bit trong xử lý ảnh được sử dụng rất nhiều
trong quy trình giấu tin. Việc xác định LSB của mỗi điểm ảnh trong một bức


ảnh phụ thuộc vào định dạng của ảnh và số bit màu dành cho mỗi điểm của ảnh
đó. Ví dụ đối với ảnh 16 bit thì 15 bit là biểu diễn 3 màu RGB của điểm ảnh
còn bit cuối cùng không dùng đến thì ra sẽ tách bit này ra ở mỗi điểm ảnh để
giấu tin, hoặc với ảnh 256 màu thì bit cuối cùng trong 8 bit biểu diễn một điểm
ảnh được coi là bit ít quan trọng nhất…
Trong xử lý ảnh, mỗi pixel nói chung được lưu dưới dạng 8 bit hay 24 bit.
Với biểu diễn 24 bit, mỗi pixel trải trên 3 byte, mỗi byte ứng với các màu đỏ,
xanh da trời và xanh lá cây (RGB). Các màu là sự kết hợp của 3 màu trên. Mỗi
byte có giá trị từ 0 - 255 ứng với cường độ màu. Màu tối nhất có giá trị 0, màu
sáng nhất có giá trị 255.

Hình 2.1 : Minh họa giá trị R-G-B của từng pixel

Mỗi pixel của ảnh Bitmap lại là sự nạp chồng của 3 ảnh con, mỗi ảnh
con chỉ biểu diễn 1 trong 3 màu Red(đỏ) Green(xanh lục) và Blu(xanh da
trời) với giá trị màu khác nhau, xét với 1 ảnh có kích cơ lớn hơn (5x5)


Hình 2.2: Thể hiện sự nạp chồng của các ảnh con

Hiểu đơn giản, ta xét 3 ma trận con B3, B5, B7 tương ứng với màu của
chúng (không xét tới giá trị màu) các điểm A1~A9 là các điểm trung tâm của
9 ma trận con(3x3) này sẽ biểu diễn màu của cả ma trận (9x9) ngoài 9 điểm
này thì sự ảnh hưởng của những điểm khác tới việc hiển thị màu của ma
trận không đáng kể, những điểm này sẽ là nơi thuật toán LSB thực hiện việc
thay đổi các bit LSB. Dựa vào cách thuật toán triển khai, mỗi điểm ảnh sẽ là 1

giá trị biểu thị cho mức độ sáng của điểm ảnh đó, với ảnh Bitmap sẽ là sự
nạp chồng của 3 lớp giá trị ứng với 3 màu. Để dễ hiểu, dưới đây là ma trận
điểm ảnh của ảnh xám tương ứng với 1 lớp trong điểm ảnh Bitmap.

Hình 2.3 a, Ảnh thật 10x10; b, Ảnh được zoom; c,Mô tả ảnh bằng ma trận điểm


Có rất nhiều phương pháp để che giấu thông tin trong các hình ảnh số
nhưng phương pháp dụng nhất là chèn bit có trọng số nhỏ nhất (LSB). Ví dụ
ta có: 11110110 là một số nhị phân 8 bit. Bit tận cùng bên phải ( bit 0 ) được
gọi là bit LSB vì sự thay đổi của nó có ảnh hưởng ít nhất đến giá trị của số.
Dữ liệu nhị phân của thông báo mật sẽ bị chia nhỏ ra và thay thế các bit LSB
của từng byte trong giá trị RGB của từng Pixel. Sở dĩ chúng ta chỉ thay thế
các bit LSB là vì sau khi thay đổi các giá trị trong RBG chỉ dao động 1 đơn vị,
dùng mắt thường sẽ khó phát hiện ra sự thay đổi của bức ảnh, giúp đạt được
mục đích ẩn dấu.
Bởi mỗi pixel được tạo nên từ 3 kênh màu (RGB), nên ta có thể dấu tối đa
3 bit của thông báo mật.

Hình 2.4 : Quá trình thay thế các bit LSB

Trong phép giấu này ta coi bit cuối cùng là bit ít quan trọng nhất, thay đổi
giá trị của bit này thì sẽ thay đổi giá trị của điểm ảnh lên hoặc xuống đúng một
đơn vị, ví dụ như giá trị điểm ảnh là 234 thì khi thay đổi bit cuối cùng nó có thể
mang giá trị mới là 235 nếu đổi bit cuối cùng từ 0 thành 1. Với sự thay đổi nhỏ
đó cấp độ màu của điểm ảnh sẽ không bị thay đổi nhỉều .
Trong báo cáo này,chúng tôi sử dụng hình ảnh Bitmap 24 bit làm hình ảnh
gốc. Bởi vì ảnh Bitmap có lượng thông tin dư thừa là lớn, nó dễ dàng thay đổi
để nhúng được nhiều tin mật vào bên trong ảnh mà không có sự khác biệt nào
của hình ảnh giấu tin. Điều này nhằm đáp ứng mục đích của giấu tin mật trong

hình ảnh.


Như chúng ta đã biết mỗi pixel của hình ảnh BMP 24 bit có ba byte màu:
một cho Red, một cho Green, một cho Blue. Mỗi ký tự của văn bản sẽ được
chuyển đổi sang mã ASCII tương ứng. Duyệt các pixel của ảnh gốc, đọc các
giá trị R-G-B của từng pixel một. Thay LSB của từng giá trị R-G-B với một Bit
trong chuỗi văn bản cần giấu.

Hình 2.5 : Duyệt và thay thế từng LSB dưới dạng chuỗi bit.

2.3 Thuật toán giấu tin trong ảnh
+ Input:

- Ảnh Bitmap 24 bit.
- Văn bản cần giấu.
+ Output : - Ảnh giấu tin.
+thuật toán:
- Bước 1: Đọc ảnh gốc. Đọc tin mật, chuyển đổi thành mã ASCII.
- Bước 2: Duyệt từng điểm ảnh theo thứ tự từ trái qua phải, từ trên xuống
dưới. Đọc giá trị R-G-B
- Bước 3: Dùng các bit LSB hàng đầu tiên để giấu thông tin mật khẩu cho
bức ảnh trước khi giấu tin. Thay LSB của từng giá trị R-G-B
với một bit trong chuỗi tin mật.


Hình 2.6: Sơ đồ quá trình giấu tin.

2.4 Thuật toán tách tin từ ảnh
+ Input : - Ảnh giấu tin

+ Output : - Ảnh gốc
- Tin được giấu
+thuật toán:
- Bước 1: Đọc hình ảnh giấu tin.Duyệt từng pixel của bức ảnh, rút ra các
LSB của từng điểm ảnh.
- Bước 2: Đọc giá trị R-G-B của từng pixel, lấy các LSB của từng giá
trị R-G-B ta được 1 chuỗi nhị phân của văn bản gốc.
- Bước 3: Chuyển chuỗi nhị phân sang mã ASCII đọc được.


Hình 2.7: Sơ đồ quá trình tách tin.


Chương 3. CÀI ĐẶT VÀ THỬ NGHIỆM
3.1 Mỗi trường cài đặt
Ngôn ngữ cài đặt, môi trường soạn thảo và chạy chương trình được thực hiện
trên ngôn ngữ lập trình C sharp
Hệ điều hành Win 10 và môi trường Visual Basic 2013
3.2 Tập dữ liệu thử nghiệm
- Tệp ảnh Bitmap 24 bit với các kích thước khác nhau lấy trên Internet.
- Tệp file notepad chứa thông tin cần giấu.
3.3

Một số giao diện của chương trình
3.3.1Giao diện chính của chương trình

Hìn
h 3.1: Giao diện chính của chương trình

Chương trình được thiết kế với hai chức năng cơ bản, một là ứng dụng giấu tin

(Mã hóa), một là ứng dụng lấy tin từ trong ảnh sau khi giấu tin (Giải mã).


3.3.2Các chức năng chính của chương trình
Chức năng mã hóa của chương trình: Là khả năng giấu thông tin vào
trong ảnh, với các thuật toán mã hóa dữ liệu, kết hợp với thuật toán giấu tin.
Đầu tiên sẽ là chọn file ảnh để giấu tin, chọn file dữ liệu cần giấu, nhập kèm
password cho bức ảnh trước khi giử đi.

Hình 3.2: Giao diện của giấu tin

Chức năng giải mã : chọn ảnh cần giải mã, chọn nơi lưu văn bản tách được,


nhập mật khẩu, sau đó chọn Decode

Hình 3.3: Giao diện của tách tin

Bây giờ ta so sánh ảnh trước và sau khi giấu tin:


Hình 3.4: So sánh ảnh trước và sau khi giấu tin

Thuộc tính không đổi của ảnh trước và sau giấu tin.


Hình 3.5: Thuộc tính của ảnh trước và sau khi giấu tin

KẾT LUẬN
Cùng với giấu thông tin trong audio và giấu thông tin trong video, kỹ thuật

giấu thông tin trong ảnh là những hướng nghiên cứu chính của thuật toán giấu


thông tin hiện nay và đã đạt được những kết quả khả quan. Mặc dù so với hai kỹ
thuật trước, kỹ thuật giấu thông tin trong ảnh bị hạn chế về mặt kích thước của
ảnh do đó ảnh hưởng đến lượng thông tin có thể giấu trong đó, tuy nhiên điều
này có thể được khắc phục bằng cách tăng số lượng ảnh giấu.
Báo cáo này đã trình bày một số khái niệm liên quan tới việc che giấu
thông tin nói chung, cụ thể hơn là giấu thông tin trong ảnh số và cũng trình bày
một thuật toán giấu tin trong ảnh Bitmap 24bit, dựa trên cơ sở phát triển từ thuật
toán giấu tin trong ảnh đen trắng và ảnh đa cấp xám.
Với thuật toán giấu tin trong ảnh mầu thì tính vô hình của thông tin sau khi
giấu được đảm bảo, thông qua việc chọn ảnh có dung lượng đủ lớn để những
biến đổi không gây ra sự chú ý đáng kể nào. Ảnh sau khi giấu tin sẽ ít xuất hiện
những điểm ảnh có màu sắc khác so với các điểm ảnh xung quanh nhưng với thị
giác của con người thì không thể phân biệt được sự khác nhau đó.
Độ an toàn của chương trình, phụ thuộc vào độ an toàn của thuật toán giấu
tin và thuật toán mã hóa. Với thuật toán giấu tin, độ an toàn phụ thuộc rất lớn
vào vấn đề có thể phát hiện được những thay đổi trong ảnh đã giấu tin với ảnh
gốc hay không, do đó khi chọn ảnh gốc thì nên chọn những ảnh bình thường, ít
quen thuộc,… và quá trình truyền ảnh giấu tin nên được ngụy trang bằng những
việc bình thường, gửi kèm theo nhiều ảnh không chứa thông tin,… khi đó kẻ tấn
công sẽ rất khó để có thể nhận biết trong ảnh có chứa thông tin hay không và nếu
có thì ảnh nào mới chứa thông tin,… Ngoài ra sự kết hợp nhiều thuật toán mã
hóa dữ liệu, sẽ làm tăng thêm độ an toàn cho thông tin truyền đi. Độ an toàn của
chương trình phụ thuộc vào việc lựa chọn thuật toán mã hóa. Tuy nhiên, mỗi
một thuật toán sẽ có những ưu, nhược điểm riêng, do đó tùy vào độ quan trọng
của thông tin, mục đích của công việc mà ta lựa chọn thuật toán thích hợp. Nói
cách khác, khi ứng dụng việc tích hợp mật mã vào giấu thông tin trong ảnh, độ
an toàn của dữ liệu khi được gửi đi sẽ tăng lên rất nhiều so với kỹ thuật chỉ giấu

thông tin thông thường, hoặc chỉ sử dụng các thuật toán mã hóa.
Không một phương pháp bảo vệ dữ liệu nào được gọi là an toàn tuyệt đối,
do đó, tùy vào mức độ quan trọng của thông tin, mục đích sử dụng và điều kiện
thực tế để ta lựa chọn phương pháp tối ưu nhất.
Do thời gian và kiến thức còn hạn chế nên báo cáo này của chúng tôi không


×