Skip to content

Instantly share code, notes, and snippets.

@jesskay
Created May 13, 2017 07:36
Show Gist options
  • Save jesskay/62e00327b3b00defd8a428691d2ba80b to your computer and use it in GitHub Desktop.
Save jesskay/62e00327b3b00defd8a428691d2ba80b to your computer and use it in GitHub Desktop.
Python 3 script to find all words that rot13 to other words (and the word list produced - input list taken from /usr/share/dict/words on Ubuntu, omitted because it's like 100K lines long)
#!/usr/bin/env python
rot13_trans = {ord(x): y for (x, y) in zip(
"abcdefghijklmnopqrstuvwxyz",
"nopqrstuvwxyzabcdefghijklm")}
def main():
with open('wordlist.txt', 'r') as wordlist:
words = [word.lower() for word in wordlist.read().splitlines()]
for word in words:
if word.translate(rot13_trans) in words:
print("{} -> {}".format(word, word.translate(rot13_trans)))
if __name__ == '__main__':
main()
a -> n
abe -> nor
ac -> np
ana -> nan
ar -> ne
ares -> nerf
av -> ni
b -> o
ba -> on
be -> or
ben -> ora
bk -> ox
c -> p
cerf -> pres
cheryl -> purely
co -> pb
cu -> ph
d -> q
e -> r
ebola -> robyn
eng -> rat
er -> re
erin -> reva
eu -> rh
f -> s
fe -> sr
fr -> se
g -> t
gena -> tran
green -> terra
h -> u
he -> ur
hf -> us
hz -> um
i -> v
ing -> vat
in -> va
ina -> van
iraq -> vend
j -> w
jr -> we
jul -> why
junes -> wharf
jung -> what
k -> x
kr -> xe
l -> y
lr -> ye
m -> z
n -> a
na -> an
nan -> ana
ne -> ar
nerf -> ares
ni -> av
np -> ac
o -> b
ora -> ben
orr -> bee
p -> c
pb -> co
perry -> creel
pres -> cerf
pyrex -> clerk
q -> d
r -> e
re -> er
reva -> erin
rh -> eu
robyn -> ebola
ru -> eh
s -> f
se -> fr
sn -> fa
sr -> fe
t -> g
taney -> gnarl
tb -> go
terra -> green
tran -> gena
u -> h
ur -> he
v -> i
va -> in
van -> ina
w -> j
x -> k
xe -> kr
y -> l
yb -> lo
z -> m
zn -> ma
zr -> me
a -> n
ah -> nu
aha -> nun
an -> na
ant -> nag
ares -> nerf
b -> o
balk -> onyx
bar -> one
barf -> ones
be -> or
bee -> orr
bin -> ova
c -> p
clerk -> pyrex
crag -> pent
creel -> perry
d -> q
e -> r
ebbs -> roof
eh -> ru
envy -> rail
errs -> reef
f -> s
fa -> sn
flap -> sync
fur -> she
g -> t
gel -> try
gnarl -> taney
gnat -> tang
go -> tb
green -> terra
h -> u
he -> ur
i -> v
if -> vs
in -> va
irk -> vex
j -> w
k -> x
l -> y
lo -> yb
m -> z
ma -> zn
me -> zr
n -> a
nag -> ant
nor -> abe
nu -> ah
nun -> aha
o -> b
on -> ba
one -> bar
ones -> barf
onyx -> balk
or -> be
ova -> bin
ox -> bk
p -> c
ph -> cu
pent -> crag
purely -> cheryl
q -> d
r -> e
rail -> envy
rat -> eng
re -> er
reef -> errs
roof -> ebbs
s -> f
she -> fur
sync -> flap
t -> g
tang -> gnat
try -> gel
u -> h
um -> hz
us -> hf
v -> i
van -> ina
vat -> ing
vend -> iraq
vex -> irk
vs -> if
w -> j
we -> jr
wharf -> junes
what -> jung
why -> jul
x -> k
y -> l
ye -> lr
z -> m
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment