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 , .