MỘT SỐ KỸ THUẬT GIẤU TIN VÀO ẢNH BITMAP 24 BIT

Một phần của tài liệu Nghiên cứu xây dựng một phương pháp giấu tin đơn giản, an toàn (Trang 39)

2.6.1 Phương pháp giấu tuần tự

Đây là phương pháp giấu tin đơn giản nhất. Khi xác định được điểm khởi đầu trong miền không gian ảnh, chúng ta thực hiện giấu từng bít dữ liệu vào mỗi thành phần mầu của mỗi điểm ảnh một cách tuần tự, từ điểm ảnh hiện tại cho đến những điểm ảnh kế tiếp, tới khi toàn bộ dữ liệu được giấu hết. Điểm yếu của phương pháp này, rất dễ dàng bị phát hiện bằng phương pháp tấn công trực quan hoặc phương pháp phân tích ảnh sử dụng tiêu chuẩn thống kê Khi bình phương.

2.6.2 Phương pháp giấu vào các khu vực nhậy cảm của ảnh

Ý tưởng: chọn những vùng ảnh nhậy cảm (có mầu sắc sặc sỡ, các điểm ảnh có

Phương pháp này cho phép người sử dụng tự quyết định sẽ sử dụng bao nhiêu điểm ảnh trong mỗi vùng đã chọn để giấu tin. Đồng thời, với mỗi điểm ảnh, trong mỗi vùng khác nhau có thể sử dụng số lượng bít có trọng số thấp khác nhau để giấu tin.

Phương pháp này khắc phục được những hạn chế của phương pháp giấu tuần tự. Tuy nhiên, khi triển khai ứng dụng lại gặp khó khăn, vì yêu cầu người sử dụng phải tính toán kích thước dữ liệu đem giấu. Đồng thời, phụ thuộc vào độ phức tạp và số lượng các vùng ảnh được chọn lựa cũng ảnh hưởng đến kích thước vùng “bản đồ” dùng để lưu giữ các khu vực ảnh được chọn để giấu tin. “Bản đồ” các khu vực ảnh phải được nhúng kèm theo ảnh để sử dụng khi tách thông tin. Nếu lượng tin đem giấu không nhiều, nhưng lại chọn quá nhiều vùng ảnh với hình dạng phức tạp, thì việc phải lưu giữ những thông tin đó đôi khi lại lớn hơn độ dài tin mật.

2.6.3 Phương pháp giấu ngẫu nhiên vào các điểm ảnh

Phương pháp này khắc phục được những hạn chế của phương pháp giấu tin tuần tự vào các điểm ảnh, đồng thời, cũng dễ dàng triển khai hơn so với phương pháp lựa chọn các vùng ảnh để giấu tin.

Ý tưởng: chọn ngẫu nhiên các điểm ảnh chưa giấu tin, tiếp theo, chọn ngẫu nhiên thành phần mầu chưa giấu tin để giấu tin vào bit có trọng số thấp nhất của thành phần mầu này.

2.7 Khả năng phát hiện ảnh có giấu tin

Như chúng ta đã biết, giấu tin trong ảnh chia làm hai: Watermaking và Steganography. Tùy theo mục đích khác nhau mà bài toán phân tích sẽ đặt ra yêu cầu khác nhau. Với hệ mật Steganography, chỉ cần phát hiện ra ảnh có giấu tin thì đã được

coi là thành công, mà không cần phải trích rút tin ra. Tuy nhiên, đối với hệ bảo vệ bản quyền số, ngoài việc phát hiện, chúng ta phải trích rút tin đã giấu trong đó, xa hơn, phải có khả năng thay đổi những thông tin đã giấu trong ảnh. Luận văn này, chỉ xem xét trường hợp thứ nhất: phát hiện xem ảnh có giấu tin trong đó hay không?

Trong phân tích ảnh giấu thông tin, người ta lại chia làm hai loại: phân tích “mù” (blind steganalysis) và phân tích có chủ đích (targeted steganalysis).

* Phân tích “mù”: Chúng ta không biết trước thuật toán giấu tin là thế nào. Do đó, thường dựa trên kinh nghiệm, kết hợp với một cơ sở dữ liệu lưu giữ những đặc trưng của một số thuật toán giấu tin hoặc những phần mềm giấu tin đã biết để tiến hành phân tích ảnh, rồi đưa ra kết luận.

* Phân tích có chủ đích: Chúng ta biết trước thuật toán giấu tin đang sử dụng, hoặc ít ra cũng biết trước chiến lược giấu tin là gì, ví dụ: chiến lược giấu tin vào các bít có trọng số thấp chẳng hạn, mặc dù chưa biết giấu theo phương pháp nào (tuần tự, ngẫu nhiên hay theo từng khu vực ảnh). Để phân tích hệ giấu tin mật này, thường dựa trên phân tích sự khác biệt giữa các điểm ảnh, phân tích sự chuyển mầu có đột ngột hay không? Tại sao khi quan sát bằng mắt thường thì dải mầu không thay đổi, nhưng khi quan sát ở chế độ nhị phân lại có sự sai khác đáng nghi ngờ tại các bít LSB? Phương pháp phân tích có chủ đích được nghiên cứu phổ biến là phân tích cặp giá trị PoV (giá trị điểm ảnh 2k,2k+1), rồi áp dụng các tiêu chuẩn xác suất thống kê để đưa ra kết luận. Trong tấn công có chủ đích, một yêu cầu đặt ra: ước lượng tỉ lệ tin mật nhúng trong ảnh là bao nhiêu?

Một số phương pháp phân tích hệ mật steganography:

- Phương pháp phân tích trực quan:

Là phương pháp dựa trên quan sát trực tiếp ảnh và đưa ra kết luận ảnh có giấu tin hay không. Đây là phương pháp đơn giản và mang lại hiệu quả không cao. Ngoài việc phân tích các vùng ảnh nghi vấn, chúng ta có thể kết hợp phân tích lược đồ mầu của ảnh bằng một số phần mềm xử lý ảnh để phát hiện sự tăng đột biến ở một số gam mầu (đặc biệt là các gam mầu thuộc bít LSB). Một phương pháp khác được sử dụng, mang lại hiệu quả cao hơn để phát hiện ảnh giấu tin một cách tuần tự, đó là phương pháp tăng cường bit có trọng số thấp. Để áp dụng phương pháp tăng cường bit có trọng số thấp, ta sử dụng chính thuật toán giấu tin vào bit có trọng số thấp, nhưng với điều kiện : nếu bit LSB là 0 thì ta chuyển toàn bộ các bit cao thành 0 ; nếu bit LSB là 1 thì chuyển toàn bộ các bit cao thành 1. Kết quả là mầu sắc ảnh có giấu tin trở lên khác thường, đáng nghi vấn.

Ngoài việc giấu tin vào trực tiếp vùng lưu giữ dữ liệu của ảnh, có một số phần mềm giấu tin còn sử dụng những vùng ảnh không sử dụng: vùng comment, header, phần kết thúc file ảnh,... để giấu tin. Dựa trên cấu trúc của ảnh, chúng ta có thể dễ dàng phát hiện ra ảnh có giấu tin trong trường hợp này. Thực tế, chỉ cần sử dụng phần mềm như UltraEdit, WinHex,.. là có thể tấn công thành công.

- Phương pháp phân tích sử dụng các tiêu chuẩn thống kê:

Hai tác giả, Plitzmann và Westfeld đã sử dụng tiêu chuẩn xác suất thống kê để phân tích các cặp giá trị PoV (Pair of Values). Dựa trên kết quả xác suất thu được, có thể đưa ra dự đoán ảnh có giấu tin hay không. Trước khi giấu tin, trên ảnh gốc, mỗi giá trị PoV có phân phối không đều (giá trị tính toán tần số xuất hiện cách xa 50/50). Sau khi giấu tin, khoảng cách giá trị trong mỗi cặp có xu hướng trở nên gần nhau hơn (gần với 50/50).

Hai phương pháp phân tích trực quan và phân tích dựa trên cấu trúc ảnh, luận văn sẽ không đề cập đến mà chỉ tập trung vào một phương pháp phân tích sử dụng tiêu chuẩn thống kê Khi-bình phương.

2.7.1 Khái niệm cặp giá trị điểm ảnh (PoV) và khả năng phát hiện giấu tin bằng phương pháp thống kê χ –bình phương phương pháp thống kê χ –bình phương

Ý tưởng: Theo hai tác giả PfitzmannWestfeld cho rằng, trái với suy nghĩ của chúng ta, giá trị các bít LSB của ảnh chưa giấu tin lại hoàn toàn không ngẫu nhiên. Nghĩa là, tần số của mỗi điểm ảnh trong cặp giá trị PoV (Pairs of Values) có xu hướng cách nhau khá xa chứ không như ý nghĩa của mỗi cặp PoV có tỉ số là 50/50. Nói cách khác, khi tần số xuất hiện của các điểm ảnh có giá trị chẵn (2k) gần bằng (hoặc bằng) tần số xuất hiện của các điểm ảnh có giá trị lẻ (2k+1) thì nhiều khả năng bức ảnh đó có giấu tin. Các tác giả đã đề xuất phương pháp phát hiện ảnh có khả năng giấu tin bằng phương pháp thống kê Khi- bình phương.

2.7.2. Khái niệm cặp giá trị điểm ảnh (POV – Pairs of Values)

Theo nghiên cứu của PfitzmannWestfeld: Giả sử một điểm ảnh P có giá trị là i, sau khi được giấu tin vào bít LSB thì điểm ảnh P sẽ có giá trị là j. Hai giá trị ij

chỉ sai khác nhau 1 bít thấp nhất. Cặp giá trị (i,j) được gọi là một cặp PoV. Ví dụ:

Giả sử điểm ảnh P có giá trị 100, sau khi giấu tin vào bít thấp nhất sẽ có giá trị như sau:

100 nếu giấu bít 0 101 nếu giấu bit 1

Nếu chúng ta coi C là tập giá trị các pixel của ảnh CoverS là tập giá trị các pixel ảnh Stego, chúng ta có sơ đồ ánh xạ tương ứng giữa CS như sau:

Ta có công thức tổng quát là: {2k, 2k+1 | 0 ≤ k ≤ 127}. (adsbygoogle = window.adsbygoogle || []).push({});

Như vậy, giá trị của một điểm ảnh thuộc một cặp PoV sau khi giấu tin thì giá trị của nó vẫn nằm trong cặp đó.

2.7.3. Thuật toán PoV3

Thuật toán PoV3 tiến hành kiểm tra toàn bộ bức ảnh từ 1% đến 100% và trả lại kết quả tính toán xác suất trên mỗi phần trăm của mỗi tập con các điểm ảnh của ảnh cần kiểm tra. Các điểm ảnh được kiểm tra lần lượt từ góc trên bên trái của ảnh.

Ý nghĩa thuật toán như sau:

Giả sử hai véc tơ X128x1, Y128x1 với | 0 ≤ k ≤ 127, trong đó xk = frequency(2k) lưu giữ tần số xuất hiện của điểm ảnh có giá trị chẵn trên ảnh và yk = frequency(2k+1) lưu giữ tần số xuất hiện của điểm ảnh có giá trị lẻ .

Trước hết, khởi tạo các giá trị cho hai véc tơ X, Y bằng 0. Tiếp theo, tính các giá trị cho hai véc tơ XY. Sau đó, tính zk = (xk+yk)/2, zk là giá trị tần số mong đợi (theo lý thuyết) của giá trị xám 2k2k+1. Giả sử n là số cặp PoV. Với ảnh 8 bit đa cấp xám, có (256 mức độ xám/2) = 128. Nghĩa là, chúng ta có n = 128 cặp giá trị PoV.

Không mất tính tổng quát, chúng ta xem xét các điểm ảnh có giá trị chẵn xk (chú ý rằng, tổng tần số điểm ảnh 2k2k+1 trong ảnh Cover và ảnh Stego là bằng nhau, ví dụ: xk+yk trong ảnh Cover bằng xk+yk trong ảnh Stego). Theo WesfeldPfitzmann, điều kiện để tối ưu tần số với 0≤k≤127, nếu xk+yk≤ 4 thì xk = yk = zk =0n = n -1.

1 C S 0 1 254 254 255 255 0

   2 1 0 1 2 1 2 N X x N dx x e

Cụ thể là, khi kết hợp tần số 2k2k+1 nếu thấy nhỏ hơn 4 thì đặt tần số của 2k

2k+1 bằng 0 đồng thời giảm số cặp PoV đi 1( n=n-1). Thống kê Khi-bình phương bậc

n -1 được tính như sau:

trong đó zi = (xi + yi)/2 (1)

Nếu là ảnh có giấu tin thì giá trị 2 1

n

 nhỏ và xi xấp xỉ bằng zi( tức là giá trị 2k

2k+1 trong cặp PoV có tần số xấp xỉ 50/50). Theo kinh nghiệm, nếu là ảnh không giấu tin thì giá trị 2

1

n

 tương đối lớn bởi vì khi đó khoảng cách giá trị giữa xizilà khá xa.

Cuối cùng, tính p là xác suất giấu tin bằng cách tính hàm mật độ ứng với cận trên là n21:

(2)

Nếu ảnh có chứa thông tin ẩn thì xi = zi đối với mọi i trong phương trình (1). Khi đó 2

1

n

 sẽ nhỏ, suy ra nhỏ, từ (2) suy ra xác suất p sẽ lớn. Ngược lại, khi n21 lớn, suy ra xác suất p sẽ bé.

Dựa trên sự lớn bé của p ta sẽ dự đoán ảnh có giấu tin hay không. (adsbygoogle = window.adsbygoogle || []).push({});

Kết luận:

Chương 2, luận văn tập trung nghiên cứu những kỹ thuật giấu tin trong ảnh đen trắng, ảnh đa cấp xam và một số kỹ thuật giấu tin trong ảnh bitmap 24 bít mầu. Ngoài ra, luận văn cũng tìm hiểu một số kỹ thuật phân tích ảnh giấu tin để làm cơ sở đánh giá kết quả hệ giấu tin mật có bảo đảm an toàn hay không. Trong chương 3, tập trung nghiên cứu phương pháp đảm bảo yêu cầu bảo mật thông điệp giấu trong ảnh.

dx x e n p n x n n         2 1 0 1 2 1 2 2 1 ) 2 1 ( 2 1 1      127 0 2 2 1 ) ( k i i i n z z x

Chương 3 NGHIÊN CỨU ĐỀ XUẤT MỘT PHƯƠNG PHÁP GIẤU TIN

3.1 Cơ sở lý thuyết toán học

3.1.1 Ma trận và ma trận tam giác

Cho ma trận vuông A cấp nxn :

A = (aij)nxn , trong đó aij  {0,1}, i,j =

Ma trận A được gọi là ma trận tam giác trên, nếu ai,j = 0  i>j, i,j =

Bây giờ ta xét ma trận tam giác trên sao cho các phần tử trên đường chéo chính, tức là aii = 1, i = . Khi đó, A có dạng:

Một ma trận vuông cấp n chỉ có các phần tử trên đường chéo chính là bằng 1, các phần tử còn lại bằng 0 thì ma trận đó được gọi là ma trận đơn vị. Ma trận đơn vị cấp n được ký hiệu là In. Nhiều khi ta ký hiệu gọn lại là I.

Ma trận B = (bij)nxn được gọi là ma trận nghịch đảo của ma trận vuông A = (aij)nxn nếu AB = BA = I.

Người ta ký hiệu ma trận nghịch đảo của ma trận (vuông) A bởi ký hiệu A-1. Trong luận văn này, em tập trung vào nghiên cứu ma trận tam giác trên trường GF(2), tức là ma trận tam giác mà các phần tử của nó là 0 hoặc 1.

Ta có các định lý sau:

Định lý 3.1 :

Giả sử A là một ma trận tam giác trên. Khi đó, nếu ma trận A là khả đảo thì ma trận nghịch đảo A-1

Việc chứng minh định lý này có thể được thực hiện bằng phương pháp quy nạp toán học. Ví dụ 1 : Cho , đặt Khi đó A-1.A = I = (1) Từ (1) ta có :

Vậy, ma trận A-1 = trong trường hợp này trùng với ma trận A. Ví dụ 2 :

Cho

Dễ thấy b11 = b22 = b23 = 1. Do đó, ta chỉ xác định bij với i j ; i,j = 1, 2, 3 Ta lập tích : A-1.A = I

hay

Từ đó, theo quy tắc nhân ma trận, ta có: 1.a12 + 1.b12 a12 = b12

1.a13 + b12.a23 + b13 = 0 hay b13 = a13 + b12.a23 1.b13 = 0 b12 = 0

b13 = 0, a12.b31 + b23 = 0 vì b31 = 0 b23 = 0

Vậy, A-1 có dạng:

Định lý 3.2:

Điều kiện cần và đủ để ma trận tam giác trên A khả đảo là các phần tử trên đường chéo chính khác không, tức là:

có nghịch đảo khi và chỉ khi aii 0 với

i = 1, 2, ...,n

Định lý 3.3: (adsbygoogle = window.adsbygoogle || []).push({});

Giả sử A là một ma trận vuông. Nếu A khả đảo thì sự tồn tại A-1 là duy nhất sao cho:

A-1.A = A.A-1 = I (ma trận đơn vị).

Định lý 3.4 :

Nếu ma trận vuông A có ma trận nghịch đảo là A-1

thì ma trận A-1 cũng khả đảo và ma trận nghịch đảo duy nhất của ma trận A-1

lại chính là ma trận A.

Định lý 3.5 :

Giả sử A = (aij)nxm là một ma trận tam giác trên với aii 0 thì ma trận A-1 = (bij)nxm cũng là ma trận tam giác trên và bii = aii-1.

Trường hợp đặc biệt khi aii = 1 i = 1, 2,..., n thì bii = 1 i = 1, 2,..., n

Định lý 3.6 :

Giả sử A là một ma trận vuông tùy ý. Khi đó, A là khả đảo nếu và chỉ nếu định thức của A khác không.

Định lý 3.7 :

Giả sử A là một ma trận tam giác trên, vuông. Khi đó, định thức của A thì bằng tích của các phần tử trên đường chéo chính của A.

Từ các định lý cơ bản trên, chúng ta có thể ứng dụng chúng để tìm nghịch đảo của ma trận tam giác A cho trước như sau :

Giả sử cho trước A :

Ta cần tìm ma trận A-1

= (bij)nxn sao cho : A-1.A = I (2) với I là ma trận đơn vị cấp n.

Theo định lý vừa phát biểu ở trên, ta có ngay bij = 0 với i>j ; i, j = 1, 2, ...,n và bii = 1. Do đó, ta chỉ cần tìm nghiệm từ phương trình (2) mà thôi. Tức là, ta phải xác định các bij với i < j ; i, j = 1, 2, ...,n.

Ta đặt D = A-1

.A = (dij)nxn Trong đó,

Từ phương trình (2) ta có dii = 1 ; i = 1, 2, ..,n và dij = 0 nếu i j.

Một phần của tài liệu Nghiên cứu xây dựng một phương pháp giấu tin đơn giản, an toàn (Trang 39)