Ƣớc lƣợng thời gian, độ phức tạp của tính toán

Một phần của tài liệu Nghiên cứu phương pháp tấn công chuẩn mật mã khối (DES) nhờ hệ thống tính toán hiệu năng cao (Trang 58)

Thời gian chạy của thuật toán cho đến khi đạt sự hội tụ phải trải qua nhiều giai đoạn, nhƣng tiêu tốn nhất là các tiến trình tạo lập tập khóa khởi tạo P, duyệt, giải mã với

53

các khóa và tính các hàm “phù hợp” của các khóa trong các vòng lặp (các thế hệ). Vì vậy, việc ƣớc lƣợng thời gian, độ phức tạp tính toán để thuật toán hội tụ tập trung vào ba loại tiến trình này. Thời gian tính toán đƣợc ƣớc lƣợng (thực hiện trên một máy tính có một bộ vi xử lý CPU Pentium IV với tốc độ trung bình) căn cứ vào:

- Thời gian giải mã của DES là 35 Kb/s. [15]

- Thời gian tính toán hàm phù hợp ƣớc lƣợng khoảng 100 Kb/s.

a) Thời gian tạo lập tập khóa khởi tạo P

Số lƣợng các xâu ký tự có độ dài 8 ký tự (8 byte) gồm các chữ cái tiếng Anh là 268 do bảng chữ cái tiếng Anh có 26 chữ cái. Đồng thời, do sự tƣơng ứng 1 - 1 giữa bản giải mã X với khoá k nên có 268 khoá k thuộc không gian khóa K2, tƣơng đƣơng khoảng 209 tỷ khóa k. Đồng thời, toàn bộ không gian khóa K của DES là 256 khóa (khoảng 72 triệu tỷ khóa), nên theo tỷ lệ và xác suất, để tìm đƣợc 100 khóa thuộc không gian khóa K2 trong toàn bộ không gian khóa K thì cần phải thử khoảng:

100 x (72 triệu tỷ khóa / 209 tỷ khóa) ≈ 34.500.000 khóa.

Với tốc độ giải mã là 35 Kb/s, thì mỗi giây DES duyệt đƣợc 4.375 khóa để giải mã 8 byte bản mã. Có nghĩa, để duyệt 1 khóa, cần tiêu tốn 1/4.375 giây, hay Td = 0,000229. Do vậy, thời gian tạo lập tập P gồm 100 khóa là:

Tp = 34.500.000 x 0,000229 = 7900 giây (khoảng 132 phút).

b) Thời gian tính toán qua các thế hệ

Để đạt sự hội tụ, thuật toán di truyền có thể phải trải qua hàng trăm, hàng nghìn thế hệ (số vòng lặp). Số thế hệ trải qua khi đạt hội tụ của các bài toán áp dụng thuật toán di truyền thƣờng đƣợc ƣớc lƣợng thông qua thống kê, thực nghiệm. Riêng đối với bài toán thám mã DES áp dụng thuật toán di truyền có không gian biến (các khóa) rất lớn, đồng thời hầu nhƣ chƣa có số liệu thống kê, thực nghiệm nên chƣa có cơ sở để ƣớc lƣợng đƣợc số thế hệ cần trải qua khi đạt hội tụ.

Giả định rằng, thuật toán di truyền thám mã đạt đƣợc sự hội tụ qua 2.000.000 thế hệ. Khi đó, số lƣợng khóa k phải duyệt là 2.000.000 x 100 = 200.000.000 khóa(trong số 256 hay khoảng 72 triệu tỷ khóa của toàn bộ không gian khóa của DES), và chỉ bằng khoảng một phần ba trăm sáu mƣơi triệu (1 / 360.000.000) so với vét cạn toàn bộ không gian khóa.

Thời gian duyệt một khóa trong mỗi vòng lặp gồm:

- Thời gian giải mã bản mã cho trƣớc với khóa đƣợc duyệt

- Thời gian tính giá trị hàm phù hợp của bản giải mã tƣơng ứng với khóa đƣợc duyệt.

54

Với tốc độ 35 Kb/s để giải mã bản mã cho trƣớc, thì để giải mã với một khóa bất kỳ thì cần một khoảng thời gian là 0,000229 giây (hay Td = 0,000229 giây).

