MỞ ĐẦU 1
Chương 1: TỔNG QUAN VỀ HÀM HỖN LOẠN VÀ ẢNH SỐ 7
1.1 Giới thiệu . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
1.2 Mật mã hiện đại và phân loại. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
1.2.1 Định nghĩa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .7
1.2.2 Phân loại mật mã . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .8
1.3 Hệ thống hỗn loạn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .11
1.3.1 Hệ hỗn loạn liên tục theo thời gian . . . . . . . . . . . . . . . . . . . . . . . .11
1.3.2 Hệ hỗn loạn rời rạc theo thời gian . . . . . . . . . . . . . . . . . . . . . . . . .12
1.3.2.1 Hàm Logistic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
1.3.2.2 Hàm Henon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .13
1.3.2.3 Hàm Cat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14
1.3.2.4 Hàm hỗn loạn Cat-Hadamard . . . . . . . . . . . . . . . . . . . . . . . .14
1.3.2.5 Hàm Standard. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
1.3.2.6 Hàm Skew tent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .15
1.3.2.7 Hàm Chebyshev . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
1.3.2.8 Hàm hỗn loạn không gian-thời gian . . . . . . . . . . . . . . . . . . . .16
1.4 Các thuộc tính của hàm hỗn loạn phù hợp cho ứng dụng trong mật mã . . . . .16
1.4.1 Các thuộc tính cơ bản . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .16
1.4.2 Các tham số và tính chất của hàm hỗn loạn dùng trong mật mã . . . . . . .18
1.5 Tạo chuỗi ngẫu nhiên dùng hàm hỗn loạn . . . . . . . . . . . . . . . . . . . . . . .20
1.5.1 Tạo chuỗi bit ngẫu nhiên . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .21
1.5.2 Tạo chuỗi số giả ngẫu nhiên . . . . . . . . . . . . . . . . . . . . . . . . . . . .22
1.6 Ảnh số và các đặc điểm . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
1.6.1 Biểu diễn ảnh số . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .23
1.6.2 Các đặc trưng của dữ liệu ảnh . . . . . . . . . . . . . . . . . . . . . . . . . . .24
1.7 Kết luận . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26
150 trang |
Chia sẻ: honganh20 | Ngày: 15/03/2022 | Lượt xem: 318 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Luận án Mật mã dữ liệu ảnh ứng dụng kỹ thuật hỗn loạn, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ch phân bố giá trị của các điểm ảnh (histogram) cho thấy, có tính
cấu trúc trong phân bố giá trị điểm ảnh ở Hình 2.20(a) của ảnh bản rõ trong Hình 2.19(a);
tính chất cấu trúc này bị phá vỡ và phân bố trở nên đồng đều ở Hình 2.20(b).
61
(a) Ảnh mức xám của
màu đỏ (R) của ảnh
RGB 2.19(b).
(b) Ảnh màu RGB
(Image1).
(c) Ảnh màu Lena
(Image2).
(d) Ảnh màu Flower
(Image3).
(e) Ảnh bản mã
của 2.19(a).
(f) Ảnh bản mã
của 2.19(b).
(g) Ảnh bản mã
của 2.19(c).
(h) Ảnh bản mã
của 2.19(d).
Hình 2.19: Ảnh bản rõ và ảnh bản mã.
0
500
1000
1500
0 50 100 150 200 250
(a) Ảnh bản rõ Image1
0
200
400
600
800
1000
0 50 100 150 200 250
(b) Ảnh bản mã Image1
Hình 2.20: Phân bố giá trị điểm ảnh bản rõ và bản mã.
2.3.2.2 Giải thuật giải mật
Giải thuật giải mã là quá trình ngược lại với mật mã. Các chi tiết được thấy trong giải
thuật Algorithm 2.
62
Algorithm 2 : Giải mật ảnh lớp bit
ĐẦU VÀO: Ảnh bản mã C with sizeM ×N pixels.
ĐẦU RA: Ảnh bản rõ khôi phục I .
procedure GIẢI MẬT ẢNH
Bên nhận R nhận các tham số a, b từ bên phân phối khóa Chebyshev-Key trong Alogrithm 3;
for i = 1, 2, 3, 4, 5, 6, 7, 8 do % Số hiệu của lớp bit
Tác lớp bit thứ ith;
5: Lưu lớp bit thứ ith vào ma trận bit Ei ;
Chuyển đổi Ei thành mảng các số Bi;
Ghép các mảng Bi thành mảngM8;
end for;
Tìm ma trận nghịch đảo H−13 ;
10: Thực hiện nhân giữaM8 với H−13 để nhận được D =
(
M8 ×H
−1
3
)
mod 256;
Chuyển D thành 8 mảng nhị phân D∗;
Áp dụng hàm InvertPerbitbyCat(.) vào D∗ để tìm ma trận khôi phục hoán vị
D∗∗ = InvertPerbitbyCat [D∗];
Xóa bỏ 8− r bit cuối cùng trong từng Di;
15: Khôi phục ảnh I từ 8 ma trận Di;
end procedure
2.3.2.3 Chi phí tính toán
Chi phí tính toán cho các giải thuật này được đánh giá theo số lượng các phép toán hoạt
động cần thiết cho các quá trình mật mã và giải mật, bao gồm: modulo, cộng, nhân, chia
(đảo ngược) và lũy thừa. Chi phí này dùng để xem xét hiệu quả của giải thuật. Từ đó, chi
phí thực hiện phần cứng có thể được ước tính dựa trên số lượng các hoạt động đó. Trong
thực tế, chi phí của quá trình mật mã gồm hai quá trình chính. Đầu tiên, có các hoạt động
hoán vị các bit trên sử dụng hàm hỗn loạn Cat; và thứ hai là nhân ma trận với hàm hỗn
loạn Cat-Hadamard. Như vậy, cần 4 phép nhân, 2 phép cộng cho hàm PerbitbyCat(.);
cần 8 phép nhân và 7 phép cộng cho phép nhân ma trận 8×8 và 2 phép toán modulo để
chuẩn hóa dữ liệu về dải từ 0 đến 255. Do đó, chi phí tính toán của hệ mật mã được đề
xuất ở đây là tốt hơn so với các phương pháp khác được đề xuất gần đây [71, 111, 112].
2.3.2.4 Giải thuật phân phối khóa
Để tạo cặp tham số (a, b) cho hai bên mật mã và giải mật, một giải thuật tạo khóa dựa trên
đa thức Chebyshev được đưa ra trong Algorithm 3. Các đa thức Chebyshev như được định
nghĩa trong biểu thức (1.17). Đa thức Chebyshev được biến đổi để tạo ra hàm Chebyshev
rời rạc như sau
y = Tn(x)mod p, (2.30)
trong đó, x, n là các số nguyên và p là số nguyên tố lớn. Như được đưa ra trong [125],
hàm hỗn loạn Chebyshev này thỏa mãn các thuộc tính bán-nhóm, thỏa mãn các đẳng thức
sau:
Tnm(x) = Tn(Tm(x)),
Tn(Tm(x)) = Tm(Tn(x)).
(2.31)
63
Như được đưa ra trong [125], đa thức Chebyshev rời rạc và bài toán logarit rời rạc Fq
là tương đương về mặt tính toán.
Algorithm 3 : Tạo ra các tham số.
ĐẦU VÀO: Các số mầm để tạo số ngẫu nhiên.
ĐẦU RA: Giá trị của a, b.
procedure TẠO KHÓA
Tạo ra hai số lớn αa, αb;
A chọn khóa mật αa. Tương tự, B chọn khóa mật αb;
Chọn số ngẫu nhiên x và tính toán khóa công khai: PKA = Tαa(x)mod p
5: và PKB = Tαb(x)mod p;
Gửi bộ giá trị (αa;x, PKA), và (αb;x, PKB) tương ứng đến A và B;
A và B tạo ra các khóa công khai đến các bên liên quan;
A và B có thể tính các tham số (a, b) như sau: a = x mod 256
và b = Tαb(PKA)mod 256 = Tαa(PKB)mod 256;
10: end procedure
Ở giải thuật này, hai số mầm được cung cấp để tạo ra hai số lớn αa và αb. Trong thực
tế, hệ thống quản lý khóa có nhiệm vụ quản lý quá trình tạo khóa này. Nó được gọi là
dịch vụ quản lý khóa.
Cho một bộ giá trị (x, y = Tαa(x)mod p), không thể tính được để tìm thấy n thỏa mãn
y = Tn(x)mod p. Do đó, không thể tính được αb từ kết quả tính toán Tαb(PKA)mod p =
Tαaαb(x) mod p. Từ khả năng không thể tính toán đó, giải thuật tạo khóa đề xuất được
xem là có khả năng chống lại các cuộc tấn công của người trong cuộc và bên ngoài [126].
2.3.2.5 Phân tích khả năng bảo mật
Để xem xét khả năng bảo mật của hệ mật mã được đề xuất ở đây, các đại lượng sau được
đánh giá gồm: tương quan các điểm ảnh liền kề, lượng tin entropy, tỷ lệ số điểm ảnh thay
đổi giá trị (NPCR), cường độ thay đổi trung bình thống nhất (UACI) và độ nhạy khóa.
• Tương quan các điểm ảnh liền kề
Mối quan hệ thống kê của hai điểm ảnh liền kề được đo bằng hệ số tương quan. Hai
điểm ảnh liền kề theo chiều dọc, chiều ngang và đường chéo được chọn ngẫu nhiên
để tính các hệ số tương quan như được xác định trong các công thức dưới đây
cov(p1, p2) =
1
N
N∑
i=1
(p1(i)− E(p1)) (p2(i)− E(p2)) , (2.32)
rp1,p2 =
cov(p1, p2)√
D(p1)D(p2)
, (2.33)
trong đó p1 và p2 là các giá trị mức xám của hai điểm ảnh liền kề; và N là số
lượng cặp điểm ảnh được xem xét. Ở đây, E(p1) = 1N
∑N
i=1 p1(i) và E(p2) =
1
N
∑N
i=1 p2(i) tương ứng là kỳ vọng của p1 và p2;D(p1) =
1
N
∑N
i=1 (p1(i)− E(p1))
2
64
Bảng 2.9: Các hệ số tương quan tương ứng với các ảnh bản rõ và bản mã.
Tương quan điểm ảnh Ảnh bản rõ
Ảnh bản mã
đề xuất [71] [112] [69] [68]
Theo hướng ngang 0,9849 0,0097 0,01245 0,01008 0,005450 0,01177
Theo hướng đứng 0,9884 0,0359 0,0141 0,01416 0,000485 0,00208
Theo hướng chéo 0,9920 -0,0086 0,0115 0,00842 0,006502 0,00322
0 50 100 150 200 250 300
0
50
100
150
200
250
300
(a) Hướng ngang của bản rõ
0 50 100 150 200 250 300
0
50
100
150
200
250
300
(b) Hướng ngang của bản mã
0 50 100 150 200 250 300
0
50
100
150
200
250
300
(c) Hướng chéo của bản rõ
0 50 100 150 200 250 300
0
50
100
150
200
250
300
(d) Hướng chéo của bản mã
0 50 100 150 200 250 300
0
50
100
150
200
250
300
(e) Hướng đứng của bản rõ
0 50 100 150 200 250 300
0
50
100
150
200
250
300
(f) Hướng đứng của bản mã
Hình 2.21: Tương quan giữa các ảnh bản rõ và bản mã của 2.19(a).
vàD(p2) = 1N
∑N
i=1 (p2(i)− E(p2))
2 tương ứng là phương sai của p1 và p2; cov(p1, p2)
và rp1,p2 tương ứng là hiệp phương sai và kết hợp giữa các điểm ảnh p1 và p2. Để
tính toán, 8000 cặp điểm ảnh liền kề được chọn ngẫu nhiên, bao gồm các hướng
dọc, ngang và chéo. Bảng 2.9 liệt kê và so sánh kết quả được công bố trước đây và
kết quả của phương pháp này. Ở đây, các hệ số tương quan tương ứng với ảnh bản
rõ và ảnh bản mã như được đưa ra trong Hình 2.19(c) và 2.19(g). Có thể thấy rằng,
mối tương quan giữa các pixel liền kề của các ảnh bản mã theo ba hướng là rất nhỏ.
Điều này có nghĩa là rất khó để phát hiện bất kỳ mối quan hệ nào giữa các điểm ảnh
liền kề của ảnh bản rõ và các điểm ảnh tương ứng với ảnh bản mã. Do đó, giải thuật
đề xuất có thể hạn chế các cuộc tấn công thống kê. So sánh với các kết quả công bố
trước đây, một kết quả trước đây không tốt hơn so với kết quả của phương pháp này;
các kết quả kém hơn được tô đậm.
Hình 2.21 cho thấy phân bố tương quan của các ảnh bản mã theo ba hướng.
• Phân tích lượng tin
Lượng tin được tính theo biểu thức (2.26). Tính lượng tin cho ảnh 2.19(a) với phân bố
giá trị điểm ảnh như được thấy ở Hình 2.20(b), cho thấy giá trị IE(v) = 7, 9983 ≈ 8.
65
Bảng 2.10: Các đại lượng NPCR và UACI .
Các ảnh bản rõ NPCR UACI
Ảnh 2.19(b) (Image1) 99,61 33,21
Ảnh Lena 2.19(c) (Image2) 99,76 33,52
Ảnh Flower 2.19(d) (Image3) 99,85 33,96
Giá trị thu được xấp xỉ bằng giá trị lý tưởng là 8. Do vậy, có thể khẳng định rằng hệ
mật mã đề xuất này khả năng chống chịu rất tốt trước cuộc tấn công dựa vào lượng
tin [127].
• Phân tích vi sai
Có hai đại lượng được sử dụng trong phân tích khả năng bảo mật cho ảnh là tỷ lệ
số điểm ảnh thay đổi giá trị (NPCR), cường độ thay đổi trung bình thống nhất
(UACI) như đã trình bày ở trên.NPCR xác định tỷ lệ thay đổi giá trị điểm ảnh sau
khi mật mã. Tham số UACI biểu thị cường độ thay đổi trung bình được tính bằng
cách tính cường độ trung bình của sự khác biệt giữa ảnh bản mã và ảnh bản rõ. Biểu
thức tính cho các đại lượng này được thấy ở (2.27) và (2.28).
Bảng 2.10 cũng cho thấy các giá trị NPCR và UACI nhằm kiểm tra mức độ ảnh
hướng của 1 bit trong bản rõ gây ra bao nhiêu thay đổi trong bản mã. Chú ý rằng,
các giá trị này được tính trung bình cho ba màu R, G, và B. Có thể kết luận rằng các
giá trị NPCR lớn hơn 99% và các giá trị UACI lớn hơn 33%. Hay nói cách khác,
giải thuật đề xuất có thể chịu được các tấn công vi sai [124]. Kết quả này cho thấy,
giá trị NPCR và UACI lớn nhất tương ứng là 99,85 và 33,96. Giá trị này lớn hơn
các giá trị đạt được trong các công trình thực hiện ở mức bit. Có rất nhiều công trình
không đạt được các giá trị cao như trong nghiên cứu này. Ví dụ, kết quả đạt được
99,62 và 33,51 trong [71], đạt được 93,79 và 16,86 trong [112], đạt được 99,6114
và 33,4896 trong [69], hay đạt được 99,5705 và 33,4781 trong [68]...
• Phân tích độ nhạy của khóa mật
Độ nhạy khóa của hệ mật mã là đại lượng dùng để cho thấy khả năng chống lại các
cuộc tấn công vét cạn. Khả năng chống lại càng cao khi độ nhay khóa càng cao. Độ
nhạy được xác định qua sự thay đổi nhỏ của khóa dẫn đến sự thay đổi như thế nào ở
bản mã, và được tính tỷ lệ chênh lệch giữa các bản mã (Cdr) khi có sự sai khác nhỏ
xảy ra ở khóa. Cdr được tính theo biểu thức (2.23).
Trong ví dụ tính toán ở đây, lượng thay đổi khóa là+∆K và−∆K trong dải [1, 255]
với khóa mật αa trong giải thuật Algorithm 3. Như được thấy trong Hình 2.22, độ
66
0 50 100 150 200 250 300
K
98
98.5
99
99.5
100
C
D
R
(
%
)
Hình 2.22: Cdr của giải thuật đề xuất với ảnh Image1.
nhạy khóa Cdr được tính toán với ảnh Image1 với kết quả trả về lớn hơn 99%. Điều
này có nghĩa là sự thay đổi nhỏ của khóa đã dẫn đến hơn 99% điểm ảnh bị thay đổi.
Chú ý, giá trị này được tính theo trung bình cho ba màu R, G, và B.
Như vậy, các bước để mật mã ảnh qua việc mật mã các lớp bit dựa trên các hàm hỗn
loạn Cat và hàm Cat-Hadarmad gồm: Đầu tiên, ảnh mức xám được tách thành các mặt
phẳng bit; sau đó mỗi mặt phẳng bit được hoán vị bởi hàm Cat và được khuếch tán bởi
hàm Cat-Hadarmad; cuối cùng, các ảnh lớp bit được hợp nhất lại để thu được ảnh sau mật
mã. Hơn nữa, phương pháp phân phối khóa dựa trên đa thức Chebyshev được đề xuất là
phù hợp cho mã hóa dữ liệu đa phương tiện nói chung. Các kết quả và mô phỏng đã chỉ
ra rằng phương pháp đề xuất có thể đạt mức bảo mật tốt hơn khi so sánh với các phương
pháp đã được đề xuất trước đây.
Cần chú ý, hệ mật được đề xuất chưa được đánh giá khi làm việc với nhiều vòng lặp
mã. Thực tế, hệ mật được trình bày trong Luận án đã đạt được các tính chất thống kê
nhằm chịu đựng được các tấn công vào hệ mật mã với một vòng lặp mã. Việc thực hiện
nhiều vòng lặp mã hoàn toàn có thế thực hiện được với hệ mật này và khả năng chịu đựng
tấn công thống kê vẫn đảm bảo.
2.4 Kết luận
Chương này đã trình bày các đặc trưng cơ bản của hàm hỗn loạn và khả năng ứng dụng
chúng vào để thiết kế hệ mật mã. Với các hàm hỗn loạn, ta có các cách khác nhau để
dùng vào mật mã, đó là thông qua số lần lặp hàm hỗn loạn, đặc tính động của hàm hỗn
loạn, và tham số điều khiển cũng như giá trị điều kiện đầu. Trong các nghiên cứu trước
đây được công bố đã dựa vào các cách này.
Phần đề xuất các hệ mật mã cũng được trình bày với hai hệ mật mã. Hệ mật mã thứ
nhất được đề xuất làm việc ở mức bit bằng cách sử dụng hàm hỗn loạn Logistic có giá
trị của biến trạng thái được biểu diễn dưới dạng số thực dấu phảy tĩnh. Đóng góp chính
của công việc này là hệ mật mã hoạt động dựa trên tác động vào các bit của tham số điều
67
khiển hàm hỗn loạn Logistic. Không gian khóa được tìm thấy trong ví dụ cụ thể là 2378
bit; đây là con số rất lớn khi mà thứ tự các bit được trích xuất và mở rộng được xem xét
tới. Với không gian khóa này, các cuộc tấn công vét cạn sẽ khó thành công trên các máy
tính hiện nay. Kết quả mô phỏng cũng cho thấy hệ mật mã được đề xuất cho ra kết quả tốt
hơn so với những các kết quả trong các công bố gần đây. Hệ mật mã thứ hai được đề xuất
làm việc ở mức bit. Ảnh mức xám được tách thành các lớp bit, hàm Cat dùng để hoán vị
các bit của mỗi lớp, hàm Chebyshev được dùng để biến đổi giá trị điểm ảnh và cuối cùng
các lớp bit được ghép lại để thu về ảnh bản mã. Các tham số đánh giá khả năng chịu đựng
tấn công được tính toán. Kết quả cho thấy các hệ mật mã đề xuất có khả năng chịu đựng
được các tấn công vét cạn, phân tích vi sai...
Sự đảm bảo an toàn cần thời gian để các nhà khoa học phát triển và đánh giá. Dựa trên
những tìm hiểu về các nghiên cứu ứng dụng hỗn loạn cho thấy có sự đa dạng và rất phù
hợp với các ứng dụng mật mã dữ liệu dạng khối và dữ liệu có chứa nhiều tương quan. Dữ
liệu đó thường là dữ liệu âm thanh và hình ảnh. Với tính chất của hàm hỗn loạn và các
tham số cũng như giá trị được sinh ra từ hàm hỗn loạn, ứng dụng hỗn loạn vào mật mã đã
được tiếp cận theo nhiều cách khác nhau. Trong các công bố kết quả nghiên cứu, tất cả
các tính chất ngẫu nhiên và khả năng chống lại các tấn công đều được xem xét và khẳng
định chịu được tấn công tại thời điểm công bố. Tuy nhiên, cũng như các hệ mật mã cổ
điển, vẫn có những điểm yếu có thể được khai thác nhằm mục đích tấn công phân tích
mật mã. Các điểm yếu đó cần được xem xét và phân tích nhằm giúp các nhà khoa học
tránh các điểm yếu trong thiết kế, để tránh khả năng phân tích mã thành công.
Mặt khác, các hệ mật mã hỗn loạn được thiết kế cần phải xác định môi trường làm
việc rõ ràng. Hầu hết các nghiên cứu hiện nay tập chung chủ yếu vào phát triển giải thuật
mật mã mà chưa quan tâm đến môi trường làm việc của giải thuật đó. Đây là điều mà
các nghiên cứu cần phải chú ý. Ví dụ trong môi trường máy tính thì năng lực tính toán
và dung lượng bộ nhớ là ưu điểm cho các hệ mật mã hỗn loạn. Tuy nhiên, máy tính chỉ
mạnh với các phép tính toán với các đơn vị dữ liệu được tính bằng byte. Với các hệ mật
mã mà đơn vị dữ liệu nhỏ hơn hơn là bit thì máy tính không có được thế mạnh xử lý. Với
các hệ mật mã làm việc ở mức bit thì cần các phần cứng linh động hơn, như FPGA.
68
Chương 3
PHÂN TÍCH MẬT MÃ HỖN LOẠN CÓ CẤU TRÚC SPN
Nội dung Chương này trình bày điểm yếu bảo mật của giải thuật mật mã trong cấu trúc
mạng hoán vị-thay thế (SPN) với nhiều vòng hoán vị và một vòng khuếch tán được đề
xuất bởi W.Zhang. Các phương pháp tấn công lựa chọn bản rõ và lựa chọn bản mã đã
thành công và các phiên bản khóa tương đương của khóa mật ở phía mật mã và giải mã
đã được khôi phục lại. Việc phân tích tính bảo mật cho thấy rằng việc mật mã với cấu
trúc mạng hoán vị-thay thế phải được thực hiện nhiều hơn một vòng lặp mã để đảm bảo
độ an toàn. Ví dụ cụ thể được đưa ra sẽ chứng minh tính khả thi của phương pháp thám
mã. Nội dung của Chương này liên quan đến các bài báo [J1] và [J2].
3.1 Giới thiệu
Trong nhiều thập kỉ, các hệ thống hỗn loạn được thực hiện để đảm bảo tính bảo mật và
tính riêng tư. Do hệ thống hỗn loạn có các đặc điểm như: nhạy với điều kiện đầu, nhạy
với các tham số điều khiển, có tính chất ngẫu nhiên trong dữ liệu do nó tạo ra và tính
ergodicty [128]. Đã có nhiều phương pháp mật mã dựa trên tích chất hỗn loạn đã được
công bố, ví dụ như trong [55, 64, 84, 129]. Về cơ bản, có rất nhiều cách dùng hỗn loạn
để mật mã như được đề cập một phần trong [130] và các tài liệu khác. Cho đến nay, về
cơ bản có ba cách khác nhau dùng hỗn loạn vào mật mã; đó là (i) tạo ra các ma trận hoán
đổi vị trí, (ii) sinh ra các dãy bit giả ngẫu nhiên để trộn với bản rõ và (iii) dùng bản rõ
như là điều kiện đầu của hàm hỗn loạn để tạo ra bản mã. Tuy nhiên, do các yếu điểm tồn
tại trong các thiết kế giải thuật mật mã, nhiều hệ mật mã đã không đáp ứng được các yêu
cầu cơ bản [66], vì vậy chúng đã bị phá vỡ sau khi được công bố, ví dụ [11, 131, 132].
Kiến trúc mạng thay thế-hoán vị (SPN) có tính bảo mật cao [133] dùng cho việc mật
mã dữ liệu [77, 134]. Ngày nay, kiến trúc SPN được coi như là một chuẩn thiết kế mật mã
hiện đại như được thấy trong các hệ mật mã AES [135], PRESENT [136], SAFER [137],
... .. Gần đây nó được kết hợp với hỗn loạn để tạo ra hệ mật mã hỗn loạn theo một số
cách như (i) và (ii) được trình bày ở trên để có được tính bảo mật qua hiệu ứng tuyết
lở (avalanche) [133]. Cụ thể, phép hoán vị dựa trên hỗn loạn là sự xáo trộn vị trí của
các điểm ảnh. Trong đó, vị trí của các điểm ảnh hiện tại được xem như là các véctơ ban
đầu của hệ hỗn loạn và được dùng để tính toán cho vị trí mới cho các điểm ảnh. Các
ví dụ được thấy trong các công trình gần đây như [129, 138, 139, 140]. Đặc biệt, quá
69
trình hoán vị dựa trên hỗn loạn được dùng để hoán vị vị trí các điểm ảnh, ví dụ được
đưa trong [129, 138, 139, 140] hoặc dựa trên các bit [26] dữ liệu ảnh. Trong các hệ mật
mã, quá trình khuếch tán dùng hỗn loạn cũng được thực hiện theo nhiều cách. Một trong
các cách phổ biến nhất là dùng hệ hỗn loạn để tạo ra dãy số giả ngẫu nhiên; sau đó, các
dãy số giả ngẫu nhiên hỗn loạn đó được kết hợp với các từ dữ liệu của bản rõ theo biểu
thức nào đó tạo ra một giá trị mới cho điểm ảnh như được thấy trong [61, 141, 142]. Tuy
nhiên, những thiếu sót trong thiết kế các giải thuật mật mã ứng dụng hỗn loạn lại tạo ra
những yếu điểm. Độ mạnh của các hệ mật mã hỗn loạn vẫn trong thời gian tranh cãi. Các
hệ mật mã có các ưu điểm và phù hợp với ứng dụng cụ thể vẫn đang được các nhà khoa
học đề xuất với các tính chất mật mã được chứng minh là tốt. Gần đây, nhiều hệ mật mã
hỗn loạn cũng bị phá vỡ thành công như được thấy trong [11, 130, 131, 132]. Tuy nhiên,
do cấu trúc mạng thay thế-hoán vị tạo ra các tính chất mật mã rất tốt. Có rất ít tấn công
vào các mạng thay thế-hoán vị dựa trên hỗn loạn đạt được thành công, đặc biệt trường
hợp mã nhiều vòng lặp như được thấy đề cập trong [12].
Cho đến nay, số lượng các tấn công thành công vào các mạng thay thế-hoán vị ứng
dụng hỗn loạn là rất ít. Theo hiểu biết của tác giả Luận án này, chỉ có hai phương pháp tấn
công thành công vào các hệ mật mã có cấu trúc SPN có ứng dụng hàm hỗn loạn. Điểm
chung ở hai tấn công đó là hệ mật mã chỉ lặp một vòng như được thấy trong [11, 12]. Như
đã được trình bày trong [11], phương pháp có thể được mở rộng để đối phó với mã nhiều
vòng lặp, trong khi các ví dụ trong công trình [11] chỉ thực hiện cho hệ mật mã một vòng
lặp.
Trong nội dung của Chương này, các vấn đề liên quan đến thám mã hệ mật mã hỗn
loạn có cấu trúc SPN được áp dụng để tấn công hệ mật mã được đề xuất bởi W. Zhang và
các đồng nghiệp [61]. Hai tấn công vào cấu trúc SPN, gồm lựa chọn bản rõ và lựa chọn
bản mã, đã thành công trong việc khôi phục dữ liệu khi hệ mật mã chỉ thực hiện một vòng
lặp, và thành công trong việc khôi phục các phiên bản khóa mật tương đương cho việc
mã hóa và giải mã trong trường hợp nhiều vòng lặp. Lý do hệ mật mã hỗn loạn đề xuất
bởi W. Zhang và các đồng nghiệp [61] được chọn để tấn công là hệ mật mã này được xem
như tiên tiến nhất trong các hệ mật mã hỗn loạn cho ảnh. Trong hệ mật mã này, các đặc
điểm phân bố nội tại các bit của ảnh raster đã được xem xét để làm tăng hiệu quả mật mã
và tăng cường bảo mật. Chi tiết về các ví dụ tấn công cụ thể sẽ chứng minh sự thành công
ở từng cơ chế thám mã dưới đây.
70
3.2 Một số qui ước trong phân tích mã
Theo quy tắc Kerckhoff [134] trong việc phân tích mã, các thông tin chi tiết của toàn bộ
hệ mật mã là công khai rõ ràng, ngoại trừ khóa mật. Nói cách khác là độ an toàn của một
hệ mật mã chỉ được phép phụ thuộc vào tính bí mật của khóa. Có bốn cơ chế tấn công cổ
điển chính được xếp theo độ khó giảm dần:
(a) Chỉ có bản mã (Ciphertext-only attack): người phân tích có một hoặc nhiều bản mã.
(b) Biết được bản rõ (Known-plaintext attack): người phân tích có một hoặc nhiều bản
rõ và các bản mã tương ứng.
(c) Lựa chọn bản rõ (Chosen-plaintext attack): người phân tích có thể truy nhập vào
thiết bị mã. Một số bản rõ có thể được chọn để thực hiện mật mã và thu được các
bản mã tương ứng.
(d) Lựa chọn bản mã (Chosen-ciphertext attack): người phân tích có thể truy nhập vào
thiết bị giải mã. Một số bản mã có thể được chọn để giải mã và thu được các bản rõ
tương ứng.
Ở các cơ chế tấn công, khả năng tiếp cận thông tin đầu vào và đầu ra cũng như khả năng
tác động vào việc mật mã được thấy rõ. Các cơ chế tấn công này chủ yếu là để khôi phục
lại bản rõ hoặc các khóa dùng trong các giải thuật. Một hệ mật mã không đảm bảo an
toàn nếu nếu có ít nhất một trong các kiểu tấn công trên thành công.
3.3 Mô tả hệ mật mã hỗn loạn được đề xuất bởi W. Zhang
Mỗi ảnh xám được xem như là một ma trận các điểm ảnh như được mô tả ở Mục 1.6.1. Ở
đây cần chú ý, ảnh màu RGB có ba lớp: R (đỏ), G (xanh lá), B (xanh lam). Ảnh của mỗi
màu được xem như là một ảnh mức xám. Giá trị của mỗi điểm ảnh tại vị trí (x, y) ở lớp
màu đỏ, xanh lá, xanh lam tương ứng là pR(x, y), pG(x, y) và pB(x, y).
Để mã ảnh RGB kích thước N ×N , ảnh màu RGB được sắp xếp lại để khai thác các
đặc điểm nội tại về phân bố bit như được trình bày trong [61]. Cụ thể là hai bit cao nhất
của mỗi điểm ảnh ở lớp R, G, B được lấy ra và ghép chúng lại thành ảnh mức xám 6 bit
có kích thước là N ×N . Ba ảnh mức xám 6 bit kích thước N ×N chính là ảnh của 6 bit
thấp còn lại của các ảnh màu, và giá trị điểm ảnh tại vị trí (x, y) là f(x, y). Hình 3.1 cho
thấy điều này. Bốn ảnh mức xám 6 bit kích thước N × N được ghép lại thành một ma
trận điểm ảnh có kích thước 2N × 2N , và ảnh này được dùng để mật mã. Thuật toán mật
mã bao gồm 2 quá trình: hoán vị và khuếch tán như trong Hình 3.2.
71
R
(8 bit mức xám)
III
III IV
G
(8 bit mức xám)
B
(8 bit mức xám)
6 bit thấp của R 6 bit thấp của G
6 bit thấp của B
6 bit hình thành
từ ghép
2 bit cao
của R, G, B
Sắp xếp lại
Hình 3.1: Ảnh RGB được sắp xếp lại thành một ma trận để mật mã.
Tại một vòng thực hiện mật mã nào đó, hoán vị điểm ảnh được thực hiện bằng cách
tính toán vị trí mới (x′, y′) dùng vị trí ở thời điểm hiện tại (x, y) như là một véctơ ban đầu
của hàm hỗn loạn. Trong phần giải mật, việc hoán vị ngược lại để khôi phục lại (x, y) sử
dụng (x′, y′) như là véctơ ban đầu nếu như sử dụng các hàm có thể giải ngược. Trong thực
tế, việc hoán vị thuận và ngược thành công khi hàm hỗn loạn 2 chiều với ánh xạ một-một
như trong các hàm Cat [143], Standard map [144, 145]. Còn một cách khác có thể thực
hiện mật mã mà luôn giải ngược được, đó là quá trình thực hiện hoán vị một cách tuần tự
ở phía giải mật được làm giống với bên mật mã. Chỉ có điểm khác nằm ở chỗ, việc giải
mật được thực hiện với các điểm ảnh ngược thứ tự so với bên mật mã. Ở đây, hoán vị các
điểm ảnh được thực hiện dùng hàm hỗn loạn Cat như sau:
[
x1(n+ 1)
x(n+ 1)
]
=
[
1 p
q pq + 1
][
x1(n)
y(n)
]
mod N. (3.1)
Như được đưa trong [61], tập các tham số điều khiển (p, q) của hàm Cat dùng làm khóa
bí mật, chúng được tạo ra từ hàm Logistic như trong phương trình (1.6). Điều kiện đầu
x0 của hàm Logistic nhận các giá trị bằng conf_key1 và conf_key2 tương ứng để tạo ra
hai chuỗi giả ngẫu nhiên sq1 và sq2. Từ đó, các giá trị cho p và q tương ứng được dùng
cho cho hàm hỗn loạn Cat được tính như sau:
pi = (sq1(2000 + i)× 10
9)mod K
qi = (sq2(2000 + i)× 10
9)mod K
(3.2)
trong đó, i là chỉ số cho lần hoán vị; giá trị K là phạm vi giới hạn giá trị của p và q
được chọn. Chú ý, ở đây bỏ đi 2000 phần tử đầu tiên của hàm Logistic để đảm bảo tính
ngẫu nhiên trong giá trị của p và q. Số lượng cặp giá trị p và q phụ thuộc vào việc có sử
dụng lại hay không sử dụng lại các giá trị này trong các vòng hoán vị khác nhau. Trong
trường hợp không sử dụng lại các cặp giá trị này cho lần hoán vị sau thì số lượng cặp sẽ
bằng với số lần hoán vị. Ở ví dụ thực hiện, quá trình hoán vị bao gồm nhiều vòng hoán
vị và các cặp giá trị p và q được sử dụng lại cho các lần hoán vị khác nhau và giá trị tham
72
số điều khiển của hàm Logistic được chọn bằng r = 3, 99999. Sau quá trình hoán vị các
điểm ảnh là quá trình khuếch tán.
Xáo trộn
(rp vòng)
Tạo ra ma trận mở rộng
Ảnh bản rõ
ME
MPE
AE
ADE
MTE
Ảnh bản mã
Chuyển mảng 1D thành
ma trận 2D
Khuếch tán
(1 vòng)
Chuyển ma trận 2D
thành mảng 1D
Sắp xếp lại thành ảnh
C
P
(a) Các bước mã
C
P
Đảo ngược xáo trộn
(rp vòng)
Chuyển mảng 1D thành
ma trận 2D
Ảnh bản rõ khôi phục
MPD
MTD
ADD
AD
MD
Ảnh bản mã
Chuyển ma trận 2D
thành mảng 1D
Tái khuếch tán
(1 vòng)
Sắp xếp lại thành ảnh
Tạo ra ma trận mở rộng
(b) Các bước giải mật
Hình 3.2: Các bước mật mã và giải mật.
Các bước mã và giải mã được minh họa như trong Hình 3.2. Ở quá trình mật mã, P là
ảnh bản rõ, trong khi đó tại giải mã thì P là ảnh được khôi phục từ bản mã. C là ảnh bản
mã; Kí hiệu M là ma trận 2 chiều; A là mảng một chiều. Mô tả các kí hiệu và phạm vi
giá trị được viết như trong phương trình (3.3).
Mật mã:
P = {f(x, y); f(x, y) ∈ [0, 255], ∀x, y ∈ [1, N ]},
ME = {f(x, y); f(x, y) ∈ [0
Các file đính kèm theo tài liệu này:
- luan_an_mat_ma_du_lieu_anh_ung_dung_ky_thuat_hon_loan.pdf