Tải bản đầy đủ (.pptx) (15 trang)

kĩ thuật phá mã vigenere

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (465.58 KB, 15 trang )

Kỹ thuật phá mã

 Ước lượng độ độ dài khóa



Phương pháp Kasiski
Phương pháp sử dụng chỉ số trùng hợp

 Phục hồi khóa



Phương pháp
Phương pháp phân tích thống kê

1


Friedrich W. Kasiski

(29 November 1805 – 22 May 1881)
2


Ý tưởng của phương pháp

 Tìm các đoạn mã lặp lại trong bản mã và khoảng cách giữa chúng

3



Quan sát

 Nếu một xâu lặp lại trong bản rõ được mã hóa cùng một xâu con trong khóa thì trong bản mã sẽ chứa lặp lại
các xâu con lặp lại tương ứng với các xâu con trong bản rõ và khoảng cách giữa chúng là bội của khóa.

 Bản mã dài sẽ xuất hiện nhiều hơn những xâu con lặp lại
 Ngược lại một bản mã ngắn và một khóa dài sẽ khó xuất hiện những xâu trùng lặp.

4


William F. Friedman
William F. Friedman là người đầu tiên đề cập và sử dụng chỉ sôs trùng
hợp (IC) vào năm 1992

(September 24, 1891 – November 12, 1969)

5


Tính IC

 Độ dài văn bản N (có N ký tự) và kích thước bảng chữ cái là n, ai là ký tự thứ

i trong bảng chữ cái. Số lần ai

xuất hiên trong văn bản là Fi lần.

 Xác xuất để hai lần chọn ngẫu nhiên đều được ai là:


6


Tính IC

và xác xuất để hai lần chọn ngẫu nhiên được cùng ký tự là:

Vậy chỉ số trùng hợp là:

7


Xét bảng chữ cái tiếng anh

8


ICEnglish

 Chỉ số trùng hợp của các văn bản bằng tiếng anh là:

9


ICEnglish

 Nếu N đủ lớn thì (piN – 1)/(N – 1) sẽ xấp xỉ bằng pi:

 Từ tần suất xuất hiện của các ký tự trong tiếng anh ta tính được ICEnglish


0.0686

10


ICRandom


 Trong trường hợp văn bản là những xâu được sinh ngẫu nhiên thì tần suất xuất hiện của một ký tứ trong văn
bản là pi = 1/n, n là kích thước bảng chữ cái.

 Từ đó tính được ICRandom

1/n. Nếu sinh ngẫu nhiên từ bảng chữ cái tiếng anh thì ICRandom = 1/26

0.038466.

11


Sử dụng IC để ước lượng độ dài khóa

 Đoán độ dài khóa là l và chia bản mã C = C1C2…CN thành l đoạn:


S1 bắt đầu từ C1 và có cấu trúc: S1 = C1C1+lC1+2l…




S2 bắt đầu từ C2 và có cấu trúc: S1 = C2C2+lC2+2l…



Tổng quát, Si bắt đầu bằng Ci và có cấu trúc: Si = CiCi+lCi+2l…



và, Sl bắt đầu bằng Cl và có cấu trúc: Sl = ClC2lC3l…

 Nhận xét: Với l là độ dài của khóa thì mỗi khối Si sẽ được thế bằng một bảng thế (hay mã hóa bằng một ký tự
trong khóa)
12


Ví dụ

 Bản mã:
RSTCS JLSLR SLFEL GWLFI ISIKR MGL

 Với độ dài khóa là 3 thì ta chia đoạn mã trên thành 3 khối:
RCLRFGFSRL
SSSSEWIIM
TJLLLLIKG

13


Xác đinh độ dài khóa dựa trên IC


 Quan sát: Nếu bản rõ được viết bằng tiếng anh thì IC tính được sẽ xấp xỉ ICEnglish
 Ta đoán lần lươt l = 1, 2, 3,… tương ứng với việc chia bản mã thành 1 khối, 2 khối, 3 khối,…
 Tính IC của mỗi khối tương ứng với mỗi l, đồng thời tính trung bình IC của các khối ICAverage.
 Nếu cách chia nào cho ICAverage gần với ICEnglish thì l tương ứng chính là độ dài khóa

14


Xét lại ví dụ trước

15



Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×