Simple substitution ciphers

Introduction

Here are some easy-to-derive permutations of the letters A–Z that can be used as keys in a substitution cipher.

The keys

The rank of a permutation (here, key) is its index in lexicographic order. For 26 elements, the rank can be 0 to 26!−1 (approx. 4.0×1026).

Keys involving keyboard layouts

Description Key Rank of permutation
QWERTY (first right, then down) QWERTYUIOPASDFGHJKLZXCVBNM 261329910883437428257896643
QWERTYUIOPASDFGHJKLZXCVBNM twice JVTKZNXOGHQLRYUIPASMBECWFD 152486412666512615169447653
QWERTYUIOPASDFGHJKLZXCVBNM three times PCZAMFBGUIJSKNXOHQLDWTEVYR 234504162064049545711462131
QWERTYUIOPASDFGHJKLZXCVBNM to A–Z KXVMCNOPHQRSZYIJADLEGWBUFT 169291497407938617366205540
KXVMCNOPHQRSZYIJADLEGWBUFT twice RUWZVYIJPADLTFHQKMSCOBXGNE 276021879135295575419858661
KXVMCNOPHQRSZYIJADLEGWBUFT three times DGBTWFHQJKMSENPARZLVIXUOYC 49680635539582787557480047
QWERTY (first right, then up) ZXCVBNMASDFGHJKLQWERTYUIOP 402124827445113083244718794
ZXCVBNMASDFGHJKLQWERTYUIOP twice PICYXJHZEVNMADFGQUBWROTSKL 237708085608254601870692110
ZXCVBNMASDFGHJKLQWERTYUIOP to A–Z HECJSKLMXNOPGFYZQTIUWDRBVA 111119442592450836983098983
HECJSKLMXNOPGFYZQTIUWDRBVA twice MSCNIOPGBFYZLKVAQUXWRJTEDH 196746594605436406117426412
QWERTY (first left, then down) POIUYTREWQLKJHGFDSAMNBVCXZ 241581414900028804690603926
POIUYTREWQLKJHGFDSAMNBVCXZ twice FGWNXMSYVDKLQERTUAPJHOBICZ 81188693442661072320171674
POIUYTREWQLKJHGFDSAMNBVCXZ to A–Z SVXQHPONCMLKTUBAJGRFDWIYEZ 292172018534154798600901016
SVXQHPONCMLKTUBAJGRFDWIYEZ twice RWYJNABUXTKLFDVSMOGPQICEHZ 277299460741165625479463112
QWERTY (first left, then up) MNBVCXZLKJHGFDSAPOIUYTREWQ 193626082625665042483168285
MNBVCXZLKJHGFDSAPOIUYTREWQ twice FDNTBEQGHJLZXVIMASKYWUOCRP 79719808926054538699930063
MNBVCXZLKJHGFDSAPOIUYTREWQ to A–Z PCENXMLKSJIHABRQZWOVTDYFUG 233999963718667018217794459
PCENXMLKSJIHABRQZWOVTDYFUG twice QEXBFAHIOJSKPCWZGYRDVNUMTL 251205324312362369247547869
QWERTY (first down, then right) QAZWSXEDCRFVTGBYHNUJMIKOLP 248797301151407904617133962
QAZWSXEDCRFVTGBYHNUJMIKOLP twice HQPKUOSWZNXIJEALDGMRTCFBVY 118258088903826438171686790
QAZWSXEDCRFVTGBYHNUJMIKOLP to A–Z BOIHGKNQVTWYURXZAJEMSLDFPC 23765018475178019315579721
BOIHGKNQVTWYURXZAJEMSLDFPC twice OXVQNWRALMDPSJFCBTGUEYHKZI 231341415471744781868791995
QWERTY (first down, then left) POLIKUJMYHNTGBRFVEDCWSXQAZ 241648289806417080446251862
POLIKUJMYHNTGBRFVEDCWSXQAZ twice FRTYNWHGAMBCJOEUSKILXDQVPZ 87946970589823217451108968
POLIKUJMYHNTGBRFVEDCWSXQAZ to A–Z YNTSRPMJDGECHKBAXOVLFQUWIZ 380820167610389149572746672
YNTSRPMJDGECHKBAXOVLFQUWIZ twice IKLVOAHGSMRTJENYWBQCPXFUDZ 129927178892294049229024640
QWERTY (first up, then left) PLOKIMJUNHYBGTVFRCDEXSWZAQ 239840830976971201952734624
PLOKIMJUNHYBGTVFRCDEXSWZAQ twice FBVYNGHXTUALJESMCOKIZDWQPR 78691863284376082181412380
PLOKIMJUNHYBGTVFRCDEXSWZAQ to A–Z YLRSTPMJEGDBFICAZQVNHOWUKX 379526442651427616268420278
YLRSTPMJEGDBFICAZQVNHOWUKX twice KBQVNAFGTMSLPERYXZOIJCWHDU 156115271471422150340437340
QWERTY (first up, then right) ZAQXSWCDEVFRBGTNHYMJUKILOP 388192499158573427125995264
ZAQXSWCDEVFRBGTNHYMJUKILOP twice PZHLMIQXSKWYACJGDOBVUFERTN 247751645807139899130442707
ZAQXSWCDEVFRBGTNHYMJUKILOP to A–Z BMGHIKNQWTVXSPYZCLEOUJFDRA 22471293516216486011253327
BMGHIKNQWTVXSPYZCLEOUJFDRA twice MSNQWVPCFOJDEZRAGXIYUTKHLB 197009066152618015173953031
Dvorak (first right, then down) PYFGCRLAOEUIDHTNSQJKXBMWVZ 247073478763191548160234722
PYFGCRLAOEUIDHTNSQJKXBMWVZ twice NVRLFQIPTCXOGAKHJSEUWYDMBZ 214480982882502002566421000
PYFGCRLAOEUIDHTNSQJKXBMWVZ to A–Z HVEMJCDNLSTGWPIARFQOKYXUBZ 121102449205077797747529086
HVEMJCDNLSTGWPIARFQOKYXUBZ twice NYJWSEMPGQODXALHFCRITBUKVZ 216172020443932507368532566

