Tiếng Việt dùng bảng chữ cái Latinh, nhưng gần như mọi nguyên âm đều mang dấu thanh hoặc dấu phụ — và vì ROT13 chỉ dịch chuyển các chữ cái Latinh cơ bản A-Z/a-z, các dấu đó hoàn toàn không bị ảnh hưởng: áp dụng ROT13 lên "tiếng Việt" vẫn giữ nguyên các dấu sắc, huyền, hỏi, ngã, nặng ở đúng vị trí.
Vì sao văn bản tiếng Việt chỉ bị "xáo trộn một nửa"
Một chữ như "ệ" không phải là "e" cộng thêm ký hiệu đối với thuật toán — nó là một điểm mã Unicode hoàn toàn riêng biệt, nằm ngoài phạm vi A-Z/a-z mà ROT13 nhận diện. Kết quả là các phụ âm không dấu trong câu bị xáo trộn triệt để, trong khi phần lớn nguyên âm có dấu vẫn giữ nguyên hình dạng gốc, khiến văn bản "mã hóa" bằng ROT13 với tiếng Việt dễ đoán hơn nhiều so với tiếng Anh thuần túy.
Cách phép dịch chuyển hoạt động
Mỗi chữ cái được thay bằng chữ cái đứng sau 13 vị trí trong bảng chữ cái, quay vòng lại A sau Z. Vì 26 là số chẵn, độ dịch đúng bằng 13 tự nghịch đảo — áp dụng cùng một phép toán hai lần sẽ trả về văn bản gốc, nên không cần chế độ "giải mã" riêng.
ROT13 vẫn được dùng ở đâu
- Che spoiler hoặc đáp án trên các diễn đàn như Reddit, nơi kỹ thuật này trở nên phổ biến.
- Ví dụ giảng dạy để giải thích mật mã thay thế.
- Làm rối nhẹ văn bản, khi mục tiêu chỉ là không lộ ngay, chứ không phải bảo vệ thật sự.
Vì sao đây không phải là bảo mật
ROT13 không dùng khóa — độ dịch cố định và ai cũng biết, nên bất kỳ ai cũng có thể đảo ngược ngay lập tức mà không cần tính toán. Để bảo vệ mật khẩu hay tin nhắn bí mật thật sự, cần một thuật toán có khóa như AES.