Với tốc độ 100 Kb/s (100.000 byte /s), thì để tính mức phù hợp cho một khóa (bản giải mã 8 byte tƣơng ứng với khóa đó) cần một khoảng thời gian khoảng 0,00008 giây (hay Tf = 0,00008 giây).

Ở mỗi vòng lặp, việc giải mã và tính giá trị phù hợp thực hiện đối với 100 khóa, nên giá trị Npop đƣợc xác định là 100, vậy

Tp = 100 x (0,000229 + 0,00008) = 0,0309 (giây).

Tổng thời gian tính toán qua 2.000.000 vòng lặp là 2.000.000 x 0,0309 = 61800 giây (khoảng 1030 phút)

c) Tổng thời gian tính toán

Tổng thời gian thám mã = thời gian tạo lập tập khóa P gồm 100 khóa = tổng thời gian của các vòng lặp = 132 phút + 1030 phút = 1162 phút (khoảng 19,4 giờ).

Tổng thời gian thám mã nói trên chỉ đƣợc ƣớc lƣợng một cách tƣơng đối, và có thể có sự sai lệnh đáng kể so với thực tế. Nhƣng quá trình phân tích độ phức tạp tính toán nói trên đã làm nổi bật đƣợc vai trò của việc ứng dụng thuật toán di truyền. Nhờ vào sự tiến hóa và hội tụ qua từng thế hệ mà số lƣợng khóa cần duyệt giảm đi đáng kể so với toàn bộ không gian khóa. Ở đây, số lƣợng khóa cần duyệt đƣợc ƣớc lƣợng giảm đi khoảng 360.000.000 lần so với thám mã vét cạn toàn bộ không gian khóa.

3.4.4. Vai trò của hệ thống tính toán hiệu năng cao

Nhƣ vậy, trong trƣờng hợp thuật toán di truyền thám mã hội tụ khi trải qua 2.000.000 thế hệ, số lƣợng khóa cần phải duyệt là 200.000.000 thì tổng thời gian tính toán trên một máy tính (Pentium IV có một bộ vi xử lý với tốc độ trung bình) là 19,4 giờ. Tổng thời gian tìm kiếm nhƣ vậy là rất lâu đối với thực hiện một bài toán thám mã đã cố định, đơn giản hóa các yếu tố đầu vào. Còn nếu trong trƣờng hợp xấu hơn, hoặc nếu bài toán đƣợc mở rộng, áp dụng đối với các hệ mật mã an toàn hơn nhƣ AES, IDEA, Triple DES, thì để đạt đƣợc sự hội tụ thuật toán phải trải qua nhiều vòng lặp hơn nhƣ giả định, đồng nghĩa với thời gian tính toán sẽ lâu hơn rất nhiều và khó ƣớc lƣợng. Bởi vậy, việc ứng dụng một hệ thống tính toán hiệu năng cao để tăng tốc độ, giảm thời gian thám mã là không thể thiếu đƣợc.

Theo tài liệu Thuật toán di truyền thực hành của Randy L. Haupt và Sue Ellen Haupt (2004) [12] thì tổng thời gian chạy của một thế hệ (một vòng lặp) thuật toán di truyền trên hệ thống tính toán song song đƣợc tính nhƣ sau:

𝑇𝑝 = 𝑁𝑝𝑜𝑝𝑇𝑓

𝑃 + 𝜌 𝑃 − 1 𝑇𝑐 (3.14) [12, pp.141]

55 (adsbygoogle = window.adsbygoogle || []).push({});

Tf: thời gian định giá hàm “phù hợp”

Tc: thời gian trung bình truyền dữ liệu từ một bộ vi xử lý tới một bộ vi xử lý khác

P:số lƣợng bộ vi xử lý

𝜌: tham biến phụ thuộc vào phƣơng pháp lập trình, đặc điểm hệ thống tính toán song song

Npop: là dân số của mộtthế hệ.

Với đặc trƣng bài toán thám mã, thì thời gian giải mã các bản mã chiếm một phần đáng kể trong mỗi thế hệ của thuật toán di truyền. Vì vậy, biểu thức 3.14 có thể đƣợc bổ sung nhƣ sau

Thời gian để giải mã và tính hàm phù hợp trong một thế hệ:

𝑇𝑝 = 𝑁𝑝𝑜𝑝(𝑇𝑓 + 𝑇𝑑)