Keys involving pangrams

The pangrams (phrases that contain every letter) are from Wikipedia.

Description Key Rank of permutation
distinct letters in “glib jocks quiz nymph to vex dwarf” GLIBJOCKSQUZNYMPHTVEXDWARF 99454160994384952695005203
GLIBJOCKSQUZNYMPHTVEXDWARF to A–Z XDGVTZAQCEHBOMFPJYIRKSWUNL 358770709587001807716649271
distinct letters in “how quickly daft jumping zebras vex!” HOWQUICKLYDAFTJMPNGZEBRSVX 117177961738059679785727800
HOWQUICKLYDAFTJMPNGZEBRSVX to A–Z LVGKUMSAFOHIPRBQDWXNEYCZJT 183198398765051093490044836
distinct letters in “jackdaws love my big sphinx of quartz” JACKDWSLOVEMYBIGPHNXFQURTZ 139634704485008374455806412
JACKDWSLOVEMYBIGPHNXFQURTZ to A–Z BNCEKUPROADHLSIQVXGYWJFTMZ 22985086302528128003281466
distinct letters in “pack my box with five dozen liquor jugs” PACKMYBOXWITHFVEDZNLQURJGS 232703500779777323990873870
PACKMYBOXWITHFVEDZNLQURJGS to A–Z BGCQPNYMKXDTESHAUWZLVOJIFR 18654555748562333491124846
distinct letters in “sphinx of black quartz, judge my vow” SPHINXOFBLACKQURTZJDGEMYVW 288697946091433160961909004
SPHINXOFBLACKQURTZJDGEMYVW to A–Z KILTVHUCDSMJWEGBNPAQOYZFXR 160327227224253205333366771
distinct letters in “the five boxing wizards jump quickly” THEFIVBOXNGWZARDSJUMPQCKLY 299164328271205257422613312
THEFIVBOXNGWZARDSJUMPQCKLY to A–Z NGWPCDKBERXYTJHUVOQASFLIZM 205900181224109689120378327
distinct letters in “the quick brown fox jumps over the lazy dog” THEQUICKBROWNFXJMPSVLAZYDG 299176106047333456250557822
THEQUICKBROWNFXJMPSVLAZYDG to A–Z VIGYCNZBFPHUQMKRDJSAETLOXW 330877843069357356886774129
distinct letters in “waltz, bad nymph, for quick jigs vex” WALTZBDNYMPHFORQUICKJGSVEX 341525322228321032414701952
WALTZBDNYMPHFORQUICKJGSVEX to A–Z BFSGYMVLRUTCJHNKPOWDQXAZIE 18412177638055375228709237

