The ‘tr’ command can be used to translate plaintext into ROT13 or ROT47. Just type tr A-Za-z N-ZA-Mn-za-m . Now enter any plaintext you wish into the terminal and the ROT13’d ciphertext will immediately be echoed to stdout.
“This message was translated to ROT13 by the UNIX ‘tr’ command.” will yield:
“Guvf zrffntr jnf genafyngrq gb EBG13 ol gur HAVK ‘ge’ pbzznaq.”
To encode to ROT47, use the command tr ‘!-~’ ‘P-~!-O’ . This has a similar effect, but uses a different encoding.
“This message was translated to ROT47 by the UNIX ‘tr’ command.” will give you
“%9:D >6DD286 H2D EC2?D=2E65 E@ #~%cf 3J E96 &}x) VECV 4@>>2?5]”
Because both ROT13 and ROT47 are self-reciprocal (a fancy way of saying inverse), entering the ciphertext will spit out the original decoded plaintext. Neat huh?
Congratulations, now you can read all the naughtiest jokes on Usenet. By the way, if you don’t have *NIX, there are probably lots of online sources that will encode/decode text for you straight from your browser regardless of your taste (or lack of it) in operating systems. Here’s one.
Though this post is really more about the ‘tr’ command than ROT13/47, I suppose I should add that these ciphers are not secure at all. In fact, they are often used as canonical examples of poor encryption and should not be used to encrypt any sensitive information. They’re really only used to encode text that the reader should choose to decrypt and read, such as potentially offensive jokes or book/film/game spoilers. Now that I think about it, they might be a good way to post email addresses without worrying about spambots picking up on them.