I'm something like 9 months to a year behind on updating this page. Sorry. I'm pretty sure I havn't actually lost anything I've been sent. I've simply been too unbelievably lazy to get it put up. -Jay, 3/3/2004

ROT13


From the Jargon File:

rot13 /rot ther'teen/ /n.,v./ [Usenet: from `rotate alphabet 13 places'] The simple Caesar-cypher encryption that replaces each English letter with the one 13 places forward or back along the alphabet, so that "The butler did it!" becomes "Gur ohgyre qvq vg!" Most Usenet news reading and posting programs include a rot13 feature. It is used to enclose the text in a sealed wrapper that the reader must choose to open -- e.g., for posting things that might offend some readers, or spoilers. A major advantage of rot13 over rot(N) for other N is that it is self-inverse, so the same code can be used for encoding and decoding.

The purpose of this page is to collect and display various ROT13 implementations, in as wide a variety of languages as possible.

And now, sorted by the language...


Here are some languages that I'd like to see ROT13 in.
  • Escher
  • INTERCAL
  • Modula 3
  • PalmOS (not a language, of course)
  • Parallax III
  • Polyglotal implementations!
The Open Directory Project's Programming Language links

Please stop sending me implementations of ROT13 written by other people. I can't accept them. I don't know why people think that I'll redistribute the work of a third party without permission. I'm getting so many such submissions that I'm going to start silently ignoring them. (This is particularly bad with INTERCAL.)

See a tally of how many implementations each contributor has written.

Awhile back, somebody wrote a patch for ssh to support ROT13 encryption. Unfortunately, the patch was against some archaic version of ssh. So, I updated the patch for ssh 1.2.27. NOTE: Using ROT13 "encryption" defeats the purpose of ssh, you should NOT actually use this. (BTW: I don't make any claims to the ownership of this patch, somebody else wrote it, I just lost his name)

I recently wrote a Perl script, which, using letter frequency, attempts to guess whether a given block of text has been ROT13ed or not. I've found that it works rather well (in my limited and very unscientific testing). The basis is that in plaintext, the letters i, s, e and t are very frequent, while their ROT13ed counterparts, v, f, r and g are relatively infrequent. However, in ROT13ed text, this is reversed. Hence by comparing which set of letters is predominant, you can make an awfully good guess as to which type of text you are dealing with.

If you have written ROT13 in one of these languages, or any other language not already listed (or if you have an interesting variant for an already existing language), please, feel free to email it to me at jkominek-rot13@miranda.org. While I have not received any implementations which I've had to refuse, I thought I would post implementation requirements for the page, just to prevent ever having to refuse someone.


Jay Kominek - ~page