Rotate the alphabet

Description Key Rank of permutation
(the original alphabet) ABCDEFGHIJKLMNOPQRSTUVWXYZ 0
rotate the alphabet left by 1 letter BCDEFGHIJKLMNOPQRSTUVWXYZA 16158688114800553828940313
rotate the alphabet left by 2 letters CDEFGHIJKLMNOPQRSTUVWXYZAB 32317376229601107657880624
rotate the alphabet left by 3 letters DEFGHIJKLMNOPQRSTUVWXYZABC 48476064344401661486820930
rotate the alphabet left by 4 letters EFGHIJKLMNOPQRSTUVWXYZABCD 64634752459202215315761216
rotate the alphabet left by 5 letters FGHIJKLMNOPQRSTUVWXYZABCDE 80793440574002769144701400
rotate the alphabet left by 6 letters GHIJKLMNOPQRSTUVWXYZABCDEF 96952128688803322973640960
rotate the alphabet left by 7 letters HIJKLMNOPQRSTUVWXYZABCDEFG 113110816803603876802576080
rotate the alphabet left by 8 letters IJKLMNOPQRSTUVWXYZABCDEFGH 129269504918404430631475200
rotate the alphabet left by 9 letters JKLMNOPQRSTUVWXYZABCDEFGHI 145428193033204984460046720
rotate the alphabet left by 10 letters KLMNOPQRSTUVWXYZABCDEFGHIJ 161586881148005538285312000
rotate the alphabet left by 11 letters LMNOPQRSTUVWXYZABCDEFGHIJK 177745569262806092073926400
rotate the alphabet left by 12 letters MNOPQRSTUVWXYZABCDEFGHIJKL 193904257377606645419827200
rotate the alphabet left by 13 letters (Rot13) NOPQRSTUVWXYZABCDEFGHIJKLM 210062945492407192977792000
rotate the alphabet left by 14 letters OPQRSTUVWXYZABCDEFGHIJKLMN 226221633607207659105484800
rotate the alphabet left by 15 letters PQRSTUVWXYZABCDEFGHIJKLMNO 242380321722006898510080000
rotate the alphabet left by 16 letters QRSTUVWXYZABCDEFGHIJKLMNOP 258539009836786435620864000
rotate the alphabet left by 17 letters RSTUVWXYZABCDEFGHIJKLMNOPQ 274697697951229900419072000
rotate the alphabet left by 18 letters STUVWXYZABCDEFGHIJKLMNOPQR 290856386059605756149760000
rotate the alphabet left by 19 letters TUVWXYZABCDEFGHIJKLMNOPQRS 307015074052383197749248000
rotate the alphabet left by 20 letters UVWXYZABCDEFGHIJKLMNOPQRST 323173759727501357875200000
rotate the alphabet left by 21 letters VWXYZABCDEFGHIJKLMNOPQRSTU 339332396622934254059520000
rotate the alphabet left by 22 letters WXYZABCDEFGHIJKLMNOPQRSTUV 355489958175679536168960000
rotate the alphabet left by 23 letters XYZABCDEFGHIJKLMNOPQRSTUVW 371622740621471539200000000
rotate the alphabet left by 24 letters YZABCDEFGHIJKLMNOPQRSTUVWX 387159802681541410160640000
rotate the alphabet left by 25 letters ZABCDEFGHIJKLMNOPQRSTUVWXY 387780251083274649600000000

When rotating A–Z left by n letters, the rank seems to equal n × (n! + (n+1)! + … + 25!).

Reverse the alphabet

