Thời gian tấn công hoán vị

Một phần của tài liệu Digital library Ha Noi university of science and technology760 (Trang 109)

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

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.

Một phần của tài liệu Digital library Ha Noi university of science and technology760 (Trang 109)

Tải bản đầy đủ (PDF)

(154 trang)