Hoán vị là hình thức hoán đổi vị trí các đơn vị dữ liệu trong ảnh nhằm phá vỡ cấu trúc
thống kê của ảnh, tạo ra sự phụ thuộc của văn bản mã hóa vào khóa mật. Thực tế, việc
hoán vị cần được xem xét thực hiện trên các đơn vị dữ liệu khác nhau sẽ tạo ra các
tính chất khác nhau cho mục đích mật mã ảnh; đó là các tính chất lẫn lộn. Các đơn vị
dữ liệu được xem xét để thực hiện hoán vị gồm (i)cụm các điểm ảnh,(ii)từng điểm
ảnh đơn,(iii)số biểu diễn giá trị điểm ảnh, và(iv)bit dữ liệu trong các điểm ảnh.
Với hoán vị cụm các đ iểm ảnh hoặc các điểm ảnh đơn mang lại tính chất lẫn lộn
mà hoàn toàn không tạo ra sự thay đổ i giá trị của điểm ảnh. Trong trường hợp hoán vị
các số biểu diễn giá trị của điểm ảnh hoặc hoán vị bit của từng điểm ảnh sẽ làm thay
Ba cách xem xét đơn vị dữ liệu được hoán vị ở trên cũng đồng thời thể hiện cho các
giai đoạn phát triển của mật mã hỗn loạn rất rõ ràng. Trong giai đoạn đầu của nghiên
cứu về ứng dụng hỗn loạn trong mật mã ảnh, đơn vị dữ liệu là cụm điểm ảnh được
dùng như trong các nghiên cứu [25, 99]. Trong những năm gần đây, việc h oán vị được thực hiện với điểm ảnh và trên không gian kích thước của ảnh như được thấy trong
nhiều nghiên cứu (ví dụ [58, 100]). Gần đây hơn, hai phương pháp h oán vị được quan
tâm nhiều là hoán vị với chữ số biểu diễn giá trị của điểm ảnh [16] và bit biểu diễn
điểm ảnh [82, 101]. Với dữ liệu là chữ số biểu diễn điểm ản h, ví dụ giá trị biểu diễn
mức xám của điểm ảnh là 218 được hiểu là có ba chữ số gồm “2 ”, “1” và “8”.
Trong các nghiên cứu mật mã ảnh sử dụng hỗn loạn, các hàm hỗn loạn tạo ra luật
hoán vị theo một số cách khác nhau. Hiện nay có hai cách tạo ra luật hoán vị dựa trên
các hàm hỗn loạn gồm: thông tin vị trí điểm ảnh được dùng giá trị khởi đầu cho hàm
hỗn loạn hai chiều, và quy luật hoán vị được tạo ra dựa vào biến trạng thái. Dưới đây
tr ình bày một số phương pháp hoán vị điển hình theo các hướng đề cập trên.
2.2.1.1 Các cơ chế hoán vị dữ liệu cho ảnh
Với luật hoán vị được hìn h thành dựa trên hỗn loạn, các phương pháp dưới đây đã
được nghiên cứu và dùng phổ biến gồm:
Phương pháp 1: Coi ảnh như ma trận 2 chiều, và dùng tọa độ điểm ảnh như là
đầu vào cho các hàm hỗn loạn để tính ra vị trí của điểm ảnh được hoán vị đến. Các
phương pháp này được dùng rất phổ biến. Để có thể thực hiện được phương pháp này,
các hàm hỗn loạn cần có đặc trưng song án h như đã nói ở trên, hoặc là dùn g các vòng tuần hoàn của các hàm hỗn loạn [76].
Phương pháp 2: Các điểm ảnh được quét để hình thành mảng một chiều, s au đó
thực hiện hoán vị trên mảng một chiều này [26]. Theo cách tiếp cậ n này, qui luật hoán vị thường được lưu trữ sẵn trong bộ nhớ.
2.2.1.2 Luật hoán vị dựa vào biến trạng thái
Cơ chế hoán vị có yêu cầu là cho phép khôi phục lại vị trí các điểm ảnh ban đầu.
Phương pháp tạo ra luật hoán vị ứng dụng hỗn loạn được thực hiện dựa trên dãy các
giá trị lấy từ biến trạng thái của hàm hỗn loạn. Nếu các giá trị này được xem là chuỗi
giả ngẫu nhiên với giá trị nằm trong phạm vị số hàng và cột của ảnh. Các giá trị được
tạo ra từ hàm hỗn loạn mà lớn hơn g iá trị của phạm vi số hàng và số cột, thì phép chuẩn hóa được áp dụng để có giá trị nằm trong dải được giới hạn thông qua phép
modulo (mod .( )). Các bước thực hiện cho hoán vị như sau:
{Xi; i ∈ [1, NX]};Xilà các số có giá trị khác nhau, với NX là tổn g số ký hiệu cần
được hoán vị. Thông thường chuỗi này nhận được sau khi loại bỏ các giá trị ở thời
gian đầu của hàm hỗn loạn tạo ra, ở đó các giá trị trong giai đoạn quá độ và dễ bị đoán trong quá trình tấn công. Tuy nhiên,Xilà các giá trị có thể ở dạng số thực. Do
việc hoán vị thực tế là phải là ánh xạ một-một, do vậy các giá trị củaX không có các
thành phần với giá trị được lặp lại quá một lần. Như vậy, trong quá tr ình hình thành
lên chuỗiX cần giải quyết các trường hợp giá trị lặp lại ở các phần tử của .X
Bước 2: Thực hiện sắp xếp các giá trị của chuỗiX theo thứ tự tăng dần, ta nhận được chuỗiX′ = {X ′
j; j∈[ 1 , NX]}. Như vậy, vị trí của các giá trị Xi bị thay đổi sang
vị trí mới X′
j, và từ đó hình thành hàm quan hệ hoán vị h i( ) = j; hay X ′
h i( ) = Xj.
Việc hoán vị được thực hiện dễ dàng ch o các chuỗi dữ liệu là mảng một chiều.
Ví dụ, chuỗi giá trị nhận được từ hàm hỗn loạn làX = {0,52, 0,61, 0,93, 0,15, 0,82,
0,41, 0,29, 0 ,76, 0,33 . Sau khi sắp xếp theo thứ tự tăng dần ta có} X′ = {0,15, 0,29,
0,33, 0,41, 0,52, 0,61, 0,76, 0,82, 0,93 . Luật hoán vị} H = { ( );h i i∈[1, M N× ]}cho
ví dụ này n hư được thấy trong Hình 2.2(a). Theo quan hệh i( ) =j, ta có h(1) = 5,
h(2) = 6;h(3) = 9,h(4) = 1;h(5) = 8,h(6) = 4,h(7) = 2,h(8) = 7, vàh(9) = 3.
Như vậy, với một chuỗi giá trịP = {21, 32, 13, 25, 31, 20, 67, 45, 69 cần được hoán}
vị, chuỗi này có chiều dài bằng với chiều dài của chuỗi . Áp dụng qui luật hoán vịX
như thấy ở Hình 2.2(a), ta có chuỗi sau khi hoán vị là P′ = {25, 67, 69, 20, 21, 32, 45, 31, 13 như Hình 2.2(b).}
0.52, 0.61, 0.93, 0.15, 0.82, 0.41, 0.29, 0.76, 0.33 0.15, 0.29, 0.33, 0.41, 0.52, 0.61, 0.76, 0.82, 0.93 X:
X’:
(a)Luật hoán vị
21, 32, 13, 25, 31, 20, 67, 45, 32 25, 67, 69, 20, 21, 32, 45, 31, 13 P: P’: (b)Hoán vị chuỗi P
Hình 2.2: Luật hoán vị và ví dụ hoán vị cho mảng 1D.
Trong các phương pháp được phát triển cho mục đích hoán vị các điểm ảnh [3], về cơ bản cũ ng làm như trên, nhưng các thành phần của X′ được đưa vào ma trận hai
chiều T kích thướcM ×N theo một quy tắc nào đó; ví dụ từ trên xuống dưới, từ
trái qua phải. Ta cóT = {Tij; Tij ∈[1, M N ] × } và các thành phầnTij được lấy từ
quan hệh i( ) =j. Ví dụ, chuỗi 64 phần tửX n hận được từ hàm Logistic vớia= 4 0, ,
X0 = 0 1 , , và bỏ đi 500 phần tử đầu, Xn = {0,3653, 0,9274, 0,2694, 0,7872 , 0,6700,
0,8844, 0,4088, 0,9667, 0,1286, 0,4482, 0,9893, 0,0424, 0,1625, 0,5445, 0,9921 , 0,0314, 0,1217, 0,4274, 0,9789, 0,0825, 0,3028, 0,8444, 0,5255, 0,9974, 0,0104 ,
1 9 17 25 33 41 49 57 2 10 18 26 34 42 50 58 3 11 19 27 35 43 51 59 4 12 20 28 36 44 52 60 5 13 21 29 37 45 53 61 6 14 22 30 38 46 54 62 7 15 23 31 39 47 55 63 8 16 24 32 40 48 56 64
(a)Vị trí ban đầu
29 19 17 5 43 7 58 47 52 33 31 10 50 14 13 40 25 59 57 20 34 27 26 54 45 11 15 36 64 48 46 21 42 22 28 62 1 39 41 37 51 38 49 6 2 56 53 61 30 60 35 12 3 18 24 8 55 9 63 23 4 32 44 16 (b)Luật hoán vị Hình 2.3: Luật hoán vị ở dạng 2D. 1,0000, 0,0001, 0,0003, 0,0013, 0,0050, 0,0199, 0,0782, 0,2882, 0,8206, 0,5890 , 0,9683, 0,1227, 0,4305, 0,9807, 0,0757, 0,2800, 0,8063, 0,6246, 0,9379, 0,2330 , 0,7149, 0,8153, 0,6022, 0,9582, 0,1602, 0,5382, 0,99 42, 0,0232, 0,0908 . Sau khi}
sắp xếp theo thứ tự tăng dần và quan hệ hoán vị tìm được làH = {29, 52, 25, 45, 42,
51, 30, 55, 19, 33, 59, 11, 22, 38, 60, 9, 17, 31, 57, 15, 28, 49, 35, 63, 5, 10, 20, 36,
62, 6, 12, 23, 43, 50, 34, 64, 1, 2, 3, 4, 7, 14, 27, 48, 39, 56, 1 8, 32, 58, 13, 26, 46,
41, 53, 24, 44, 47, 40, 54, 21, 37, 61, 8, 16 . Như vậy, nếu ma trận các điểm ảnh được}
đánh số thứ tự như trong Hình 2.3(a), thì ma trận như thấy ở Hình 2.3(b) được hìnhT
thành từH theo qui tắc trên-xuống-dưới và trái-qua-phải. Các điểm ảnh ở các vị trí
có thứ tự như Hình 2.3(a) đ ược chuyển đến vị trí mới sau khi ho án vị, như đưa ra ở Hình 2.3(b).
Từ ma trận , vị trí mớiT i′ vàj′cho điểm ảnh trong ma trận ảnh ban đầu có tọa đ ộ
ivà sẽ được tính làj
( i
′ =div T( ij, N ) + 1;
j′ =mod T( ij, N .) (2.1)
Ví dụ, Hình 2.4(a) cho thấy ảnh ban đầu kích thước 512×512 được hoán vị theo
phương pháp thực hiện như trên và tạo ra ảnh hoán vị như trong Hình 2.4(b). Chuỗi
giá tr ịX được tạo ra từ hàm Logistic vớir = 4 0 X, , 0 = 0 1 , . ChuỗiX có chiều dài
512 512× và nhận được sau khi bỏ đi 500 điểm đầu nhằm tránh quá độ.
Tuy nhiên, m ột trong các vấn đề khó k hăn là sắp xếp một chuỗi số nhiều phần tử
sẽ mất nhiều thờ i gian. Do vậy, các g iải thuật sắp xếp nhanh cần được áp dụng. Dưới
đây là các phương pháp sử dụng cách thức hoán vị có những điểm giống với phương
pháp được trình bày ở trên.
Ta cần xét mức độ linh động trong việc tạo ra luật hoán vị. Cần chú ý ở đây, nếu
(a)Ảnh ban đầu (b)Ảnh sau khi hoán vị
Hình 2.4: Ví dụ về ảnh hoán vị dùng ma trận hoán vị tạo ra bởi hàm hỗn loạn.
(a) T499: bỏ đi 499 điểm
đầu đầu(b) T500: bỏ đi 500 điểm đầu(c) T501: bỏ đi 501 điểm (d)T499− T500
(e)T500 − T501 (f)T501− T499
Hình 2.5: Ma trậnT và sự khác nhau giữa chúng trong các trường hợp số điểm đầu bỏ đi
khác nhau.
hàm hỗn loạn này chỉ có thể được thực hiện thông qua thay đổi số điểm đầu bị lược bỏ với mục đích tránh ảnh hưởng của hiện tượng quá độ. Ví dụ dưới đây cho thấy sự
nhạy cảm trong trường hợp này. Xét trường hợp tạo ra ma trận trong các trường hợpT
bỏ đi 499, 500, và 501 điểm đầu của chuỗi hỗn loạn. Hàm Logistic được dùng với các
tham số như các ví dụ trên. Ma trận trong các trường hợp được thấy trong các HìnhT
2.5(a)-2.5(c). Sự khác n hau giữa các ma trận T được đưa ra trong các Hình 2.5(d)-
2.5(f). Ta thấy rằng, khi số điểm đầu của chuỗi hỗn loạn được bỏ đi khác nhau, ta có
các ma trận hoán vị khác nhau mặc dù tham số hàm h ỗn loạn không thay đổi. Hay nói
cách khác, ta có thể tạo ra các ma trận hoán vịT khác nhau dựa trên một số hữu hạn
các giá trị của biến trạng thái. Nếu nhìn kỹ vào các bảng trong Hình 2.5(a)-2.5(c) ta
thấy rằng, sự khác nhau nằm ở các giá trị bị dịch đi theo các ô. Lý do là những giá trị
trong dãy được sắp xếp. Điều này có nghĩa là sự khác nhau giữa các bảng hoán vị phụ
thuộc cả vào sự khác nhau ở số điểm dữ liệu được bỏ đi. Ví dụ, để tạo ra ma trận hoán
vịM N× , ta cần chuỗiM Np hần tử. Để tạo thêm được một ma trận, ta chỉ cần d ịch
về phía trước hoặc về phía sau một phần tử. Khi đó số thành phần biến trạng thái chỉ
cần chuỗi có(M N+ 1)phần tử. Dưới đây là một số nghiên cứu đã sử dụng phương pháp này.
• Trong nghiên cứu của Xingyuan Wang và các đồng nghiệp [55], nhóm điểm ảnh
được xét là các hàng và cột điểm ảnh. Hàm Logistic được dùng để sinh ra luật
hoán vị theo phương pháp như được mô tả ở trên, vớ i tham số điều khiển đượcr
chọn trong khoảng làr ∈[3 569945 6 4], , . Ảnh màu RGB có kích thướcM ×N
với mỗi pixel của từng màu là 8 bit được xét. Trong đó, các ma trận điểm ảnh củ a
các màu được tổ chức thành ma trận bằng cách ghép các ma trận điểm ảnh của
các màu theo hàng lại với nhau. Và như vậy, ma trận cuối cùng có kích thước là
3M ×N. Sau đó, việc hoán vị được thực hiện theo hai bước. Bước thứ nhất là
hàng điểm ảnh này với hàng điểm ảnh khác, và bước thứ hai là hoán vị cột điểm ảnh này với cột điểm ảnh khác.
• Trong nghiên cứu [59], phương ph áp hoán vị đ ược thực hiện th eo đơn vị bit thay
vì điểm ảnh 8 bit. Cụ thể, mỗi điểm ảnh được đưa về dạng 8 bit và ảnh có k ích
thướcM N× được chuyển thành ma trận bit kích thướcMN. Việc hoán vị hàng và cột được thực hiện như giải thuật trình bày trong [55]. Tuy hình thức diễn đạt
khác đôi chút, qui luật hoán vị được tạo ra dùng hàm hỗn loạn Logistic với đ iều
kiện đầu làX0 = 0 009 , và tham số điều khiển r = 3 98, theo phương pháp được
tr ình bày ở trên.
• Nghiên cứu của [102] trình bày phương p háp hoán vị dùng phép sắp xếp chuỗi
giá trị sinh ra từ hàm hỗn loạn như trình bày trên. Ở đó, ma trận bit M × 8N
được tạo ra từ ảnh mức xám, như đã được đề cập trong nghiên cứu [59]. Chuỗi
hỗn loạn được tạo ra bằng việc lặp hàm Chebyshev. Các hàng bit được hoán vị trước, sau đó các cột bit được hoán vị. Hàm Chebyshev được chọn dùng với các
tham sốr= 4 0 X, , 0 = 0 30000000 , .
2.2.1.3 Luật hoán vị dựa vào đặc tính động của hàm hỗn loạn rời rạc
Một trong những cách thực hiện hoán vị vị trí bit hoặc vị trí điểm ảnh có thể được thực hiện thông qua lợi dụng đặc tính động của hàm hỗn loạn rời rạc. Hàm hỗn loạn rời
rạc hai chiều được sử dụng trong trường hợp này. Vị trí của điểm ảnh hoặc bit trong
…… …… =i’ =j’ Xn=F(n)(X0) Với: 0 X0=[X(1)0 ] Xn=[ , X(2)0 X , X(1)n (2)n] X(1)n X(2)n =i X(1)0 =j X(2)0
Hình 2.6: Luật hoán vị dựa trên đặc tính động của hàm hỗn loạn.
1 . 2 . 3 . 4 . . A . B . C . D X Y Hình 2.7: Ánh xạ một-một của hàm.
số lần, các biến trạng thái đầu ra của hàm hỗn loạn nhận được làXn = F ( )n (X0).Xn
được dùng là vị trí của đến của điểm ảnh. Hình 2.6 cho thấy phương pháp hoán vị này, trong đó,X0 = [X0(1), X0(2)]vàXn = [Xn(1), Xn(2)]là các giá trị của biến trạng thái ở
điều kiện đầu và của biến trạng thái sau khi lặp lần. Để có thể tìm lại vị trí ban đầun của điểm ảnh, hàm hỗn loạn được chọn theo một trong hai hướng, gồm(i) hàm hỗn
loạn có tính chất ánh xạ một-một (bijective), và (ii)hàm hỗn loạn có thể tìm nghịch đảo.
Tính chất ánh xạ một-một như được minh họa trong Hình 2.7 là một đầu vào th ì
tìm được một đầu ra duy nhất tương ứng với đầu vào đó. Những hàm hỗn loạn có định
thứcdetcủa ma trận Jacobian bằng 1 sẽ có tính chất này. Điển hình là tính chất này