Description Key Rank of permutation
(the original alphabet) ABCDEFGHIJKLMNOPQRSTUVWXYZ 0
reverse the alphabet ZYXWVUTSRQPONMLKJIHGFEDCBA 26!−1 = 403291461126605635583999999
swap the halves of the alphabet (= Rot13) NOPQRSTUVWXYZABCDEFGHIJKLM 210062945492407192977792000
swap the halves of the alphabet, then reverse each pair of letters ONQPSRUTWVYXAZCBEDGFIHKJML 225600058765421255996201647
reverse each pair of letters BADCFEHGJILKNMPORQTSVUXWZY 1!+3!+5!+…+25! = 15537113273014144448681647
reverse each pair of letters, then swap the halves of the alphabet MPORQTSVUXWZYBADCFEHGJILKN 195173310290862616374050666
reverse each pair of letters, then reverse each half of the alphabet NKLIJGHEFCDABYZWXUVSTQROPM 208118150835743019209949333
reverse the order of the pairs of letters YZWXUVSTQROPMNKLIJGHEFCDAB 387754347853591491135318352
reverse each half of the alphabet MLKJIHGFEDCBAZYXWVUTSRQPON 193228515634198442606207999
reverse each half of the alphabet, then reverse each pair of letters LMJKHIFGDEBCZAXYVWTURSPQNO 177691402361184379587798352

The rank is a round number

Description Key Rank of permutation
rank 1025 ARDVUKPLXJSWFIZQENBCYHOTGM 10000000000000000000000000
ARDVUKPLXJSWFIZQENBCYHOTGM to A–Z ASTCQMYVNJFHZRWGPBKXEDLIUO 10988973006319482544479727
rank 2×1025 BIGRPWFYSXLOKVZJMCAETQHNDU 20000000000000000000000000
BIGRPWFYSXLOKVZJMCAETQHNDU to A–Z SARYTGCWBPMKQXLEVDIUZNFJHO 279639846906972301745950994
rank 3×1025 BYJMKFWLQIEOUHZDTSANVCGPRX 30000000000000000000000000
BYJMKFWLQIEOUHZDTSANVCGPRX to A–Z SAVPKFWNJCEHDTLXIYRQMUGZBO 279709176671131992344812402
rank 4×1025 CPMHESNXKVZFYTWABIDOQJRUGL 40000000000000000000000000
CPMHESNXKVZFYTWABIDOQJRUGL to A–Z PQASELYDRVIZCGTBUWFNXJOHMK 241991914062433513306813123
rank 5×1025 DGQBZCFLKJUEMNXVIWASPTORHY 50000000000000000000000000
DGQBZCFLKJUEMNXVIWASPTORHY to A–Z SDFALGBYQJIHMNWUCXTVKPROZE 281166950190841440462685623
rank 6×1025 DWRXSKQUCPIYJOVHLFATGBEMNZ 60000000000000000000000000
DWRXSKQUCPIYJOVHLFATGBEMNZ to A–Z SVIAWRUPKMFQXYNJGCETHOBDLZ 291818523111615275570619432
rank 7×1025 ENVSMXIGAFDTUHYJRZBWKLPQCO 70000000000000000000000000
ENVSMXIGAFDTUHYJRZBWKLPQCO to A–Z ISYKAJHNGPUVEBZWXQDLMCTFOR 135216181364283257626772178
rank 8×1025 FDYOJHZSVPWLXNTABKECGRMQIU 80000000000000000000000000
FDYOJHZSVPWLXNTABKECGRMQIU to A–Z PQTBSAUFYERLWNDJXVHOZIKMCG 242416253053371217525663624
rank 9×1025 FVBKDSQGUCRLIEXWMAJNHOPTYZ 90000000000000000000000000
FVBKDSQGUCRLIEXWMAJNHOPTYZ to A–Z RCJENAHUMSDLQTVWGKFXIBPOYZ 265142167158121460856278766
rank 1026 GMEDYCISQPLFOTWNRUBHZJVXAK 100000000000000000000000000
GMEDYCISQPLFOTWNRUBHZJVXAK to A–Z YSFDCLATGVZKBPMJIQHNRWOXEU 383569866086354423893353922
rank 2×1026 MXIHVENJDBUKZFRAGLPSWTOQCY 200000000000000000000000000
MXIHVENJDBUKZFRAGLPSWTOQCY to A–Z PJYIFNQDCHLRAGWSXOTVKEUBZM 238830203781478016963805157
rank 3×1026 TINMUGRZSPCKHWFLQVEXOABDJY 300000000000000000000000000
TINMUGRZSPCKHWFLQVEXOABDJY to A–Z VWKXSOFMBYLPDCUJQGIAERNTZH 339046728374966188897409097
rank 4×1026 ZTQPOIXNGDLRWHCAFJUBSKVYEM 400000000000000000000000000
ZTQPOIXNGDLRWHCAFJUBSKVYEM to A–Z PTOJYQINFRVKZHEDCLUBSWMGXA 244209320614217993705865087
rank 283 AQPDLXHRYEWBMJUZTOCIVFKNGS 9671406556917033397649408
AQPDLXHRYEWBMJUZTOCIVFKNGS to A–Z ALSDJVYGTNWEMXRCBHZQOUKFIP 6620763069667280211228468
rank 284 BHFGXTPIVKUAYROZQJCSNDMWEL 19342813113834066795298816
BHFGXTPIVKUAYROZQJCSNDMWEL to A–Z LASVYCDBHRJZWUOGQNTFKIXEMP 171058199132257289612072202
rank 285 CNJLVODPRTMBXKGZIUESHFQWAY 38685626227668133590597632
CNJLVODPRTMBXKGZIUESHFQWAY to A–Z YLAGSVOUQCNDKBFHWITJREXMZP 379100402624547675797832373
rank 286 EZRVNYGAFKBIQXPUWJLDSMOTCH 77371252455336267181195264
EZRVNYGAFKBIQXPUWJLDSMOTCH to A–Z HKYTAIGZLRJSVEWOMCUXPDQNFB 114750373622795779234781327
rank 287 JZKSDXNAITBOGYHUVQRLMCFPEW 154742504910672534362390528
JZKSDXNAITBOGYHUVQRLMCFPEW to A–Z HKVEYWMOIACTUGLXRSDJPQZFNB 114659257011911665267744533
rank 288 TYUJHWABRLCZNVOMQIPDEFSXGK 309485009821345068724781056
TYUJHWABRLCZNVOMQIPDEFSXGK to A–Z GHKTUVYERDZJPMOSQIWACNFXBL 97015609417375869605592682