𝑃 + 𝜌 𝑃 − 1 𝑇𝑐 (3.15)

Ngoài các tham số của biểu thức 3.15 đã đƣợc định nghĩa, thì Td là thời gian giải bản mã (8 byte) với một khóa thử k bất kỳ.

Tổng thời gian chạy của hệ thống gồm hai thành phần chính là thời gian tính toán trên các bộ vi xử lý và thời gian truyền thông giữa chúng. Mức độ tăng tốc của hệ thống đƣợc tính bởi T1/Tp , trong đó, T1là thời gian tính toán nếu chỉ sử dụng một bộ vi xử lý:

T1 = Npop . (Tf + Td)

56

Mức độ tăng tốc phụ thuộc vào tỷ lệ giữa thời gian tính toán và thời gian truyền thông giữa các bộ vi xử lý (Tf /Tc), số lƣợng bộ vi xử lý, kích thƣớc dân số, tham số 𝜌

(phụ thuộc phƣơng pháp lập trình và đặc điểm hệ thống phần cứng). Hình 3.9 là biểu đồ về sự tăng tốc độ nhƣ là một hàm số của số bộ vi xử lý sử dụng ba mức tỷ lệ Tf /Tc (1, 10 và 100) với kích thƣớc dân số là Npop = 100. Mức độ tăng tốc hoàn hảo sẽ theo đƣờng thẳng, hay T1/TP = P. Tỷ lệ Tf /Tc càng lớn thì tiến trình càng gần đạt tới tốc độ hoàn hảo. Quan sát Hình 3.9 có thể thấy, với tỷ lệ Tf /Tc = 100, và khi số lƣợng bộ vi xử lý là 80, việc tăng thêm bộ vi xử lý là không hiệu quả, vì mức độ tăng tốc cũng chỉ đạt ở mức xấp xỉ 50 lần. (Đối với tỷ lệ Tf /Tc áp dụng đối với thuật toán thám mã là (Tf + Td)/Tc,

trong đó Td là thời gian giải bản mã với mỗi khóa thử k bất kỳ).

Hình 3.10. Mô hình của một GA song song master - slave. Master xử lý thông tin về dân số, điều hành các phép toán GA, phân phối khóa tới các slaver. Các slaver thực hiện giải mã bản mã với các khóa và định giá các hàm phù hợp của các khóa [9]

Một mô hình tính toán song song hiệu quả đối thuật toán di truyền đó là “GA master - slaver” (Hình 3.10). Một bộ xử lý trung tâm (master) thực hiện điều khiển truyền thông, sắp xếp và ghép cặp. Nó truyền nhiệm vụ giải mã bản mã, định giá hàm phù hợp tới các bộ xử lý phụ (slave) để thực hiện đồng thời. Theo Thuật toán di truyền thực hành

[12] cho thấy 100 là số lƣợng bộ vi xử lý tối ƣu đối với (Tf + Td)/Tc = 100, và dân số Npop = 100. Điều này đƣợc thể hiện qua Hình 3.11 trình diễn số lƣợng bộ vi xử lý tối ƣu đối với Npop = 16, Npop = 100, Npop = 1000.

57

Hình 3.11. Số lƣợng bộ vi xử lý tối ƣu khi áp dụng mô hình GA master - slave theo tỷ lệ Tf/TcNpop [12, pp.143]

Qua việc nghiên cứu lý thuyết về ứng dụng hệ thống tính toán song song và mức độ tăng tốc của tiến trình ứng dụng thuật toán di truyền với nhiều góc độ thì tác giả đề xuất ứng dụng hệ thống máy tính cụm cluster đƣợc xây dựng theo mô hình GA master - slave. Hệ thống này có 1 máy chủ (master) và 100 máy thành viên (slave). Tất nhiên các máy chủ và các máy thành viên đều là những máy tính có tốc độ cao nhất có thể trong thời điểm hiện tại. Ứng dụng mô hình GA master - slave có 100 máy slave cùng với dân số (số khóa duyệt trong mỗi thế hệ) của thuật toán di truyền là 100 sẽ giúp tiến trình thám mã tăng tốc độ gần 100 lần so với một máy tính đơn.

Thời gian thám mã khi ứng dụng mô hình GA master - slave có 100 máy slave nói trên là:

