Trình nhận dạng mật mã
Không chắc đang xem loại mật mã nào? Dán đoạn văn bản bí ẩn và công cụ này sẽ phân tích tập ký tự, tần suất chữ cái và chỉ số trùng hợp để xếp hạng những mật mã khả dĩ nhất — rồi đưa bạn thẳng đến bộ giải mã phù hợp. Mọi thứ đều chạy trong trình duyệt của bạn.
Thử một mẫu:
Dán văn bản vào ô trên và những mật mã khả dĩ nhất sẽ hiện ra ở đây, xếp hạng theo độ tin cậy.
Cách sử dụng Trình nhận dạng mật mã
- 1
Dán văn bản bí ẩn của bạn
Sao chép mã hoặc văn bản mã hóa không rõ và dán vào ô. Nó có thể là chữ cái, chấm và gạch Morse, Base64, số, hoặc gần như bất cứ thứ gì.
- 2
Đọc bản tóm tắt phân tích
Xem số ký tự, có bao nhiêu chữ cái, tập ký tự được phát hiện, và chỉ số trùng hợp, vốn gợi ý liệu mật mã đã dùng một bảng chữ hay nhiều bảng.
- 3
Xem lại các phỏng đoán xếp hạng
Những mật mã khả dĩ nhất hiện ra dưới dạng thẻ, sắp xếp theo độ tin cậy từ Rất có thể xuống Khó xảy ra, mỗi thẻ kèm lý do ngắn giải thích tín hiệu đã kích hoạt.
- 4
Mở bộ giải mã phù hợp
Nhấn vào bộ giải mã chuyên dụng cho ứng viên đầu bảng để hoàn tất việc giải mã. Nếu có nhiều gợi ý, hãy thử lần lượt từ đầu danh sách xuống.
- 5
Chia sẻ hoặc xóa
Sao chép một liên kết chia sẻ mở lại công cụ với đúng văn bản của bạn, hoặc xóa ô để bắt đầu lại. Mọi thứ vẫn nằm trong trình duyệt của bạn.
Cách nhận dạng một mật mã không rõ
Trình nhận dạng mật mã là gì?
Trình nhận dạng mật mã là công cụ nhận một đoạn văn bản bí ẩn và cho bạn biết loại mật mã hay mã hóa nào nhiều khả năng đã tạo ra nó. Thay vì đoán mò hoặc lần lượt thử mọi bộ giải mã, bạn chỉ dán văn bản mã hóa một lần và nhận được danh sách ứng viên xếp hạng — Caesar, Vigenère, Base64, Morse, và hơn nữa — mỗi loại kèm mức độ tin cậy và liên kết trực tiếp tới bộ giải mã phù hợp.
Đây là điểm khởi đầu tự nhiên mỗi khi bạn gặp văn bản đã mã hóa mà không được cho biết nó được tạo ra như thế nào: một thử thách capture-the-flag, một manh mối phòng thoát hiểm, một câu đố geocaching, một trò chơi thực tế thay thế, hoặc một mẩu tin mật mã. Biết được họ mật mã giúp thu hẹp hàng chục khả năng xuống còn một hay hai, để bạn có thể ngừng tìm kiếm và bắt đầu giải mã.
Trình nhận dạng mật mã hoạt động thế nào
Trình nhận dạng dùng phân tích mật mã cổ điển, không phải học máy, nên mọi kết luận đều có thể giải thích được. Nó chạy văn bản của bạn qua một loạt kiểm tra, từ rõ ràng nhất đến tinh tế nhất. Đầu tiên nó xét tập ký tự: văn bản chỉ gồm chấm và gạch là Morse, chỉ gồm số không và số một là nhị phân, chỉ gồm chữ số thập lục phân là hex, và bảng chữ Base64 với độ dài là bội số của bốn là Base64. Các chuỗi số nhỏ gợi ý đến hình vuông Polybius, cách đánh số chữ cái A1Z26, hoặc mã ASCII.
Khi văn bản là chữ cái thông thường, công cụ chuyển sang thống kê. Nó đo chỉ số trùng hợp để quyết định xem một bảng chữ đã được dùng (đơn bảng chữ) hay nhiều bảng (đa bảng chữ), rồi chạy kiểm tra phép dịch Caesar và kiểm tra Atbash bằng cách tính điểm chi bình phương so với tần suất chữ cái tiếng Anh. Sự kết hợp giữa tập ký tự, hồ sơ tần suất, và các manh mối cấu trúc như độ dài và mẫu lặp lại tạo nên danh sách xếp hạng mà bạn thấy.
Chỉ số trùng hợp, giải thích cặn kẽ
Chỉ số trùng hợp, hay IoC, đo khả năng hai chữ cái lấy ngẫu nhiên từ văn bản là giống nhau. Văn bản tiếng Anh thông thường có IoC khoảng 0.067 vì một số chữ cái, như E và T, phổ biến hơn nhiều so với những chữ khác. Văn bản hoàn toàn ngẫu nhiên nằm gần 0.038, nơi mọi chữ cái đều có khả năng xuất hiện như nhau.
Con số duy nhất này là manh mối hữu ích nhất cho các mật mã dựa trên chữ cái. Mật mã Caesar, Atbash và thay thế bằng từ khóa chỉ đổi một chữ cái lấy một chữ khác, nên hồ sơ tần suất gồ ghề của tiếng Anh được giữ nguyên và IoC vẫn cao, gần 0.066. Các mật mã đa bảng chữ như Vigenère dùng nhiều bảng chữ cùng lúc, làm phẳng tần suất và kéo IoC xuống gần 0.04. Vậy nên IoC cao nói lên đơn bảng chữ, IoC thấp nói lên đa bảng chữ, còn giá trị ở giữa là gợi ý nên thử cả hai.
Đọc các manh mối từ tập ký tự
Nhiều cách mã hóa tự lộ diện chỉ qua bảng chữ của chúng. Mã Morse chỉ dùng chấm, gạch và dấu phân cách. Nhị phân chỉ dùng chữ số 0 và 1, thường thành nhóm tám. Thập lục phân dùng chữ số 0 đến 9 và chữ cái A đến F, với số lượng ký tự chẵn. Base64 dùng chữ cái hoa và thường, chữ số, dấu cộng và dấu gạch chéo, thường kết thúc bằng một hoặc hai dấu bằng làm đệm, với tổng độ dài là bội số của bốn.
Các con số mang ý nghĩa riêng. Cặp chữ số từ 1 đến 5 là tọa độ của một hình vuông Polybius. Các số đều nằm trong khoảng 1 đến 26 nhiều khả năng là A1Z26, trong đó 1 là A và 26 là Z. Các số lớn hơn trong khoảng 32 đến 126 là mã ký tự ASCII thập phân. Văn bản chỉ tạo từ các chữ cái A, D, F, G, V và X là dấu hiệu không thể nhầm lẫn của mật mã chiến trường ADFGX hoặc ADFGVX dùng trong Thế chiến thứ nhất.
Mật mã đơn bảng chữ so với đa bảng chữ
Nếu văn bản là chữ cái và IoC cao, gần như chắc chắn bạn đang nhìn một mật mã đơn bảng chữ, trong đó mỗi chữ cái rõ luôn ánh xạ tới cùng một chữ cái mã hóa. Đơn giản nhất là mật mã Caesar, dịch mọi chữ cái đi cùng một lượng; trình nhận dạng xác nhận điều đó khi đúng một phép dịch biến văn bản thành tiếng Anh. Atbash là trường hợp đặc biệt đảo ngược bảng chữ để A trở thành Z. Nếu cả phép dịch lẫn phép đảo đều không hiệu quả mà IoC vẫn cao, thì đó là thay thế tổng quát bằng từ khóa hoặc affine, cần một bộ giải thay thế.
Nếu IoC thấp, mật mã dùng nhiều hơn một bảng chữ. Ví dụ kinh điển là Vigenère, áp dụng một từ khóa lặp lại để mỗi vị trí có thể dùng một phép dịch khác nhau; họ hàng của nó gồm Beaufort, Gronsfeld và Porta. Một manh mối riêng, độ dài chẵn không có chữ cái lặp trong từng cặp, lại chỉ tới một mật mã đa đồ như Playfair, vốn mã hóa hai chữ cái một lúc.
Cần làm gì sau khi nhận dạng được mật mã
Nhận dạng chỉ là bước đầu tiên. Mỗi ứng viên trong kết quả liên kết tới bộ giải mã chuyên dụng cho mật mã đó, nơi bạn có thể hoàn tất công việc. Với mật mã Caesar, bộ giải mã có thể thử vét cạn cả 25 phép dịch và chọn ra phép tốt nhất bằng phân tích tần suất. Với Base64, Morse, nhị phân hay hex, bộ chuyển đổi phù hợp biến mã thẳng lại thành văn bản. Với Vigenère và các mật mã thay thế, bạn thường cần khóa hoặc một bộ giải, nhưng biết được họ mật mã sẽ cho bạn biết chính xác nên dùng kỹ thuật nào.
Khi xuất hiện nhiều ứng viên, hãy làm từ trên xuống bắt đầu với ứng viên đáng tin nhất. Trình nhận dạng cố ý đưa ra nhiều hơn một khả năng khi bằng chứng còn mơ hồ, vì một thông điệp ngắn hiếm khi cho câu trả lời dứt khoát. Thử bộ giải mã đầu danh sách hầu như luôn xác nhận hoặc loại trừ phỏng đoán chỉ trong vài giây.
Những giới hạn cần ghi nhớ
Không trình nhận dạng tự động nào là hoàn hảo. Các thông điệp rất ngắn không chứa đủ chữ cái để thống kê đáng tin cậy, nên một mẫu năm chữ cái có thể mơ hồ ngay cả khi một đoạn văn sẽ rõ ràng. Các thông điệp được mã hóa qua nhiều lớp, chẳng hạn một mật mã Caesar rồi chuyển sang Base64, ban đầu chỉ lộ ra lớp ngoài cùng; hãy giải nó rồi chạy lại trình nhận dạng trên kết quả.
Công cụ tập trung vào các mật mã cổ điển và các cách mã hóa thông dụng, những họ thường xuất hiện trong câu đố, trò chơi và lịch sử. Nó không cố nhận dạng mật mã hiện đại như AES hay RSA, vốn được thiết kế để đầu ra trông hoàn toàn ngẫu nhiên và không mang cấu trúc nhận dạng nào. Hãy coi kết quả là những gợi ý chuyên môn chỉ bạn tới bộ giải mã phù hợp, chứ không phải một phán quyết bảo đảm.
Câu hỏi thường gặp
Trình nhận dạng mật mã là gì?
Làm sao nó biết đó là mật mã gì?
Chỉ số trùng hợp là gì?
Nó có nhận dạng được mọi mật mã không?
Tại sao nó gợi ý nhiều hơn một mật mã?
Nó báo văn bản của tôi là văn bản thường. Điều đó nghĩa là gì?
Công cụ có giải mã thông điệp luôn không?
Văn bản của tôi có được tải lên máy chủ không?
Nó có thể phát hiện những mật mã và cách mã hóa nào?
Tại sao nó không thể nhận dạng các thông điệp rất ngắn?
Làm sao tôi nhận dạng một mật mã bằng tay?
Khác biệt giữa một mật mã và một cách mã hóa là gì?
Công cụ liên quan
Tiếp tục với những công cụ hữu ích này