Thám mã khối trên máy tính song song dùng hệ điều hành Linux
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO BỘ QUỐC PHÒNG
HỌC VIỆN KỸ THUẬT QUÂN SỰ
Hoàng Minh Tuấn
THÁM MÃ KHỐI TRÊN MÁY TÍNH SONG SONG
Trang 2Công trình được hoàn thành tại Học viện Kỹ thuật Quân sự
Người hướng dẫn khoa học :
1 PGS TS Lê Anh Dũng
Phản biện 1: PGS TS Bùi Huy Hoàng
Phản biện 2: PGS TSKH Nguyễn Hồng Vũ
Phản biện 3: PGS Phương Xuân Nhàn
Luận án được bảo vệ trước Hội đồng chấm luận án cấp Nhà nước
Học viện KTQS
Vào 13 giờ 30 ngày 3 tháng 9 năm 2008
Có thể tìm hiểu luận án tại các thư viện:
- Thư viện quốc gia
- Thư viện Học viện Kỹ thuật Quân sự
Trang 3MỞ ĐẦU
Mã hóa (Encryption) từ lâu đã là một phần không thể tách rời trong thực thi các giao dịch điện tử nhằm đảm bảo tính riêng tư và các bí mật thương mại Với nhu cầu trao đổi thông tin ngày càng lớn thì việc mã hóa ngày càng có tầm quan trọng cao hơn Trong mật mã học hiện đại, có mã hoá đối xứng và bất đối xứng với các điểm mạnh
và mặt yếu riêng phù hợp với từng loại ứng dụng Trong số đó, mã hóa khối (block ciphering) là những thuật toán mã hóa đối xứng hoạt động trên những khối thông tin có độ dài xác định qua những phép chuyển đổi xác định Nội dung nghiên cứu của luận văn sẽ chỉ hạn chế trong lĩnh vực mã khối, một phần do tính khả dụng của nó trong lĩnh vực thông tin vô tuyến điện, an ninh mạng và giao dịch điện tử nói chung là rất đáng quan tâm, phần khác, do sự hạn chế khuôn khổ nghiên cứu của một luận văn tiến sĩ mà tác giả không dám đặt ra một phạm vi nghiên cứu rộng hơn
Ngược lại với mã hóa, thám mã là công việc nhằm tìm ra khóa bí mật với mục đích cuối cùng là “đọc được” các nội dung bản rõ được
mã hoá bởi các giải thuật mã hóa nói chung Mục đích của nghiên
cứu thám mã nói chung và thám mã khối nói riêng nhằm kiểm chứng
các phương pháp mã hoá khác nhau cho các ứng dụng cụ thể và giúp lấy được các thông tin mật với một mục đích nhất định
Trên thực tế, việc thám mã thành công là rất khó khăn và đã có rất nhiều phương pháp thám mã được đề cập, trong số đó khá phổ biến là việc sử dụng giải thuật vét cạn không gian khóa Tuy nhiên
để hiện thực hoá giải thuật vét cạn ta cần giải quyết 2 vấn đề đặt ra :
c Xây dựng các máy tính có tốc độ tính toán cao hay còn gọi là Siêu máy tính (SMT)
d Tìm kiếm và hoàn thiện các giải thuật và quy trình thám mã (gọi chung là thám mã) với mục đích khai thác tối đa khả năng tính toán của SMT, nhằm thám mã với thời gian ngắn nhất và chất lượng cao nhất
Trong phạm vi của một luận văn tiến sỹ chuyên ngành Điện tử, với sự giúp đỡ của tập thể giáo viên hướng dẫn và các nhà khoa học khác, tác giả tự đặt cho mình nhiệm vụ trọng tâm là nghiên cứu các
Trang 4giải pháp kỹ thuật hỗ trợ thám mã các bản mã với gốc (bản rõ) là các văn bản thông thường (trong phạm vi bảng mã ASCII) của ba ngôn ngữ : Tiếng Anh, tiếng Nga và tiếng Việt được mã hóa theo một số chuẩn mã hóa khối (DES, AES128, AES192, AES256, IDEA) và có khả năng mở rộng
Nội dung nghiên cứu cụ thể bao gồm :
− Tổng quan về kỹ thuật thám mã khối Phương pháp tiếp cận;
− Tiêu chuẩn bản rõ (TCBR) và các phương pháp tự động dừng quá trình thám mã vét cạn khi có nhiều tiến trình;
− Xây dựng một mô hình máy tính song song (MTSS) cho mục đích giải mã khối và tổ chức quá trình thám mã khối trên máy này, bao gồm cả phương pháp sinh khoá cho các tiến trình
Với mục tiêu trên luận án bao gồm phần mở đầu, 3 chương, phần kết luận và phụ lục Nội dung các chương như sau :
Chương 1 trình bày tổng quan về bài toán thám mã khối và các nhiệm vụ nghiên cứu đặt ra nhằm thực hiện thám mã các khối văn bản được mã hóa theo một số chuẩn mã hóa khối phổ biến
Chương 2 nghiên cứu cơ sở lý thuyết và tính toán các tiêu chuẩn bản rõ (1, 2, 3, 4 và 5 chiều) cho ba ngôn ngữ tiếng Anh, tiếng Nga
và tiếng Việt Đồng thời ứng dụng các tiêu chuẩn bản rõ tự xây dựng này cho một số giải thuật thám mã khối chuẩn (DES, IDEA và AES) với các kỹ thuật rút gọn không gian khóa cần thử, cũng như các phương pháp tự động dừng quá trình giải mã khi có nhiều tiến trình Nội dung chương được thể hiện trong các bài báo [2], [3] và [4] Chương 3 xây dựng máy tính song song (MTSS) và tổ chức quá trình thám mã khối trên MTSS tự xây dựng, cùng một số kết quả thử nghiệm cũng như các nghiên cứu hình thành bộ công cụ sinh khóa (cấp, theo dõi và quản lý khóa) nhằm tận dụng nguồn lực tính toán Nội dung chương được thể hiện trong các bài báo [1] và [3]
CHƯƠNG I TỔNG QUAN VỀ BÀI TOÁN THÁM MÃ KHỐI
VÀ CÁC NHIỆM VỤ NGHIÊN CỨU ĐẶT RA
1.1 Tổng quan về các loại mật mã đối xứng và ứng dụng
Mật mã khối và mật mã dòng là 2 loại phổ biến trong các mật mã
Trang 5đối xứng Trong đó Mật mã khối [35], [56] (đối tượng nghiên cứu của luận án) là là loại mật mã thực hiện trên các khối thông tin có độ
dài xác định (ký hiệu là n) Tính đến trước những năm giữa của thập
kỷ 1990 thì độ dài 64 bít thường được sử dụng, sau đó khối 128 bít được dùng rộng rãi hơn nhờ sự tiến bộ của kỹ thuật máy tính, và nhờ thế độ mật được cải thiện đáng kể Trong các chế độ (mode) mã hóa khối để xử lý trường hợp độ dài văn bản lớn hơn 1 khối, người ta thường phải bổ sung thêm một số bít để văn bản chứa số nguyên lần
các khối Độ dài thông thường của khóa K là 40, 56, 64, 80, 128, 192
và 256 bít Năm 2006 độ dài tối thiểu của khóa là 80 bít với hy vọng
nó có thể chống lại tấn công vét cạn bằng các kỹ thuật tính toán có được tại thời điểm này
Hình 1.2 Quy trình tổng thể mã/giải mã với chế độ mã hóa ECB
Các giải thuật mã/giải mã khối khá đơn giản và là hàm ngược của nhau Hai quy trình này được thể hiện trên hình 1.2 như thí dụ cho trường hợp chế độ mã hoá ECB Do tính đơn giản và độ bảo mật dựa trên độ dài khóa nên mã hóa khối được ứng dụng rộng rãi cả
I < N
Khóa K
Bản mã[I]
Hàm giải mã các khối mã
Trang 6trong phần cứng lẫn phần mềm Các thống kê từ [70] cho thấy có trên 50 loại mật mã khối đang thịnh hành Con số đó cũng nói lên tầm quan trọng của mã khối trong kỹ thuật mã hóa và thám mã nói chung trong các ứng dụng thực tế
1.2 Tổng quan về kỹ thuật thám mã khối
1.2.1 Các phương pháp thám mã khối
Phân tích quá trình thực hiện mã hóa ta có thể phân loại một số phương pháp thám mã khối như sau : (i) Thám mã khối theo phương pháp hộp đen – coi nó như một hộp đen để từ đó tìm kiếm các bản rõ
và khóa mật; (ii) Thám mã khối theo phương pháp đường tắt là các dạng thám mã vi sai [6], [7], [9] cùng các biến thể của nó, thám mã tuyến tính, thám mã vi sai tuyến tính [8] và một vài phương pháp khác; và (iii) Phương pháp thám mã trên kênh biên như tấn công trong khoảng thời gian mã hóa hoặcđo mức tiêu thụ năng lượng của các thiết bị phần cứng Nội dung của luận văn sẽ đi sâu vào phương pháp (i) – thám mã khối theo phương pháp hộp đen
1.2.2 Thám mã khối theo phương pháp hộp đen
Đây là hướng nghiên cứu chính của luận văn Những phương pháp thám mã này bao gồm phương pháp vét cạn để tìm khóa đúng, phương pháp sử dụng các hệ thống phần cứng chuyên dùng để thám
mã các bản mã nhiều lớp, phương pháp thám mã dựa trên sự xung đột của khóa, phương pháp dựa trên việc cân bằng giữa thời gian và
bộ nhớ Tuy nhiên, trong các phương pháp nêu trên nội dung của luận văn cũng chỉ đi sâu vào việc nghiên cứu phương pháp vét cạn để tìm khóa đúng, tức là phương pháp thử khóa, khóa này nối tiếp khóa kia cho đến khi tìm ra một khóa đúng Một đặc tính quan trọng của phương pháp vét cạn là chúng ta có thể thực hiện thám mã song song trên nhiều bộ xử lý hoặc trên các máy được thiết kế chuyên dùng cho mục đích này
Gợi ý cơ bản cho hướng nghiên cứu thám mã vét cạn là “Kiến trúc hệ thống tấn công vét cạn phá vỡ khóa DES” [49] của nhóm Rocke Verser, Matt Curtin, và Justin Dolske thực hiện tháng 5 năm
1998 như được thể hiện trên hình 1.3
Thành phần tham gia tấn công này rất đơn giản gồm 1 mạng
Trang 7LAN tại trung tâm thực hiện tấn công và các máy tính trên Internet Các kết quả được trao đổi thông qua giao thức UDP mở rộng thêm các chức năng kiểm tra vét cạn khóa DES cùng với việc tổ chức các
hệ thống Server ủy quyền U2T (ủy quyền phân phối khóa), T2U (mô phỏng lại giao thức Web để vượt qua Firewall) và HTTP (chuyển dữ liệu đến T2U gateway cho các máy sử dụng Firewall ở lớp ứng dụng)
Do là một vấn đề “nhậy cảm” nên các chi tiết kỹ thuật cụ thể và giải thuật thực hiện thám mã của nhóm này đã không được công bố NCS tự đặt cho mình nhiệm vụ cụ thể hoá ý tưởng trên bằng việc đề xuất các giải thuật và tổ chức quá trình thám mã song song trong các chương tiếp theo, nhằm hiện thực hoá quá trình thám mã khối vét cạn trong điều kiện Việt nam
Hình 1.3 Kiến trúc hệ thống tấn công
vét cạn khóa DES
Máy chủ cấp phát khóa
Internet
Tường lửa 28.8 Kbps
LAN KẾT NỐI INTERNET
LAN KẾT NỐI INTERNET CÁC CLIENTS KẾT NỐI
INTERNET THÔNG QUA ISP
LAN CỦA TRUNG TÂM THỰC HIỆN TẤN CÔNG
U2T
Proxy
U2T Proxy
U2T Proxy
Trang 81.2.3 Các nền tảng tính toán phục vụ thám mã khối theo phương pháp hộp đen
Các nền tảng phần cứng có thể lựa chọn là máy tính song song
và mạng, tính toán lưới hoặc phương án sử dụng phần cứng chuyên dụng Tuy nhiên việc xây dựng máy tính song song chi phí thấp (bó máy tính) là phương án khả thi và hiệu quả trong điều kiện Việt nam
Nó đảm bảo tính dễ thực thi cũng như đầu tư kinh phí ban đầu không lớn để triển khai
1.3 Một số kết luận và đề xuất các nội dung cần nghiên cứu
1.3.1 Một số kết luận
Một số kết luận quan trọng của chương I bao gồm :
c Qua các chuẩn mã hoá hiện đại ta thấy độ an toàn của các thông tin mã hóa vẫn luôn dựa vào độ dài của khóa mã và độ phức tạp của giải thuật mã hoá Hai biện pháp này luôn song hành nhằm hạn chế tối đa khả năng thám mã của con người dựa trên các nỗ lực thông thường trong một khoảng thời gian hữu hạn có ý nghĩa thực tế
d Cùng với sự phát triển của các chuẩn mã hóa là sự gia tăng không ngừng của các nỗ lực thám mã Nhiều nghiên cứu thám mã dẫu còn mang nặng tính lý thuyết, vẫn chứng minh được khả năng hiện thực hoá khi được tiến hành trên các công cụ phù hợp trong những trường hợp và ngữ cảnh nhất định
e Hệ thống tấn công vét cạn thành công đối với chuẩn mã hóa DES [49] cho thấy có thể thực hiện việc thám mã dựa trên các mạng LAN chuyên biệt, hoặc các mạng máy tính lưới xuyên quốc gia và thậm chí trên toàn bộ mạng Internet Tuy nhiên chi tiết kỹ thuật và các giải thuật quan trọng bổ sung để thực hiện thám mã thành công
đã không được công bố
f Trong số nhiều phương pháp thám mã, thực tế và hiệu quả nhất vẫn là phương pháp vét cạn kết hợp với các biện pháp thu hẹp không gian khóa dựa trên các biện pháp kỹ thuật và phi kỹ thuật Việc nghiên cứu để hiện thực hoá và xây dựng các công cụ thám mã theo hướng này là rất cần thiết và quan trọng
1.3.2 Đề xuất các nội dung nghiên cứu của luận án
Qua các kết luận ở trên ta nhận thấy một số vấn đề sau cần giải
Trang 9quyết cụ thể trong kỹ thuật thám mã vét cạn (còn gọi là thám mã kiểu hộp đen):
1- Xây dựng một số tiêu chuẩn bản rõ nhận dạng ngôn ngữ
văn bản, nhằm ứng dụng vào việc tự động nhận dạng khóa đúng
(gián tiếp thông qua bản rõ “đúng”) để kết thúc một tiến trình giải
mã Trước mắt, tiêu chuẩn này được xây dựng cho ba ngôn ngữ : Tiếng Anh, tiếng Việt (mã UNICODE) và tiếng Nga (mã UNICODE) Trên cơ sở phương pháp xây dựng các tiêu chuẩn bản
rõ này sẽ tìm cách nhân rộng mô hình cho các ngôn ngữ khác
2- Tổ chức quá trình tính toán song song thực hiện thám mã
khối theo phương pháp hộp đen trên “siêu máy tính” (SMT) sử dụng
hệ điều hành Linux Các nghiên cứu này có thể mở rộng trong tương lai
3- Nghiên cứu xây dựng các công cụ sinh khóa (cấp phát, quản
lý, kiểm tra, kiểm soát khóa) phục vụ thám mã vét cạn nhờ SMT với một không gian khóa ℜ được định nghĩa trước
Các giả thuyết sau được NCS áp dụng: (i) Hạn chế chỉ nghiên cứu thám mã các bản mã mà đầu vào là các văn bản tường minh (dạng ASCII) của ba ngôn ngữ Anh, Nga, Việt; (ii) Giả định giải thuật mã/giải mã nằm trong số các chuẩn DES, IDEA, AES128, AES192 và AES256, tuy vẫn xem xét khả năng mở rộng trong các nghiên cứu tiếp theo và (iii) Hạn chế thám mã cho một chế độ mã hóa điển hình – chế độ mã hóa cơ bản ECB (Electronic Codebook) Các giả thiết này tạo thuận lợi cho NCS tập trung vào những vấn
đề cốt lõi của nội dung nghiên cứu, tuy không làm mất đi tính tổng quát và khả năng mở rộng sau này
CHƯƠNG II XÂY DỰNG MÔ HÌNH THỐNG KÊ VÀ
TIÊU CHUẨN NHẬN DẠNG BẢN RÕ
2.1 Vai trò và phương pháp xây dựng tiêu chuẩn bản rõ
2.1.1 Vai trò của tiêu chuẩn bản rõ
Với một không gian khóa lớn nếu việc nhận dạng bản rõ thực hiện thủ công trong quá trình thám mã vét cạn sẽ hoàn toàn không khả thi do vượt quá khả năng của con người và phương tiện Do vậy vấn đề xây dựng các tiêu chuẩn bản rõ (TCBR) nhận dạng ngôn ngữ
Trang 10và sử dụng nó như một mô đun tự động trong quá trình thám mã là hết sức cần thiết
2.1.2 Các phương pháp xây dựng tiêu chuẩn bản rõ
Có nhiều phương pháp đã được các nhà nghiên cứu đề xuất như TCBR từ điển hoặc TCBR dùng từ giả định Tuy nhiên những TCBR này đều có những hạn chế như : Tốc độ nhận dạng bản rõ chậm, Kết quả nhiều khi thiếu chính xác hoặc không thám mã được; Từ đây đòi hỏi ta cần nghiên cứu một TCBR tốt hơn, hiệu quả hơn
2.2 Mô hình thống kê cho bản rõ
2.2.1 Mô hình Markov cho văn bản
Nếu đọc một văn bản từ chữ đầu đến chữ cuối nhiều nghiên cứu chỉ ra rằng có thể coi đó như một quá trình Markov chuyển từ trạng thái này sang trạng thái kia mà xác suất chuyển trạng thái của chúng phụ thuộc vào đặc tính của ngôn ngữ Nói cách khác, ngôn ngữ viết được mô hình hóa bằng tập các trạng thái của xích Markov và ma trận xác suất chuyển trạng thái giữa chúng Như vậy, chúng ta có thể dựa vào mô hình Markov này để giải quyết bài toán ngược lại là nhận dạng ngôn ngữ cho các văn bản cụ thể
Một mô hình Markov được định nghĩa gồm một bộ năm thành phần (m, A, {Yt} t∈T, P, r) Trong đó : m là số các trạng thái của xích, A là không gian các trạng thái, {Yt} t∈T là quá trình ngẫu nhiên dừng với T ⊂ Z = { 0, ±1, ±2, }, P là ma trận các xác suất chuyển trạng thái , r là cấp của xích Markov
2.2.2 Cơ sở toán học để xây dựng tiêu chuẩn bản rõ
Các nghiên cứu xây dựng TCBR trong luận án dựa trên các ước lượng thống kê và kiểm định các giả thiết thống kê
Ước lượng thống kê Với mẫu ngôn ngữ X = x1x2 xn cần nhận dạng xem nó đọc được hay không ta sử dụng hai giả thiết đối nghịch nhau H0 và H1 được phát biểu như sau :
− H0 : Mẫu ký tự X đang xét là mẫu ký tự đọc được (bản rõ)
− H1 : Mẫu X là mẫu không đọc được (bản mã)
Ta ký hiệu : P(X/H 0) là ma trận tham số mật độ xác suất tương ứng với giả thiết H0 đúng mà ta cần ước lượng và P(X/H 1) là ma trận tham số mật độ xác suất tương ứng với đối thiết H1 đúng được phân
Trang 11bố ngẫu nhiên
Quá trình ước lượng các tham số được thực hiện trên cơ sở xây
dựng mẫu văn bản, tính tần suất xuất hiện các ký tự đơn, tần suất bộ
đôi, bộ ba móc xích, … Tức là thực hiện việc ước lượng các tham số
cho các ma trận P(X/H 0 ) và P(X/H 1) Trên cơ sở của hai ma trận tham
số này ta tiến hành việc kiểm định các giả thiết thống kê
Kiểm định các giả thiết thống kê Thực chất là việc xem xét xem
mẫu X gần với H0 hay H1 Cụ thể nếu P(X/H 1 ) ≥ P(X/H 0 ) mẫu X
thuộc lớp bản mã (không đọc được), ngược lại X thuộc lớp bản rõ
(đọc được) Như vậy ∀ ký tự i thuộc mẫu X quan hệ trên thể hiện
bằng hàm thống kê [19] như sau:
) / (
) / ( ) (
0
1
H X P
H X P X T
i
i
Nói cách khác nếu T(X i ) ≥ 1, X i thuộc bản mã, ngược lại X i thuộc
bản rõ Cũng vậy, nếu k là một số nguyên dương ≥ 1, ta xét :
) / ( log )
( log
10
H X P
H X P k X T k
X
T
i
i i
và nếu T(X i)≥ 0, X i thuộc lớp bản mã, ngược lại X i thuộc bản rõ
Ước lượng (2.2) là ước lượng cơ bản dùng để tính các TCBR
Trong đó f i là tần suất xuất hiện của các chữ cái thứ i trong văn
bản mẫu; n i là tổng số các ký tự tương ứng với chữ cái thứ i trong
bảng chữ cái xuất hiện trong văn bản mẫu; N là độ dài văn bản mẫu
Các tham số tính toán TCBR 2 chiều cho ngôn ngữ với m ký tự :
− Tương tự như trong mô hình Markov cấp 0 ta có :
m
m m
m
m m
m H
X
/1
/1/1
/1/1
/1
/1/1]
/
− Các phần tử Pˆ ij(1 ≤ i, j ≤ m) của ma trận mật độ phân bố xác
Trang 12suất P[X/H 0]mxm các bộ đôi ký tự móc xích trong văn bản
mẫu (gồm N từ) được ước lượng như sau [19]:
mC
C n P
N k k
Trong đó N là độ dài văn bản mẫu, X k (i, j) = 1 nếu cặp ký tự
thứ (i, j) xuất hiện tại vị trí thứ k; ngược lại X k (i, j) = 0
− m là hằng số thể hiện số các chữ cái của ngôn ngữ, C = 1/m
là hằng số san bằng, ηi có giá trị bằng tổng số các giá trị tần
suất xuất hiện của bộ đôi chữ cái bắt đầu bằng chữ cái thứ i
kết hợp với toàn bộ bảng chữ cái của ngôn ngữ Do vậy công
m n P
)/(log6)(log
)
(
0
1 10
H X P X
T k
X
T
i
i i
2.2.3 Bảng mã ngôn ngữ và cách loại trừ những yếu tố ảnh
hưởng tới các tiêu chuẩn bản rõ
Giả thuyết của luận án là xây dựng các tiêu chuẩn bản rõ dựa
trên bảng mã UNICODE (dựng sẵn) Khảo sát bảng mã của 3 ngôn
ngữ tiếng Anh, tiếng Nga và tiếng Việt NCS nhận thấy:
- Mã các chữ cái tiếng Anh là 1 byte, mã các chữ hoa luôn nhỏ
hơn mã các chữ thường một giá trị là 0x20 (viết theo hệ cơ số 16);
- Mã các chữ cái tiếng Nga gồm 2 bytes, trong đó byte thứ 2 luôn
là 0x4, byte đầu là mã chữ cái trong bảng mã tiếng Nga và mã các
chữ hoa luôn nhỏ hơn mã các chữ thường một giá trị là 0x20 ngoại
trừ chữ Ё và ё sẽ là 0x50;
Trang 13- Mã các chữ cái tiếng Việt gồm 2 bytes, được chia thành 04 nhóm Nhóm 1 (22 chữ cái) là các chữ cái la tinh (byte 2 bằng 0x0, byte 1 có giá trị như mã chữ cái tiếng Anh), nhóm 2 có byte 2 bằng 0x0 và byte 1 là một số chữ cái tiếng Việt (16) mã chữ hoa nhỏ hơn
mã chữ thường 0x20 Các nhóm 3 (6 chữ cái) và nhóm 4 (45 chữ cái)
có bytes thứ 2 lần lượt là là 0x1 và 0x1E với mã chữ hoa luôn nhỏ hơn mã các chữ thường một giá trị là 0x1
Từ đây NCS ánh xạ mã giả định của các ngôn ngữ về thành 1 byte có giá trị xắp xếp theo chỉ số trong bảng chữ cái (từ 0 đến m-1,
m là số chữ cái) Trên cơ sở đó loại bỏ tất cả các mã không thích hợp trong văn bản mẫu đầu vào dùng cho việc tính tần suất
2.2.4 Nghiên cứu lập văn bản mẫu cho các ngôn ngữ lựa chọn
Việc lập các văn bản mẫu được thực hiện theo nguyên tắc “thể
hiện được nhiều nhất” đặc trưng của ngôn ngữ NCS đã thực hiện
việc thành lập các văn bản mẫu đầu vào như sau :
- Văn bản mẫu tiếng Anh được lấy từ 150 mẫu văn phong đặc trưng của tiếng Anh [http://cm.bell-labs.com/cm/cs/tpop/psalms.txt];
- Văn bản mẫu tiếng Nga và tiếng Việt được thành lập từ các văn bản đăng tải trên Internet và mỗi văn bản đều được thành lập với ít nhất 20 chủ đề khác nhau.Ví dụ nguồn văn bản cho tiếng Việt được lấy từ www.laodong.com.vn
Hình 2.4 Biểu đồ tần suất đơn tiếng Anh
Mầu đậm là tần suất đối với file mẫu PSALMS.TXT
Mầu ít đậm là tần suất đối với file mẫu INPUT1.TXT
Với các văn bản mẫu đầu vào khác nhau ta nhận được các tham