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
1 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 Researching on cryptanalytic method of Data Encryption Standard (DES) bases on high performance computing system NXB H. : ĐHCN, 2012 Số trang 70 tr. + Nguyễn Quốc Thắng Trường Đại học Công nghệ Luận văn ThS ngành: Hệ thống thông tin; Mã số: 60 48 05 Người hướng dẫn: PGS.TS. Hồ Văn Canh Năm bảo vệ: 2012 Abstract: Giới thiệu về chuẩn mã hoá dữ liệu - DES (Data Encryption Standard). Trình bày các phương pháp thám mã: thám mã đường tắt; Thám mã vi sai; Thám mã tuyến tính; Thám mã phi tuyến; Thám mã vi sai tuyến tính và một số phương pháp thám mã đường tắt khác huẩn mã hoá dữ liệu DES, các hệ thống chuyên dụng phục vụ thám mã DES. Nghiên cứu, đề xuất phương pháp thám mã DES: mô tả bài toán tham mã DES; Xây dựng thuật toán nhận dạng bản rõ tiếng Anh; Tìm hiểu thuật toán di truyền (GAs) và đề xuất phương pháp thám mã DES Keywords: Công nghệ thông tin; Mật mã khối; An ninh thông tin; Hệ thống thông tin; Mã hoá dữ liệu Content DES (viết tắt của Data Encryption Standard, hay Chuẩn mã hóa dữ liệu) là một phương pháp mật mã hóa do Công ty IBM thiết kế và được FIPS (Tiêu chuẩn xử lý thông tin Liên bang Hoa Kỳ) chọn làm chuẩn chính thức vào năm 1976. Sau đó, Chuẩn này được sử dụng rộng rãi trên phạm vi thế giới. Ngay từ đầu, thuật toán của nó đã gây ra rất nhiều tranh luận liên quan đến các 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 rất kỹ lưỡng, việc này đã thúc đẩy hiểu biết hiện đại về mật mã khối (block cipher) và các phương pháp thám mã tương ứng. Có thể nói, sự xuất hiện của DES đã tạo nên một làn sóng, một nguồn cảm hứng nghiên cứu trong giới khoa học về lĩnh vực mật mã học, đặc biệt là các phương pháp thám mã mã khối. Với DES, giới khoa học đã có một thuật toán mật mã để nghiên cứu. Mặc dù, trong thời gian qua đã có rất nhiều kết quả nghiên cứu về DES đã được công bố, DES có thể bị phá khoá bởi các hệ thống chuyên dụng trong vòng chưa đầy 24 giờ, nhưng việc nghiên cứu thám mã DES vẫn có ý nghĩa hướng tới thám mã các hệ mật mã khối mới có độ dài khóa mật lớn hơn, đã và đang dần thay thế DES. Phân tích mật mã hay thám mã còn đưa ra những 2 khuyến cáo, phản hồi cho các chuyên gia trong thiết kế lại các hệ mật mã để chống lại các dạng tấn công mới. Đồng thời, nó cũng có ý nghĩa trong hỗ trợ công tác tình báo, phản gián v.v Với lý do 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 toán hiệu năng cao”. Trong phạm vi nghiên cứu của đề tài này, bài toán đặt ra là với một bản mã được mã hoá từ một thông điệp tiếng Anh bởi Thuật toán mã hoá DES, với giả thiết người thám mã có thể truy cập đến chức năng mã hóa/giải mã của DES. Từ giả thiết này, yêu cầu ứng dụng hệ thống tính toán hiệu năng 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 ra khoá mật đã sử dụng để mã hoá thông điệp đó trong thời gian ngắn (dự kiến khoảng 8 đế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 quả nghiên cứu của các chương như sau: Chƣơng I: Giới thiệu về chuẩn mã hoá dữ liệu - DES (Data Encryption Standard). Chƣơng II: Các phương pháp thám mã Chuẩn mã hoá dữ liệu DES, các 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ủa công việc thám mã là rất lớn nên bài toán đặt ra với giả thiết người thám mã biết được các thông tin về bản mã được mã hóa bởi DES (chế độ ECB) từ bản rõ tương ứng là một 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 cũng như tìm ra bản rõ tương ứng. Để giải quyết yêu cầu đặt ra và các bài toán nói trên, bài toán được chia thành các bài toán con để gải quyết vấn đề: - Xây dựng thuật toán nhận dạng bản rõ và “tiêu chuẩn bản rõ” tiếng Anh là cơ sở xác định hàm “phù hợp”, một thành phần quan trọng của thuật toán di truyền. - Tìm hiểu về thuật toán di truyền, xây dựng thuật toán di truyền để thực hiện tìm kiếm khoá mật với phương pháp “vét cạn có định hướng” trong không gian khoá (K 2 ) xác định khoảng 209 tỷ khóa. Độ phức tạp của phương pháp này chủ yếu phụ thuộc sự phán đoán, nhận dạng ngôn ngữ của bản rõ tương ứng với bản mã và phụ thuộc độ dài của khóa (số lượng bit khóa), mà không phụ thuộc vào thuật toán mã hóa khối mã của DES. Vì vậy, để đạt được kết quả, mục tiêu nghiên cứu, đòi hỏi sự kết hợp nhiều lĩnh vực liên quan. Đề tài đã kết hợp, vận dụng giữa thuật toán nhận dạng bản rõ và thuật toán di truyền. Khi ứng dụng thuật toán di truyền thì “Tiêu chuẩn bản rõ” có thể được xem như là hàm “phù hợp” - đặc thù của thuật toán di truyền thám mã. Mục tiêu nghiên cứu của đề tài là xây dựng thuật toán tấn công thám mã. Tuy nhiên để để tăng tốc độ tính toá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 toán song song - mô hình GA master - slave. 3 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 giữa hai khái niệm là Chuẩn mã hoá dữ liệu (DES - Data Encryption Standard) và Thuật toán mã hoá dữ liệu (DEA - Data Encryption Algorithm). Thuật toán mã hoá là thành phần cơ bản của Chuẩn mã hoá. Việc nghiên cứu, phân tích về DES chính là nghiên cứu, phân tích về thuật toán của 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, đó là mật mã khoá công khai (khoá bất đối xứng) và mật mã khoá bí mật (khoá đối xứng). Riêng đối với hệ mật mã đối xứng lại chia ra làm hai loại là mã hoá, giải mã theo khối và mã hoá, giải mã theo dòng. DES (Data Encryption Standard) hay Chuẩn mã hóa dữ liệu thuộc hệ mật mã khoá đối xứng và thực hiện mã hoá, giải mã theo khối. Độ dài của khối thông tin mã hoá, giải mã là 64 bit. 1.1. Quy trình mã hoá theo DES Quy trình mã hoá của mật mã khối nói chung và mã hoá theo DES nói riêng được thực hiện qua năm giai đoạn sau: Giai đoạn 1: Bản rõ chữ Bản Rõ số (Dạng nhị phân) 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ố (Dạng nhị phân) Giai đoạn 5: Bản Mã số Bản Mã chữ 1.2. Lập mã và gải mã DES Thuật toán DES tập trung thực hiện Giai đoạn 3 của quy trình mã hóa. Đó là chuyển đổi bản Rõ số với 64 bit thành bản Mã số với 64 bit. Còn đối với quy trình giải mã thì ngược lại, đổi bản Mã số với 64 bit thành bản Rõ số với 64 bit Quy trình mã hoá, giải mã khối gồm hai thuật toán là mã hoá (ký hiệu là E) và giải mã (ký hiệu là D). Cả hai thuật toán đều tác động lên một khối đầu vào 64 bit sử dụng khoá 56 bit để cho ra khối 64 bit. Đối với bất kỳ khoá k nào, giải mã là hàm ngược của mã hoá, nghĩa là: - Mã hoá khối: E k (M), - Giải mã khối: M = D k (E k (M)), trong đó, M là khối thông tin 64 bit và k là khoá 56 bit. 4 Thuật toán mã hóa DES Khoá K 56 bit Bản rõ 64 bit Bản mã 64 bit Thuật toán giải mã DES -1 Khoá K 56 bit Bản mã 64 bit Bản rõ 64 bit a. Quy trình mã hoá b. Quy trình giải mã Hình 1.1. Mô phỏng mã hoá (a) và giải mã (b) theo DES Quy trình giải mã của DES là quy trình ngược lại với quy trình mã hóa DES, xuất phát từ bản mã Y (đầu vào), kết quả là bản rõ X (đầu ra). Do xác định mục tiêu, phương pháp thám mã khối DES là thám mã “hộp đen”, thám mã “vét cạn có định hướng” dựa trên các yếu tố độ dài khóa (số lượng bit của khoá), bản mã, và độ dài khối mã nên khi xây dựng thuật toán thám mã không cần phân tích chi tiết thuật toán DES. 1.3. Các chế độ mã hoá theo DES [15] Các hệ mật mã khối nói chung và Chuẩn mã hóa khối DES có 6 (sáu) chế độ mã hóa, gồm chế độ mã hoá cơ bản (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 cơ bản là đơn giản nhất. Dưới đây là sơ đồ mô tả chế độ mã hoá cơ bản (ECB - electronic codebook). Mã hoá mã khối Khoá Bản rõ Bản mã Mã hoá mã khối Khoá Bản rõ Bản mã Mã hoá mã khối Khoá Bản rõ Bản mã a. Mã hoá Giải mã mã khối Khoá Bản mã Bản rõ Giải mã mã khối Khoá Bản mã Bản rõ Giải mã mã khối Khoá Bản mã Bản rõ b. Giải mã Hình 1.5. Mã hóa (a) và giải mã (b) theo chế độ mã cơ bản (ECB) [15] DES có thể áp dụng một trong các chế độ mã hoá như đã nói trên. Nhưng để giới hạn phạm vi nghiên cứu của đề tài, khi thực hiện hiện công việc thám mã đương nhiên chúng ta giả định bản mã cho trước được mã hóa bởi Chuẩn mã hóa DES, đồng thời cũng giả định rằng bản mã được mã hóa 5 theo chế độ mã cơ bản (ECB). Tức là bản rõ được chia nhỏ thành các khối độc lập, mỗi khối 64 bit. Mỗi khối này được mã hóa bởi cùng một khóa k nào đó để tạo ra các khối mã 64 bit độc lập. 1.4. Độ an toàn của DES Ngoại trừ các bảng S, mọi tính toán trong DES đều tuyến tính, tức là việc tính phép hoặc loại trừ của hai đầu ra cũng giống như phép hoặc loại trừ của hai đầu vào, rồi tính toán đầu ra. Các bảng S chứa đựng nhiều thành phần phi tuyến của hệ mật, là yếu tố quan trọng nhất đối với độ an toàn của hệ thống. Số khóa có thể là 2 56 , không gian này là nhỏ để đảm bảo an toàn thực sự. Nhiều thiết bị chuyên dụng đã được đề xuất nhằm phục vụ tấn công với một cặp bản rõ - bản mã đã biết. Phép tấn công này chủ yếu thực hiện theo phương pháp “vét cạn”. Tức là với bản rõ X và bản mã Y tương ứng (64 bit), mỗi khóa có thể được kiểm tra cho tới khi tìm được một khóa K thỏa mãn e k (X) = Y. 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 2.1. Một số khái niệm cơ bản Có thể phân loại các phương pháp thám mã nói chung, thám mã DES dựa trên nhiều góc độ, nhưng về cơ bản, có các phương pháp thám mã như sau: - Thám mã đường tắt là phương pháp thám mã dựa trên các phân tích toán học, thống kê và cấu trúc chi tiết bên trong thuật toán mã hóa hóa/giải mã, để từ đó có các thống kê về xác suất, các hệ phương trình tuyến tính, . của hệ mã hóa giúp rút ngắn thời gian phá mã so với “thám mã vét cạn”. Các phương pháp thám mã đường tắt đã được công bố gồm có thám mã vi sai, thám mã tuyến tính, thám mã phi tuyến, thám mã vi sai tuyến tính v.v - Thám mã hộp đen hoàn toàn khác với thám mã đường tắt, phương pháp thám mã này không phân tích chi tiết thuật toán mã hóa mà xem nó như là một “hộp đen” để dò tìm khóa khi biết bản rõ, bản mã hoặc chỉ biết bản mã. Phương pháp này có thể áp dụng cho hệ mật mã khối bất kỳ. Độ phức tạp tính toán của phương pháp này chỉ phụ thuộc vào các tham số như độ dài khóa và độ dài khối mã. Thông thường, khi người ta nói đến các phương pháp “thám mã vét cạn”, “tấn công vét cạn”, “tấn công bạo lực” (brute-force attack), hay “tấn công dùng bạo lực” (attacks using force) thì đều được hiểu là phương pháp thám mã hộp đen. Ngoài ra, với giả định khi người thám mã đã biết thuật toán mã hoá (đối với một hệ mã hoá xác định), chúng ta có thể phân loại thám mã dựa trên các số lượng thông tin được biết về bản rõ, bản mã, gồm Thám mã chỉ biết bản mã, Thám mã chỉ biết bản tin rõ, Thám mã với bản rõ được chọn, Thám mã với bản mã được chọn. Trong mọi trường hợp thám mã này, mục đích là tìm ra khóa mật được sử dụng cho hệ mã hoá. 6 2.2. Các phƣơng pháp thám mã DES 2.2.1. Thám mã đƣờng tắt Các phương pháp thám mã đường tắt đã được công bố gồm có thám mã vi sai, thám mã tuyến tính, thám mã phi tuyến, thám mã vi sai tuyến tính, thám mã tích phân, phương pháp thám mã vi sai bậc cao, thám mã nội suy v.v 2.2.2. Thám mã hộp đen (vét cạn để tìm khoá) [1][2][8] Thám mã hộp đen nói chung và tấn công vét cạn nói riêng là phương pháp thám mã không phân tích sâu cấu trúc bên trong của hệ mật mã. Cơ sở của phương pháp này chủ yếu dựa vào sức mạnh của các hệ thống tính toán hiệu năng cao để thực hiện vét cạn và tìm ra khoá mật. Đây là phương pháp thám mã đơn giản nhất đối với hệ mật mã khối. Việc thám mã đơn thuần chỉ là thử tất cả các khóa, khóa này nối tiếp khóa kia, cho đến khi tìm ra khóa đúng. Như vậy, trong trường hợp xấu nhất ta cần phải thử 2 l khóa, nếu độ dài khóa là l. Và riêng đối với hệ DES thì trường hợp xấu nhất ta cần phải thử 2 56 khóa (khoảng hơn 72 triệu tỷ khóa). Trong mọi trường hợp thám mã nói trên, mục đích là tìm ra khóa mật được sử dụng cho hệ mã hoá. Dựa vào cách thức phân loại thám mã này để xác định bài toán thám mã được nghiên cứu, đề xuất trong đề tài này thuộc phương pháp thám mã hộp đen, đồng thời là thám mã chỉ biết bản mã, và người thám mã biết thuật toán mã hóa/giải mã (có thể truy cập vào chức năng mã hóa/giải mã của DES). 2.3. Các hệ thống chuyên dụng thám mã DES Công việc thám mã nói chung và thám mã hộp đen, vét cạn để tìm khóa nói riêng do có không gian khóa thử là rất lớn, độ phức tạp tính toán cao. Do vậy, thám mã không thể sử dụng những máy tính thông thường mà cần phải sử dụng các hệ thống tính toán hiệu năng cao, hay các hệ thống vận dụng được đồng thời rất nhiều nguồn lực tính toán. Cụ thể, các hệ thống này gồm có các phần cứng chuyên dụng thám mã, điện toán lưới, điện toán đám mây, siêu máy tính, máy tính song song, hệ thống máy tính cụm cluster v.v Đặc biệt, đối với thuật toán di truyền thám mã rất thích hợp với ứng dụng các máy tính song song hoặc hệ thống tính toán song song (hệ thống máy tính cụm - cluster). CHƢƠNG III NGHIÊN CỨU, ĐỀ XUẤT PHƢƠNG PHÁP THÁM MÃ DES 3.1. Mô tả bài toán Vơi bản mã cho trước được mã bởi Chuẩn mã hóa dữ liệu DES và bởi chế độ mã hóa cơ bản ECB của DES từ bản rõ là một thông điệp tiếng Anh, đồng thời người thám mã có thể truy cập được vào các chức năng mã hóa, giải mã DES. Từ các giả thiết này, yêu cầu ứng dụng thuật toán di truyền để dò tìm khóa mật k đã sử dụng để mã hóa bản mã và tìm ra bản rõ. 7 Do quá trình chạy thuật toán, máy tính phải thử giải mã bản mã với số lượng rất lớn các khóa k (toàn bộ không gian khóa của DES là 2 56 khóa). Vì vậy, để giảm thời gian tính toán, bản mã cho trước cần được chia nhỏ thành các khối 8 byte (64 bit). Từ đây, việc thám mã, dò tìm khóa được thực hiện dựa trên một phần 64 bit bất kỳ của bản mã. DES (Chế độ ECB) Khoá mật K (56 bit) ? Bản rõ ? (64 bit) Bản mã Y (64 bit) Thuật toán dò tìm khoá mật ? Bản mã Y (64 bit) Khoá K (56 bit) ? Bản rõ (64 bit) ? DES -1 (Chế độ ECB) (a) Giả thiết (b) Bài toán đặt ra Hình 3.1. Mô tả giả thiết (a) và bài toán thám mã DES (b) Với giả thiết bài toán như trên, tác giả đề xuất phương pháp thám mã hộp đen áp dụng thuật toán di truyền với sự hỗ trợ của hệ thống tính toán song song. Theo như phần tìm hiểu về phương pháp thám mã hộp đen, công việc thám mã không cần phân tích chi tiết thuật toán bên trong DES, mà xem như các biến đổi bên trong khối mã là một “hộp đen”. Do vậy, thám mã ở đây thực chất là thực hiện vét cạn khóa trên không gian đã được giới hạn. Tuy nhiên, sự “vét cạn” là “có định hướng” nhờ thuật toán di truyền, và sự “tiến hóa” qua các thế hệ (vòng lặp) của thuật toán di truyền. 3.2. Xây dựng thuật toán nhận dạng bản rõ tiếng Anh 3.2.1. Vai trò của nhận dạng bản rõ tự động trong thám mã “vét cạn” Đọc bằng mắt thường Giải mã toàn bộ bản mã Kết thúc Ghi nhận khóa đúng Sinh khóa Đúng Sai Module nhận dạng bản rõ tự động Giải mã một phần bản mã Đọc được (là bản rõ tiếng Anh)? Kết thúc Ghi nhận khóa đúng, giải mã cho đến hết Sinh khóa Đúng Sai Đọc được (là bản rõ tiếng Anh)? (a) Nhận dạng bản rõ thủ công (b) Nhận dạng bản rõ tự động 8 Hình 3.2. So sánh thám mã dựa trên nhận dạng bản rõ thủ công (a) và nhận dạng bản rõ tự động (b) [1], [3] Hình 3.2 cho thấy rõ vai trò quan trọng của module hay thuật toán nhận dạng bản rõ đối với thám mã vét cạn khi số lượng khóa thử là rất lớn. Cụ thể, ví dụ toàn bộ không gian khóa của DES là 2 56 khóa (khoảng 209) tỷ khóa, của AES có thể là là 2 128 , 2 192 , hoặc 2 256 khóa . 3.2.2. Một số phương pháp nhận dạng “bản rõ” tự động Hiện nay đã có một 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 trên tập hợp từ, cụm từ giả định, nhận dạng dựa vào thống kê đặc trưng của ngôn ngữ. Trong đó, phương pháp dựa vào thống kê đặc trưng của ngôn ngữ có ưu điểm nhanh hơn, chính xác hơn so với các phương pháp khác. 3.2.3. Xây dựng thuật toán nhận dạng bản rõ dựa vào phương pháp thống kê đặc trưng ngôn ngữ a) Đặt bài toán Trong phạm vi đề tài luận văn này, bài toán cụ thể được đặt ra như sau: giả sử trên cơ sở nào đó, máy tính nhận được một dãy các ký tự X = x 1 x 2 .x m . Trong đó, x i ∈ A = {a, b, c, ., z}, i = . Hãy xây dựng một thuật toán để máy tính trả lời cho câu hỏi: dãy X là “bản rõ” tiếng Anh hay là dãy giả ngẫu nhiên (một dãy vô nghĩa)? b) Cách tiếp cận Đặc trưng của một chữ viết thuộc ngôn ngữ nào đó có thể được xác định dựa trên thống kê tần suất đơn hoặc tần suất bộ đôi của sự xuất hiện các chữ cái. Phần này sẽ 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 trên thống kê tần suất bộ đôi. Tần suất bộ đôi là xác suất để một chữ cái liền kề sau chữ cái khác hay xác suất để hai chữ cái bất kỳ trong bảng chữ cái đứng cạnh nhau. Đặc trưng này của ngôn ngữ được thể hiện ở mô hình nổi tiếng được ứng dụng rộng rãi trong 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 này để xây thuật toán giúp máy tính phân biệt được chữ viết một ngôn ngữ xác định với một xâu ký tự ngẫu nhiên, hoặc phân biệt chữ viết của hai hay nhiều ngôn ngữ khác nhau. Tuy nhiên, trong phạm vi nghiên cứu của đề tài, việc xây dựng thuật toán nhận dạng “bản rõ” (“valid” plain-text) là để phân biệt được một thông điệp tiếng Anh với một 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 ra do thực hiện giải mã bản mã cho trước (“valid” cipher-text) bởi một khóa thử bất kỳ, mà không phải là khóa đúng. c) Phương pháp giải Đối với xâu đầu vào X chỉ cần tính tần số bộ đôi, tức số lần xuất hiện các bộ đôi chữ cái trong xâu (không cần tính tần suất), các bộ đôi chữ cái (thuộc không gian 26 2 bộ đôi) không xuất hiện trong xâu X coi như có tần số bằng 0. Từ đây, kết hợp với đặc trưng tần suất bộ đôi đã được lưu vào cơ sở dữ liệu để kết luận xâu X là “bản rõ”, hay dãy ngẫu nhiên, vô nghĩa. d) Hàm kiểm tra “bản rõ” 9 Hàm để kiểm tra xâu đầu vào X có phải là “bản rõ” hay không được xây dựng như sau: trong đó, các giá trị s(x, y) là đặc trưng tần suất bộ đôi được tính toán trước, lưu vào cơ sở dữ liệu (phần off-line) và trình bày ở Phụ lục 2, các giá trị t(x, y) là tần số bộ đôi được tính từ xâu đầu vào X (phần on-line). Nếu F ≥ 0 thì X là mẫu ngẫu nhiên, không đọc được, tức X không phải là bản rõ; ngược lại, nếu F < 0 thì X là bản rõ tiếng Anh, có nghĩa và đọc được. Thuật toán nhận dạng bản rõ cùng với “tiêu chuẩn bản rõ” của nó là cơ sở để xây dựng “hàm phù hợp” (finness function) - một thành phần rất quan trọng của thuật toá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ư bất kỳ thuật toán tối ưu nào khác, bằng cách định nghĩa các biến tối ưu, chi phí và hàm chi phí, và cũng kết thúc tương tự các thuật toán khác. Tuy nhiên, các thành phần khác ở giữa toàn bộ tiến trình của mỗi thế hệ thì hoàn toàn khác. Chúng hoạt động tương tự các diễn biến tự nhiên trong sinh học. Đặc điểm, chất lượng dân số qua các thế hệ thể hiện sự tiến hóa tự nhiên theo một quy luật, hay một xu hướng nào đó (của môi trường sống). Sự “tiến hóa” này giúp thuật toán tìm dần đưa ra được các giải pháp tốt, và cuối cùng tìm được một giải pháp chấp nhận được (hội tụ). Định nghĩa chi phí, hàm chi phí, các biến, chọn lọc các tham biến GA Tạo dân số ban đầu Mã hóa các nhiễm sắc thể Tính chi phí mỗi nhiễm sắc thể Ghép cặp, sinh sản Đột biến Kết thúc Kiểm tra hội tụ Có Không Chọn lọc Hình 3.5. Biểu đồ luồng của 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 10 3.4.1. Xây dựng thuật toán di truyền dò tìm khóa Vận dụng kết quả nghiên cứu thuật toán di truyền nhị phân và đặc trưng của bài toán thám mã hộp đen để xây dựng quy trình dò tìm khóa đúng như hình dưới đây: Định nghĩa hàm phù hợp, các biến Tạo lập họ khóa khởi tạo Giải mã bản mã cho trước với các khóa trong họ Tính các giá trị mức phù hợp của các bản giải mã Loại bỏ 50% khóa có mức phù hợp thấp Chọn từng cặp khóa để kết hợp Kết hợp, sinh khóa mới Đột biến Kết thúc Kiểm tra hội tụ ? Có Không 100 khóa 100 khóa 50 khóa Hình 3.7. Quy trình thám mã dựa trên thuật toán di truyền 3.4.1.1. Xác định hàm phù hợp (hàm chi phí) Đối với bài toán thám mã, dò tìm khóa, độ phù hợp các khóa (của các nhiễm sắc thể) không được tính một cách trực tiếp từ các khóa k mà được tính từ bản giải mã X = D k (Y) Mức phù hợp khóa k = Mức phù hợp của X = f(X) Ứng dụng kết quả nghiên cứu xây dựng “tiêu chuẩn bản rõ” dựa trên tần suất móc xích bộ đôi chữ cái tiếng Anh, ta xác định hàm phù hợp Fitness(X) như sau: trong đó, s(x, y) là đặc trưng về tần suất bộ đôi móc xích của chữ cái tiếng Anh được tính toán trước (Phụ lục 2); t(x, y) là tần số bộ đô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 khi các vòng lặp của thuật toán di truyền tự sinh khóa mới theo một 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 này chỉ gồm một phần nhỏ trong không gian [...]... 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. .. Phương pháp nghiên cứu và 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á - Độ phức tạp của phương pháp. .. 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ò của hệ thống tính toán hiệu năng cao 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: (3.14) [12, pp.141] Trong đó, Tf: thời gian định giá hàm “phù hợp”,... : 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ột thế hệ Với đặc trưng bài toán thám mã, đẳng thức 3.14 có thể được bổ sung như sau: , (3.15) trong đó Td là thời gian giải bản mã (8 byte) với một khóa thử k bất kỳ Nếu áp dụng mô hình tính toán song song đối thuật toán di truyền đó là “GA master - slaver” một cách hiệu quả, thì thời gian truyền... gian khoá đã giới hạn Thuật toán này thực hiện dò tìm khoá mật với một bản mã cho trước được mã hóa bởi Chuẩn mã hóa dữ liệu DES Đề 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ính toán song song đã đề xuất References 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. .. (0) và một (1), có 100 dòng, 64 cột 3.4.1.3 Giải mã bản mã cho trước với các khóa trong họ Không giống như áp dụng thuật toán di truyền trong các trường hợp khác, để tính toán mức độ phù hợp (chí phí) cho các khóa, thuật toán không tính trực tiếp trên các bit khóa, mà dựa trên bản giải mã Tại đầu mỗi vòng lặp hay mỗi thế hệ, thuật toán thực hiện giải mã lần lượt các khoá trong họ k1, k2, , k100 đã được... tạp tính toán 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 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. .. thời gian tính toán Trong trường hợp này mô hình sẽ đạt hiệu quả cao, tăng tốc khoảng 100 lần khi sử dụng một máy chủ (master) và 100 thành viên (slave) 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à: 1.162 phút / 100 = 11,62 phút KẾT LUẬN 1 Kết quả nghiên cứu Đề tài đã ứng dụng thuật toán di truyền cùng với “tiêu chuẩn bản rõ” tiếng Anh để xây dựng thuật toán “vét... 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 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 . 1 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 Researching on cryptanalytic. đề 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 toán hiệu năng cao . Trong phạm vi nghiên cứu của đề tài này, bài toán đặt ra