Ubj gb ernq EBG13 (How to read ROT13)
Hi everyone,
Today I’d like to teach you an interesting skill: How to read (and maybe write) ROT13! I taught myself how a while ago1, and I thought the process was illuminating, and maybe you will too.
Should you learn this skill? No, absolutely not. There is no reason to learn to read ROT13. It is at best useless, and if you ever actually encounter ROT13 in the wild it will make your life strictly worse to be able to read it because the whole point of ROT13 is to give you a choice as to whether you read the text. By learning ROT13 you are cursing yourself with a life of spoilers.
But, on the other hand, it’s funny and learning it is interesting, so who’s to say if it’s good or bad really?
What is ROT13?
ROT13 is a ridiculously simple cipher (something that takes text and turns it into an encrypted form) that is commonly used on the internet for spoilers. The idea is that when you want to be able to share some information about a work but it would be a spoiler for people who haven’t read or watched it, you write it in ROT13 and people can choose whether or not they want to be spoiled. e.g. if you haven’t read the last Harry Potter book, I might write ebfrohq jnf gur anzr bs uvf fyrq to avoid telling you a key plot point.
Generally you are not expected to translate ROT13 by hand, and people use a site like rot13.com to do the work for them. Today we will learn to eschew such lazy mechanical methods and do it in our heads instead.
So, the basic operation of ROT13 is this: To translate a piece of text, you replace each letter with a different letter, chosen by shifting the letter 13 places along, wrapping around to the beginning if necessary. For example, “A” becomes “N”, because “A” is the first letter of the alphabet and “N” is the 14th. “Z” becomes “M”, because “Z” is the 26th letter of the alphabet, so immediately wraps around to the beginning and we get the 13th letter of the alphabet.
The full mapping is as follows:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
NOPQRSTUVWXYZABCDEFGHIJKLM
You can translate any letter by looking it up in the first row and reading off the letter below it. So e.g. Q becomes D, F becomes S.
Case is generally preserved, so e.g. “a” becomes “n”, and anything else is left as it is, so in “Vg fher vf sha gb yrnea EBG13!” the numbers, spaces, and exclamation mark are all the same as in the original.
If you want to read details about ROT13 and its history, the Wikipedia article on ROT13 is pretty good.
Why should I learn to read ROT13?
I want to reemphasise that there is no good reason to want to be able to read ROT13.
That being said, I found the experience of doing so pretty interesting, and I think it’s a nice simple exploration of the experience of learning, because it basically allows you to undergo something akin to the experience of learning to read on fast-forward, and I think it has some interesting details which illuminate some general aspects of learning new skills.
Working out ROT13
My first attempt at learning ROT13 I just put together a bunch of Anki cards to try to brute force memorise the mappings of all letters into ROT13. This is a terrible idea and I do not recommend it - I hated it and it didn’t work. It isn’t in theory that hard - it’s only 26 facts to memorise - but it’s frustrating and boring and doesn’t result in being able to naturally read ROT13 even after you’ve memorised them.
Instead the way to start learning ROT13 is to be smart about it, and to learn to read ROT13 like you should learn to do mathematics2 - rather than trying to brute force memorise a whole bunch of facts, you learn a handful of facts and how to work out the others from facts you do remember, and by actually using the skill and learning shortcuts as you go.
The basic idea of this strategy is one I’ve described before as looking for existence proofs. You take away the question of whether you can read ROT13 almost immediately, and you instead focus on getting better at reading ROT13.
For example, consider the following ROT13 text:
bs znaf svefg qvfborqvrapr, naq gur sehvg
bs gung sbeovqqra gerr, jubfr zbegny gnfg
oebhtug qrngu vagb gur jbeyq, naq nyy bhe jbr,
jvgu ybff bs rqra, gvyy bar terngre zna
erfgber hf, naq ertnva gur oyvffshy frng,
fvat urni’ayl zhfr, gung ba gur frperg gbc
We’re going to hand-translate3 it back into the original text, by replacing letters one at a time. I’ve lower cased all of this text, and letters we’ve replaced with their original will be in upper case.
As a starting point we know that “A” maps to “N”, which is a standalone fact that it’s useful to just remember but we could also work it out by starting from “A” and counting along 13 places if we forgot it, so we can replace every “N” in the text with an “A”.
bs zAaf svefg qvfborqvrapr, Aaq gur sehvg
bs guAg sbeovqqra gerr, jubfr zbegAy gAfg
oebhtug qrAgu vagb gur jbeyq, Aaq Ayy bhe jbr,
jvgu ybff bs rqra, gvyy bar terAgre zAa
erfgber hf, Aaq ertAva gur oyvffshy frAg,
fvat urAi’ayl zhfr, guAg ba gur frperg gbc
Now we can use a fun ROT13 fact: If you ROT13 some text twice, you get the original text back. Why? Because you’ve shifted by 26 places, and the alphabet has 26 letters, so this gets you back to where you started. As a result, because we knew that “A” became “N”, we also know that “N” becomes “A”. So we can replace every “a” in the text with an “N”:
bs zANf svefg qvfborqvrNpr, ANq gur sehvg
bs guAg sbeovqqrN gerr, jubfr zbegAy gAfg
oebhtug qrAgu vNgb gur jbeyq, ANq Ayy bhe jbr,
jvgu ybff bs rqrN, gvyy bNr terAgre zAN
erfgber hf, ANq ertAvN gur oyvffshy frAg,
fvNt urAi’Nyl zhfr, guAg bN gur frperg gbc
Now, because we know that “N” becomes “A”, the letter that comes after “N” must become the letter that comes after “A” (because we’re just shifting everything along one). So that “b” we’re starting with must originally have been an “O” (because “O” comes after “N”), and we can make that replacement:
Os zANf svefg qvfOorqvrNpr, ANq gur sehvg
Os guAg sOeovqqrN gerr, juOfr zOegAy gAfg
oeOhtug qrAgu vNgO gur jOeyq, ANq Ayy Ohe jOr,
jvgu yOff Os rqrN, gvyy ONr terAgre zAN
erfgOer hf, ANq ertAvN gur oyvffshy frAg,
fvNt urAi’Nyl zhfr, guAg ON gur frperg gOc
And we can use our previous trick as well to replace every “o” with a “B”:
Os zANf svefg qvfOBrqvrNpr, ANq gur sehvg
Os guAg sOeBvqqrN gerr, juOfr zOegAy gAfg
BeOhtug qrAgu vNgO gur jOeyq, ANq Ayy Ohe jOr,
jvgu yOff Os rqrN, gvyy ONr terAgre zAN
erfgOer hf, ANq ertAvN gur Byvffshy frAg,
fvNt urAi’Nyl zhfr, guAg ON gur frperg gOc
Similarly we know that “Z” comes before “A” (remember we wrap around at the end - think of the alphabet arranged on a circle), so “Z” must become the letter before “N”, i.e. “M” (we could also have remembered this from the previous section). So we can replace every “z” with “M” and every “m” with “Z”.
Os MANf svefg qvfOBrqvrNpr, ANq gur sehvg
Os guAg sOeBvqqrN gerr, juOfr MOegAy gAfg
BeOhtug qrAgu vNgO gur jOeyq, ANq Ayy Ohe jOr,
jvgu yOff Os rqrN, gvyy ONr terAgre MAN
erfgOer hf, ANq ertAvN gur Byvffshy frAg,
fvNt urAi’Nyl Mhfr, guAg ON gur frperg gOc
I’m seeing a lot of “r”s in there which suggests that “r” is probably a vowel4, so it’d be worth working that one out. Also if we know “r” we’ll know “s”, so we’ll get that first word. So let’s work out what “R” is. We’ll do this backwards from “Z”. ZYXWVUTSR. So that’s nine letters counting backwards from “Z”. “Z” maps to “M” as we already figured out, so let’s do that. MLKJIHGFE. So “R” maps to “E” and “E” maps to “R”, and we can replace these in the text:
Os MANf svRfg qvfOBEqvENpE, ANq guE sRhvg
Os guAg sORBvqqEN gREE, juOfE MORgAy gAfg
BROhtug qEAgu vNgO guE jORyq, ANq Ayy OhR jOE,
jvgu yOff Os EqEN, gvyy ONE tREAgER MAN
REfgORE hf, ANq REtAvN guE Byvffshy fEAg,
fvNt uEAi’Nyl MhfE, guAg ON guE fEpREg gOc
The “R” gives us the “S” as the next one along, so we get the additional pair “SF” and can replace every s with an F and every f with an S to get the following:
OF MANS FvRSg qvSOBEqvENpE, ANq guE FRhvg
OF guAg FORBvqqEN gREE, juOSE MORgAy gASg
BROhtug qEAgu vNgO guE jORyq, ANq Ayy OhR jOE,
jvgu yOSS OF EqEN, gvyy ONE tREAgER MAN
RESgORE hS, ANq REtAvN guE ByvSSFhy SEAg,
SvNt uEAi’Nyl MhSE, guAg ON guE SEpREg gOc
Looking at the next word, we have a “v” and a “g” to figure out, but we already know how to figure out “g” because we just worked out “f” was “s”, so “g” must come from “t”. Replacing every “g” with “T” and “t” with “G” we get:
OF MANS FvRST qvSOBEqvENpE, ANq TuE FRhvT
OF TuAT FORBvqqEN TREE, juOSE MORTAy TAST
BROhGuT qEATu vNTO TuE jORyq, ANq Ayy OhR jOE,
jvTu yOSS OF EqEN, Tvyy ONE GREATER MAN
RESTORE hS, ANq REGAvN TuE ByvSSFhy SEAT,
SvNG uEAi’Nyl MhSE, TuAT ON TuE SEpRET TOc
We could do some work to figure out “v” but it’s obviously “i” based on the fact that the third word is obviously “first”, so let’s just assume that “vi” is a pair and we’ll see if we get nonsense later:
OF MANS FIRST qISOBEqIENpE, ANq TuE FRhIT
OF TuAT FORBIqqEN TREE, juOSE MORTAy TAST
BROhGuT qEATu INTO TuE jORyq, ANq Ayy OhR jOE,
jITu yOSS OF EqEN, TIyy ONE GREATER MAN
RESTORE hS, ANq REGAIN TuE ByISSFhy SEAT,
SING uEAV’Nyl MhSE, TuAT ON TuE SEpRET TOc
Similarly we could do some work to figure out what “q” is, but “ANq” is obviously “AND” (it could also be “ANY” but we can easily tell that “y” comes from “L” because “z” comes from “M”, so “q” can’t be “Y”. We’ll fill that in in a second).
So replacing every “q” with “D” and every “d” with “Q” we get:
OF MANS FIRST DISOBEDIENpE, AND TuE FRhIT
OF TuAT FORBIDDEN TREE, juOSE MORTAy TAST
BROhGuT DEATu INTO TuE jORyD, AND Ayy OhR jOE,
jITu yOSS OF EDEN, TIyy ONE GREATER MAN
RESTORE hS, AND REGAIN TuE ByISSFhy SEAT,
SING uEAV’Nyl MhSE, TuAT ON TuE SEpRET TOc
We figured out “y” was “L” in the above, so we might as well fill that in while we’re here:
OF MANS FIRST DISOBEDIENpE, AND TuE FRhIT
OF TuAT FORBIDDEN TREE, juOSE MORTAL TAST
BROhGuT DEATu INTO TuE jORLD, AND ALL OhR jOE,
jITu LOSS OF EDEN, TILL ONE GREATER MAN
RESTORE hS, AND REGAIN TuE BLISSFhL SEAT,
SING uEAV’NLY MhSE, TuAT ON TuE SEpRET TOc
Looking at this there are some obvious letters again. e.g. “p” is obviously a “C” because the fourth word is obviously “DISOBEDIENCE”, and “u” is obviously an “H” because “TuE” is obviously “THE”. As a sanity check, that means that “h” must be “U” which means the first line finishes with “FRUIT” which seems eminently plausible. So making these replacements:
OF MANS FIRST DISOBEDIENCE, AND THE FRUIT
OF THAT FORBIDDEN TREE, jHOSE MORTAL TAST
BROUGHT DEATH INTO THE jORLD, AND ALL OUR jOE,
jITH LOSS OF EDEN, TILL ONE GREATER MAN
RESTORE US, AND REGAIN THE BLISSFUL SEAT,
SING HEAV’NLY MUSE, THAT ON THE SECRET TOP
The only remaining untranslated letter is “j”. We can guess from context that it’s probably a “W”, but also we worked out above that “V” maps to “I”, so as “W” is the letter after “V” must map to the letter after “I”, confirming that “W” maps to “J”, giving us the final text as:
OF MANS FIRST DISOBEDIENCE, AND THE FRUIT
OF THAT FORBIDDEN TREE, WHOSE MORTAL TAST
BROUGHT DEATH INTO THE WORLD, AND ALL OUR WOE,
WITH LOSS OF EDEN, TILL ONE GREATER MAN
RESTORE US, AND REGAIN THE BLISSFUL SEAT,
SING HEAV’NLY MUSE, THAT ON THE SECRET TOP
(the opening six lines of paradise lost).
Anyway that was very laborious (it’s slightly easier done by hand if you write the translations under the letters), and we clearly want to never do it again (spoiler: We’re going to do it again), but it demonstrates the basic concept: You can just work out ROT13 from very little starting information. In particular we got a lot of use out of the following basic rules:
ROT13 letters come in pairs, so e.g. we could figure out that because “A” becomes “N”, “N” becomes “A”. This is very useful, because it reduces the amount you have to remember a lot (more than twice as much, because as well as having to remember half as many pairs you also don’t need to remember which way around those pairs go).
If you know the original for the rot13-letter before or after your current rot13-letter, you can work out the original letter as the one before or after the original letter.
We also often figured things out from context because they were the only letter that made sense there.
The remember-and-adjust method
As long as you can remember (or work out) one pair of ROT13 mappings you can calculate any of the others using the fact that when you move the source letter back or forward the encoded letter moves the same way. This leads to the remember-and-adjust method:
Start from a source letter nearby where you know the answer.
Count from that letter to the target letter.
Count the same number of letters in the same direction from the encoded letter of the original.
So for example in order to work out the ROT13 encoding of “c”, you go “abc”, OK that’s three letters, “NOP”, OK so “c” maps to “P”.
You could also do this by working backwards if you knew some letter that comes after “c”. For example if you knew that “e” maps to “R”, you could go “edc”, OK three letters again, so “RQP”, therefore once again “c” maps to “P”.
If you remember the following pairs in particular, everything is very close to use for remember-and-adjust:
AN
ZM
ER
IV
With these four pairs everything is no more than one or two away from one of them, so you can always work out a letter. e.g. you can work out that “w” maps to “J” because “w” comes after “v” and “v” maps to “I”.
Of course, being able to do this it really helps to be able to go backwards in the alphabet easily. I recommend listening to the CBA song until you’ve got the mnemonic and/or want to yell at me for earworming you.
The mnemonic word method
The following set of word mappings will tell you all the letter pairs you need to know:
DON’T → qba'g
ME → zr
SHIP → fuvc
WALK → jnyx
Don’t find these particularly easy to remember? No, zr arvgure. But it’s a nice small list that is easy enough to actually put on a set of Anki cards if you were so inclined, and even remembering some of them is helpful for priming the remember-and-adjust method.
Most importantly they have the nice property that they contain every letter on one side or the other. Want to know what “Q” maps to? Well, “Q” is in “QBA’G”, which maps to “DON’T”, so “Q” is “D”. Want to know what an “S” is? Well “SHIP” maps to “fuvq”, so “S” maps to “f”. And so on.
Using it as a translation key gets us to an answer pretty quickly of course:
vaibxr gul nvq gb zl nqiragebhf fbat,
gung jvgu ab zvqqyr syvtug vagraqf gb fbne
nobir gu’ nbavna zbhag, juvyr vg chefhrf
guvatf hanggrzcgrq lrg va cebfr be euvzr.
naq puvrsyl gubh b fcvevg, gung qbfg cersre
orsber nyy grzcyrf gu’ hcevtug urneg naq cher,
Mapping “qba’g” to “DON’T” and “don’t” to “QBA’G” gets us:
vNiOxr Tul AvD TO zl ADirNTeOhf fONG,
TuAT jvTu NO zvDDyr syvGuT vNTrNDf TO fOAe
ABOir Tu’ AONvAN zOhNT, juvyr vT chefhrf
TuvNGf hNATTrzcTrD lrT vN ceOfr Oe euvzr.
AND puvrsyl TuOh O fcvevT, TuAT DOfT cersre
BrsOer Ayy Trzcyrf Tu’ hcevGuT urAeT AND cher,
“zr” to “ME” and “me” to “ZR” then takes us to:
vNiOxE Tul AvD TO Ml ADiENTROhf fONG,
TuAT jvTu NO MvDDyE syvGuT vNTENDf TO fOAR
ABOiE Tu’ AONvAN MOhNT, juvyE vT chRfhEf
TuvNGf hNATTEMcTED lET vN cROfE OR RuvME.
AND puvEsyl TuOh O fcvRvT, TuAT DOfT cREsER
BEsORE Ayy TEMcyEf Tu’ hcRvGuT uEART AND chRE,
“ship” to “FUVC” and “fuvc” to “SHIP”:
INVOxE THl AID TO Ml ADVENTROUS SONG,
THAT jITH NO MIDDyE FyIGHT INTENDS TO SOAR
ABOVE TH’ AONIAN MOUNT, jHIyE IT PURSUES
THINGS UNATTEMPTED lET IN PROSE OR RHIME.
AND CHIEFyl THOU O SPIRIT, THAT DOST PREFER
BEFORE Ayy TEMPyES TH’ UPRIGHT HEART AND PURE,
“walk” to “JNYX” and “jnyx” to “WALK”:
INVOKE THY AID TO MY ADVENTROUS SONG,
THAT WITH NO MIDDLE FLIGHT INTENDS TO SOAR
ABOVE TH’ AONIAN MOUNT, WHILE IT PURSUES
THINGS UNATTEMPTED YET IN PROSE OR RHIME.
AND CHIEFLY THOU O SPIRIT, THAT DOST PREFER
BEFORE ALL TEMPLES TH’ UPRIGHT HEART AND PURE,
And we’re done, in “only” four steps! Of course actually doing that by hand isn’t particularly faster, but it’s a nice demonstration that these words are sufficient.
In all honesty, I don’t use this method much. I think it’s a neat trick, but the remember-and-adjust method works well enough for me and is generally faster.
When I do use word mnemonics it tends to be with more common words rather than a minimal set. e.g. I find it easier and thus more useful to remember that “THE” is “gur” and “WHO” is “jub” than that “walk” is “jnyx”.
Another slightly useful reference point is to remember that “be” and “or” swap places, so for example “gb or be abg be or” is “to be or not to be”.
Another useful mnemonic, which is helpful for remembering the standard reference points for the remember-and-adjust method, is that “RAVINE” becomes “enivar” - i.e. in order to ROT13 “RAVINE” you just reverse the order of the letters.5
Learning an ROT13 vocabulary
ROT13 is not a foreign language, but being able to read it fluently still requires you to develop a basic ROT13 vocabulary, because you need to transition from the childhood reading stage of sounding out words one letter at a time.
Because you can work out words even if you don’t know them, the easiest way to learn an ROT13 vocabulary is probably just to do it by reading ROT13.
bs bero, be bs fvanv, qvqfg vafcver
gung furcureq, jub svefg gnhtug gur pubfra frrq,
va gur ortvaavat ubj gur urni’af naq rnegu
ebfr bhg bs punbf: be vs fvba uvyy
qryvtug gurr zber, naq fvybn’f oebbx gung sybj’q
snfg ol gur benpyr bs tbq; v gurapr
Instead of our previous approach where we started just brute force replacing letters, we’ll now try to look for likely seeming words in here.
An obvious one is “v” is clearly “I”, because it’s a one letter word and the only other one letter word it could be is “a”, which we know is “n”.
bs bero, be bs fvanv, qvqfg vafcver
gung furcureq, jub svefg gnhtug gur pubfra frrq,
va gur ortvaavat ubj gur urni’af naq rnegu
ebfr bhg bs punbf: be vs fvba uvyy
qryvtug gurr zber, naq fvybn’f oebbx gung sybj’q
snfg ol gur benpyr bs tbq; I gurapr
There are some other common looking words in there as well - “bs”, “be”, “gur”, “naq”, and “gung” all appear more than once. These are short and repeated so probably correspond to common English words. Let’s work them out.
“be” must be “OR”, because we remember that “e” is “R” and “a” is “N” so “b” must be “O”. “r” is “E”, so “s” must be “F”, so “bs” is “OF”.
OF bero, OR OF fvanv, qvqfg vafcver
gung furcureq, jub svefg gnhtug gur pubfra frrq,
va gur ortvaavat ubj gur urni’af naq rnegu
ebfr bhg OF punbf: OR vs fvba uvyy
qryvtug gurr zber, naq fvybn’f oebbx gung sybj’q
snfg ol gur benpyr OF tbq; I gurapr
“naq” we can figure out must be “AND” because we know that “na” is “AN” (because “AN” is the base pair we just memorise), and because “r” is “E” and so “q” must be “D” (because preceding letters rule).
OF bero, OR OF fvanv, qvqfg vafcver
gung furcureq, jub svefg gnhtug gur pubfra frrq,
va gur ortvaavat ubj gur urni’af AND rnegu
ebfr bhg OF punbf: OR vs fvba uvyy
qryvtug gurr zber, AND fvybn’f oebbx gung sybj’q
snfg ol gur benpyr OF tbq; I gurapr
“gur” is less easy. We know that the “r” is an “E”, but we haven’t yet figured out what “g” and “u” are. So let’s just work it out. abcdefg → NOPQRST. So “g” maps to “T”. Conveniently this also gives us “u” maps to “H”, because “u” comes after “t”, which maps to “G”, so maps to the letter after “G”, which is “H”. So “gur” is “THE”.
OF bero, OR OF fvanv, qvqfg vafcver
gung furcureq, jub svefg gnhtug THE pubfra frrq,
va THE ortvaavat ubj THE urni’af AND rnegu
ebfr bhg OF punbf: OR vs fvba uvyy
qryvtug gurr zber, AND fvybn’f oebbx gung sybj’q
snfg ol THE benpyr OF tbq; I gurapr
This gives us a basic vocabulary of common words to start us off:
“AND” → “naq”
“THE” → “gur”
“OF” → “bs”
“OR” → “be”
We can now look for low hanging fruit in the other words here. For example there’s “gurr” there, which must be “THEE”, because it’s just “THE” with the last letter repated. “vs” isn’t repeated but is two letters so probably a common word, we know that “s” is “F” (because “bs” is “OF”) and that “v” is “I”, so “vs” must be “if”. Now that we know “v”, we can read “va” as “IN”, because we know that “a” is “N”. “ol” must be “BY”, because “o” is “B”, and “m” is “Z” so “l” must be the letter before so “Y”.
OF bero, OR OF fvanv, qvqfg vafcver
gung furcureq, jub svefg gnhtug THE pubfra frrq,
IN THE ortvaavat ubj THE urni’af AND rnegu
ebfr bhg OF punbf: OR IF fvba uvyy
qryvtug THEE zber, AND fvybn’f oebbx gung sybj’q
snfg BY THE benpyr OF tbq; I gurapr
Another piece of low hanging fruit is “jub”, because there’s also “ubj”, so if we figure one out we’ve figured the other out. “b” is “O” of course (we’ve worked it out above, but it’s also the letter after “a”), so we’ve got two three letter words which are permutations of each other and know where the O is. Probably these are jub → WHO and ubj → HOW respectively, but I can’t justify that as obvious other than that I’ve spent too much time playing Scrabble, so let’s work it out: We know that “v” is “I”, so “u” must be “H”. We can work out “j” starting from “m” (which we know is “Z”) as mlkj → ZYXW, so “j” is “W”, and as expected “jub” is “WHO” and “ubj” is “HOW”.
OF bero, OR OF fvanv, qvqfg vafcver
gung furcureq, WHO svefg gnhtug THE pubfra frrq,
IN THE ortvaavat HOW THE urni’af AND rnegu
ebfr bhg OF punbf: OR IF fvba uvyy
qryvtug THEE zber, AND fvybn’f oebbx gung sybj’q
snfg BY THE benpyr OF tbq; I gurapr
Another three letter word is “bhg”, and we can piggy back off the work we just did: “h” is, as we just established, “U”, “b” we figured out earlier was “O”, and “g” comes right before “h” so must be “T”. “bhg” is thus “OUT”.
OF bero, OR OF fvanv, qvqfg vafcver
gung furcureq, WHO svefg gnhtug THE pubfra frrq,
IN THE ortvaavat HOW THE urni’af AND rnegu
ebfr OUT OF punbf: OR IF fvba uvyy
qryvtug THEE zber, AND fvybn’f oebbx gung sybj’q
snfg BY THE benpyr OF tbq; I gurapr
We’ve now enlarged our vocabulary with the following common words:
“IN” → “va”
“BY” → “ol”
“WHO” → “jub”
“HOW” → “ubj”
“OUT” → “bhg”
Final three letter word to resolve: “tbq”. We know “b” is “O”, and because “bs” is “OF”, “s” is “F”, so “t” must be “G”. “AND” is “naq”, so “q” must be “D”, and thus “tbq” is “GOD”.
OF bero, OR OF fvanv, qvqfg vafcver
gung furcureq, WHO svefg gnhtug THE pubfra frrq,
IN THE ortvaavat HOW THE urni’af AND rnegu
ebfr OUT OF punbf: OR IF fvba uvyy
qryvtug THEE zber, AND fvybn’f oebbx gung sybj’q
snfg BY THE benpyr OF GOD; I gurapr
We’ve more or less exhausted the list of obvious vocabulary words. But now we can use the words we already have to quickly remind ourselves of the right substitutions. For example because we know “or” → “BE”, and as a result also “be” → “OR”, we can just immediately replace all of those letters:
OF OREB, OR OF fvanv, qvqfg vafcvRE
gung fuEcuERq, WHO svRfg gnhtug THE puOfEa fEEq,
IN THE BEtvaavat HOW THE uEni’af AND EnRgu
ROfE OUT OF punOf: OR IF fvOa uvyy
qEyvtug THEE zORE, AND fvyOn’f BROOx gung syOj’q
snfg BY THE ORnpyE OF GOD; I guEapE
The second word really is OREB (it’s a name I think), which demonstrates the limitations of a purely vocabulary based approach: There are always going to be “words” you don’t know.
Similarly we can use “gur” → “THE” and its reverse:
OF OREB, OR OF fvanv, qvqfT vafcvRE
THnT fHEcHERq, WHO svRfT TnUGHT THE pHOfEa fEEq,
IN THE BEGvaavaG HOW THE HEni’af AND EnRTH
ROfE OUT OF pHnOf: OR IF fvOa Hvyy
qEyvGHT THEE zORE, AND fvyOn’f BROOx THnT syOj’q
snfT BY THE ORnpyE OF GOD; I THEapE
And “naq” → “AND” and its reverse:
OF OREB, OR OF fvNAv, DvDfT vNfcvRE
THAT fHEcHERD, WHO svRfT TAUGHT THE pHOfEN fEED,
IN THE BEGvNNvNG HOW THE HEAi’Nf AND EARTH
ROfE OUT OF pHAOf: OR IF fvON Hvyy
DEyvGHT THEE zORE, AND fvyOA’f BROOx THAT syOj’D
sAfT BY THE ORApyE OF GOD; I THENpE
We know that “i” and “v” are paired (because we worked it out from “v” being a standalone word), and we know that “OF” is “bs” so “s” and “f” are paired, and can replace all of those:
OF OREB, OR OF SINAI, DIDST INScIRE
THAT SHEcHERD, WHO FIRST TAUGHT THE pHOSEN SEED,
IN THE BEGINNING HOW THE HEAV’NS AND EARTH
ROSE OUT OF pHAOS: OR IF SION HIyy
DEyIGHT THEE zORE, AND SIyOA’S BROOx THAT FyOj’D
FAST BY THE ORApyE OF GOD; I THENpE
We can tell from just looking at this that “c” and “p” are paired (because “SHEcHERD” is obviously “SHEPHERD”). Similarly “DEyIGHT” is obviously “DELIGHT”, so “y” and “l” are paired. We already know “z” is “M”. We know “j” is “W” because “jub” is “WHO”. This fills in much of the rest:
OF OREB, OR OF SINAI, DIDST INSPIRE
THAT SHEPHERD, WHO FIRST TAUGHT THE CHOSEN SEED,
IN THE BEGINNING HOW THE HEAV’NS AND EARTH
ROSE OUT OF CHAOS: OR IF SION HILL
DELIGHT THEE MORE, AND SILOA’S BROOx THAT FLOW’D
FAST BY THE ORACLE OF GOD; I THENCE
The only thing left is the “x” which is presumably a “K” but we can also figure that out as “ZYX” → “MLK”.
OF OREB, OR OF SINAI, DIDST INSPIRE
THAT SHEPHERD, WHO FIRST TAUGHT THE CHOSEN SEED,
IN THE BEGINNING HOW THE HEAV’NS AND EARTH
ROSE OUT OF CHAOS: OR IF SION HILL
DELIGHT THEE MORE, AND SILOA’S BROOK THAT FLOW’D
FAST BY THE ORACLE OF GOD; I THENCE
And so we have another six lines of paradise lost. It’s a good thing it’s not a terribly long poem or we’d be here a while.
What have we learned?
Well, partly we’ve learned some common words, which is useful in itself, but also is useful because we can use them to remind ourselves of mappings.
I confess I don’t currently have them all by heart, but I find it’s useful to remember that “gur” is “THE” and “naq” is “AND”, both because they’re common and because it reminds me of the “ER” pair and the mappings for “g”, “u”, and “q”.
The practice makes perfect method
What I’ve shown you so far should allow you to translate ROT13 by hand pretty easily: Go through the text letter by letter. If you remember what the letter corresponds to, replace it with that, otherwise apply the remember-and-adjust method to work it out. This is laborious and falls far short of the goal of reading ROT13.
Unfortunately really the only way to to actually be able to read ROT13 is to fully internalise the mapping of letters so that you’re fluent in it, and the best way to do that is to actually translate.
When working through this myself I put together worksheets which are monospaced ROT13 text with blank lines in between, with the idea that you write the translation underneath. Here’s one I made earlier that I’d encourage you to print out a page from and try to translate by hand. Start with the common words list, and then try one of the pages from the paradise lost translation.
Write, by hand, the decoded words under each word. At first you’ll have to figure out many of the letters each time. Once you’ve translated a bunch of text, try hunting around on the page for a previous example of using that letter rather than working it out afresh (I don’t know why this helps, but it seems to). Pretty quickly you’ll find that you remember more of them than you’d expect. I found that after about two pages of doing this I was able to translate at more or less my normal handwriting speed.
At first, translate letter by letter - write one letter down, then read the next, then the one after that… Feel free to guess if it becomes obvious to you what a word is, but make a note of any letters you guessed so that it helps you remember them later.
Now, introduce a pause into your practice: Figure out what the word is before you write it down. This is the same process as doing it by hand, you’re just storing the whole word in working memory rather than translating one letter at a time.
You can think of this as like the normal transition that kids go through when learning to read. You start by sounding out the letters one at a time, and then you learn to read whole words. Step one of this is learning to “sound out” the letters in your head.
The next stage is reading out loud. Stop writing on the paper and just read the words out loud (yes, out loud is important. It brings in your echoic memory and you’ll start actually reading rather than translating).
I’d recommend doing at least a page of this on the paradise lost translation on each of these steps. Maybe more if you’re enjoying it.
Gur arkg fgrc vf gb gel gb jevgr va EBG13.
Err. Sorry, that is to say the next step is to try to write in ROT13. I’d recommend going to rot13.com and just type some things into the top box and you’ll see them immediately coming up decoded in the bottom box as a source of feedback. Try just doing some free writing in the box.
Once you’ve got the hang of it a little bit try closing your eyes before you type each word and seeing if you’ve typed the correct word when you open them.6
V nqzvg gung V qba'g unir zhpu cngvrapr sbe qbvat guvf. Vg'f irel grqvbhf.7 But it shows roughly the same rapid increase in skill as reading does - it feels awkward at first, but you pretty rapidly get the hang of it.
So what have we learned?
Well we’ve learned to read ROT13 of course. Which there was no good reason to do.
But hopefully we’ve also learned a few other useful things.
The first is that the key to learning to do something fluently is often to first learn it in a way that can never achieve fluency. You can’t do mathematics fluently if you have to rederive everything from first principles each time, but being able to rederive everything from first principles gives you the scaffolding on which you can build fluency because you know that what you’re looking for will be there, even if it might be slow to access, so you can come to trust in it, and rapidly build up to the point where you remember it. We learned ROT13 not by brute force memorising the letters, but by learning to understand how the cipher worked and how they fit together, allowing us to work out the conversion from first principles.
Another interesting thing about the experience of learning ROT13 is how fast it goes. ROT13 text very rapidly comes, if not perfectly transparent at least easily decipherable. It’s easy to think of skill acquisition as being hard, and it usually is, but it’s worth remembering that there are many small skills that you can pick up in a day or so. You need to keep using them to get truly fluent in them - a day of ROT13 won’t get you to fluency, but it will get you to the point where all you need for fluency is practice - but if they’re worth picking up8 they’re presumably worth using.
Finally, hopefully we’ve learned that vg’f sha gb qb fghcvq guvatf fbzrgvzrf.
April Cools
You will of course have noticed the slightly strange topic occurred on April 1st. Well, rest assured that everything I have said in this article is 100% true. I mean what would be the point of teaching you to read ROT13 wrong?
This is part of the April Cools project, suggested by Hillel Wayne, in which people write perfectly earnest pieces that are somewhat outside of their usual wheelhouse.
I had a much more elaborate plan for what to do for it that ended up biting off a bit more than I could chew, so instead I decided to take the opportunity to tell you all about my experiences learning ROT13.
Consulting Work
It’s very unlikely that you want me to consult on important ROT13 based questions, but helping people with skill development is something I offer consulting services for and would be delighted to help. My expertise is primarily with software companies, but I’m happy to talk to people in other industries too. You can find out more on my consulting site, or just book a free intro call to chat about your company.
In addition, if you’re a software developer I offer open-enrolment group coaching sessions every Friday morning UK time. This is an opportunity to talk about the challenges you face at work with me and up to three other developers. It’s a mix of me providing coaching and moderating discussion between you all, allowing you to get a wide variety of perspectives and a more affordable version of my one-on-one coaching practice. You can sign up for these group coaching sessions here.
Postscript
The cover image (pictured below) is a modified version of the title page of the original edition of Paradise Lost.
If you’d like to hang out with the sort of people who read this sort of piece, you can join us in the Overthinking Everything discord by clicking this invitation link. You can also read more about it in our community guide first if you like. If you’d like to practice your ROT13, you can join us in the #ebg13 channel there for some exciting rot13 based conversations.
If you liked this issue, you are welcome and encouraged to forward it to your friends, or share it on your favourite social media site:
If you’re one of those friends it’s been forwarded to or shared with and are reading this, I hope you enjoyed it, and encourage you to subscribe to get more of it!
And promptly forgot, because skills go away if you don’t maintain them, so am having to relearn it for this piece.
This is, of course, very different from how you were taught mathematics.
I didn’t actually do this by hand, I used the command line program ‘tr’ to do letter by letter replacement.
I found this by looking for the longest word with this property and it’s a happy coincidence that it contains all of the critical pairs. It’s not actually the longest such word though - that prize goes to TAVERING, which appropriately enough for being deep in a footnote means “wandering or digressing”. Other long words in the SOWPODS list where ROT13 reverses the word are CHERUP, FRERES, GRIVET, REBORE. These are respectively a cheep, a French loan word meaning brothers, a type of monkey, and to make a new wider boring in something you have already bored out a whole in.
This is also good touch typing practice because it requires you to explicitly think about where the keys are. I found a lot of my normal naturalness in typing went away because I was out of the rhythm of the words I would usually type.
I must admit I don’t have much patience for doing this. It’s very tedious.
Unlike reading ROT13.