58

KẾT LUẬN 1. Kết quả nghiên cứu

Đề tài đã xây dựng đƣợc “tiêu chuẩn bản rõ” tiếng Anh và ứng dụng thuật toán di truyền cùng với “tiêu chuẩn bản rõ” để xây dựng thuật toán “vét cạn có định hƣớng” trên không gian khoá đã giới hạn. Nhờ thuật toán này, với một bản mã cho trƣớc (có bản rõ tƣơng ứng là tiếng Anh) đƣợc mã hóa bởi Chuẩn mã hóa dữ liệu DES để dò tìm khoá mật. Đề tài đã đạt đƣợc những kết quả nghiên cứu chính sau:

- Xây dựng thuật toán nhận dạng “bản rõ” và “tiêu chuẩn bản rõ” đối với tiếng Anh là cơ sở để xác định hàm “phù hợp” áp dụng cho thuật toán di truyền.

- Xây dựng quy trình thám mã dựa trên thuật toán di truyền gồm các bƣớc tạo lập họ khoá khởi tạo, giải mã với các khoá, chọn lọc, ghép cặp, đột biến, kiểm tra hội tụ. Với đặc trƣng của thuật toán di truyền, các bƣớc tính các giá trị mức phù hợp, loại bỏ các khóa có giá trị mức phù hợp thấp kiểm tra hội tụ đƣợc thực hiện trong đó hàm “phù hợp” đóng vai trò cốt lõi.

- Đề xuất mô hình tính toán song song cho thuật toán di truyền thám mã - Mô hình “GA master - slave” để rút ngắn thời gian thám mã khoảng 100 lần.

2. Hƣớng phát triển của đề tài (adsbygoogle = window.adsbygoogle || []).push({});

Đây là đề tài đầu tiên áp dụng thuật toán di truyền để thám mã DES nói riêng và thám mã mã khối nói chung. Do vậy, kết quả nghiên cứu của đề tài mở ra các hƣớng phát triển tiếp theo gồm:

- Mục tiêu của đề tài là thám mã DES với thông điệp mã hoá đƣợc giả định là tiếng Anh nhƣng nó có thể mở rộng nghiên cứu thám mã với bản mã cho trƣớc đƣợc mã hoá từ thông điệp là tiếng Pháp, tiếng Việt, tiếng Nga,... hoặc khi không đƣợc biết trƣớc ngôn ngữ của thông điệp mã hoá, thì áp dụng phƣơng pháp phân tích đặc trƣng chung của các ngôn ngữ phổ dụng.

- Độ phức tạp của phƣơng pháp này chủ yếu phụ thuộc vào độ dài của khóa (số lƣợng bit khóa), hoàn toàn không phụ thuộc vào thuật toán mã hóa bên trong khối mã nên nó có thể mở rộng thám mã đối với các hệ mật mã khối có độ an toàn cao hơn, độ dài khoá lớn hơn DES, nhƣ IDEA, AES, FEAL, RC4, RC5, 3DES..., miễn là chúng ta đƣợc cho trƣớc bản mã, thuật toán mã hóa, giải mã. Việc mở rộng thám mã đòi hỏi sự phát triển thuật toán đồng thời với tăng cƣờng hệ thống tính toán hiệu năng cao, tăng số lƣợng máy thành viên so với hệ thống tính toán song song đã đề xuất.

59

TÀI LIỆU THAM KHẢO

Tiếng Việt

1. Hoàng Minh Tuấn (2008), Thám mã khối trên máy tính song song dùng hệ điều hành Linux, Luận án Tiến sĩ, Học viện Kỹ thuật Quân sự, Bộ Quốc phòng, tr.34- 71.

2. Hồ Văn Canh, Hoàng Minh Tuấn (2010), “Thám mã các văn bản đƣợc mã hóa bằng các chuẩn mã hóa khối”.

3. Trần Bá Ánh (2007), Nhận dạng các ngôn ngữ tự nhiên và ứng dụng, Luận văn cao học, Đại học Công nghệ, ĐHQG Hà Nội.

4. Trịnh Nhật Tiến (2008), Giáo trình An toàn dữ liệu, Đại học Quốc gia, Hà Nội, tr.59-70.

Tiếng Anh

