1. Trang chủ
  2. » Công Nghệ Thông Tin

Tiểu luận GIẤU TIN TRONG ẢNH MÀU HƯỚNG CẢI TIẾN THUẬT TOÁN CPT (Có Source Code))

5 1,2K 27

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 5
Dung lượng 33,45 KB

Nội dung

Giấu tin là kĩ thuật giấu một lượng thông tin số vào trong một đối tượng số khác ( đối tượng vỏ ) đảm bảo tính vô hình của thông tin được giấu và khi nhìn vào đối tượng vỏ sẽ khó xác định được thông tin có giấu trong đó hay không.Có nhiều cách thức tiến hành giấu thông tin trong ảnh bảo mật thông tin và có tính hiệu quả cao, tuy nhiên không phải phương pháp nào cũng áp dụng tốt, đảm bảo tính toàn vẹn của thông tin được giấu cũng như không làm thay đổi ảnh gốc khi có một sô tác động trong việc thay đổi định dạng ảnh, nén ảnh …Áp dụng thuật toán CPT ( Chen Pan Tseng) giấu tin trong khối bít áp dụng cho ảnh đen trắng. Bài viết trình bày hướng phát triển đề xuất thuật toán cho ảnh màu và ảnh đa cấp xám bằng cách sử dụng các bít ít quan trọng LSB (Least Significant Bit) của ảnh.

Trang 1

THUYẾT MINH CHỦ ĐỀ : GIẤU TIN TRONG ẢNH MÀU HƯỚNG CẢI TIẾN THUẬT TOÁN CPT

1 Giới thiệu

Với sự phát triển ngày càng cao của Công nghệ thông tin, phát sinh nhiều mối

đe dọa Do đó, yêu cầu của vấn đề bảo mật được đặt lên hàng đầu Có rất nhiều phương pháp mã hóa ra đời và đã chứng minh được hiệu quả của nó Và một trong phương pháp bảo mật mới nhất là giấu tin

Giấu tin là kĩ thuật giấu một lượng thông tin số vào trong một đối tượng số khác ( đối tượng vỏ ) đảm bảo tính vô hình của thông tin được giấu và khi nhìn vào đối tượng vỏ sẽ khó xác định được thông tin có giấu trong đó hay không

Có nhiều cách thức tiến hành giấu thông tin trong ảnh bảo mật thông tin và có tính hiệu quả cao, tuy nhiên không phải phương pháp nào cũng áp dụng tốt, đảm bảo tính toàn vẹn của thông tin được giấu cũng như không làm thay đổi ảnh gốc khi có một sô tác động trong việc thay đổi định dạng ảnh, nén ảnh …

Áp dụng thuật toán CPT ( Chen- Pan- Tseng) giấu tin trong khối bít áp dụng cho ảnh đen trắng Bài viết trình bày hướng phát triển đề xuất thuật toán cho ảnh màu và ảnh đa cấp xám bằng cách sử dụng các bít ít quan trọng LSB (Least Significant Bit) của ảnh

2 Quy trình thực hiện

- Với mỗi byte của điểm ảnh ( có thể là ảnh xám hoặc các loại ảnh màu) trích

ra bít ít có giá trị nhất, hay còn gọi là bit LSB là các bít khi bị thay đổi giá trị hầu như không làm ảnh hưởng tới chất lượng của ảnh gốc Trong bài này sử dụng bít thứ 7

- Chuyển đổi tất cả thông tin cần giấu vào ảnh thành chuỗi dạng bít.

- Tạo thành các khối ma trận nhị phân ( Fi ) từ tập hợp bit LSB với kích

thước 4x4 (mặc định sẵn )

- Sinh ngẫu nhiên các ma trận khóa W, K (các ma trận K là khác nhau trong

mỗi lần giấu ) , có kích thước bằng kích thước của Fi

- Thực hiện giấu tin vào từng khối Fi theo thuật toán CPT.

- Trả các bit LSB về ảnh gốc để tạo thành ảnh mới đã giấu tin.

Trang 2

3 Thuật toán CPT

