Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 28 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
28
Dung lượng
920,45 KB
Nội dung
ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN QUỐC THẮNG 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 TỐN HIỆU NĂNG CAO LUẬN VĂN THẠC SĨ CƠNG NGHỆ THÔNG TIN Hà Nội - 2012 a ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ NGUYỄN QUỐC THẮNG 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 TỐN HIỆU NĂNG CAO Ngành: Công nghệ thông tin Chuyên ngành: Hệ thống thông tin Mã số: 604805 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: Tiến sĩ Hồ Văn Canh Hà Nội - 2012 b MỤC LỤC Trang phụ bìa Lời cam đoan i Lời cảm ơn .ii Mục lục iii Danh mục từ viết tắt tiếng Anh vi Danh mục bảng .vii Danh mục hình vẽ, đồ thị viii MỞ ĐẦU Chƣơng I GIỚI THIỆU VỀ CHUẨN MÃ HÓA DỮ LIỆU DES (DATA ENCRYPTION STANDARD) 1.1 Giới thiệu Thuật toán mã hoá DES 1.2 Quy trình mã hóa theo DES 1.3 Lập mã giải mã DES 1.3.1 Quy trình lập mã DES 1.3.2 Thực mã hóa DES theo sơ đồ 1.3.3 Tính khóa k1, k2, , k16 từ khóa gốc K 1.3.4 Tính hàm f(Ri-1, ki) 1.3.5 Quy trình giải mã DES 12 1.3.6 Độ an tồn Chuẩn mã hóa liệu DES 12 1.4 Các chế độ mã hóa DES 13 1.4.1 Chế độ mã (EBC) 13 1.4.2 Chế độ liên kết khối mã (CBC) 14 Chƣơng II CÁC PHƢƠNG PHÁP THÁM MÃ CHUẨN MÃ HÓA DỮ LIỆU DES, CÁC HỆ THỐNG CHUYÊN DỤNG PHỤC VỤ THÁM MÃ DES 15 2.1 Một số khái niệm 15 2.2 Các phương pháp thám mã 16 2.2.1 Thám mã đƣờng tắt 16 2.2.1.1 Thám mã vi sai 16 iii 2.2.1.2 Thám mã tuyến tính 19 2.2.1.3 Thám mã phi tuyến 19 2.2.1.4 Thám mã vi sai tuyến tính 20 2.2.1.5 Một số phƣơng pháp thám mã đƣờng tắt khác 20 2.2.2 Thám mã hộp đen (vét cạn để tìm khóa) 20 2.3 Các hệ thống chuyên dụng phục vụ thám mã 21 2.3.1 Các phần cứng chuyên dụng 21 2.3.2 Các hệ thống tính tốn hiệu cao 22 Chƣơng III NGHIÊN CỨU, ĐỀ XUẤT PHƢƠNG PHÁP THÁM MÃ DES 24 3.1 Mơ tả tốn thám mã DES 24 3.1.1 Các giả thiết toán 24 3.1.2 Chi tiết hóa tốn yếu tố đầu vào 24 3.2 Xây dựng thuật toán nhận dạng rõ tiếng Anh 25 3.2.1 Vai trò nhận dạng rõ tự động thám mã “vét cạn” 26 3.2.2 Một số phƣơng pháp nhận dạng rõ tự động 26 3.2.2.1 Nhận dạng dựa vào từ điển 26 3.2.2.2 Nhận dạng dựa tập hợp từ, cụm từ giả định 27 3.2.2.3 Nhận dạng dựa vào phƣơng pháp thống kê đặc trƣng ngơn ngữ 27 3.2.3 Xây dựng thuật tốn nhận dạng rõ dựa vào phƣơng pháp thống kê đặc trƣng ngôn ngữ 28 3.2.3.1 Một số khái niệm sở “bản rõ” 28 3.2.3.2 Thuật toán nhận dạng rõ 29 3.3 Tìm hiểu thuật tốn di truyền (GAs) 36 3.3.1 Giới thiệu 36 3.3.2 Thuật toán di truyền nhị phân 36 3.3.2.1 Thuật toán di truyền nhị phân - chọn lọc tự nhiên máy tính 36 3.3.2.2 Các thành phần thuật tốn di truyền nhị phân 37 3.4 Đề xuất phương pháp thám mã DES 46 3.4.1 Xây dựng thuật tốn di truyền dị tìm khóa 46 3.4.1.1 Xác định hàm phù hợp (hàm chi phí) 47 iv 3.4.1.2 Tạo lập họ khóa khởi tạo 48 3.4.1.3 Giải mã mã cho trƣớc với khóa họ 49 3.4.1.4 Tính mức độ phù hợp khóa 50 3.4.1.5 Chọn lọc 50 3.4.1.6 Ghép cặp 50 3.4.1.7 Kết hợp 51 3.4.1.8 Đột biến 51 3.4.1.9 Thế hệ 52 3.4.1.10 Kiểm tra hội tụ 53 3.4.2 Vai trò hệ thống tính tốn song song 53 3.4.3 Ƣớc lƣợng thời gian, độ phức tạp tính tốn 56 KẾT LUẬN 58 TÀI LIỆU THAM KHẢO 59 PHỤ LỤC Bảng trọng số tần suất đôi chữ tiếng Anh 60 PHỤ LỤC Mã nguồn chƣơng trình thám mã DES áp dụng thuật tốn di truyền chạy máy tính đơn 61 v MỞ ĐẦU DES (viết tắt Data Encryption Standard, hay Chuẩn mã hóa liệu) phƣơng pháp mật mã hóa Cơng ty IBM thiết kế đƣợc FIPS (Tiêu chuẩn xử lý thông tin Liên bang Hoa Kỳ) chọn làm chuẩn thức vào năm 1976 Sau đó, Chuẩn đƣợc sử dụng rộng rãi phạm vi giới Ngay từ đầu, thuật tốn gây nhiều tranh luận liên quan đến thành phần thiết kế mật, độ dài khóa tƣơng đối ngắn Do đó, DES đƣợc giới nghiên cứu xem xét kỹ lƣỡng, việc thúc đẩy hiểu biết đại mật mã khối (block cipher) phƣơng pháp thám mã tƣơng ứng Có thể nói, xuất DES tạo nên sóng, nguồn cảm hứng nghiên cứu giới khoa học lĩnh vực mật mã học, đặc biệt phƣơng pháp thám mã mã khối Với DES, giới khoa học có thuật toán mật mã để nghiên cứu Mặc dù, thời gian qua có nhiều kết nghiên cứu DES đƣợc cơng bố, DES bị phá khố hệ thống chun dụng vịng chƣa đầy 24 giờ, nhƣng việc nghiên cứu thám mã DES có ý nghĩa hƣớng tới thám mã hệ mật mã khối có độ dài khóa mật lớn hơn, dần thay DES Phân tích mật mã hay thám mã cịn đƣa khuyến cáo, phản hồi cho chuyên gia thiết kế lại hệ mật mã để chống lại dạng cơng Đồng thời, có ý nghĩa hỗ trợ cơng tác tình báo, phản gián v.v Với lý trên, tác giả chọn đề tài: “Nghiên cứu phƣơng pháp thám mã Chuẩn mật mã DES nhờ hệ thống tính tốn hiệu cao” Trong phạm vi nghiên cứu đề tài này, toán đặt với mã đƣợc mã hoá từ thơng điệp tiếng Anh Thuật tốn mã hố DES, với giả thiết ngƣời thám mã truy cập đến chức mã hóa/giải mã DES Từ giả thiết này, yêu cầu ứng dụng hệ thống tính toán hiệu cao, thuật toán di truyền (Genetic Algorithm) để xây dựng thuật toán dạng thám mã “hộp đen” để tìm khố mật sử dụng để mã hố thơng điệp thời gian ngắn (dự kiến khoảng đến 15 phút) Tác giả nghiên cứu, trình bày Luận văn thành ba chƣơng Nội dung chính, kết nghiên cứu chƣơng nhƣ sau: Chƣơng I: Giới thiệu chuẩn mã hoá liệu - DES (Data Encryption Standard) Chƣơng II: Các phƣơng pháp thám mã Chuẩn mã hoá liệu DES, hệ thống chuyên dụng phục vụ thám mã DES Chƣơng III: Nghiên cứu, đề xuất phƣơng pháp thám mã DES Do mức độ phức tạp công việc thám mã lớn nên toán đặt với giả thiết ngƣời thám mã biết đƣợc thông tin mã đƣợc mã hóa DES (chế độ ECB) từ rõ tƣơng ứng thông điệp tiếng Anh Từ giả thiết này, xây dựng thuật toán di truyền để xác định khóa mật k sử dụng để mã hóa nhƣ tìm rõ tƣơng ứng Để giải yêu cầu đặt tốn nói trên, tốn đƣợc chia thành toán để gải vấn đề: - Xây dựng thuật toán nhận dạng rõ “tiêu chuẩn rõ” tiếng Anh sở xác định hàm “phù hợp”, thành phần quan trọng thuật toán di truyền - Tìm hiểu thuật tốn di truyền, xây dựng thuật tốn di truyền để thực tìm kiếm khố mật với phƣơng pháp “vét cạn có định hƣớng” khơng gian khố (K2) xác định khoảng 209 tỷ khóa Độ phức tạp phƣơng pháp chủ yếu phụ thuộc phán đốn, nhận dạng ngơn ngữ rõ tƣơng ứng với mã phụ thuộc độ dài khóa (số lƣợng bit khóa), mà khơng phụ thuộc vào thuật tốn mã hóa khối mã DES Vì vậy, để đạt đƣợc kết quả, mục tiêu nghiên cứu, đòi hỏi kết hợp nhiều lĩnh vực liên quan Đề tài kết hợp, vận dụng thuật toán nhận dạng rõ thuật toán di truyền Khi ứng dụng thuật tốn di truyền “Tiêu chuẩn rõ” đƣợc xem nhƣ hàm “phù hợp” - đặc thù thuật toán di truyền thám mã Mục tiêu nghiên cứu đề tài xây dựng thuật tốn cơng thám mã Tuy nhiên để để tăng tốc độ tính tốn, rút ngắn thời gian thám mã, tác giả xuất ứng dụng mô hình hệ thống tính tốn song song - mơ hình GA master - slave Chƣơng I GIỚI THIỆU VỀ CHUẨN MÃ HÓA DỮ LIỆU - DES (DATA ENCRYPTION STANDARD) [4] DES đƣợc phân biệt hai khái niệm Chuẩn mã hoá liệu (DES - Data Encryption Standard) Thuật toán mã hoá liệu (DEA - Data Encryption Algorithm) Thuật toán mã hoá thành phần Chuẩn mã hố Việc nghiên cứu, phân tích DES nghiên cứu, phân tích thuật tốn Trong lĩnh vực mật mã học, có hai loại hệ mật mã thƣờng đƣợc đề cập đến, mật mã khố cơng khai (khố bất đối xứng) mật mã khố bí mật (khố đối xứng) Riêng hệ mật mã đối xứng lại chia làm hai loại mã hoá, giải mã theo khối mã hố, giải mã theo dịng DES (Data Encryption Standard) hay Chuẩn mã hóa liệu thuộc hệ mật mã khoá đối xứng thực mã hoá, giải mã theo khối Độ dài khối thông tin mã hố, giải mã 64 bit 1.1 Quy trình mã hố theo DES Quy trình mã hố mật mã khối nói chung mã hố theo DES nói riêng đƣợc thực qua năm giai đoạn sau: Giai đoạn 1: Bản rõ chữ Bản Rõ số Giai đoạn 2: Bản rõ số Các đoạn 64 bit Rõ số Giai đoạn 3: 64 bit Rõ số 64 bit Mã số Giai đoạn 4: Các đoạn 64 bit Mã số Bản Mã số Giai đoạn 5: Bản Mã số Bản Mã chữ (Dạng nhị phân) (Dạng nhị phân) 1.2 Lập mã gải mã DES Thuật toán DES tập trung thực Giai đoạn quy trình mã hóa Đó chuyển đổi Rõ số với 64 bit thành Mã số với 64 bit Còn quy trình giải mã ngƣợc lại, đổi Mã số với 64 bit thành Rõ số với 64 bit Quy trình mã hố, giải mã khối gồm hai thuật toán mã hoá (ký hiệu E) giải mã (ký hiệu D) Cả hai thuật toán tác động lên khối đầu vào 64 bit sử dụng khoá 56 bit khối 64 bit Đối với khoá k nào, giải mã hàm ngƣợc mã hoá, nghĩa là: - Mã hoá khối: Ek(M), - Giải mã khối: M = Dk(Ek(M)), đó, M khối thơng tin 64 bit k khoá 56 bit Khoá K 56 bit Bản rõ 64 bit Bản mã 64 bit Thuật toán mã hóa DES Thuật tốn giải mã DES-1 Bản mã 64 bit Bản rõ 64 bit a Quy trình mã hố Khố K 56 bit b Quy trình giải mã Hình 1.1 Mơ mã hố (a) giải mã (b) theo DES Quy trình giải mã DES quy trình ngƣợc lại với quy trình mã hóa DES, xuất phát từ mã Y (đầu vào), kết rõ X (đầu ra) Do xác định mục tiêu, phƣơng pháp thám mã khối DES thám mã “hộp đen”, thám mã “vét cạn có định hƣớng” dựa yếu tố độ dài khóa (số lƣợng bit khoá), mã, độ dài khối mã nên xây dựng thuật tốn thám mã khơng cần phân tích chi tiết thuật tốn DES 1.3 Các chế độ mã hoá theo DES [15] Các hệ mật mã khối nói chung Chuẩn mã hóa khối DES có (sáu) chế độ mã hóa, gồm chế độ mã hố (ECB - electronic codebook mode), chế độ liên kết khối mã (CBC - cipher block chaining mode), chế độ phản hồi mã (CFB - cipher feedback mode), Trong chế độ mã hóa đơn giản Dƣới sơ đồ mô tả chế độ mã hoá (ECB - electronic codebook) Bản rõ Khoá Mã hoá mã khối Bản rõ Khoá Bản mã Mã hoá mã khối Bản rõ Khoá Bản mã Mã hoá mã khối Bản mã a Mã hoá Bản mã Khoá Giải mã mã khối Bản mã Khoá Giải mã mã khối Bản rõ Bản rõ Bản mã Khoá Giải mã mã khối Bản rõ b Giải mã Hình 1.5 Mã hóa (a) giải mã (b) theo chế độ mã (ECB) [15] DES áp dụng chế độ mã hoá nhƣ nói Nhƣng để giới hạn phạm vi nghiên cứu đề tài, thực hiện công việc thám mã đƣơng nhiên giả định mã cho trƣớc đƣợc mã hóa Chuẩn mã hóa DES, đồng thời giả định mã đƣợc mã hóa theo chế độ mã (ECB) Tức rõ đƣợc chia nhỏ thành khối độc lập, khối 64 bit Mỗi khối đƣợc mã hóa khóa k để tạo khối mã 64 bit độc lập 1.4 Độ an tồn DES Ngoại trừ bảng S, tính tốn DES tuyến tính, tức việc tính phép loại trừ hai đầu giống nhƣ phép loại trừ hai đầu vào, tính tốn đầu Các bảng S chứa đựng nhiều thành phần phi tuyến hệ mật, yếu tố quan trọng độ an toàn hệ thống Số khóa 256, khơng gian nhỏ để đảm bảo an toàn thực Nhiều thiết bị chuyên dụng đƣợc đề xuất nhằm phục vụ công với cặp rõ - mã biết Phép công chủ yếu thực theo phƣơng pháp “vét cạn” Tức với rõ X mã Y tƣơng ứng (64 bit), khóa đƣợc kiểm tra tìm đƣợc khóa K thỏa mãn ek(X) = Y nhƣ biến đổi bên khối mã “hộp đen” Do vậy, thám mã thực chất thực vét cạn khóa khơng gian đƣợc giới hạn Tuy nhiên, “vét cạn” “có định hƣớng” nhờ thuật tốn di truyền, “tiến hóa” qua hệ (vịng lặp) thuật toán di truyền 3.2 Xây dựng thuật toán nhận dạng rõ tiếng Anh 3.2.1 Vai trò nhận dạng rõ tự động thám mã “vét cạn” Sinh khóa Sinh khóa Giải mã tồn mã Giải mã phần mã Đọc mắt thƣờng Module nhận dạng rõ tự động Đọc đƣợc Sai (là rõ tiếng Anh)? Đọc đƣợc Sai Đúng (là rõ tiếng Anh)? Đúng Ghi nhận khóa Ghi nhận khóa đúng, giải mã hết Kết thúc Kết thúc (a) Nhận dạng rõ thủ công (b) Nhận dạng rõ tự động Hình 3.2 So sánh thám mã dựa nhận dạng rõ thủ công (a) nhận dạng rõ tự động (b) [1], [3] Hình 3.2 cho thấy rõ vai trị quan trọng module hay thuật toán nhận dạng rõ thám mã vét cạn số lƣợng khóa thử lớn Cụ thể, ví dụ tồn khơng gian khóa DES 256 khóa (khoảng 209) tỷ khóa, AES là 2128, 2192, 2256 khóa 11 3.2.2 Một số phương pháp nhận dạng “bản rõ” tự động Hiện có số phƣơng pháp nhận dạng “bản rõ” nhƣ nhận dạng dựa vào từ điển, nhận dạng dựa tập hợp từ, cụm từ giả định, nhận dạng dựa vào thống kê đặc trƣng ngơn ngữ Trong đó, phƣơng pháp dựa vào thống kê đặc trƣng ngơn ngữ có ƣu điểm nhanh hơn, xác so với phƣơng pháp khác 3.2.3 Xây dựng thuật toán nhận dạng rõ dựa vào phương pháp thống kê đặc trưng ngôn ngữ a) Đặt toán Trong phạm vi đề tài luận văn này, toán cụ thể đƣợc đặt nhƣ sau: giả sử sở đó, máy tính nhận đƣợc dãy ký tự X = x1x2 xm Trong đó, xi ∈ A = {a, b, c, , z}, i =1, 𝑚 Hãy xây dựng thuật tốn để máy tính trả lời cho câu hỏi: dãy X “bản rõ” tiếng Anh dãy giả ngẫu nhiên (một dãy vô nghĩa)? b) Cách tiếp cận Đặc trƣng chữ viết thuộc ngôn ngữ đƣợc xác định dựa thống kê tần suất đơn tần suất đôi xuất chữ Phần tập trung nghiên cứu xây dựng thuật toán nhận dạng “bản rõ” tự động dựa thống kê tần suất đôi Tần suất đôi xác suất để chữ liền kề sau chữ khác hay xác suất để hai chữ bảng chữ đứng cạnh Đặc trƣng ngôn ngữ đƣợc thể mơ hình tiếng đƣợc ứng dụng rộng rãi lĩnh vực xử lý ngôn ngữ tự nhiên - Mơ hình xích Markov Dựa vào mơ hình để xây thuật tốn giúp máy tính phân biệt đƣợc chữ viết ngôn ngữ xác định với xâu ký tự ngẫu nhiên, phân biệt chữ viết hai hay nhiều ngôn ngữ khác Tuy nhiên, phạm vi nghiên cứu đề tài, việc xây dựng thuật toán nhận dạng “bản rõ” (“valid” plain-text) để phân biệt đƣợc thông điệp tiếng Anh với xâu ký tự ngẫu nhiên Trong trƣờng hợp này, xâu ký tự ngẫu nhiên đƣợc sinh thực giải mã mã cho trƣớc (“valid” cipher-text) khóa thử bất kỳ, mà khơng phải khóa 12 c) Phương pháp giải Đối với xâu đầu vào X cần tính tần số đơi, tức số lần xuất đôi chữ xâu (khơng cần tính tần suất), đơi chữ (thuộc không gian 262 đôi) không xuất xâu X coi nhƣ có tần số Từ đây, kết hợp với đặc trƣng tần suất đôi đƣợc lƣu vào sở liệu để kết luận xâu X “bản rõ”, hay dãy ngẫu nhiên, vô nghĩa d) Hàm kiểm tra “bản rõ” Hàm để kiểm tra xâu đầu vào X có phải “bản rõ” hay không đƣợc xây dựng nhƣ sau: 𝑧 𝑧 𝐹= 𝑠 𝑥,𝑦 𝑡 𝑥,𝑦 𝑥=𝑎 𝑦=𝑎 đó, giá trị s(x, y) đặc trƣng tần suất đơi đƣợc tính tốn trƣớc, lƣu vào sở liệu (phần off-line) trình bày Phụ lục 2, giá trị t(x, y) tần số đơi đƣợc tính từ xâu đầu vào X (phần on-line) Nếu F ≥ X mẫu ngẫu nhiên, không đọc đƣợc, tức X rõ; ngƣợc lại, F < X rõ tiếng Anh, có nghĩa đọc đƣợc Thuật toán nhận dạng rõ với “tiêu chuẩn rõ” sở để xây dựng “hàm phù hợp” (finness function) - thành phần quan trọng thuật tốn di truyền 3.3 Tìm hiểu thuật toán di truyền Thuật toán di truyền bắt đầu giống nhƣ thuật toán tối ƣu khác, cách định nghĩa biến tối ƣu, chi phí hàm chi phí, kết thúc tƣơng tự thuật toán khác Tuy nhiên, thành phần khác tồn tiến trình hệ hoàn toàn khác Chúng hoạt động tƣơng tự diễn biến tự nhiên sinh học Đặc điểm, chất lƣợng dân số qua hệ thể tiến hóa tự nhiên theo quy luật, hay xu 13 hƣớng (của mơi trƣờng sống) Sự “tiến hóa” giúp thuật tốn tìm dần đƣa đƣợc giải pháp tốt, cuối tìm đƣợc giải pháp chấp nhận đƣợc (hội tụ) Định nghĩa chi phí, hàm chi phí, biến, chọn lọc tham biến GA Tạo dân số ban đầu Mã hóa nhiễm sắc thể Tính chi phí nhiễm sắc thể Chọn lọc Ghép cặp, sinh sản Đột biến Không Kiểm tra hội tụ Có Kết thúc Hình 3.5 Biểu đồ luồng thuật toán di truyền nhị phân [12, pp.29] 3.4 Đề xuất phƣơng pháp thám mã DES 3.4.1 Xây dựng thuật tốn di truyền dị tìm khóa Vận dụng kết nghiên cứu thuật toán di truyền nhị phân đặc trƣng toán thám mã hộp đen để xây dựng quy trình dị tìm khóa nhƣ hình dƣới đây: 14 Định nghĩa hàm phù hợp, biến Tạo lập họ khóa khởi tạo 100 khóa Giải mã mã cho trƣớc với khóa họ Tính giá trị mức phù hợp giải mã 100 khóa Kiểm tra hội tụ ? Có Khơng Loại bỏ 50% khóa có mức phù hợp thấp 50 khóa Chọn cặp khóa để kết hợp Kết hợp, sinh khóa Đột biến Kết thúc Hình 3.7 Quy trình thám mã dựa thuật tốn di truyền 3.4.1.1 Xác định hàm phù hợp (hàm chi phí) Đối với tốn thám mã, dị tìm khóa, độ phù hợp khóa (của nhiễm sắc thể) khơng đƣợc tính cách trực tiếp từ khóa k mà đƣợc tính từ giải mã X = Dk(Y) Mức phù hợp khóa k = Mức phù hợp X = f(X) 15 Ứng dụng kết nghiên cứu xây dựng “tiêu chuẩn rõ” dựa tần suất móc xích đơi chữ tiếng Anh, ta xác định hàm phù hợp Fitness(X) nhƣ sau: 𝑧 𝑧 𝑓= 𝑠 𝑥,𝑦 𝑡 𝑥,𝑦 𝑥=𝑎 𝑦=𝑎 đó, s(x, y) đặc trƣng tần suất đơi móc xích chữ tiếng Anh đƣợc tính tốn trƣớc (Phụ lục 2); t(x, y) tần số đơi tính đƣợc từ mẫu đầu vào X 3.4.1.2 Tạo lập họ khóa khởi tạo Trƣớc vịng lặp thuật tốn di truyền tự sinh khóa theo quy luật đƣợc xác định, cần phải tạo lập tập khóa khởi tạo Tập khóa gồm phần nhỏ khơng gian khóa mà thuật tốn di truyền hội tụ Số lƣợng tập khóa khởi tạo (dân số khởi tạo) tùy ý nhƣng trƣờng hợp số lƣợng đƣợc chọn 100 khóa (ký hiệu tập P) Sinh khóa Giải mã byte mã Y cho trƣớc Sai Gồm ký tự thuộc bảng chữ (tiếng Anh) Đúng Tập khóa khởi tạo P thuộc khơng gian {K2} Tập P đạt 100 khóa Sai Đúng Kết thúc Hình 3.8 Quy trình tạo lập tập khóa khởi tạo P gồm 100 khóa 16 Khơng gian khóa {K2} khơng gian khóa gồm khóa k sử dụng để giải mã Y cho kết xâu X gồm chữ tiếng Anh Theo nhƣ tìm hiểu thuật tốn di truyền ký hiệu Npop dân số khởi tạo, Nbits số bit nhiễm sắc thế, nên đây, Npop = 100 họ khóa khởi tạo P 100, Nbits = 64, khóa DES có 64 bit (gồm bit kiểm tra chẵn lẻ - parity) Nhƣ vậy, họ khóa k khởi tạo ma trận gồm bit không (0) (1), có 100 dịng, 64 cột 3.4.1.3 Giải mã mã cho trước với khóa họ Khơng giống nhƣ áp dụng thuật toán di truyền trƣờng hợp khác, để tính tốn mức độ phù hợp (chí phí) cho khóa, thuật tốn khơng tính trực tiếp bit khóa, mà dựa giải mã Tại đầu vòng lặp hay hệ, thuật toán thực giải mã lần lƣợt khoá họ k1, k2, , k100 đƣợc chọn: Dki(Y) = X(i) = x(i)1 x(i)2 x(i)8, i = 1,100 3.4.1.4 Tính mức độ phù hợp khóa Mức phù hợp khóa k đƣợc tính dựa hàm phù hợp f(X) Q trình tính tốn hệ đƣợc lập thành bảng sau đây: Bảng 3.3: Tính tốn mức độ phù hợp khố hệ STT ki Fitness k1,1k1,2 k1,64 f1 k2,1k2,2 k2,64 f2 k3,1k3,2 k3,64 f3 100 k100,1k100,2 k100,64 f100 đó, fi đƣợc xác định biểu thức (3.14) ứng với khoá ki, i = 1,100 3.4.1.5 Chọn lọc Sau xác định đƣợc giá trị hàm phù hợp, khóa ki đƣợc xếp theo thứ tự từ giá trị thấp đến giá trị cao fi, i = 1,100 Trên sở đó, 50 khóa có mức phù hợp thấp bị loại, 50 khóa có 17 mức phù hợp cao đƣợc giữ lại để ghép cặp, kết hợp tạo hệ 3.4.1.6 Ghép cặp Ghép cặp từ xuống không gần với chọn lọc tự nhiên so với phƣơng pháp ghép cặp khác nhƣng đƣợc áp dụng trƣờng hợp để ghép cặp khóa k làm bố mẹ với lý thời gian, độ phức tạp tính tốn nhỏ Tức là, khố vị trí lẻ i = 1, 3, , 49 đƣợc xác định bố, khoá vị trí chẵn i = 2, 4, , 50 đƣợc xác định mẹ Quá trình ghép cặp để sinh sản đƣợc mô tả nhƣ sau: Bố(1) + Mẹ(2) → Con(51), Con(52) Bố(3) + Mẹ(4) → Con(53), Con(54) Bố(49) + Mẹ(50) → Con(99), Con(100) hay: k1 + k2 → k51, k52 k3 + k4 → k53, k54 k49 + k50 → k99, k100 3.4.1.7 Kết hợp Để mô tả trình kết hợp, khố ki = ki1 ki2 ki8 ki64 đƣợc biểu diễn thành byte (mỗi byte gồm bit) đƣợc đánh số từ đến 7: ki = ki(1) ki(2) ki(3) ki(4) ki(5) ki(6)ki(7) ki(8) là: Chẳng hạn khoá k1 kết hợp với khoá k2 tạo hai k51 k52 k51 = k1(1) k2(2) k1(3) k2(4) k1(5) k2(6)k1(7) k2(8) k52 = k2(1) k1(2) k2(3) k1(4) k2(5) k1(6)k2(7) k1(8) Tiến hành nhƣ 24 cặp bố mẹ lại để tạo 24 cặp Kết thúc giai đoạn sinh sản này, họ khoá trở số lƣợng 100 nhƣ ban đầu 18 3.4.1.8 Đột biến Để mô tả trình đột biến, ta sử dụng ký hiệu khoá ki = ki1 ki2 ki8 ki64 để biểu thị 64 bit khoá (gồm bit kiểm tra chẵn lẻ parity) Chọn tỷ lệ đột biến 10% (µ = 0,1) Nếu ký hiệu Npop số lƣợng khoá tham gia đột biến, Nbit số lƣợng bit khoá Chú ý không thực đột biến nhiễm sắc thể có mức phù hợp cao (cần giữ lại làm kết cuối để phục vụ sinh sản) Khi số lƣợng bit đột biến là: #mutations=µ(Npop–1).Nbit = 0,1(100-1).64 = 633,6 ≈ 634 Các giá trị mrow (hàng), mcol (cột) đƣợc tạo ngẫu nhiên nhƣ sau: mrow = ceil(rand(1,µ)*(Npop-1))+1 mcol = ceil(rand(1,µ)*Nbits) Npop = 100, Nbits = 64 634 giá trị mrow đƣợc tạo cách ngẫu nhiên giới hạn 99 số tự nhiên từ đến 99, nhiễm sắc thể (đƣợc đánh số 0) không tham gia đột biến; 634 giá trị mcol đƣợc tạo cách ngẫu nhiên giới hạn 64 số tự nhiên (từ đến 63) Chẳng hạn, mrow = [5 92 21 11 68 15 34] 554 thành phần mcol = [2 12 18 56 44 11 26 18 19 31] 554 thành phần Với giá trị mrow mcol đƣợc tạo nhƣ trên, 634 bit đột biến bit toạ độ dòng cột tƣơng ứng (5, 2), (92, 12), (6, 5), , (5, 19), (34, 31) Những bit toạ độ có giá trị đƣợc chuyển thành 1, ngƣợc lại Mã lệnh đột biến cho phần tử ma trận bit nhƣ sau: pop(mrow,mcol)=1-pop(mrow,mcol) 19 Sau thực xong đột biến cho 634 bit họ, thuật toán tiếp tục hệ với công việc giải mã gốc với 100 khoá (đã qua kết hợp đột biến) tính giá trị mức phù hợp (fitness) để xác định f1, f2, , f100 tƣơng ứng Sau xếp lại khố (nhiễm sắc thể) họ khoá theo thứ tự giá trị fi thấp đến cao Dựa bảng phân hạng mức phù hợp này, thực kiểm tra hội tụ Nếu chƣa có hội tụ, tiếp tục loại 50 khố có giá trị fi cao nhất, giữ lại 50 khố có giá trị fi thấp 50 khố đƣợc giữ lại lại tiếp tục tiến trình ghép cặp, kết hợp, đột biến Ở hệ, kể từ hệ thứ hai lặp lại bƣớc giải mã cho trước với khoá họ 3.4.1.9 Kiểm tra hội tụ Quá trình lặp tiếp tục diễn từ hệ đến hệ khác có hội tụ Sự hội tụ đạt đƣợc tìm đƣợc khố ki để giải mã cho kết “bản rõ” Nói cách khác, điều kiện hội tụ thuật toán đạt ngưỡng hay tìm đƣợc giá trị hàm phù hợp fi có giá trị âm (f(Xi) < 0) Khố ki tƣơng ứng với giá trị fi âm khố phải tìm Đến đây, thuật tốn kết thúc 3.4.2 Ƣớc lƣợng thời gian, độ phức tạp tính tốn Thời gian chạy thuật toán đạt hội tụ phải trải qua nhiều giai đoạn, nhƣng tiêu tốn tiến trình tạo lập tập khóa khởi tạo P, duyệt, giải mã với khóa tính hàm “phù hợp” khóa vịng lặp (các hệ) Vì vậy, việc ƣớc lƣợng thời gian, độ phức tạp tính tốn để thuật tốn hội tụ tập trung vào ba loại tiến trình Thời gian tính tốn đƣợc ƣớc lƣợng (thực máy tính có vi xử lý CPU Pentium IV với tốc độ trung bình) vào: - Thời gian giải mã DES 35 Kb/s [15] - Thời gian tính tốn hàm phù hợp giả định 100 Kb/s a) Thời gian tạo lập tập khóa khởi tạo P Số lƣợng xâu ký tự có độ dài ký tự (8 byte) gồm chữ tiếng Anh 268 bảng chữ tiếng Anh có 26 chữ Đồng thời, tƣơng ứng - giải mã X với khố k nên có 268 khố k thuộc khơng gian khóa K2, tƣơng đƣơng khoảng 209 tỷ khóa k Đồng thời, tồn khơng gian khóa K DES 256 khóa (khoảng 72 triệu tỷ khóa), nên 20 theo tỷ lệ xác suất, để tìm đƣợc 100 khóa thuộc khơng gian khóa K2 tồn khơng gian khóa K 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 độ 35 Kb/s giây DES duyệt 4.375 khóa để giải mã byte mã Có nghĩa, để thử với giải mã 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 Tp = 34.500.000 x 0,000229 = 7900 giây (khoảng 132 phút) b) Thời gian tính tốn qua hệ Giả định rằng, thuật toán di truyền thám mã đạt đƣợc hội tụ qua 2.000.000 hệ Khi đó, số lƣợng khóa k phải duyệt 2.000.000 x 100 = 200.000.000 khóa (trong số 256 hay khoảng 72 triệu tỷ khóa tồn khơng gian khóa DES), khoảng phần ba trăm sáu mƣơi triệu (1 / 360.000.000) so với vét cạn toàn khơng gian khóa Thời gian duyệt khóa vòng lặp gồm: - Thời gian giải mã mã cho trƣớc với khóa đƣợc duyệt - Thời gian tính giá trị hàm phù hợp giải mã tƣơng ứng với khóa đƣợc duyệt Với tốc độ 35 Kb/s để giải mã mã cho trƣớc, để giải mã với khóa cần khoảng thời gian 0,000229 giây (hay Td = 0,000229 giây) Với tốc độ 100 Kb/s (100.000 byte /s), để tính mức phù hợp cho khóa (bản giải mã byte tƣơng ứng với khóa đó) cần khoảng thời gian khoảng 0,00008 giây (hay Tf = 0,00008 giây) Ở vịng lặp, việc giải mã tính giá trị phù hợp thực 100 khóa, nên giá trị Npop đƣợc xác định 100, Tp = 100 x (0,000229 + 0,00008) = 0,0309 (giây) Tổng thời gian tính tốn qua 2.000.000 vịng lặp 2.000.000 x 0,0309 = 61.800 giây (khoảng 1.030 phút) c) Tổng thời gian tính tốn 21 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 vịng lặp = 132 phút + 1.030 phút = 1.162 phút (khoảng 19,4 giờ) 3.4.3 Vai trị hệ thống tính tốn hiệu cao Theo tài liệu Thuật toán di truyền thực hành Randy L Haupt Sue Ellen Haupt (2004) [12] tổng thời gian chạy hệ (một vịng lặp) thuật tốn di truyền hệ thống tính tốn song song đƣợc tính nhƣ sau: 𝑇𝑝 = 𝑁𝑝𝑜𝑝 𝑇𝑓 + 𝜌 𝑃 − 𝑇𝑐 𝑃 (3.14) [12, pp.141] Trong đó, Tf: thời gian định giá hàm “phù hợp”, Tc: thời gian trung bình truyền liệu từ vi xử lý tới vi xử lý khác, P: số lƣợng 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 tốn song song, Npop: dân số hệ Với đặc trƣng tốn thám mã, đẳng thức 3.14 đƣợc bổ sung nhƣ sau: 𝑇𝑝 = 𝑁𝑝𝑜𝑝 (𝑇𝑓 + 𝑇𝑑 ) 𝑃 + 𝜌 𝑃 − 𝑇𝑐 , (3.15) Td thời gian giải mã (8 byte) với khóa thử k Nếu áp dụng mơ hình tính tốn song song đối thuật tốn di truyền “GA master - slaver” cách hiệu quả, thời gian truyền thơng hay giá trị 𝜌 𝑃 − 𝑇𝑐 khơng đáng kể bỏ qua ƣớc lƣợng tổng thời gian tính tốn Trong trƣờng hợp mơ hình đạt hiệu cao, tăng tốc khoảng 100 lần sử dụng máy chủ (master) 100 thành viên (slave) Thời gian thám mã ứng dụng mơ hình GA master - slave có 100 máy slave nói là: 1.162 phút / 100 = 11,62 phút 22 KẾT LUẬN Kết nghiên cứu Đề tài ứng dụng thuật toán di truyền với “tiêu chuẩn rõ” tiếng Anh để xây dựng thuật tốn “vét cạn có định hƣớng” khơng gian khố giới hạn Thuật tốn thực dị tìm khố mật với mã cho trƣớc đƣợc mã hóa Chuẩn mã hóa liệu DES Đề tài đạt đƣợc kết nghiên cứu sau: - Xây dựng thuật tốn nhận dạng “bản rõ” “tiêu chuẩn rõ” tiếng Anh 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 thuật tốn di truyền gồm bƣớc tạo lập họ khoá khởi tạo, giải mã với khoá, chọn lọc, ghép cặp, đột biến, kiểm tra hội tụ Với đặc trƣng thuật tốn di truyền, bƣớc tính giá trị mức phù hợp, loại bỏ khóa có giá trị mức phù hợp thấp kiểm tra hội tụ đƣợc thực hàm “phù hợp” đóng vai trị cốt lõi - Đề xuất mơ hình tính tốn song song cho thuật tố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 Hƣớng phát triển đề tài Phƣơng pháp nghiên cứu kết nghiên cứu đề tài mở hƣớng phát triển gồm: - Mục tiêu đề tài thám mã DES với thơng điệp mã hố đƣợc giả định tiếng Anh nhƣng mở rộng nghiên cứu thám mã với mã cho trƣớc đƣợc mã hố từ thơng điệp tiếng Pháp, tiếng Việt, tiếng Nga, không đƣợc biết trƣớc ngôn ngữ thơng điệp mã hố - Độ phức tạp phƣơng pháp chủ yếu phụ thuộc vào độ dài khóa (số lƣợng bit khóa), hồn tồn khơng phụ thuộc vào thuật tốn mã hóa bên khối mã nên mở rộng thám mã hệ mật mã khối có độ an tồn cao hơn, độ dài khoá lớn DES, nhƣ IDEA, AES, FEAL, RC4, RC5, 3DES , miễn đƣợc cho trƣớc mã, thuật tốn mã hóa, giải mã Việc mở rộng thám mã đòi hỏi phát triển thuật toán đồng thời với tăng cƣờng hệ thống tính tốn hiệu cao, tăng số lƣợng máy thành viên so với hệ thống tính tốn song song đề xuất 23 TÀI LIỆU THAM KHẢO Tiếng Việt Hồng Minh Tuấn (2008), Thám mã khối 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 Hồ Văn Canh, Hoàng Minh Tuấn (2010), “Thám mã văn đƣợc mã hóa Chuẩn mã hóa khối” Trần Bá Ánh (2007), Nhận dạng ngôn ngữ tự nhiên ứng dụng, Luận văn cao học, Đại học Công nghệ, ĐHQG Hà Nội Trịnh Nhật Tiến (2008), Giáo trình An tồn liệu, Đại học Quốc gia, Hà Nội, tr.59-70 Tiếng Anh Alan Silvester (2004), “Differential Cryptanalysis and the Data Encryption Standard” Billingsley, Patrick (1961), “Statistical Methods in Markov Chains” Annals of mathematical statistics, 23:1 C.R Rao’s (1968), Linear statistical methods and their applications, Moscow, pp.45-60 Curtin, Matt (2005): Brute-Force: Cracking the DES, Springer - Verlag 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 15 http://www.wikipedia.org 24 Thank you for evaluating AnyBizSoft PDF Splitter A watermark is added at the end of each output PDF file To remove the watermark, you need to purchase the software from http://www.anypdftools.com/buy/buy-pdf-splitter.html ... ĐẠI HỌC CÔNG NGHỆ NGUYỄN QUỐC THẮNG 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 TỐN HIỆU NĂNG CAO Ngành: Cơng nghệ thơng tin Chuyên ngành: Hệ thống thông... tài: ? ?Nghiên cứu phƣơng pháp thám mã Chuẩn mật mã DES nhờ hệ thống tính tốn hiệu cao? ?? Trong phạm vi nghiên cứu đề tài này, toán đặt với mã đƣợc mã hố từ thơng điệp tiếng Anh Thuật toán mã hoá DES, ... mã hố (ECB - electronic codebook) Bản rõ Khoá Mã hoá mã khối Bản rõ Khoá Bản mã Mã hoá mã khối Bản rõ Khoá Bản mã Mã hoá mã khối Bản mã a Mã hoá Bản mã Khoá Giải mã mã khối Bản mã Khoá Giải mã