5. Alan Silvester (2004), “Differential Cryptanalysis and the Data Encryption Standard”.

6. Billingsley, Patrick (1961), “Statistical Methods in Markov Chains”. Annals of mathematical statistics, 23:1.

7. C.R. Rao’s (1968), Linear statistical methods and their applications, Moscow, pp.45-60.

8. Curtin, Matt (2005): Brute-Force: Cracking the DES, Springer - Verlag.

9. Erick Cantú-Paz (2001), “A Survey of Parallel Genetic Algorithms”, Department of Computer Science and Illinois Genetic Algorithms Laboratory, University of Illinois at Urbana-Champaign, United States.

10. Juan M. E. Tapiador, Julio C. Hernandez-Castro, John A. Clark (2007), “Heuristic Search for Non-Linear Cryptanalytic Approximations”, IEEE Congress on Evolutionary Computation (CEC 2007).

11. Mitsuru Matsui (1998), “Linear Cryptanalysis Method for DES Cipher”, Springer- Verlag.

12. Randy L. Haupt, Sue Ellen Haupt (2004), Practical Genetic Algorithms (second edition), John Wiley & Sons, Canada.

13. Ravi Ganesan, Alan T.Sherman (1993), Statistical Techniques for Language Recognition: An Introduction and Guide for Cryptanalysts, IEEE - Transactions on Information Theory, IT-28(4).

14. Susan K. Langford, Martin E. Hellman (1994) “Differential-Linear Cryptanalysis”,

Springer-Verlag.

Websites

60

PHỤ LỤC 1

BẢNG TRỌNG SỐ TẦN SUẤT ĐÔI CHỮ CÁI TIẾNG ANH (Ma trận vuông S cấp 26 x 26, với các phần tử s(x, y), x = 𝑎, 𝑧 , y = 𝑎, 𝑧 )

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z A 4 0 0 -2 5 2 0 4 -1 4 3 -2 0 -4 5 1 11 -3 -3 -4 3 0 2 7 2 7 B -2 11 11 11 -6 11 11 11 -1 2 11 -3 11 11 -2 11 11 -2 0 2 -2 11 11 11 -2 11 C -3 11 0 5 -5 11 11 -3 -1 11 0 0 5 11 -4 2 11 0 11 -3 -1 11 11 11 2 11 D -3 -1 1 2 -4 -1 3 1 -3 11 5 2 0 2 -1 2 11 -1 -1 -3 -1 2 0 11 3 11 E -2 1 -1 -3 -1 0 2 2 -1 8 5 -1 -1 -3 0 4 4 -4 -3 -1 3 1 0 3 4 11 F -2 2 1 5 -2 -2 5 2 -3 3 11 -1 5 11 -6 11 11 -3 0 -4 1 2 2 11 3 11 G -3 1 2 3 -4 4 2 -1 -2 11 11 0 4 1 -3 4 4 -3 -1 -3 -1 11 0 11 4 11 H -4 6 4 11 -7 3 6 2 -3 11 11 11 4 5 -2 6 11 4 1 0 2 11 3 11 4 11 I -1 3 -2 0 0 2 2 4 11 11 5 -1 0 -5 -2 5 7 -2 -3 -4 7 5 11 4 11 4 J -2 11 11 11 -2 11 11 11 1 11 11 11 11 11 -7 11 11 11 11 11 -2 11 11 11 11 11 K -1 11 11 11 -5 11 11 11 -5 11 11 11 11 -1 -1 11 11 11 -3 -1 1 11 -1 11 1 11 L -3 4 2 0 -4 1 2 4 -3 5 5 -3 4 4 -2 5 5 4 -1 -2 0 11 5 11 -3 11 M -4 -1 4 11 -5 11 11 2 11 11 11 11 0 4 -2 0 4 3 -1 2 0 11 4 11 3 11 N -1 2 -2 -4 -2 0 -3 1 -1 7 3 3 2 3 -2 3 7 3 -2 -4 3 7 1 11 1 11 O 2 1 1 0 3 -4 4 3 1 11 11 0 7 -5 1 3 11 -4 0 -2 -2 1 -1 11 4 7

Một phần của tài liệu Nghiên cứu phương pháp tấn công chuẩn mật mã khối (DES) nhờ hệ thống tính toán hiệu năng cao (Trang 58)