Đõnh giõ thuật giải:
Do sử dụng tõn tử logic AND nởn: SUM ( Fi ỉ K ) khừng bao giờ vƣợt qũ SUM (K).
Trang 33
So sõnh giữa F vỏ F đ tại những vị trợ hỏng i, cột j tƣơng ứng, nếu hai giõ trị khõc nhau thớ tại đụ Ki,j =1 vỏ ngƣợc lại Ki,j =0. Nhƣ vậy, khi so sõnh tất cả cõc hần
tử của F vỏ Fđ thớ ta cụ thể suy ra toỏn bộ ma trận K, K khừng cún lỏ bợ mật nữa. Nếu K cụ nhiều giõ trị 1 thớ sự khõc nhau giữa F vỏ Fđ gia tăng, gĩy nởn sự nghi ngờ cụ chứa dữ liệu. Nhƣng nếu K cụ nhiều giõ trị 0 thớ thuật giải cũng khừng hoỏn toỏn khả thi.
Nếu F cụ tất cả cõc giõ trị hoỏn toỏn lỏ 1 thớ khả năng nghi nghờ chứa dữ liệu gia tăng vỏ suy luận ra K dễ dỏng. Nhƣng nếu F cụ nhiều giõ trị 0 thớ tỉ lệ ẩn dữ liệu khừng cao.
Tụm lại, việc chọn K vỏ F phỳ hợp lỏ điều quan trọng. Phƣơng phõp mọ hõ dữ liệu nỏy khừng an toỏn cao, số lƣợng dữ liệu đƣợc chứa khừng nhiều.
2.3.2.2 .2.2 Phƣơng phõp nhỷng dữ liệu vỏo cõc khối, mỗi khối chứa tối đa hai bit dữ liệu:
Phƣơng phõp nỏy lỏ phƣơng phõp cải tiến phƣơng phõp trởn. Nụ bảo đảm tỉ lệ ẩn của dữ liệu cao hơn, do dỳng một ma trận trọng lƣợng W. Phƣơng phõp nỏy cũng dựa trởn phờp tõn mod vỏ tõn tử logic ắ . Ở mỗi khối mỄ n, sẽ cụ r bit đƣợc nhỷng với 2r- 1ê mn , nhƣng chỉ lỏm thay đổi tối đa 2 bit trởn ma trận chứa.
Ký hiệu:
F: ma trận điểm ảnh, sẽ chứa dữ liệu đƣợc nhỷng, giả sử lỏ F đƣợc chia thỏnh k khối Fi cụ kợch thƣớc mỄ n. Sau cõc bƣớc thực hiện, F sẽ bị thay đổi thỏnh ma
trận Fđ.
K: ma trận khụa. Nụ lỏ một ma trận mỄ n, đƣợc chọn ngẫu nhiởn phỳ hợp theo từng trƣờng hợp. Cõc giõ trị trong K lỏ 0 hoặc 1.
W: ma trận trọng lƣợng mỄ n, với [W]i,j ∈ {1.. 2r –1}. Cõch sắp xếp cõc
giõ trị đƣợc chọn ngẫu nhiởn.
r: số lƣợng bit đƣợc nhỷng vỏo một khối mỄ n, r thỏa2r- 1ê mn . B: cõc thừng tin đƣợc nhỷng, B gồm kr bit, k lỏ số lƣợng khối của F. A1, A2 lỏ hai ma trận mỄ n, tõn tử A1 ⊗ A2 lỏ tõn tử mỏ " i,j i=1...m,
Trang 34
j=1..n thớ 1 , 2 , [ A1 ]i , j Ễ [ A2 ]i , j ..
Ma trận trọng lƣợng:
Ma trận trọng lƣợng W mỄ n thỏa cõc điều kiện sau: 2r- 1ê mn . (3.4)
Cõc phần tử [W]i,j ẽ {1.. 2r –1}. (3.5)
" k ẽ {1… 2r –1}, k phải xuất hiện ợt nhất một lần trong W. (3.6). Ma trận W đƣợc chọn ngẫu nhiởn thỏa điều kiện vỏ theo từng trƣờng hợp. Với m hỏng n cột, W cụ thể cụ cõc lựa chọn sau:
Cụ 2r –1 giõ trị, vớ thế để chọn giõ trị cho mn phần tử cụ: 2r 1Cmn- Ta cụ thể sắp xếp ngẫu nhiởn cõc giõ trị: (2r –1)! cõch.
Với mn - 2r –1 giõ trị cún lại cụ thể sắp xếp ngẫu nhiởn: (2r−1)mn−(2r−1)
Vậy: số lần chọn lựa W : C2mn 1 *(2r - 1)!*(2r - 1) mn- 2 – 1 Vợ dụ:m = n = 8 vỏ r = 5. Ta cụ C64 31!*3133 cõch chọn W. Vớ thế tỉ lệ bảo mật thừng tin rất cao nếu W khừng đƣợc cừng bố.
Vớ phƣơng phõp nỏy dỳng tõn tử mod: b1b2 ...br = SUM (( Fi ắ K ) ẵ W ) mod 2 .
vỏ 0 ê SUM (( Fi ắ K ) ẵ W ) < 2r - 1 nởn W phải thỏa điều kiện 3 điều kiện trởn. Nếu 2r –1> mn thớ $ k ẽ { r - 1}\ k Ỉ [W ]i , j " i ẽ { m}, j ẽ { n} 1...21...1... ⇒ (3.6) sai. Thuật giải:
Fi sẽ đƣợc chuyển thỏnh i Fđ bằng cõch lấy phần bỳ của một giõ trị nỏo đụ
trong Fi để thỏa cừng thức sau:
Trang 35 í SUM (( Fi đắ K ) ẵ W ) mod 2r = b1b2 ...br Bƣớc 1: Chia F thỏnh cõc khối Fi kợch thƣớc m Ứ n. Tợnh Fi ⊕ K. Bƣớc 2: Tợnh SUM (( Fi ắ K ) ẵ W ) . . Bƣớc 3: Với w={1…2r-1}. Từ ma trận kết quả Fi ⊕ K, tợnh: S w = { j , k ) \ ([W ] j ,k = w ỉ[ Fi ắ K ] j ,k = 0) ĩ ([W ] j ,k = 2r - w ỉ[ Fi ắ K ] j ,k = 1)} (3.8)
Theo (3.8), Sw lỏ tập hợp cõc bộ (j,k) sao cho nếu lấy phần bỳ của [Fi]j,k thớ
SUM (( Fi ắ K ) ẵ W ) sẽ tăng thởm w . Cụ hai trƣờng hợp:
[W ] j ,k = w ỉ[ Fi ắ K ] j ,k = 0 :
Ta thấy nếu lấy phần bỳ [ Fi ] j ,k Þ [ Fi ắ K ] j ,k = 1 Þ SUM ( Fi ắ K ) ẵ W tăng thởm w.
[W ] j ,k = 2r - w ỉ[ Fi ắ K ] j ,k = 1 :
Nếu lấy phần bỳ của , [ Fi ] j ,k Þ SUM (( Fi ắ K ) ẵ W ) giảm đi 2r-w, í tăng wkhi lấy SUM (( Fi ắ K ) ẵ W ) mod 2 .
Bƣớc 4:
Ta cụ cừng thức:
d ã (b1b2 ...br ) - SUM (( Fi ắ K ) ẵ W )(mod 2r ) (3.9)
Đĩy lỏ biểu thức chởnh lệch giữa tổng vỏ giõ trị đƣợc nhỷng, để giải mọ theo cừng thức (3.8) ta phải tăng tổng thởm một giõ trị d.
Đặt S w = S wđ với w ã wđmod 2r . Khi d=0 khừng cần thay đổi Fi. Nếu d ≠ 0, thực hiện cõc bƣớc sau:
Trang 36 Chọn ngẫu nhiởn một h ẽ {0,1…,2r-1} với điều kiện Shd Ỉ ặ vỏ S-(h-1)d ≠ặ.
Chọn ngẫu nhiởn một bộ (j,k) ẽ Shd vỏ lấy phần bỳ của [Fi]j,k. Chọn ngẫu nhiởn một bộ (j,k) ẽ S-(h-1)d vỏ lấy phần bỳ của [Fi]j,k.
Để tăng tổng thởm một lƣợng d, ta dỳng hai tập khõc rỗng Shd vỏ S-(h-1)d. Tổng sẽ tăng thởm hd + (- (h-1)d) = d. Tuy nhiởn ta phải gõn giõ trị cho cõc tập
S0, S2.r, S2.2r, S3.2r… luừn rỗng.
Cơ sở tõn học:
Bổ đề 1:
Với w=1…2r-1 vỏ w Ỉ ≠ 2r-1 thớ mệnh đề sau đĩy đỷng: ( S w = ặ) Þ ( S 2r - w Ỉ ặ)
Chứng minh: Giả sử Sw = ặ
Theo điều kiện của W, phải cụ tối thiểu một [W]j,k = w. Nếu
[Fi]j ,k ∧ [K]j ,k = 0 thớ lấy phần bỳ của [Fi]j,k sẽ lỏm tăng tổng thởm w , nhƣ
vậy
Sw ≠ ∅ . Nhƣ vậy [ Fi ] j ,k ỉ[ K ] j ,k = 1 , thớ khi lấy phần bỳ [Fi]j,k sẽ lỏm giảm tổng đi w, hay tăng tổng lởn 2r-w (mod 2r), nhƣ vậy tập S 2 - w Ỉ ặ , với w Ỉ 2r-1 vớ
w=2r-w lỷc đụ S2 - w Ỉ ặ .
Bổ đề 2:
S 2r- 1 Ỉ ặ
Chứng minh:
Theo điều kiện của W, phải cụ tối thiểu một [W]j,k = 2r-1. Vớ 2r- 1 ã - 2r- 1 mod 2r . Nếu [W ] j ,k = w ỉ[ Fi ắ K ] j ,k = 0 thớ khi lấy phần bỳ của [Fi]j,k thớ tổng tăng thởm 2r-1.
Trang 37
2r-2r-1 hay tƣơng đƣơng tổng tăng thởm 2r-1.
Nhƣ vậy cả trong 2 trƣờng hợp S 2 Ỉ ặ
Bổ đề 3:
Bƣớc 4 luừn cho kết quả, vỏ cụ tối đa 2 bit của Fi bị thay đổi để nhỷng r bit dữ liệu
Chứng minh:
Ta sẽ kiểm tra lần lƣợt cõc giõ trị của h:
Đầu tiởn h=1, nếu Sd Ỉ ặ thớ h=1lỏ giải phõp đƣợc chọn, nếu trõi lại thớ
S- d Ỉ ặ theo bổ đề 1
h=2, nếu S2d Ỉ ặ thớ h=2 đƣợc chọn, ngƣợc lại 2d S- Ỉ ặ theo bổ đề 1.
Tiếp tục kiểm tra, nếu tất cả Si đều lỏ rỗng thớ S2 Ỉ ặ theo bổ đề 2. Vỏ với 2r-1, $ h sao cho 2r-1 lỏ bội số của d.
Nhƣ vậy luừn tớm đƣợc một h cho vấn dề.
Vợ dụ: Hớnh 3.6 vỏ hớnh 3.7
Giả sử F lỏ ma trận 8Ễ 8 . F đƣợc chia thỏnh 4 khối 4Ễ 4 từ F1…F4.
K ma trận khụa 4Ễ 4.
Bƣớc 4 luừn cho kết quả, vỏ cụ tối đa 2 bit của Fi bị thay đổi để nhỷng r bit dữ liệu.
W ma trận trọng lƣợng 4Ễ 4. B = 001010000001. r = 3.
Cõc ma trận đƣợc mừ tả nhƣ hớnh dƣới đĩy. Thực hiện cõc bƣớc:
F1: SUM (( F1 ắ K ) ẵ W ) ã 0(mod 8) . Vỏ dữ liệu nhỷng lỏ 001, ta phải tăng
tổng thởm 1. Vớ [ F1 ắ K ]2,4 = 0 vỏ [W]2,4 = 1 ta cụ thể lấy phần bỳ của [F1]2,4.
F2: SUM (( F2 ắ K ) ẵ W ) ã 2 , dữ liệu nhỷng lỏ 010, khừng cần phải thay đổi F2.
F3: SUM (( F3 ắ K ) ẵ W ) ã 2 , dữ liệu nhỷng lỏ 000, ta phải tăng tổng thởm 6
bằng cõch lấy phần bỳ của [F3]4,4.
F4: SUM (( F4 ắ K ) ẵ W ) ã 4 , dữ liệu nhỷng lỏ 001, ta phải tăng tổng thởm 5
Trang 38 trong F4 để lấy phần bỳ vỏ tăng 5, nởn ta chọn h=2. S10 = S2b = {(2,2)} vỏ S-
5= S3= {(1,3),(2,1),(3,2),(3,4)}.