- Input :

 Ma trận điểm ảnh Fi có kích thước 4x4,

 r là số bít có thể giấu vào Fi ( r thỏa mãn điều kiện 2r < 4x4 -1, hay r=3)

 Ma trận nhị phân K (ma trận khóa) có cùng kích thước với Fi (4x4) được sinh ngẫu nhiên trong mỗi lần giấu tin

 Ma trận trọng số W chứa các phần tử là số nguyên, có giá trị từ 1…2r – 1 xuất hiện ít nhất một lần trong W W mặc định trong

 Lượng thông tin cần dấu bi = b1b2b3

 Độ chênh lệch trọng số d

- Out put :

 Ma trận ảnh Fi’ đã chứa thông tin giấu vào Thuật toán sẽ thực hiện giấu r bít thông tin vào khối ma trận ảnh Fi bằng cách thay đổi nhiều nhất 2 bít của Fi và Fi được biến đổi thành Fi’ sao cho luôn thõa mãn điều kiện :

SUM ((Fi K) W) mod 2r = b1b2b3

- Algorithm :

 Bước 1 : Tính array3 = (Fi K)

 Bước 2 : Tính array4 = SUM ((Fi K) W)

 Bước 3 : Xác định các tập vị trí

Sw = {(x,y)| (W(x,y) = w ^ (Fi K)=0) V (W(x,y) = 2r - w ^ (Fi K)=1)}

Trong đó : w lấy các giá trị 1,2…,2r – 1

 Bước 4 : d= b1b2b3 - SUM ((Fi K) W) mod 2r

- Nếu d = 0 ta coi như đã giấu được lượng thông tin bi và khối Fi Do đó,

không cần thay đổi gì trong ma trận Fi Muốn lấy lại bi từ Fi đã chứa bi ta

Trang 3

bi= SUM ((Fi K) W) mod 2r

- Nếu d>0 :

Th1 : Nếu chọn được (Fi K)[i,j]=0 mà W[i,j]=d , cần thay đổi bít tại

[i,j] trong Fi , Fi[i,j] = 1 để “ SUM ((Fi K) W) mod 2r “ tăng lên một lượng d Dừng thuật toán

Ngoài ra, nếu không xảy ra Th1 mà chọn được (Fi K)[i,j]=1 và

W[i,j] = h sao cho h = 2r – d Tiến hành cần thay đổi bít tại [i,j] trong

Fi Fi[i,j] = 0 để “ SUM ((Fi K) W) mod 2r “ giảm đi một lượng h Dừng thuật toán

 Khi 2 trường hợp trên không xảy ra ta xét tới việc cần thay đổi 2 bít trong ma trận ảnh Fi :

 Nếu (Fi K)[i,j] = 0, W[i,j] = t & (Fi K)[n,m] = 1 , W[n,m] = h sao cho h = t - d Tiến hành đổi Fi [i,j] = 1, Fi [n,m] = 0 Fi’ tạo ra sau khi đổi các bít trên Fi Dừng thuật toán

 Nếu (Fi K)[i,j] = 1, W[i,j] = t & (Fi K)[n,m] = 1 , W[n,m] = h sao cho h + t = 2r – d Tiến hành đổi Fi [i,j] = 0,

Fi [n,m] = 0 Fi’ tạo ra sau khi đổi các bít trên Fi Dừng thuật toán

 Nếu (Fi K)[i,j] = 0, W[i,j] = t & (Fi K)[n,m] = 0 , W[n,m] = h sao cho h + t = d Tiến hành đổi Fi [i,j]=1, Fi[n,m]=1 Fi’ tạo ra sau khi đổi các bít trên Fi Dừng thuật toán

- Tương tự : Nếu d<0 :

Th1 : Nếu chọn được (Fi K)[i,j] = 1 mà W[i,j] = |d| , cần thay đổi bít

tại [i,j] trong Fi , Fi[i,j] = 0 để “ SUM ((Fi K) W) mod 2r “ giảm đi một lượng h= - d (h>0) Dừng thuật toán

Ngoài ra, nếu không xảy ra Th1 mà chọn được (Fi K)[i,j] = 0 và

W[i,j] = h sao cho h = 2r – |d| Tiến hành cần thay đổi bít tại [i,j] trong

Fi Fi[i,j] = 1 để “ SUM ((Fi K) W) mod 2r “ tăng lên một lượng h Dừng thuật toán

 Khi các điều kiện trên không thõa mãn ta xét tới việc cần thay đổi 2 bít trong ma trận ảnh Fi :

