Công Cụ Nhận Dạng Mật Mã
Dán một thông điệp bí ẩn và công cụ sẽ đo lường: nó dùng những ký tự nào, các chữ cái được nhóm thế nào, chỉ số trùng khớp, các cặp chữ cái giống tiếng Anh đến mức nào, và có xuất hiện độ dài khóa lặp lại hay không — rồi xếp hạng các họ mật mã phù hợp, kèm lý do và liên kết tới công cụ giải cho mỗi họ. Công cụ cho biết nó chắc chắn đến đâu; nó không giả vờ giải mã. Miễn phí, không cần đăng ký.
Dán văn bản mật mã, số hoặc ký hiệu. Khoảng trắng và ngắt dòng đều được. Vài trăm chữ cái cho phỏng đoán tốt hơn nhiều so với vài từ. Không có gì rời khỏi trình duyệt của bạn.
Nhiều khả năng nhất, theo thứ tự
Đây là các phỏng đoán từ phép đo đơn giản, không phải bằng chứng. Tín hiệu mạnh nghĩa là bằng chứng khớp với họ đó và rất ít họ khác; hãy thử công cụ được liên kết để xác nhận.
Mật mã khóa lặp
Tín hiệu mạnhNhiều bảng chữ cái đã dịch được dùng luân phiên, như trong các mật mã Vigenère, Beaufort và Porta. Độ dài khóa là điều đầu tiên cần tìm.
- Chỉ số trùng khớp là 0,0389, nằm giữa tiếng Anh (khoảng 0,067) và chữ cái ngẫu nhiên (khoảng 0,038), như khi nhiều bảng chữ cái được trộn.
- Chia các chữ cái vào 5 cột cho các cột có chỉ số trùng khớp trung bình là 0,0598, gần với tiếng Anh, như thể mỗi cột là một bảng chữ cái đã dịch.
Các số đo
| Số đo | Giá trị | Nên so sánh với |
|---|---|---|
| Chữ cái A–Z | 231 | |
| Ký tự khác (không tính khoảng trắng) | 0 | |
| Số chữ cái khác nhau được dùng | 26 | |
| Chỉ số trùng khớp | 0,0389 | Tiếng Anh khoảng 0,067; chữ cái ngẫu nhiên khoảng 0,038; thay thế đơn giản hoặc hoán vị giữ giá trị của tiếng Anh. |
| Điểm cặp chữ cái tiếng Anh | 0,08 | Tiếng Anh thông thường thường đạt 0,6 trở lên; văn bản bị xáo trộn hoặc mã hóa thấp hơn nhiều. |
| Khoảng cách tần suất chữ cái so với tiếng Anh | 5,47 | Dưới khoảng 0,6 nghĩa là các chữ cái nằm đúng chỗ tiếng Anh đặt chúng; cao hơn nhiều nghĩa là chúng đã bị thay. |
| Các độ dài khóa lặp tốt nhất | 10 (chỉ số 0,062); 5 (chỉ số 0,0598); 7 (chỉ số 0,0409) | Chỉ số trùng khớp trung bình khi văn bản được chia thành số cột đó; gần 0,067 gợi ý độ dài khóa. |
Cách Sử Dụng Công Cụ Nhận Dạng Mật Mã
- 1. Dán văn bản. Khoảng trắng, ngắt dòng và chữ hoa đều được. Các mẫu phía trên kết quả cho thấy dịch chuyển Caesar, khóa lặp, thay thế và hoán vị.
- 2. Đọc bảng xếp hạng. Mỗi họ có một mức — tín hiệu mạnh, có thể hoặc gợi ý yếu — và các lý do đưa nó tới mức đó, như chỉ số trùng khớp hoặc độ dài khóa lặp lại.
- 3. Mở công cụ giải. Mỗi kết quả liên kết tới các công cụ làm việc với họ đó. Các công cụ Caesar, affine và hàng rào có thể thử mọi khóa; mật mã có khóa cần một từ đoán trước hoặc nhiều văn bản hơn.
- 4. Kiểm tra các số đo. Bảng ở cuối liệt kê mọi số mà phỏng đoán dựa vào, kèm các giá trị để so sánh.
Công Cụ Đo Những Gì
Không có phép thử đơn lẻ nào gọi tên được một mật mã, nhưng một số phép thử rẻ tiền có thể thu hẹp phạm vi nhanh chóng. Đầu tiên là bộ ký tự. Dấu chấm và gạch là Morse, một dãy 0 và 1 theo nhóm tám là nhị phân, các cặp chữ số từ 1 đến 5 là ô vuông Polybius, một dãy số khoảng từ 20 đến 110 có thể là mật mã Nihilist, và một đoạn chỉ gồm A, D, F, G, V và X là mật mã ADFGVX. Khi văn bản là chữ cái, phần thống kê sẽ đảm nhiệm.
| Số đo | Nó cho bạn biết điều gì |
|---|---|
| Chỉ số trùng khớp | Xác suất hai chữ cái chọn ngẫu nhiên trùng nhau. Tiếng Anh cho khoảng 0,067 và chữ cái ngẫu nhiên khoảng 0,038. Thay thế và hoán vị giữ nguyên giá trị tiếng Anh; trộn nhiều bảng chữ cái kéo nó về phía ngẫu nhiên. |
| Cặp chữ cái tiếng Anh | Văn bản có bao nhiêu cặp và bộ ba thông dụng (TH, HE, ING). Tiếng Anh thường có điểm cao; một bản đã dịch chuyển hoặc xáo trộn có điểm thấp. Công cụ thử mọi dịch chuyển Caesar, Atbash và các khóa affine, và báo bất kỳ khóa nào đọc ra tiếng Anh. |
| Khoảng cách tần suất chữ cái | Tần suất chữ cái lệch bao xa so với tiếng Anh. Gần nghĩa là các chữ cái vẫn ở đúng chỗ và chỉ thứ tự thay đổi (hoán vị); xa mà chỉ số trùng khớp cao nghĩa là chúng đã bị thay thế. |
| Chỉ số trùng khớp theo cột | Chia các chữ cái vào 2, 3, 4 … cột và lấy trung bình chỉ số trùng khớp của từng cột. Nếu một độ dài làm nó nhảy lên mức tiếng Anh, đó là độ dài của khóa lặp, như trong mật mã Vigenère. |
| Nhóm lặp lại (Kasiski) | Khoảng cách giữa các nhóm ba chữ cái lặp lại có xu hướng là bội số của độ dài khóa. |
| Cặp chữ cái đôi | Playfair không bao giờ tạo ra một cặp chữ cái giống nhau, nên một văn bản dài, độ dài chẵn mà không có cặp nào thì gợi ý một mật mã cặp chữ cái. |
Đọc Một Ví Dụ
Mẫu Khóa lặp là một văn bản 231 chữ cái. Chỉ số trùng khớp của nó là 0,0389, gần bằng của chữ cái ngẫu nhiên, nên nó không phải thay thế đơn giản hay hoán vị, vì cả hai sẽ ở gần 0,067. Chia nó thành năm cột đưa trung bình trở lại 0,0598, và mười cột, là bội số của năm, cho giá trị tương tự. Công cụ lấy độ dài nhỏ hơn, 5, và liệt kê các mật mã Vigenère, Beaufort và Porta, đều dùng khóa lặp. Đó là bước mà người phá mã thực hiện trước khi tấn công từng cột như một dịch chuyển Caesar.
Những Giới Hạn Cần Biết
- Văn bản ngắn không đáng tin. Dưới khoảng 40 chữ cái, các thống kê là nhiễu, nên mọi phỏng đoán thống kê bị giới hạn ở mức có thể. Một văn bản 200 chữ cái cho bằng chứng tốt hơn nhiều so với 20 chữ cái.
- Mật mã kết hợp che giấu. Nếu một thông điệp bị thay thế rồi hoán vị, hoặc được mã hóa hai lần, các thống kê không mô tả được bước nào. Công cụ chỉ tìm các mật mã cổ điển đơn lẻ.
- Kết quả phẳng không phải là phán quyết. Văn bản trông ngẫu nhiên phù hợp như nhau với autokey, Bifid hay Trifid, một máy rotor như Enigma, một bảng khóa dùng một lần và mã hóa hiện đại. Không có gì ở đây có thể phân biệt chúng.
- Các quy tắc do con người đặt ra. Đây là một tập quy tắc dựa trên các phép thử phân tích mật mã cổ điển tiêu chuẩn, được hiệu chỉnh trên các văn bản 100–400 chữ cái, không phải một mô hình được huấn luyện. Công cụ không hiển thị xác suất vì các quy tắc không thể chống đỡ chúng.
Câu Hỏi Thường Gặp
- Làm thế nào để nhận dạng một mật mã?
- Bắt đầu với ký tự: chữ cái, chữ số, ký hiệu, hay dấu chấm và gạch, đều thu hẹp phạm vi ngay lập tức. Với chữ cái, so sánh chỉ số trùng khớp với 0,067 (tiếng Anh) và 0,038 (ngẫu nhiên), kiểm tra xem một dịch chuyển có đọc ra tiếng Anh không, và tìm độ dài khóa lặp. Công cụ này chạy các kiểm tra đó và xếp hạng các họ.
- Chỉ số trùng khớp là gì?
- Xác suất hai chữ cái lấy ngẫu nhiên từ một văn bản là giống nhau. Nó khoảng 0,067 với tiếng Anh và 1 ÷ 26, tức 0,038, với chữ cái ngẫu nhiên đều. Vì nó bỏ qua việc chữ nào là chữ nào, nó không đổi qua thay thế đơn giản và hoán vị, và đó là lý do nó hữu ích để phân loại mật mã.
- Làm sao phân biệt mật mã thay thế với mật mã hoán vị?
- Cả hai đều giữ chỉ số trùng khớp tiếng Anh. Trong hoán vị, các chữ cái vẫn là chữ gốc, nên E, T và A vẫn là những chữ xuất hiện nhiều nhất. Trong thay thế, hồ sơ tần suất vẫn lệch như vậy nhưng các chữ thường gặp là những chữ khác. Khoảng cách tần suất chữ cái trong bảng cho thấy bạn đang gặp trường hợp nào.
- Làm thế nào để tìm độ dài khóa của mật mã Vigenère?
- Thử từng độ dài n từ 2 trở lên. Chia các chữ cái vào n cột và lấy trung bình chỉ số trùng khớp của các cột. Ở độ dài đúng, hoặc bội số của nó, mỗi cột là một bảng chữ cái đã dịch Caesar và trung bình nhảy về 0,067. Các nhóm ba chữ cái lặp lại cách nhau bằng bội số của n (phép thử Kasiski) hỗ trợ kết luận này.
- Vì sao công cụ nói văn bản quá ngắn?
- Với ít hơn khoảng 40 chữ cái, số lượng chữ cái dao động quá nhiều do may rủi để phân biệt tiếng Anh với ngẫu nhiên, hoặc dịch chuyển với thay thế. Công cụ vẫn đưa ra phỏng đoán tốt nhất, nhưng đánh dấu nó không mạnh hơn mức có thể.
- Công cụ này có thể phá hoặc giải mã mật mã của tôi không?
- Nó nhận dạng; nó không giải. Khi một dịch chuyển Caesar, Atbash hoặc khóa affine đọc ra tiếng Anh, công cụ hiển thị vài từ đầu của kết quả, và các công cụ giải được liên kết làm phần còn lại. Mật mã có khóa cần khóa, nhiều văn bản hơn hoặc một từ đoán được.