Tải bản đầy đủ (.pdf) (7 trang)

Thuật toán mã hóa ảnh màu bất đối xứng - Trường Đại Học Quốc Tế Hồng Bàng

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

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>THUẬT TỐN MÃ HĨA ẢNH MẦU BẤT ĐỐI XỨNG </b>
Nguyễn Duy Thái1, Trần Quân1, Phạm Đức Cương1,


Đồng Thanh Tùng2, Phạm Văn Nhã3*


<i><b>Tóm tắt: </b>Sự phát triển không ngừng của Công nghệ thông tin đã kéo theo nhu </i>
<i>cầu ngày càng tăng về trao đổi và lưu trữ ảnh số trên internet. Do vậy, việc bảo vệ </i>
<i>hệ thống khỏi các cuộc tấn công trái phép nhằm đánh cắp thông tin trong ảnh số là </i>
<i>chủ đề được trú trọng quan tâm bởi các nhà quản lý và nghiên cứu. Gần đây, đã có </i>
<i>nhiều kỹ thuật mã hóa ảnh số được đề xuất, các kỹ thuật này đều tỏ ra hiệu quả </i>
<i>trong việc bảo mật và đảm bảo an toàn khi trao đổi dữ liệu ảnh qua các phương tiện </i>
<i>truyền thông. Tuy nhiên, mức độ hạn chế về lỗ hổng bảo mật, độ phức tạp tính tốn </i>
<i>và cài đặt làm cho các kỹ thuật này khó có thể triển khai rộng rãi. Trong bài báo </i>
<i>này, chúng tôi đã đề xuất một thuật tốn mã hóa ảnh mầu mới sử dụng kỹ thuật phân </i>
<i>hủy đơn trị gọi là thuật toán IESvd. Thuật toán IESvd xây dựng một quy trình mã </i>
<i>hóa ảnh mầu đơn giản và hiệu quả. Thực nghiệm được tiến hành trên các ảnh mầu </i>
<i>để đánh giá hiệu suất của thuật toán được đề xuất. Bài báo cũng cũng phân tích tính </i>
<i>an toàn của hệ thống quản trị mạng sử dụng thuật tốn IESvd đã đề xuất.</i>


<b>Từ khóa</b>: Mã hóa bất đối xứng, Mã hóa ảnh mầu, Phân hủy đơn trị.
<b>1. MỞ ĐẦU </b>


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

Phân rã đơn trị (SVD) [3] là một hệ số quan trọng của ma trận thực hoặc phức
hình chữ nhật với nhiều ứng dụng trong xử lý ảnh. Các kỹ thuật watermarking trên
nền SVD [1],[2] đã được quan tâm nhất trong những năm gần đây, chủ yếu là do sự
biến đổi lớn của các giá trị đơn lẻ không xảy ra khi một nhiễu nhỏ được thêm vào
ảnh. Khi SVD đưa ra một thuật toán phân hủy bất đối xứng một chiều [12], các kỹ
thuật mã hoá hình ảnh dựa trên SVD đã được đề xuất tiếp nối trong những năm gần
đây. Trong các phương pháp này, ba thành phần kết quả của SVD luôn được sử
dụng như ba bản mã màu xám sau khi được mã hoá riêng lẻ. Chen và đồng nghiệp
đã trình bày mã hóa ảnh dựa vào SVD và biến đổi Arnold trong miền phân đoạn [6].


