Phân tích tần suất

Trong phân tích mật mã, phép phân tích tần suất là phương pháp thường dùng để phân tích mật mã cổ điển, bằng cách tính tần suất các ký tự hoặc nhóm ký tự trong bản mã và so sánh với tần suất thực tế trong các văn bản thường.

Nguyên lý của phân tích tần suất dựa trên một thực tế là trong mỗi ngôn ngữ, mỗi ký tự trong bảng chữ cái có một tần suất xuất hiện nhất định. Tần suất này càng rõ ràng khi văn bản phân tích càng dài. Ví dụ trong tiếng Anh, E, T, A và O là những chữ cái xuất hiện nhiều nhất, trong khi Z, Q và X lại rất hiếm hoi. Tương tự, ta có TH, ER, ON, và AN là các nhóm ký tự phổ thông nhất, còn SS, EE, TT, và FF là các bộ đôi ký tự lặp xuất hiện nhiều nhất. "ETAOIN SHRDLU" là 12 ký tự có tần suất cao nhất trong một văn bản tiếng Anh thông thường.

Trong một số bản mã, khi một vài đặc trưng ngôn ngữ được tìm thấy, rất có thể nó có thể bị phá vỡ bằng tấn công chỉ từ bản mã.

Phân tích tần suất cho mật mã đơn giản
Lịch sử và ứng dụng
nhỏ|phải| Trang đầu Sổ tay phương pháp giải mã của Al-Kindi

Phương pháp phân tích tần suất được biết đến đầu tiên là trong cuốn Sổ tay phương pháp giải mã của nhà thông thái Ả-rập Al-Kindi vào thế kỷ thứ 9.Ibrahim A. Al-Kadi "The origins of cryptology: The Arab contributions", Cryptologia, 16(2) (April 1992) pp. 97–126. Ông nhận ra rằng trong kinh Koran, mỗi chữ cái Ả rập đều có một tần suất xác định, điều tương tự cũng xảy ra trong các ngôn ngữ khác.

Trong văn học
 Tham khảo 

 Helen Fouché Gaines, "Cryptanalysis", 1939, Dover. ISBN 0-486-20097-3
 Abraham Sinkov, "Elementary Cryptanalysis: A Mathematical Approach", The Mathematical Association of America, 1966. ISBN 0-88385-622-0.

Liên kết ngoài
 Free tools to analyse texts: Frequency Analysis Tool (with source code) 
 Statistical Distributions of English Text 
 Statistical Distributions of Czech Text
 Free Online Character Frequency Analyzer 
 Character and Syllable frequencies of 33 languages and a portable tool to create frequency and syllable distributions

Thể loại:Phân tích mật mã
Thể loại:Tấn công mật mã