- Tính C= F K - Tính Hj = ( ) i Nj C i H1 = C(1) + C(3) + C(5) + C(7) + C(9) + C(11) + C(13) + C(15) + C(16) = 1+ 1+ 0 + 1+ 1+ 0+ 1+ 0+ 1 = 6 H2 = C(2) + C(3) + C(6) + C(7) + C(10) + C(11) + C(14) + C(15) = 1+ 1+ 0 + 1+ 0+ 0+ 1+ 0 = 4 H3 = C(4) + C(5) + C(6) + C(7) + C(12) + C(13) + C(14) + C(1) = 0+ 0+ 0 + 1+ 1+ 1+ 1+ 0 = 4 H4 = C(8) + C(9) + C(10) + C(11) + C(12) + C(13) + C(14) + C(15) = 1+ 1+ 0 + 0+ 1+ 1+ 1+ 0 = 5 - Tính hj: hj = Hj mod 2 h1 = 6 mod 2 = 0 h2 = 4 mod 2 = 0 h3 = 4 mod 2 = 0 h4 = 5 mod 2 = 1
- Tính Rj: Rj =0 nếu hj = sj Rj =1 nếu hj<> sj R1 = 0; R2 = 0; R3 = 1; R4= 1; - Tính MP: MP = Rr * 2r-1 + Rr-1 * 2r-2 +…+ R1 * 20 MP = 10 (MP <> 0) + Với k 10 thì O(10) = MP + Đảo bit F(10): F(10) = 1- F (10) = 1 + Đặt G = F (nhúng và thay đổi 1 vị trí)
3.2.3. Kỹ thuật giấu tin THA
a) Một số định nghĩa
Định nghĩa 1: Ký hiệu ⊗ là phép nhân theo phần tử của hai ma trận cùng cấp
m×n:
( ⊗ ), = F, × G,, i = 1,2, … , m và j = 1,2, … , n
Định nghĩa 2: Phép ⨁ hai số nguyên không âm là phép tốn xor trên từng cặp
bít tương ứng của chúng.
Ví dụ: 5 ⨁ 12 = 0101⨁1100 = 1001=9
Định nghĩa 3:Với D là ma trận ngun khơng âm cấp m×n, ký hiệu s =
XSUM(D) hay ∑⨁, , được hiểu là phép ⨁ trên tất cả các phần tử của D.
b) Thuật toán giấu tin trên một khối
Nội dung phần này trình bày các thuật toán giấu tin trên một ma trận nhị phânkhối điểm ảnh F cấp m×n, các thuật tốn trong mục này chỉ biến đổi nhiều nhất một phần tử trên F.
c) Thuật tốn nhúng một bít
Đối với ảnh nhị phân, lược đồ của Wu-Lee được biết đến như là một lược đồ đơn giản thuộc nhóm kỹ thuật giấu tin theo khối bít. Lược đồ này sử dụng ma trận nhị phân ngẫu nhiên K cấp m×n làm khóa bí mật. Theo đó, thuật tốn có thể nhúng một bít b vào F bằng việc biến đổi nhiều nhất một phần tử trên F để nhận được G thỏa mãn điều kiện:
SUM(G⨂K)mod 2 = b
Lược đồ này không thể mở rộng để giấu một dãy bít.
Xét một thuật toán khác bằng cách thay XSUM(G⨂K) = b cho điều kiện SUM(G⨂K)mod 2 = b trong thuật tốn Wu-Lee. Thuật tốn này có thể mở rộng để
giấu một dãy r bít.
Thuật toán 1
Thuật toán này sẽ biến đổi nhiều nhất một phần tử trên F để nhận được G thỏa mãn điều kiện:
XSUM(G⨂K) = b
Thuật toán được thực hiện như sau: Bước 1:Tính s = XSUM(F⨂K)
Nếu b = s, đặt G = F, kết thúc thuật tốn \\Nhúng mà khơng cần thay đổiảnh
Ngược lại, chuyển đến Bước 2 Bước 2:Tính d = s⨁b
Tìm một phần tử ( , )sao cho , =
Fu,v = 1- Fu,v \\ Đảo phần tửFu,v Đặt G = F
Kết thúc thuật toán
Nhận xét 1: Trong thuật tốn d = 1.Vì vậy, để bước 2 ln thực hiện được thì ma trận K cần thỏa mãn điều kiện:
{1} ⊂ { , | = 1, … , và = 1, . . . , }
c) Thuật tốn nhúng dãy bít
Trong mục này ta sẽ mở rộng Thuật toán 1 để nhúng dãy bít = … vào khối điểm ảnh F bằng cách sử dụng ma trận khóa K gồm các phần tử là các dãy nhị phân r bít. Nói cách khác, các phần tử Ki,j có giá trị từ 0 đến 2r-1.
Tương tự như Thuật toán 1, thuật toán dưới đây sẽ biến đổi nhiều nhất một phần tử của F để được ma trận G thỏa mãn điều kiện:
Thuật toán 2:
Bước 1:Tı́nh s = XSUM(F⨂K)
Nếu = , đặt G = F và kết thúc thuật toán Ngược lại, chuyển sang Bước 2
Bước 2:Tı́nh d = s⨁b
Chọn một phần tử (u, v) sao cho K , = d F , = 1 − F ,
Đặt G = F và kết thúc thuật toán
Nhận xét 2: Trong thuật toán trên, d là một số nguyên từ 1 đến 2r-1. Do đó, để bước 2 ln thực hiện được thì ma trận khóa K phải thỏa mãn điều kiện:
{1, 2, … , 2 − 1} ⊆ { , | = 1,2, … , và = 1,2, … , }
Từ điều kiện này suy ra: ≤ ⌊log ( × + 1)⌋
d) Ví dụ minh họa
Nhúng hai bít b1b2 vào ma trận F với các tham số cụ thể như sau:
b=b1b2=10 F K 1 0 0 10 01 10 0 1 1 11 01 10 0 1 1 11 11 01 Bước 1: Tính s = ( ⨂ ) = 10⨁01⨁10⨁11⨁01 = 11
Do s ≠ b, chuyển sang Bước 2 Bước 2: Tính = ⨁ = 11⨁10 = 01
Theo thuật toán chọn ( , )| , = , suy ra (u,v) = (1,2) Đảo F1,2: F1,2=1-0 = 1
Đặt G = F.
G 1 1 0 0 1 1 0 1 1
e)Chứng minh thuật toán nhúng dãy bít
Để khẳng định Thuật tốn 2 đúng ta cần chứng minh trong mọi trường hợp kết thúc G luôn thỏa mãn điều kiện: ( ⨂ ) =
Xét hai trường hợp kết thúc của thuật toán:
Trường hợp 1: Thuật toán kết thúc tại Bước 1, hiển nhiên G thỏa mãn điều kiện
(2). Bởi, G chính là F, mà F thỏa mãn điều kiện ( ⨂ ) = .
Trường hợp 2:Thuật toán kết thúc tại Bước 2
- Tính = ⨁ ,
- Chọn một phần tử (u, v)| , = , - Đảo Fu,v: Fu,v=1-Fu,v
- Đặt G=F
Khi đó, dễ dàng suy ra các phần tử của G được xác định theo công thức sau: , = , , ê ( , ) ≠ ( , ) 1 − , , ê ( , ) = ( , ) (3.1) Gọi j i j i j i K G K G XSUM s , , , ) ( ' Từ (3.1) suy ra: ] ) 1 [( ' , , ) , ( ) , ( , , uv uv v u j i j i j i K F K F s (3.2)
Do F là ma trận nhị phân nên Fu,v=0 hoặc 1. Xét hai trường hợp của Fu,v.
o Trường hợpFu,v=0, từ (3.2) suy ra:
] ) 1 [( ' , , , , , uv uv j i j i j i K F F F s s'sKu,v (3.3)
o Trường hợp Fu,v=1, từ (3.2) suy ra: v u v u v u v u v u j i j i j i K F K K K F s , , , , ) , ( ) , ( , , [(1 ) ] ' uv uv uv j i j i j i K F F K F s , , , , , , [(1 ) ] ' s'sKu,v (3.4)
Từ (3.3) và (3.4) suy ra khi đảo giá trị Fu,v thì s = XSUM(G⨁K) = s ⨁ K , Mặt khác, theo thuật toánK , = d ma ̀d = s⨁b nên s = s ⨁ s ⨁b = b
Vậy ( ⨂ ) = .
Thuật toán 3
Để nâng cao mức độ an tồn của Thuật tốn 2, ta có thể sử dụng thêm một số
∈ {0,1,2, … , 2 − 1} làm khóa thứ 2. Khi đó ta nhận được thuật toán 3 có nội
dung tương tự như Thuật tốn 2 ngoại trừ s được tính theo cơng thức:
s = XSUM(F⨂K)⨁ w
Ngồi ra, để khơi phục dãy bít b, sử dụng cơng thức sau:
SUM(G⨂K)⨁ w = b
Ta nhận thấy ma trận G trong Thuật toán 3 được xác định từ F, K, w và b. Vì vậy, ta có thể xem Thuật tốn 3 như một phép biến đổi T từ (F,K,w,b) đến G:
G = T(F,K,w,b)
f) Lược đồ giấu tin trên ảnh nhị phân
Giả sử I là ảnh nhị phân dùng để giấu tin và b là dãy bít tin mật cần giấu. Trong thuật toán sử dụng hai khóa K và W, trong đó K là ma trận cấp m×n thỏa mãn hai điều kiện:
(1) ∀(i, j) K, ∈ {0,1, … , 2 − 1}
(2) {1,2, … , 2 − 1} ⊂ {K, |i = 1, … , mvàj = 1, … , n}
với r ≤ ⌊log (m × n + 1)⌋
và W = {w , w , … . , w }với 0 ≤ w ≤ 2 − 1 và 0 < t ≤ N
Bước 1: Chia khối - Chia ảnh I thành N khối Fi cấp m×n, chia b thành N dãy bít bi có độ dài
Bước 2: Giấu tin trên từng khối For i=1 to N do
α = (i − 1) mod t + 1
Gi=T(Fi, K, wα, bi) End for
Thuật toán cho ta ảnh G gồm các khối Gi cấp m×n với i =1,…,N
Thuật tốn khơi phục thơng tin
Gọi G là ảnh có chứa dãy bít tin mật, thuật tốn khơi phục tin giấu cần biết hai khóa bí mật K và W đã được sử dụng trong thuật toán giấu tin.
Bước 1: Chia ảnh G thành N khối Gi cấp m×n Bước 2: Khơi phục dãy bít
For i = 1 to N do
α = (i − 1) mod t + 1
b = XSUM(G ⨂K)⨁w
End for
Kết quả ta nhận được dãy bít tin mật b gồm N dãy con r bít bi, i=1,2,…,N
3.2.4. So sánh lược đồ THA với CPT và CTL
Theo một lược đồ giấu tin cần có 3 tính chất cơ bản: khả năng nhúng tin, tính che giấu và mức độ bảo mật.
Khả năng nhúng tin và tính che giấu của lược đồ THA hiển nhiên là tốt hơn lược
đồ CPT và bằng lược đồ CTL. Bởi, để nhúng ≤ ⌊ ( × + 1)⌋ bít, CPT
cần thay đổi nhiều nhất hai phần tử trên mỗi khối m×n điểm ảnh, trong khi lược đồ THA và CTL chỉ thay đổi nhiều nhất một phần tử.
Tính bảo mật của một lược đồ giấu tin THA là sự an tồn của dãy bít được
nhúng.
- Đối với hai lược đồ CPT và CTL, sự an tồn của dãy bít phụ thuộc vào số phương án của hai khóa K và W (khóa O của CTL tương đương với W của CPT). Trong đó:
+ K là ma trận nhị phân cấp m×n,suy ra số phương án của K là:2 × + W là ma trận nguyên cấp m×n và thỏa mãn điều kiện:
{1,2, … , 2 − 1} = { , | = 1, … , = 1, … , }
nên số phương án của W là:
× × (2 − 1)! × (2 − 1) × ( )
Vậy, mức độ bảo mật của CPT và CTL là:
× × (2 − 1)! × (2 − 1) × ( )× 2 ×
Trong thực tế, kích thước khối(m×n)của hầu hết các lược đồ thường nhỏ. Bởi vì, nếu chọn m×n lớn thì lượng thơng tin giấu được trên tồn bộ ảnh sẽ giảm, thông thường kích thước khối được chọn là 5×5, hoặc 8×8, hoặc16×16. Tuy nhiên, số khốiN của ảnh lại lớn. Ví dụ, với ảnh có kích thước 200×200, nếu chọn kích thước khối m × n = 8 × 8 thìN = 2500.
- Trong lược đồ THA, tính bảo mật dựa trên hai khóa K và W. + Ma trận nguyên K cấp m×n và K thỏa mãn điều kiện:
{1,2, … , 2 − 1} = { , | = 1,2 … , = 1,2 … }
Suy ra số phương án của K là:
× × (2 − 1)! × (2 − 1) × ( )
+ Ma trận = { , , … . , }với 0 ≤ w ≤ 2 − 1 và 0 < ≤ , = × . Suy ra số phương án của W là: 2 × ×
Vậy, tính bảo mật của lược đồ THA là:
× × (2 − 1)! × (2 − 1) × ( )× 2 × ×
Với những phân tích ở trên, nếu chọn 2 − 1 = × , các tính chất cơ bản của ba lược đồ giấu tin được trình bày trong bảng sau:
Tính chất Lược đồ Một khối m×n điểm ảnh Khả năng nhúng (bits) THA ⌊ ( CTL CPT Bảng
Mặt khác, theo khẳng định trong thuật toán nhúng tin của lược đồ CTL có tốc độ
thực hiện nhanh hơn đáng kể so với CPT khối lượng phép tính của CTL vẫn cịn nhiều hơn
Nếu xét trên một khối
xấp xỉ bằng số lượng phép tính của Bước ra, Bước 2 của CTL cần tối thiểu
tập Nj. Do vậy, tốc độ thự
Kết quả thực nghiệm do THA th
Trong thực nghiệm này sử dụng ba ảnh khác nhau thước 256 × 256, những ảnh này được dùng để giấu tin
image, Vietnamese text image và “Lena” image
(a) English text
Một khối m×n điểm ảnh
Tính bảo mật của lược đồ Khả năng nhúng (bits) Số điểm ảnh tối đa cần thay đổi × + 1)⌋ 1 ( × )! × ( × 1 ( × )! × ( × 2 Bảng 3.1- So sánh các tính chất của ba lược đồ
khẳng định trong thuật tốn nhúng tin của lược đồ CTL có tốc độ thực hiện nhanh hơn đáng kể so với CPT. Tuy nhiên, so với lược đồ THA thì khối lượng phép tính của CTL vẫn cịn nhiều hơn.
Nếu xét trên một khối m × n điểm ảnh, số lượng phép tính của Thuật tốn
xấp xỉ bằng số lượng phép tính của Bước 1 và Bước 3 trong thuật toán CTL
của CTL cần tối thiểu r × m × nphép tốn kiểm tra bít để xây dựng các tốc độ thực hiện của lược đồ THA sẽ nhanh hơn CTL và CPT
do THA thử nghiệm
Trong thực nghiệm này sử dụng ba ảnh khác nhau, các ảnh này đều có kích những ảnh này được dùng để giấu tin, bao gồm English te Vietnamese text image và “Lena” image, để giấu cùng một lượng tin mật
(b)Vietnamese text (c) Lena Tính bảo mật của lược đồ
( × ) × 2 × ×
( × ) × 2 ×
khẳng định trong thuật toán nhúng tin của lược đồ CTL có tốc độ so với lược đồ THA thì
số lượng phép tính của Thuật tốn 2 trong thuật tốn CTL. Ngồi phép tốn kiểm tra bít để xây dựng các c hiện của lược đồ THA sẽ nhanh hơn CTL và CPT.
c ảnh này đều có kích bao gồm English text để giấu cùng một lượng tin mật.
Bảng 3.2 trình bày giá trị PSNR (Peak Signal to Noise Ratio) –tỷ số tín hiệu đỉnh trên nhiễu của các ảnh sau khi giấu tin của sơ đồ THA, sơ đồ CPT và sơ đồ CTL. Kết quả chỉ ra rằng, giá trị PSNR của lược đồ THA luôn cao hơn CPT và xấp xỉ với CTL.
Ảnh
8×8 16×16
THA CTL CPT THA CTL CPT
Vietnamese text image 24,39 dB 24,37 dB 23,43 dB 30,26 dB 30,22 dB 29,3 dB
English text image 24,33 dB 24,37 dB 23,34 dB 30,25 dB 30,26 dB 29,18 dB
Lena image 24,45 dB 24,43 dB 23,38 dB 30,26 dB 30,22 dB 29,97 dB
Bảng 3.2 - Giá trị PSNR của các ảnh sau khi giấu tin
Thuật tốn trình bày một lược đồ mới THA giấu tin trên ảnh nhị phân. Với mỗi khối m × n điểm ảnh, lược đồ THA có thể nhúng được tối đa ⌊log (m × n +
1)⌋ bít và biến đổi nhiều nhất một điểm ảnh của khối.
Như vậy, khả năng nhúng tin và tính che giấu của lược đồ THA tốt hơn lược đồ CPT và bằng CTL. Ngoài ra, so với hai lược đồ trên thì lược đồ này có khối lượng tính tốn ít hơn,thời gian thực hiện nhanh hơn, có lược đồ tính tốn đơn giản, dễ cài đặt, triển khai ứng dụng và độ an toàn bảo mật cao hơn.
3.3. Thủy vân dễ vỡ
3.3.1. Ý tưởng
Thuỷ vân trên ảnh số là kỹ thuật nhúng một lượng thông tin số vào một bức ảnh số và thông tin nhúng được gắn liền với bức ảnh đó. Trong kỹ thuật thuỷ vân số thì thơng tin nhúng được gọi là thuỷ vân. Thuỷ vân có thể là một chuỗi ký tự, hay một hình ảnh, logo nào đó.
Nói đến thuỷ vân số là nói đến kỹ thuật giấu tin nhắm đến những ứng dụng bảo đảm an toàn dữ liệu cho đối tượng được sử dụng để giấu tin như: bảo vệ bản quyền, chống xuyên tạc, nhận thức thông tin, điều khiển sao chép… Tùy theo mục đích ứng dụng, thủy vân được chia làm hai loại: thủy vân dễ vỡ và thủy vân bền vững.
Thuỷ vân dễ vỡ là k khi phân phối trong môi trư đối tượng sản phẩm gốc thì thu nguyên vẹn như thuỷ vân g trong các ứng dụng nhận th như để bảo vệ chống xuyên t ảnh và sau đó phân phối, qu thống đọc thuỷ vân. Nếu không đ nhiều so với thuỷ vân ban đ đổi.
Mơ hình hệ thống th và tách thủy vân.
3.3.2. Thuật toán nhúng thủy vân
Giả sử I là bức ảnh g thủy vân có thể là dạng văn b thủy vân H; và sử dụng m toán trong hệ thống sẽ k thơng tin khố để tạo thành m chứa thuỷ vân. Bức ảnh này s
Mơ hình q trình nhúng thu
Hình
Thuật tốn nhúng th
là kỹ thuật nhúng thuỷ vân vào trong ảnh sao cho s i trong môi trường nếu có bất cứ một phép biến đổi nào làm thay đ
c thì thuỷ vân đã được giấu trong đối tượng s vân gốc. Các kỹ thuật thuỷ vân có tính chất này đư
n thức thơng tin và phát hiện xuyên tạc thông tin. ng xuyên tạc, một ảnh nào đó ta nhúng một thuỷ
i, quảng bá ảnh đó. Khi cần kiểm tra lại ảnh ta s u không đọc được thuỷ vân hoặc thuỷ vân đ vân ban đầu đã nhúng vào ảnh thì có nghĩa là ảnh đó đ
ng thủy vân được xem xét theo hai q trình: nhúng th
ật tốn nhúng thủy vân
nh gốc cần bảo vệ. Tuỳ theo mục đích bảo vệ
ng văn bản, chuỗi bit hoặc một bức ảnh gọi chung là thơng tin ng một khố k làm khố cho q trình nhúng vân. M
kết hợp giữa thông tin về ảnh gốc, thông tin thu o thành một bức ảnh mới gọi là ảnh đã nhúng thu
nh này sẽ được sử dụng để trao đổi.
Mơ hình quá trình nhúng thuỷ vân được thể hiện qua hình 3.5.
Hình 3.5. Mơ hình quá trình nhúng thuỷ vân
t toán nhúng thủy vân
nh sao cho sản phẩm nào làm thay đổi ng sẽ khơng cịn