Trong kỹ thuật này, phổ phân đoạn Fourier của ảnh xám ban đầu được phân chia
thành 3 đoạn bởi SVD. Tất cả ba phần được biến đổi Arnold để nhận ba ảnh đã mã
hóa và được giao cho các người dùng được ủy quyền khác nhau để bảo mật.
Abuturab đã đề xuất hệ thống xác thực thông tin màu dựa trên SVD trong các miền
chuyển đổi Gyrator [12]. Trong kỹ thuật này, mỗi kênh của ảnh màu gốc được điều
chế độc lập bằng các mặt nạ pha ngẫu nhiên và sau đó được biến đổi Gyrator riêng
biệt. Ba phổ gyrator được nhân lên để nhận ảnh mã hóa. Ảnh sau đó được chia thành
3 đoạn bởi SVD. Tất cả ba phần đều được chuyển đổi gyrator riêng biệt và gán cho
người dùng được ủy quyền khác nhau để bảo mật. Trong bài báo này, chúng tôi đề
xuất kỹ thuật mã hóa ảnh màu bất đối xứng dựa trên SVD. Các thành phần màu red,
green và blue của ảnh màu được mã hóa lần lượt bởi một hàm phức, sau đó được
chia thành các phần <i>U</i>, <i>S</i> và <i>V</i> bởi SVD. Các ma trận trực giao thu được <i>U</i> và <i>V</i> được
nhân và cắt theo pha để nhận ma trận dữ liệu của ảnh mật mã, trong khi các thành
phần đường chéo trong ba ma trận <i>S</i> được trừu tượng để tạo thành sơ đồ màu của
ảnh mật mã. Theo cách này, ảnh gốc với <i>3×N×N</i> điểm ảnh được mã hóa thành một
ảnh chỉ mục có <i>N×N + N×3</i> điểm ảnh, làm giảm gánh nặng lưu trữ và truyền dẫn so
với các phương pháp mã hóa ảnh dựa trên SVD nói trên [6], [12]. Hơn nữa, trong
phương pháp được đề xuất, các khóa cá nhân thu được từ pha cắt đảm bảo sự an
toàn, và các khóa các nhân thu được từ trực giao của <i>V</i> thiết lập một lớp bảo mật bổ
sung. Các kết quả mô phỏng số cho thấy hiệu quả và tính an tồn của hệ thống mật
mã đề xuất. Phần còn lại của bài báo được tổ chức như sau. Trong mục 2, nguyên lý
cơ bản của SVD được giới thiệu tóm tắt và các q trình mã hóa và giải mã được mơ
tả chi tiết. Trong mục 3, mơ phỏng số được trình bày để chứng minh hiệu quả của
thuật toán đề xuất. Trong mục 4, phân tích bảo mật của thuật tốn được trình bày.
Một số kết luận được trình bày trong mục 5.


</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

Phân hủy đơn trị SVD là một phương pháp phân hủy ma trận quan trọng được
sử dụng trong đại số tuyến tính. Một ảnh <i>f</i> kích thước <i>N×N</i> có thể được phân hủy


bởi cơng thức như sau: <i>f</i> <i>USVT</i> (1)



trong đó, <i>T</i> được ký hiệu như một phép biến đổi. <i>S</i> là ma trận đường chéo:


1
2


0 ... 0
0 ... 0
. . ... .
0 0 ... <i><sub>N</sub></i>
<i>S</i>







 


 


 


  


 


 


 



(2)


trong đó, i là các đơn trị của <i>f, </i><i>1 </i><i>2 … </i><i>r </i><i>r+1 =….</i><i>N = 0, r = rank(I) và U, </i>


<i>VT</i> là ma trận trực giao <i>NxN</i>, nghĩa là, <i>UUT = I, VVT = I.</i>
<b>2.2. Thuật tốn mã hóa </b>


Thủ tục của thuật tốn mã hóa được chỉ ra trong hình 1(a). Tiến trình mã hóa
bao gồm 2 phần: thông tin của ma trận dữ liệu và thông tin của ma trận biểu đồ
mầu. Giả sử kích thước của ảnh đã chọn để mã hóa là <i>3×N×N</i> điểm ảnh, tiến trình
mã hóa như sau:


<i>2.2.1. Xây dựng ma trận dữ liệu </i>


1) Các thành phần red và green của ảnh ban đầu <i>fr</i> và <i>fg</i> được mã hóa trong một
hàm phức như phần thực và phần ảo. Sau đó hàm phức sẽ được phân hủy đơn trị:


[U1S1V1]=SVD(fr+ifg) (3)


2) Các ma trận trực giao thu được <i>U1</i> và <i>V1</i> được nhân, dịch và cắt biên độ:


c1=U1.V1 (4)


c1a=PT(c1) (5)


P1=AT(c1) (6)


trong đó dấu "." và các toán tử <i>PT</i>, <i>AT</i> đại diện cho sự cắt giảm pha và biên độ
tương ứng.



3) <i>c1a</i> và thành phần blue của ảnh ban đầu <i>fb</i> được mã hóa trong một hàm ảo
khác theo cách tương tự như các bước từ (3) đến (6), nghĩa là:


[U2S2V2]=SVD(c1a+ifb) (7)


c2=U2.V2 (8)


c2a=PT(c2) (9)


P2=AT(c2) (10)


4) <i>c2a</i> được phân hủy đơn trị và ma trận dữ liệu của ảnh mã cuối cùng nhận
được sau khi sắp xếp các ma trận kết quả nhân <i>U3</i> và <i>V3</i> được điều chỉnh tới
[0,255].


</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

