Thêm game tại WuGames.ioTài trợKhám phá kho game trình duyệt miễn phí — chơi ngay, không tải, không đăng ký.Chơi ngay

Mã hóa/Giải mã ROT - Mật mã ROT13

Encode và decode văn bản với mật mã ROT-0 đến ROT-25 (ROT13 / Caesar cipher). Thay thế chữ cái đơn giản, hữu ích cho câu đố, thử thách CTF và học mật mã.

Chế độ
ROT5 chỉ dịch chữ số. ROT18 và ROT47 dùng shift cố định (số ROT bị bỏ qua).
ROT-13 đối xứng (mã hóa = giải mã). ROT khác giải mã bằng cách đảo ngược shift.

Mã hóa/Giải mã ROT - ROT-13 và Caesar Cipher Online

Công cụ mã hóa và giải mã ROT online miễn phí hỗ trợ ROT-0 đến ROT-25. Áp dụng mật mã ROT-13 cổ điển hoặc bất kỳ Caesar cipher shift nào để mã hóa văn bản, hoặc giải mã các thông điệp được mã hóa ROT. Mật mã thay thế chữ cái đơn giản thường được sử dụng trong câu đố, thử thách CTF và giáo dục mật mã cơ bản.

Làm sao giải mã Caesar cipher khi không biết độ dịch?

Hãy dùng chế độ Vét cạn của công cụ này. Dán văn bản mã hóa, chuyển bộ chọn chế độ sang 'Vét cạn' và nhấp Xử lý — ngay lập tức nó xuất ra cả 25 phép xoay chữ cái dưới dạng danh sách đánh số 'ROT-N:'. Rà soát danh sách để tìm dòng đọc được như văn bản bình thường (tiếng Anh hoặc ngôn ngữ mục tiêu) và bạn có cả văn bản gốc lẫn độ dịch ban đầu chỉ trong một lần nhấp, không phải đoán hay chạy lại. Đây là quy trình chuẩn trong các cuộc thi CTF, điều tra số và giải câu đố khi khóa chưa biết. Với mật mã ROT47, hãy chọn biến thể ROT47 trước và chế độ Vét cạn sẽ liệt kê cả 93 phép xoay ASCII. Phân tích tần suất cũng có thể chỉ ra độ dịch trên văn bản dài, nhưng với chuỗi ngắn thì nhìn 25 phép xoay là nhanh nhất. Mỗi ứng viên nằm trên một dòng riêng, nên bạn có thể sao chép cả khối và dùng grep lọc từ điển một cách tự động.

ROT13 là gì và hoạt động ra sao?

ROT13 là một mật mã Caesar dịch chuyển mỗi chữ cái 13 vị trí trong bảng chữ cái tiếng Anh 26 ký tự — A thành N, B thành O, M thành Z, N thành A, và cứ thế. Vì 13 chính xác bằng nửa 26, áp dụng ROT13 hai lần trả về văn bản gốc, khiến mã hóa và giải mã là cùng một thao tác. Nó xuất hiện trên Usenet vào những năm 80 để che giấu spoiler, chuyện đùa hoặc nội dung người lớn chứ không phải để bảo mật thật. ROT13 được ghi nhận không chính thức trong RFC 3251 (đùa) và được hỗ trợ rộng trên các công cụ Unix (`tr a-zA-Z n-za-mN-ZA-M`). Chữ cái giữ nguyên kiểu chữ; số, dấu câu và ký tự Unicode đi qua nguyên vẹn.

ROT13 có thực sự an toàn không?

Không — ROT13 cung cấp gần như không có an toàn mật mã. Bất kỳ kẻ tấn công nào cũng có thể giải mã ngay bằng cách áp dụng ROT13 lần nữa, chạy `tr` trên shell Unix, hoặc nhận ra mẫu đặc trưng 'trông như tiếng Anh với các chữ cái bị dịch'. Phân tích tần suất phá vỡ mọi mật mã Caesar trong vài giây vì phân bố chữ cái của bản mã giống hệt bản rõ (chỉ bị dịch). OWASP và NSA xếp loại rõ ràng các mật mã họ Caesar là tò mò lịch sử, không phải cơ chế bảo mật. Chỉ dùng ROT13 để che giấu thông thường (spoiler, đùa), không bao giờ cho mật khẩu, bí mật hay dữ liệu nhạy cảm — dùng AES-256-GCM với khóa được dẫn xuất đúng để bảo vệ thực sự.

ROT5, ROT18 và ROT47 là gì?

ROT5 dịch chuyển chữ số 0-9 đi 5 vị trí (5 ↔ 0, 6 ↔ 1, v.v.) — hữu ích để giấu số kèm theo ROT13. ROT18 kết hợp ROT13 cho chữ cái với ROT5 cho chữ số trong một lượt, thường dùng trên Usenet để che số điện thoại, ngày tháng, tỉ số cùng văn bản. ROT47 mở rộng bảng chữ cái sang toàn bộ 94 ký tự ASCII có thể in (0x21 '!' đến 0x7E '~') dịch chuyển 47 vị trí — dấu câu và ký hiệu cũng quay vòng. ROT47 đối xứng như ROT13. Không cái nào cung cấp an toàn; tất cả đều có thể đảo ngược khi biết thuật toán. Chúng thú vị như bài tập về số học mô-đun trên các tập bảng chữ cái khác nhau.

Tôi triển khai ROT13 trong Python hay JavaScript thế nào?

