Mật Mã Cổ Điển
Mã hóa/giải mã bằng mười loại mật mã thủ công cổ điển — Caesar, Vigenère, Beaufort, Autokey, Affine, Playfair, Hill, Rail Fence, ô vuông Polybius và Baconian — mỗi loại hiện thành một thẻ riêng với khóa riêng, cập nhật ngay khi gõ. Kèm công cụ bẻ khóa Caesar tự động đoán shift bằng phân tích tần suất chữ cái.
Các bước
- Chọn Mã hóa hoặc Giải mã ở nút chuyển phía trên.
- Gõ hoặc dán văn bản vào ô nhập. Kết quả của cả mười loại mật mã cập nhật ngay lập tức, hiện song song.
- Mỗi thẻ có ô nhập khóa riêng phía trên kết quả — số Shift cho Caesar, Từ khóa cho Vigenère/Beaufort/Autokey/Playfair, a và b cho Affine, bốn số k11/k12/k21/k22 cho Hill, số Rails cho Rail Fence, Từ khóa (tùy chọn) cho Polybius. Baconian không cần khóa.
- Nếu đang ở chế độ Giải mã mà không biết khóa, mở bảng Bẻ khóa Caesar phía trên các thẻ — nó xếp hạng cả 26 khả năng shift theo mức độ giống tần suất chữ cái tiếng Anh thông thường, đoán tốt nhất lên đầu. Bấm vào shift được đoán để nạp thẳng vào thẻ Caesar.
- Bấm Chép trên thẻ bất kỳ để sao chép kết quả, hoặc Đưa vào ô nhập để chuyển kết quả vào ô nhập và đảo chế độ — tiện để kiểm tra khóa có đúng không.
Mẹo
- Mọi thứ chạy ngay trong trình duyệt — không tải lên đâu cả.
- Đây là các mật mã lịch sử, thủ công dùng cho giải đố, học tập, che giấu nhẹ — không phải mã hóa bảo mật thật sự. Muốn bảo vệ dữ liệu thật, dùng
/text-encrypt(AES-256-GCM). - Vigenère, Beaufort, Autokey, Playfair, Hill và Polybius chỉ tác động lên chữ cái — khoảng trắng, số, dấu câu giữ nguyên (riêng Playfair/Hill sẽ lược bỏ mọi ký tự không phải chữ cái vì chúng xử lý theo cặp chữ).
- Affine cần giá trị
anguyên tố cùng nhau với 26 (1, 3, 5, 7, 9, 11, 15, 17, 19, 21, 23 hoặc 25), nếu không mật mã sẽ không thể đảo ngược — thẻ sẽ báo nếu bạn chọn sai. - Hill cần ma trận 2×2 khả nghịch theo mod 26 — hầu hết số nguyên nhỏ đều được; thẻ sẽ báo nếu ma trận không hợp lệ.
- Playfair gộp I/J thành một chữ và chèn ký tự đệm cho chữ đôi hoặc bản tin lẻ độ dài, nên giải mã không phải lúc nào cũng khôi phục đúng chính tả ban đầu — đây là đặc tính vốn có của mật mã thật, không phải lỗi.
- Baconian dùng biến thể cổ điển 24 chữ (I=J, U=V dùng chung mã), nên khi giải mã không phải lúc nào cũng phân biệt được chữ nào trong cặp.
- Bẻ khóa Caesar hoạt động tốt nhất với văn bản tiếng Anh dài — vài ký tự thì không đủ dữ liệu để phân tích tần suất đáng tin.
Câu hỏi thường gặp
Vigenère và Beaufort khác nhau chỗ nào?
Vigenère cộng khóa vào bản gốc (C = P + K); Beaufort lấy khóa trừ bản gốc (C = K − P), khiến Beaufort đối xứng — cùng một phép toán vừa mã hóa vừa giải mã với cùng từ khóa.
Autokey là gì và khóa của nó khác Vigenère ra sao?
Autokey chỉ dùng một từ khóa mồi ngắn cho vài chữ đầu, sau đó nối dài luồng khóa bằng chính bản rõ. Cách này tránh được điểm yếu của Vigenère — khóa ngắn lặp lại theo chu kỳ, dễ bị phân tích tần suất phát hiện.
Vì sao Rail Fence hoạt động với mọi ký tự, không riêng chữ cái?
Rail Fence là mật mã hoán vị thuần túy — chỉ sắp xếp lại các ký tự sẵn có theo hình zíc zắc rồi đọc theo hàng, nên không cần biết đâu là "chữ cái" và giữ nguyên khoảng trắng, dấu câu.
Công cụ bẻ khóa Caesar có thể sai không?
Có — bản mã quá ngắn, hoặc dùng từ vựng bất thường, có thể làm sai lệch so sánh tần suất chữ cái. Hãy thử các gợi ý tiếp theo trong danh sách, đừng chỉ dựa vào gợi ý đầu tiên.