c3=U3.V3 (12)


<i>2.2.2. Xây dựng biểu đồ mầu </i>


Các thành phần đường chéo <i>ịj (i=1, 2, 3; j=1, 2, …, N)</i> của 3 ma trận <i>Si (i=1, </i>


<i>2, 3)</i> đã được biểu diễn trong công thức (2) được bóc tách và được kết hợp theo
hàng ngang.


11 21 31


12 22 32


1 2 3





. . ... .


<i>N</i> <i>N</i> <i>N</i>


<i>H</i>


  


  


  


 


 


 


  


 


 


 


(13)



Sau đó, <i>H</i> được chuẩn hóa như các giá trị của biểu đồ mầu trong giới hạn [0,1]
và được biến đổi để hình thành biểu đồ mầu của ảnh mã cùng dưới dạng nhiễu
tĩnh, sử dụng phép biến đổi sau.


(1 x ), x (0,1)


<i>n</i> <i>n</i> <i>n</i> <i>n</i>


<i>x</i> <i>x</i>   (14)


Khi tham số <i>(3.5699456, 4)</i>, hệ thống trong trạng thái hỗn loạn. Giá trị khởi
tạo <i>x0</i> có thể được sử dụng như một khóa mã hóa.


Cuối cùng, biểu đồ màu được thêm vào ma trận dữ liệu <i>c3</i> để thu về ảnh chỉ
mục dưới dạng bản mã.


<b>2.3. Thuật toán giải mã </b>


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

1) <i>H</i> được khôi phục sau khi bản đồ màu được trích xuất từ bản mã và đảo
ngược với (14) bởi khóa giải mã <i>x0</i>, và <i>Si (i = 1, 2, 3)</i> có thể thu được bằng cách
xây dựng ma trận chéo như sau.


1
2


0 ... 0
0 ... 0
. . ... .
0 0 ...



<i>i</i>
<i>i</i>
<i>i</i>
<i>Ni</i>
<i>H</i>
<i>H</i>
<i>S</i>
<i>H</i>
 
 
 
  
 
 
 
(15)


2) <i>V </i>là ma trận trực giao, nghĩa là <i>VVT = I</i>. Với ma trận dữ liệu <i>c3</i> và khóa giải
mã <sub>3</sub><i>T</i>


<i>V</i> <i>, c2a</i> có thể làm việc như sau:


3 3 3


<i>T</i>


<i>U</i> <i>c V</i> (16)


2 3 3 3



<i>T</i>
<i>a</i>


<i>c</i> <i>U S V</i> (17)


<i>Fb</i> được giải mã theo các bước dưới đây với các khóa 2


<i>T</i>


<i>V</i> và <i>P2</i>:


c2=c2a.P2 (18)


2 2 2


<i>T</i>


<i>U</i> <i>c V</i>


(19)
fb=imag{ 2 2 2


<i>T</i>


<i>U S V</i> } (20)


3) <i>fr</i> và <i>fg</i> được giải mã với các khóa 1


<i>T</i>



<i>V</i> và <i>P1</i> như sau:


1 {U S V }2 2 2


<i>T</i>
<i>a</i>


<i>c</i> <i>real</i>


(21)


C1=c1a.P1 (22)


1 1 1


<i>T</i>


<i>U</i> <i>c V</i>


(23)
fr=real{ 1 1 1


<i>T</i>


<i>U S V</i>


(24)


fg=imag{ 1 1 1



<i>T</i>


<i>U S V</i>


} (25)


Ba thành phần mầu được tìm ra ở trên sẽ được kết hợp để khôi phục ảnh mầu
ban đầu.


Từ q trình mã hóa, giá trị khởi tạo <i>x0</i> được sử dụng làm khóa mã hóa (khố
cơng khai). Trong quá trình giải mã, người dùng bất hợp pháp khơng thể lấy được
hình ảnh gốc nếu khơng có khóa cá nhân <i>V</i><sub>1</sub><i>T</i>, <i>V</i><sub>2</sub><i>T</i>, <i>V</i><sub>3</sub><i>T</i>và <i>P1, P2</i> xuất phát từ q
trình mã hóa và liên quan trực tiếp đến ảnh ban đầu.


<b>3. KẾT QUẢ THỰC NGHIỆM </b>


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

dữ liệu bản mã. Bản mã và ảnh được giải mã với các khóa đúng được chỉ ra trong
hình 2(c) và 2(d) tương ứng.


<i><b>Hình 2.</b> Kết quả mã hóa và giải mã a) Ảnh gốc; b) Ma trận dữ liệu bản mã; c) </i>
<i>Bản mã ; d) Ảnh giải mã. </i>


