ROT13 alias “rotate by 13 places”
ROT13 replaces each letter in a message by its partner 13 characters further along the alphabet.
ROT13 is a special case of Caesar cipher and, as such, is considered a simple substitution cipher. It shifts the plaintext alphabet by half the number of characters in it.
In consequence, applying ROT13 twice to a message yields the original message, as the underlying alphabet is rotated back to its original position. This gives ROT13 the special property of being its own inverse.
Usually, the Latin alphabet (A-Z) holding 26 characters is used as the plaintext alphabet. It is rotated by 13 places, hence the name ROT13.
List of common ROT13 variants
Each ROT13 variant listed below shifts its respective alphabet by half its alphabet size and thus shares the property of being its own inverse.
ROT5 rotates numbers 0-9, obfuscating numeric values in a message.
ROT18 combines ROT13 and ROT5. It rotates letters and numbers separately.
ROT47 uses all ASCII code points that range from 33 to 126 as the plaintext alphabet and rotates it by 47 characters. It can be used to obfuscate lowercase and uppercase letters, numbers, and punctuation symbols.
In an attempt to create a ROT13 alternative for other languages, ROT8000 tries to use the full Unicode Basic Multilingual Plane (BMP) category as the plaintext alphabet, which theoretically contains 65,536 characters (or 0x8000 in hexadecimal representation). However, some parts of BMP, including whitespace and invisible control characters, are ignored or skipped, giving us a plaintext alphabet of 63,404 and a shift of 31,702 characters in practice.
To learn more, see the README of the original ROT8000 repository.
Where is ROT13 being used today?
Today, ROT13 is often found on social media platforms as a means of hiding spoilers and problem solutions from a casual glance. It has been described as the “Usenet equivalent of printing an answer to a quiz upside down” as it provides virtually no cryptographic security.