Python: `import codecs; codecs.encode('Hello', 'rot_13')` trả về 'Uryyb'. Hoặc thủ công: `''.join(chr((ord(c) - 65 + 13) % 26 + 65) if c.isupper() else chr((ord(c) - 97 + 13) % 26 + 97) if c.islower() else c for c in text)`. JavaScript: `text.replace(/[a-zA-Z]/g, c => String.fromCharCode((c.charCodeAt(0) & 32) | ((c.toUpperCase().charCodeAt(0) - 65 + 13) % 26 + 65)))`. Chìa khóa là số học mô-đun — dịch 13, mô-đun 26, cộng cơ sở 65 (A in hoa) hoặc 97 (a in thường). Hầu hết ngôn ngữ có sẵn ROT13: `tr/A-Za-z/N-ZA-Mn-za-m/` của Perl, `String#tr` của Ruby và lệnh `caesar` của OpenBSD.

Mã hóa/Giải mã ROT - Mật mã ROT13 — Encode và decode văn bản với mật mã ROT-0 đến ROT-25 (ROT13 / Caesar cipher). Thay thế chữ cái đơn giản, hữu ích cho câu
Mã hóa/Giải mã ROT - Mật mã ROT13

ROT có thể xử lý các bảng chữ cái không phải tiếng Anh không?

ROT13 chuẩn chỉ xử lý bảng chữ cái tiếng Anh cơ bản 26 ký tự. Các ngôn ngữ có dấu phụ (ñ Tây Ban Nha, é Pháp, ä Đức) hoặc chữ viết không Latin (Cyrillic, Ả Rập, Trung) cần biến thể riêng cho bảng chữ cái. Các triển khai ROT13 hoặc để ký tự ngoài ASCII đi qua không đổi (phổ biến nhất) hoặc mở rộng bảng chữ cái để gồm các ký tự Latin-1 với số lần xoay khác. Cyrillic có ROT15 riêng (nửa của 30 chữ), tiếng Hy Lạp có ROT12 (nửa của 24 chữ). Với Unicode nói chung không có biến thể ROT chuẩn; bạn phải xác định bộ ký tự và số lần xoay rõ ràng. Các giao thức hiện đại dùng chuẩn hóa Unicode và mã hóa thực sự thay vì mật mã dịch chữ.

ROT13 được dùng trong các thử thách CTF và câu đố ra sao?

Các cuộc thi Capture-the-Flag (CTF) và các trang câu đố mật mã (CryptoHack, picoCTF) dùng ROT13 và biến thể Caesar làm thử thách khởi động. Nhận biết bằng: tần suất cặp ký tự cao khớp với tiếng Anh (ví dụ 'gur' là ROT13 của 'the'), phân bố tần suất chữ cái vẫn lệch (E, T, A vẫn phổ biến nhưng bị dịch) và độ dài từ khớp tiếng Anh tự nhiên. Các công cụ như khối 'ROT13' và 'Caesar Cipher' của CyberChef giải mã chỉ với một nhấp. Vét cạn 26 phép xoay và grep theo từ tiếng Anh để xác định khóa. Thử thách mật mã CTF thực thụ nhanh chóng chuyển sang AES, RSA, ECC và tấn công kênh phụ; ROT chỉ là món khai vị.

Khác biệt giữa ROT13 và mật mã Caesar tổng quát là gì?

ROT13 là mật mã Caesar cụ thể với dịch chuyển = 13. Caesar tổng quát dùng bất kỳ dịch chuyển 1-25 (0 và 26 là phép đồng nhất). Bản thân Julius Caesar được cho là đã dùng dịch chuyển 3 để mã hóa thư quân sự khoảng năm 50 TCN, A thành D, B thành E. Mật mã được đặt tên theo ông bởi các sử gia như Suetonius. Bất kỳ mật mã Caesar nào cũng bị phá trong nhiều nhất 25 lần thử bởi kẻ tấn công, và phân tích tần suất xác định độ dịch đúng trong một lượt trên văn bản dài hơn khoảng 20 ký tự. Lợi thế duy nhất của ROT13 so với Caesar tùy ý là đối xứng tự đảo, tiện dụng cho sử dụng thông thường không cần nhớ 'mã hóa' hay 'giải mã'.

Có ứng dụng hiện đại nào của ROT13 trong phần mềm không?

Có — hạn chế nhưng hợp lệ: che spoiler trên diễn đàn văn bản, che Easter egg hay dữ liệu kiểm thử để không xuất hiện trong tìm kiếm grep, bảo vệ câu đố nhẹ trong phần mềm giáo dục và làm ví dụ kinh điển trong giảng dạy mật mã. Vim có `:%!tr A-Za-z N-ZA-Mn-za-m` và Emacs có sẵn `M-x rot13-mode`. Một số trình tạo chữ ký email dùng ROT13 để che địa chỉ khỏi trình thu thập thư rác sơ khai (loại hiện đại phát hiện dễ dàng). Bản phân phối mã nguồn đôi khi ROT13 một số định danh để cản trở sao chép tùy tiện. Không bao giờ dùng cho an ninh thực sự — TLS 1.3, AES-256-GCM và KDF hiện đại (Argon2id, scrypt) mới là công cụ đúng.

Tính năng chính

  • Mã hóa văn bản với mật mã ROT ngay lập tức
  • Giải mã văn bản được mã hóa ROT
  • Hỗ trợ ROT-0 đến ROT-25
  • Bao gồm mật mã ROT-13 cổ điển
  • Giữ nguyên ký tự không phải chữ cái
  • Chuyển đổi phân biệt chữ hoa chữ thường
  • Đảo ngược giữa chế độ mã hóa và giải mã
  • Sao chép kết quả vào clipboard
  • Hỗ trợ chế độ tối
  • Xử lý 100% phía client
  • Hoạt động offline
  • Không cần đăng ký