Hệ số quan hệ <i>CC</i> được sử dụng như một tiêu chuẩn định lượng để đo sự khác
biệt giữa ảnh ban đầu và ảnh đã được khôi phục:


  





 


 



(O) (O) (D) (D)


2 2


(O) (O) (D) (D)


{R, G, B}


( ) ( )


( ) ( )


<i>i</i> <i>i</i> <i>i</i> <i>i</i>


<i>i</i>


<i>i</i> <i>i</i> <i>i</i> <i>i</i>


<i>E</i> <i>f</i> <i>E f</i> <i>f</i> <i>E f</i>


<i>CC</i>


<i>E</i> <i>f</i> <i>E f</i> <i>E</i> <i>f</i> <i>E f</i>





 




 




(26)


Trong đó, <i>f(O)</i>và <i>f(D)</i>tương ứng là ảnh ban đầu và ảnh đã được khơi phục; <i>E{.}</i>
ký hiệu là tốn tử giá trị kỳ vọng. Giá trị <i>CC</i> đạt đến 1,0000 ngụ ý, ảnh khôi phục
và ảnh ban đầu hồn tồn giống nhau. Nghĩa là khả năng khơi phục đạt được hiệu
suất lý tưởng.


<b>4. PHÂN TÍCH MỨC ĐỘ AN TỒN CỦA THUẬT TỐN </b>


<i><b>Hình 3</b>. Ảnh đã giải mãi a) x0 khơng chính xác; b) VT1 khơng chính xác; c) VT2 khơng </i>


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

Khi giải mã ảnh bởi khóa giải mã khơng hợp lệ, ảnh giải mã được hiển thị như
trong hình 3. Hình 3(a) cho thấy ảnh giải mã với giá trị ban đầu khơng chính xác <i>x0</i>
= 0,6 +1,0x10-16. Hình 3(b) và (d) là các hình kết quả giải mã với các khóa giải mã


1


<i>T</i>


<i>V</i> , <i>V</i><sub>2</sub><i>T</i>, <i>V</i><sub>3</sub><i>T</i> khơng chính xác. Hình 3(e) và 3(f) là các kết quả giải mã với khóa
giải mã <i>P1, P2</i>khơng chính xác. Giá trị chỉ số <i>CC</i> tương ứng với hình 3(a) - (f) là
0.0034, -0.0167, -0.0161, 0.0587,-0.0722 và -0.0303 cho thấy nếu có một khố nào


đó sai trong giải mã, hình ảnh gốc sẽ không được khôi phục.


<b>4.1. Nhạy cảm với khóa </b>


Hình 4(a) cho thấy hình ảnh được giải mã với giá trị ban đầu khơng chính xác
x0= 0,6 +1,0x10-16 trong khi các khóa khác đều chính xác. Chúng ta không thể thu


được bất kỳ thông tin nào từ các hình ảnh giải mã bằng trực quan khi độ lệch của
x0 lên đến 10-16. Vì vậy, thuật toán được đánh giá là rất nhạy cảm với giá trị ban


đầu x0.


Ngồi ra, độ nhạy của khố giải mã <i>P2</i>cũng được xem xét. Chúng tôi giả định
rằng khóa <i>P2</i> giải mã dao động trong một khoảng nào đó, và <i>P’2</i> giả khố được
biểu diễn dưới dạng sau.


P’2=P2+dP (27)


Trong đó, <i>P</i> là hàm bước ngẫu nhiên, giới hạn trong [-, ] và <i>d</i> là một hệ số
trong giớn hạn [-1, 1]. Chúng tôi sử dụng <i>P’2</i> để giải mã bản mã, đường cong <i>CC</i>
với hệ số <i>d</i> được chỉ ta trong hình 4(a). Có thể chỉ ra rằng giá trị <i>CC</i> bằng 1 khi
<i>d=0</i>. Khi <i>d</i> bằng 0,1 giá trị <i>CC</i> là 0,2542 và ảnh giải mã được hiển thị trong hình
4(b). Từ hình 4, một sai lệch nhỏ dẫn đến một sự khác biệt lớn đối với giá trị <i>CC</i>,
có nghĩa là chương trình rất nhạy cảm với sự biến thiên của <i>P2</i>. Do đó, khố giải
mã <i>P2</i> chứng minh tính an tồn của kỹ thuật được đề xuất.


</div>

<!--links-->

×