Trang 4

 Nếu (Fi K)[i,j] = 0, W[i,j] = t & (Fi K)[n,m] = 1 , W[n,m] = h sao cho h = |d| + t Tiến hành đổi Fi [i,j] = 1, Fi[n,m] = 0 Fi’ tạo ra sau khi đổi các bít trên Fi Dừng thuật toán

 Nếu (Fi K)[i,j] = 1, W[i,j] = t & (Fi K)[n,m] = 1 , W[n,m] = h sao cho h = |d| - t Tiến hành đổi Fi [i,j] = 0, Fi [n,m] = 0 Fi’ tạo ra sau khi đổi các bít trên Fi Dừng thuật toán

 Nếu (Fi K)[i,j] = 0, W[i,j] = t & (Fi K)[n,m] = 0 , W[n,m] = h sao cho h + t = 2r –|d| Tiến hành đổi Fi [i,j] =1,

Fi [n,m] = 1 Fi’ tạo ra sau khi đổi các bít trên Fi Dừng thuật toán

4 Lấy thông tin ra khỏi ảnh.

- Lấy lại các bít LSB từ ImageResult, tạo thành từng ma trận Fi

- Lấy các ma trận khóa K,W đã sử dụng giấu tin để giải mã.

- Thực hiện tính bi = SUM ((Fi’ K) W) mod 2r

- Lưu bi dạng mảng 3 bít.

- Copy tất cả bi vào mảng lớn, biến đổi thành dạng byte chứa giá trị ASCCI

của kí tự

- Hiển thị thông tin đã giấu.

5 Các phương thức và thuộc tính trong chương trình.

Lớp Class_Image : // thao tác với ảnh

 public int getktString // đưa ra kích thước dạng byte

của thông tin.

 public void Gray( Bitmap ImageInput)://tạo ảnh xám

 public void LSB( Bitmap ImageInput, string xau): //giấu

ảnh vào bít LSB

 public bool[] ChangeString(string xau): //đưa ra mảng chứa bít thông tin

 BitArray Divide(int temp) ://trả về mảng nhị phân 8bit

 byte UnchangeString( BitArray a)://trả về giá trị của

từng byte.

 byte [] Alter(string beginString, byte[] value): //trả

về mảng byte đã giấu tin vào bít LSB.

 int NumberByte( Bitmap ImageInput)://kiểm tra số byte

của ảnh.

Trang 5

 int[] ArrayLSB( byte[] value)://tạo mảng chứa các bít

LSB của ảnh

 int[,] CPT(int[,] matrix, int gtInformation)// thuật toán CPT.

 int[,] matrixW(): //tạo ma trận W

 int[,] matrixK(): //tạo ma trận K

 public void hideCPT( Bitmap Input, string xau)://giấu ảnh theo CPT

 public byte [] AppearCPT( Bitmap Input)://lấy thông tin

 public int[] mang3bit(int b)://tạo mảng 3bit với đầu

vào là số nguyên.

6 Một số chú ý

- Ưu điểm :

 Do sử dụng bít thông tin ít giá trị để giấu nên ảnh sau khi có thông tin không bị biến đổi nhiều

 Tính bảo mật của thông tin giấu trong ảnh cao phụ thuộc vào hình thức lấy bít LSB và các ma trận khóa K, W

 Với bất kì ảnh nào cũng thực hiện được mà không cần quan tâm tới cấu trúc của ảnh như thế nào

- Nhược điểm :

 Số lượng thông tin giấu vào ảnh còn ít, trung bình 16 byte ảnh cho giấu 3 bít thông tin

 Thông tin dễ bị mất hoặc không còn chính xác khi có bất kì tác động

gì vào ảnh như nén ảnh …

7 Hướng cải tiến trong đồ án

- Hoàn thiện hơn chương trình.

- Bít thông tin sử dụng nằm trong mặt phẳng cao.

- Giấu thông tin dạng file văn bản, dạng Image.

- Không sử dụng tới mặt phẳng bít, áp dụng thuật toán trên ngay từng điểm

ảnh

- Kiểm tra tính toàn vẹn của thông tin được giấu trong ảnh khi biến đổi ảnh đó

thành ảnh xám và biến đổi ngược trở lại

Ngày đăng: 17/10/2014, 15:34

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w