Một trong những công việc quan trọng nhất của việc áp dụng thuật toán di truyền đó là xác định đƣợc hàm phù hợp cũng nhƣ xác định đƣợc những yếu tố nào là quan trọng nhất để làm tham biến của hàm. Những yếu tố quan trọng này đƣợc xác định và xem là các gen để cấu thành nhiễm sắc thể.
Quay trở lại vấn đề các hình thức thám mã, gồm có hai hình thức cơ bản là đƣờng tắt và thám mã hộp đen. Trong phạm vi đề tài này, bài toán đặt ra là thám mã hộp đen, tức dò tìm khóa dựa trên cơ sở giải mã các bản mã bằng cách thử lần lƣợt các khóa đã giới hạn trong không gian khóa {K2} và nhận dạng bản giải mã. Nếu bản giải mã là “bản rõ”, khóa thử để giải mã chắc chắn là khóa đúng. Nhƣ vậy, với bàì toán đặt ra, chúng ta không cần quan tâm chi tiết tới cấu trúc thuật toán của DES. Các yếu tố cần quan tâm là khóa thử, bản giải mã, thuật toán nhận dạng “bản rõ”, kết quả nhận dạng “bản rõ”.
Hình 3.2b (nhận dạng “bản rõ” tự động) ở Mục 3.2.1 (Vai trò của nhận dạng “bản rõ” tự động trong thám mã) cho thấy khi áp dụng thuật toán di truyền thì các khóa có thể đƣợc xem nhƣ là các gen. Và mỗi lần thử chỉ thực hiện với một một khóa nên nhiễm sắc thể chỉ gồm một gen và có 56 bit. Module nhận dạng tự động sẽ xử lý với xâu 64 bit đã giải mã. Có nghĩa, đầu vào của hàm phù hợp của một khóa thử k là xâu 64 bit đã đƣợc giải mã từ bản mã cho trƣớc với khóa k đó (chứ không phải khóa k).
Nhƣ chúng ta đã tìm hiểu ở Mục 3.2 về thuật toán di truyền, một nhiễm sắc thể đƣợc định nghĩa gồm một mảng các giá trị biến để tối ƣu hóa. Nếu nhiễm sắc thể có Nvar biến thì gồm p1, p2, p3, ..., pNvar thì nhiễm sắc thể đƣợc viết nhƣ một vector dòng Nvar phần tử:
Nhiễm sắc thể = [p1, p2, p3, ..., pNvar]
Trong trƣờng hợp này một khóa thử có thể đƣợc coi nhƣ là một biến có 56 bit. Nhiễm sắc thể có thể đƣợc viết nhƣ sau:
Nhiễm sắc thể = [k]
Đặc biệt đố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 = Dk(Y)
Mức phù hợp nhiễm sắc thể = Mức phù hợp khóa k = = Mức phù hợp của X =F(X)
48
Ứng dụng kết quả nghiên cứu xây dựng “tiêu chuẩn bản rõ” ở mục 3.1.3.2 dựa trên tần suất móc xích bộ đôi chữ cái tiếng Anh (biểu thức 3.12), ta xác định hàm phù hợp Fitness(X) nhƣ sau: 𝐹 = 𝑠 𝑥,𝑦 𝑡 𝑥,𝑦 (3.13) 𝑧 𝑦=𝑎 𝑧 𝑥=𝑎
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.