Other keys

Description Key Rank of permutation
vowels (excl. W) first AEIOUYBCDFGHJKLMNPQRSTVWXZ 2029684993851484569600000
AEIOUYBCDFGHJKLMNPQRSTVWXZ to A–Z AGHIBJKLCMNOPQDRSTUVEWXYFZ 3237132339864412336984352
vowels (incl. W) first AEIOUWYBCDFGHJKLMNPQRSTVXZ 2029682317659275575296000
AEIOUWYBCDFGHJKLMNPQRSTVXZ to A–Z AHIJBKLMCNOPQRDSTUVWEXFYGZ 3884559320036121004471730
vowels (excl. W) last BCDFGHJKLMNPQRSTVWXZAEIOUY 16159865896223577121738320
BCDFGHJKLMNPQRSTVWXZAEIOUY to A–Z UABCVDEFWGHIJKXLMNOPYQRSZT 310225069417616263093075681
vowels (incl. W) last BCDFGHJKLMNPQRSTVXZAEIOUWY 16159865896223577121784400
BCDFGHJKLMNPQRSTVXZAEIOUWY to A–Z TABCUDEFVGHIJKWLMNOPXQYRZS 294713808282987417931622773
distinct letters in Pokémon names by Pokédex number BULASRIVYENCHMDOZQTWPFKGXJ 27559051093659236464322413
BULASRIVYENCHMDOZQTWPFKGXJ to A–Z DALOJVXMGZWCNKPURFESBHTYIQ 46779060972637454776205056

Python programs

These command-line Python programs can be used with the keys on this page.

Encrypt a message with a key

Invert a key with respect to A–Z

Get the rank of a permutation of A–Z

Get the n-th permutation of A–Z