3.4 Đề xuất 3: Phân tích hệ mật mã hỗn loạn có cấu trúc SPN với một vòng lặp
3.4.3.1 Thời gian tấn công hoán vị
Trong phần này, tính toán thời gian tấn trong công hệ mật mã hỗn loạn được xem xét
trong cả hai trường hợp gồm tấn công lựa chọn văn bản trơn và tấn công lựa chọn văn
bản mã hóa. Để đánh g iá, số lần mật mã và g iải mã được xác định cùng với lượng
thời gian cần thiết cho tấn công một ảnh kích thướcN ×N. Chú ý rằng, kích thước
2N × N2 của ma trận được dùng vào tính toán thời gian. Trong tấn công lựa chọn văn
bản trơn và tấn công lựa chọn văn bản mã hóa, cuộc tấn công hoán vị cho một cặp giá
phần tử trong ma trận đòi hỏi một lần mật mã/giải mật mã, vì vậy 2N × N2 lần mật
gian mã và giải mã tương ứng làTenvàTde. Mỗi lần mã/giải mã, thời gian để chuẩn bị
lựa chọn ảnh bản trơn/ảnh bản mã hóa làTpvà để tìm sự thay đổi về giá trị của phần
tử làTd. Lượng thời gian để tấn công một cặp phần tử trong ma trận cho lựa chọn văn
bản trơn và lựa chọn văn b ản mã hóa tương ứng là(Tp+ Ten+ Td)và(Tp+ Tde+ Td).
Đối với một ma trận có kích thước là 2N × N2 , tổng thời gian tấn công hoán vị cho
lựa chọn văn bản trơn và lựa chọn văn bản mã hóa tương ứng là
Tconf usion CP_ = 4 × N 2× (Tp+ Ten + Td), (3.9) Tconf usion CC_ = 4 × N 2× (Tp + Tde + Td). (3.10) 3.4.3.2 Thời gian tấn công khuếch tán
Trong tấn công khuếch tán với lựa chọn văn bản trơn và lựa chọn văn bản trơn đều yêu cầu thời gian mã/giải mã cùng với độ p hức tạp tính toán cao hơn. Trước hết, cần
xem xét đến độ phức tạp của tấn công khuếch tán ở tấn công lựa chọn văn bản trơn.
Như đã đề cập trong m ô tả ở trên rằngrand2vàrand3 phụ thuộc vào các giá trị của
từ mã ở ngay trước đócipher d i_ ( )và vị trí của từ mã tương ứng. Với mỗi giá trị củai
cipher d i_ ( ), sáu lần thực hiện mật mã để có các dãyac i ( ) vớicipher d i_ ( ) để phát
hiện giá trị của các bit trongrand2vàrand3; cụ thể là cần thực hiện với ac i( ) = 0, 1,
2, 4, 8, và 16. Ngoài ra, tất cả các giá trị có thể có của từ dữ liệu bản rõ ac i( − 1)để
tạo raciph er d i_ ( −1)vớ i giá trị từ 0 đến 63. Nói cách khác, việc xem xét để phát hiện
giá trị của các cặp phần tử trongrand2vàrand3yêu cầu 64 lần thực hiện mật mã. Giả
sử lượng thời gian để phát hiện giá trị bit của một cặp phần tử trong trongrand2và rand3làTd CP_ và thời gian chuẩn bị cho một ảnh bản trơn là Tp. Vậy lượng thời gian
để tìm cặp p hần tử tương đương trongrand2 vàrand3là64 [6 (× × T en+Tp)+Td CP_ ].
Cho nên, một ma trận kích thước2N × N2 yêu cầu lượng thời gian là
Tdif fus ion CP_ = 256 × N 2× [6 (T× en + Tp) + T d CP_ ]. (3.11)
Tiếp theo là xem xét lượng thời gian yêu cầu cho tấn công khuếch tán ngược trong lựa
chọn văn bản mã hóa. Cũng tương tự như cách đánh giá cho việc tấn công lựa chọn
văn bản trơn, khác nhau ở 64 lần giải mã được thực hiện cho m ột cặp phần tử tương
đương với n hững phần tử trongrand2 vàrand3 thay vì là 6 lần ở phần mật m ã. Thời
gian phân tích để tìm ra các giá trị của phần tử tương đương với rand2 vàrand3là Td CC_ . Đó là thời gian cần để so sánh giữa hai ma trận kích thước 2 64 × , thu được bởi
cipher d i_ ( )vàac i( ). Vì vậy, tổng thời gian để tấn công ma trận kích thước2N × N2
là
Bảng 3.2: Thời gian tấn công.
Loại tấn công Thời gian tấn công hoán vị Thời gian tấn công khuếch tán
Tấn công lựa chọn văn bản trơn 4 × N2× (Tp+ Ten + Td) 256 × N 2× [6 (T× en + Tp) + T d CP_ ]
Tấn công lựa chọn văn bản mã hóa 4 × N2 × (Tp+ Tde+ Td) 256 × N 2×[64 (T × de + Tp) + T d CC_ ]
So sánh thời gian tấn công lựa chọn văn bản trơn và tấn công lựa chọn văn bản mã
hóa. Lượng thời gian tấn công quá trình hoán vị trong lựa chọn ảnh bản trơn (phương tr ình (3.9)) khác với trong lựa chọn ảnh bản mã hóa (phương trình (3.10)) một lượng ∆Tconf usion = 4 × N 2× δC, vớiδC = kTde − Tenk. Sự sai lệch này là nhỏ khi δC rất
nhỏ không đáng kể hoặc thời gian mã và giải mã gần bằng nhau.
Từ biểu thức (3.11) và (3.12) cho thấy rằng thời gian tấn công khuếch tán trong lựa
chọn văn bản mã hóa cần nhiều hơn trong lựa chọn văn bản trơn là256 × N2×[58× (Tde+ Tp)], với giả thiếtTd CP_ ) ≈ T d CC_ vàTen ≈ Tde. Thời gian tấn công được liệt kê trong Bảng 3.2.
3.4.4 Một số bàn luận về tấn công một vòng lặp mã
Trong trường hợp hệ mật mã chỉ có một vòng lặp mã với việc thám mã được minh họa
bởi các ví dụ trong Hình 3.8 và 3.11, các khóa mật mã và giải mã được khôi phục khác
với khóa gốc ban đầu, nhưng chúng tương đương nhau. Các tấn công ở đây không yêu
cầu bất cứ hiểu b iết gì trước về giá trị của các tham số trong hệ hỗn loạn. Thêm vào
đó, như trong Bảng 2, lượng thời gian để phá vỡ hệ mật mã dùng tấn công lựa chọn văn bản mã hóa lớn hơn th ời gian cần thiết để tấn công lựa chọn văn bản trơn. Thời gian cần thiết phụ thuộc rất lớn vào kích thước của ảnh (N2). Hơn nữa, trong ví dụ
tấn công lựa chọn văn bản rõ và tấn công lựa chọn văn bản mã hóa ở trên, ma trận
mở rộng của ảnh bản trơn và ảnh bản mã hóa được dùng để so sánh và tìm ra sự khác
nhau. Các ảnh mẫu được dùng có tất cả các b it trong ảnh đều bằng 0. Trên thực tế,
với bất kì ảnh nào cũng có thể được dùng, nhưng với điều kiện là các ma trận mẫu mở
rộng chỉ được khác nhau một phần tử ở một vị trí nào đó.
Như vậy, hệ mật được đề xu ất bởi W. Zhang có cấu trúc SPN với một vòng lặp mã không đảm bảo an toàn. Trong phần dưới đây, hệ mật mã này được chứng minh là
không đảm bảo an toàn cho dù có nhiều vòng lặp mã. Các phương pháp đề xuất nhằm
cải thiện khả năng bảo mật của hệ mật mã và kết quả cho thấy các đề xuất đạt hiệu quả trước các tấn công được đưa ra.
Tuy nhiên, phương pháp tấn công trong đề xuất này chỉ thành công với hệ mật có
một vòng lặp mã và với một vòng lặp khuếch tán. Khi có nhiều vòng khuếch tán thì ta
3.5 Đề xuất 4: Phân tích mật mã hỗn loạn có cấu trúc SPN với nhiềuvòng lặp mã vòng lặp mã
Hệ mật mã được đề xuất bởi W. Zhang và đồng nghiệp [61] đã nghiên cứu và tìm ra những đặc điểm nội tại của phân bố các bit trong các ảnh để tận dụng ưu điểm cho
việc mã. Cấu trúc của hệ mật mã là mô hình SPN. Tuy nhiên, các điểm yếu của hệ
mật mã này vẫn tồn tại cho dù khi nó làm việc với nhiều vòng lặp mã. Trong phần này
tr ình bày phương pháp phân tích mã được đề xuất đ ể khôi phục luật hoán vị dựa trên
có chế tấn công lựa chọn văn bản mã hóa. Phương pháp này đã thành công trong việc
khôi phục luật hoán vị trong trường hợp nhiều vòng lặp mã mà không cần biết về các
thông tin chi tiết về hệ mật mã. Các ví dụ cụ thể sẽ chứng minh sự thành công của
phương pháp thám mã đề xuất.
3.5.1 Giải thuật mật mã và giải mật nhiều vòng lặp mã
Trong [61], các đặc điểm nội tại về phân bố bit của một ảnh màu được lợi dụng để tăng hiệu quả mật mã bằng cách sắp xếp lại các lớp bit của từng ảnh biểu diễn cho
màu. Đó là, một ảnh mới có giá trị được biểu diễn bởi 6 bit với kích thước làN ×N
được tạo ra bằng cách ghép mặt phẳng bit của các lớp màu , và . Ba ảnh khác2 R G B
là từ 6 mặt phẳng bit có trọng số thấp hơn ở mỗi lớp màu. Sắp xếp lại bốn ảnhN N×
6-bit (xem Hình 6 of [61]). Ta thu được ma trận điểm ảnh 6 bit kích thước là2N × N2
dùng để mã mật hóa. Việc sắp xếp lại ảnh là bước đầu tiên của tiến trình mật mã và giải mật như được thấy trong Hình 3.12.
Thuật toán mật mã và giải mật đều gồm hai quá trình là hoán vị và khuếch tán như
Hình 3.12 với nhiều vòng lặp mã ( ). hoán vị có được thông qua thực hiện hoán vịR
các điểm ảnh. Vị trí hiện tại,(x, y), được sử dụng như là điều kiện đầu của các hàm,
và sau một số vòng lặp, đầu ra của các hàm hỗn loạn là vị tr í điểm ảnh mới(x′, y′).
Để tăng sự phức tạp trong phần hoán vị, ma trận các điểm ảnh được hoán vịrp vòng.
Trong [61], hàm hỗn loạn Cat đượ c dùn g để hoán vị điểm ản h và số vòng hoán vị là rp = 5. Các tham số điều khiển của hàm Cat là pi vàqi có giá trị nhận được từ đầu ra
hàm hỗn loạn Logistic như được trình bày trong Phần 3.3. Quá trình khuếch tán được
thực hiện trên ma trận đã được hoán vị.
Ma trận 2D sau khi hoán vị có kích thước2N × N2 được sắp xếp lại thành dãy 1D có 4N2phần tử trước khi thực hiện quá trình khuếch tán. Trong nghiên cứu của W.
Zhang và các cộng sự, biến đổi từ ma trận 2D thành mảng 1D được thực hiện bằng
Quá trình xáo trộn (rpvò g)n r=1; Tạ a ma ậ mởo r tr n rộng Ảnh n rbả õ ME(r) MPE(r) AE(r) ADE(r) MTE(r) Ảnh n bả mã
C yể đhu n ổi từ c ỗi 1D hu
th nhà ma ậ 2Dtr n Quá trình hu h tánk ếc (1 vò g)n C yhu ể đn ổi ma tr n ậ 2D th nh huà c ỗi 1D Co ma ậ MTtr n E(R)t oạ th nh nhà ả (a) (b) C P C P
Quá trình giải xáo trộn
(rpvò g)n
C yể đhu n ổi từ c ỗi 1D hu
th nhà ma ậ 2Dtr n Ảnh n rbả õ k ôi ph hục MPD(r) MTD(r) ADD(r) AD(r) MD(r) Ảnh ả mãbn C yhu ể đn ổi ma tr n ậ 2D th nh huà c ỗi 1D Quá trình giải k ếchu h tán (1 vò g)n Co ma ậ MPtr n D(R)t oạ th nh nhà ả r=1; Ge e an r on o f e pa ded max n trix r ≤ R sai đúng r ≤ R sai đúng r r= +1 r r= +1 ME(r)çMTE(r) MD(r)çMP D(r)
Hình 3.12: Mật mã và giải mật. (a) Các bước mật mã, (b) Các bước giải mật.
domino. Tại vòng lặp mã , từ mã thứ được tính bởi phương trìnhr i
temp1 = cipher d_ ( )r (i − 1)
temp2 = rand 1(temp 1)
cipher d_ ( )r ( ) =i ac( )r ( )i ⊕ rand 2(temp2) + rand 3( )i mod 64
(3.13) trong đó, các dãy rand1 và rand2 được sinh ra bởi hàm Logistic sử dụng các điều
kiện đầu là key d_ 2vàkey d_ 3. Hai dãyrand1 vàrand2 có 64phần tử và giá trị của
mỗi phần tử thuộc khoảng từ đến0 63. Chọn phần tử đầu tiên của mảng 1D làtemp1
(≡ cipher d(0)) có giá trị là temp1=[r key × _d1× (1 key d− _ 1)] 1000] × mod 64.
Trong đó,rand3có2N × N 2 phần tử được sinh ra từ hàm Logistic với điều kiện đầu
làkey d_ 4. Bước cuối cùng là sắp xếp lại dãy 1D 2N × N 2 phần tử thành m a trận 2D
và thu được ảnh bản mã hóa RGB sau khi co lại.
Như min h họa ở Hình 3.12, quá trình giải mã được thực hiện ngược lại với quá
tr ình mật mã. Số vòng hoán vị ngược trong quá trình giải mật bằng với số vòn g hoán
đến vòng lặp được thấy như sau:r
temp1= cipher d_ ( )r (i − , 1)
temp2= rand 1(temp1),
ac i( )( )r =
64 + cipher d_ ( )r ( )i − rand 3( )i ⊕ ran d2(temp2),
vớicipher d_ ( )r ( )i < rand 3( )i ,
cipher d_ ( )r ( )i − rand 3( )i ⊕ r and2(temp2),
vớicipher d_ ( )r ( )i ≥ rand 3( )i .
(3.14)
Trên thực tế, khóa mật của hệ mật mã này là một tập các giá trị: conf key_ 1,
conf key_ 2,key d_ 1,key d_ 2,key d_ 3vàk e y d_4, các giá trị thuộc khoảng [0 1], . Khóa
mật này được dùng để sinh ra khóa phiên cho mật mã và giải mật nhờ vào hàm Logistic.
Để tiện việc theo dõi quá trình tấn công như trong Hình 3.12, các ma trận và các
dãy số sau khi mã/giải mã vòng được biểu diễn như sau:r
Mật mã: P = { (f x, y f x, y); ( )∈[0,255] , x, y∀ ∈[1, N]} ME( )r ={f x, y f x, y( ); ( )∈[0 63 ] , , x, y∀ ∈[1 2 ], N } MPE( )r ={f x, y f x, y( ); ( )∈[0 63] , , x, y∀ ∈[1 2 ], N } AE( )r ={ac i ac i( ); ( ) ∈[0 63], , i ∈[1 4, N2]} ADE( )r ={cipher d_ ( );i cipher d_ ( )i ∈[0 63], , i ∈[1 4, N 2]} MTE( )r ={f x, y f x , y( ); ( )∈[0 63] , , x, y∀ ∈[1 2 ], N } Giải mật mã: C = { (f x, y f x, y); ( )∈[0,255], x, y∀ ∈[1, N] } MD( )r ={f x, y f x , y( ); ( )∈[0 63] , , x, y∀ ∈[1 2 ], N } AD( )r ={cipher d_ ( );i cipher d_ ( )i ∈[0 63], , i ∈[1 4, N 2]} ADD( )r ={ac i ac i( ); ( ) ∈[0 63], , i ∈[1 4, N2]} MTD( )r ={f x, y f x , y( ); ( )∈[0 63] , , x, y∀ ∈[1 2 ], N } MPD( )r ={f x, y f x, y( ); ( )∈[0 63 ] , , x, y∀ ∈[1 2 ], N } (3.15)
Cần chú ý, các ma trận này có liên quan đến lần lặp thứ , và do đó nó khác với hệr
phương trình (3.3) biểu diễn ở Phần 3.3.
3.5.2 Phân tích mã
Theo quy tắc Kerckhoff [146], toàn bộ chi tiết của hệ mật mã là công kh ai rõ ràng , 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 sự bí mật của khóa. Có bốn kiểu tấn công cổ điển chính được xếp theo độ khó
giảm dần như được đưa ra trong Phần 3 .2.
Chú ý rằng, xuyên suốt phần này, ký hiệu được đưa ra ở biểu thức (3.15) và ở
được biểu diễn dưới dạng ma trận 2D với kích thước2N × N2 . Nói cách khác, vị trí
của phần tử thứ trong mảng dữ liệu 1D sẽ tương ứng là vị tríi (x, y)trong ma trận
2D, với và tương ứng là thương và số dư của phép chiax y i
2N. Điều này khô ng làm
thay đổi tính chất của hệ mật mã, mà nó chỉ là cách biểu diễn dữ liệu để dễ theo dõi.
Các từ mã ở vòng giải mã , làr cipher d_ ( )r ( )i (i= 1 4.. N 2), được quét theo các hàng
của ma trận. Hơn nữa, ma trận có kích thước10 10× được chọn trong các ví dụ minh
họa. Với kích thước này, ảnh RGB5 5× được xem xét ngầm định. Tương tự như được
tr ình bày trong Phần 3.4, hàm Standard được dùng và giá trị của tất cả các tham số hệ thống như trong công trình [61].
3.5.2.1 Nhận diện điểm yếu trong hệ mật mã
Trước khi đi vào quá trình phân tích hệ mật mã, những điểm yếu đ ược chỉ ra thông qua
phân tích cấu trúc hệ mật mã, quá trình hoán vị và quá trình khuếch tán. Từ Hình 3.12,
hệ mật mã gồm có quá trình hoán vị và khuếch tán được thực hiện với vòng lặp mã.R
Đầu tiên, quá trình hoán vị thực hiện nhằm đổi chỗ các giá trị điểm ảnh. Chú ý, mỗi
vòng được thực hiện theo một luật đổi chỗ các điểm ảnh khác nhau. Luật hoán vị dựa trên hàm hỗn loạn và nó tương đương với một bảng tra cứu như đã được trình bày
trong phần trước. Trong ví dụ hệ mật mã đ ề xuất bởi W. Zhang và đồng nghiệp, thực
hiện 5 vòng hoán vị hayrp = 5. Bảng tra cứu được sinh ra bằng cách chỉ xem xét vị trí
ban đầu của điểm ảnh và vị trí đích của điểm ảnh, mà không xem xét vị trí của các lần lặp trung gian. Nếu bảng tra cứu được khôi phục một p hần hay toàn bộ, thì tấn công
vào quá trình hoán vị được xem là thành công. Ở đây sẽ nhắm đến việc khôi phục lại
toàn bộ bảng tra cứu ngược ở bộ giải mã dựa trên tấn công lựa chọn văn bản mã hóa.