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. Terms used on this page:

The keys

Keys involving keyboard layouts

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

Keys involving pangrams

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

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

Rotate the alphabet

Description Key Rank of key
(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

Here, Rev(m,n) means that within each group of m letters in the alphabet, they are reversed in units of n letters. E.g. R(26,2) means the first letter pair becomes the last one, etc., and R(2,1) means the letters are reversed within each pair. Rev(26,13) is the same as Rot13.

Description Key Rank of key
(the original alphabet) ABCDEFGHIJKLMNOPQRSTUVWXYZ 0
Rev(2,1) BADCFEHGJILKNMPORQTSVUXWZY 15537113273014144448681647
Rev(13,1) MLKJIHGFEDCBAZYXWVUTSRQPON 193228515634198442606207999
Rev(26,1) ZYXWVUTSRQPONMLKJIHGFEDCBA 403291461126605635583999999
Rev(26,2) YZWXUVSTQROPMNKLIJGHEFCDAB 387754347853591491135318352
Rev(26,13) NOPQRSTUVWXYZABCDEFGHIJKLM 210062945492407192977792000
Rev(2,1) then Rev(13,1) NKLIJGHEFCDABYZWXUVSTQROPM 208118150835743019209949333
Rev(2,1) then Rev(26,13) MPORQTSVUXWZYBADCFEHGJILKN 195173310290862616374050666
Rev(13,1) then Rev(2,1) LMJKHIFGDEBCZAXYVWTURSPQNO 177691402361184379587798352
Rev(13,1) then Rev(26,2) ONQPSRUTWVYXAZCBEDGFIHKJML 225600058765421255996201647
Rev(2,1) then Rev(13,1) then Rev(2,1) KNILGJEHCFADYBWZUXSVQTORMP 162774737489903474578476706
Rev(2,1) then Rev(13,1) then Rev(26,2) PMROTQVSXUZWBYDAFCHEJGLINK 240516723636702161005523293
Rev(13,1) then Rev(2,1) then Rev(13,1) ZCBEDGFIHKJMLONQPSRUTWVYXA 389049303996530626825198979
Rev(13,1) then Rev(2,1) then Rev(26,13) AXYVWTURSPQNOLMJKHIFGDEBCZ 14242157130075008758801020

The rank is a round number

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

Letter shapes

Description Key Rank of key Inverse key Rank of inverse key
letters by increasing number of holes CEFGHIJKLMNSTUVWXYZADOPQRB 32964854301071051215888233 TZAUBCDEFGHIJKVWXYLMNOPQRS 309623984477986477530470400
letters without holes first CEFGHIJKLMNSTUVWXYZABDOPQR 32964854301071051215888080 TUAVBCDEFGHIJKWXYZLMNOPQRS 306521742469320280333670400
letters by decreasing number of holes BADOPQRCEFGHIJKLMNSTUVWXYZ 15550016168457507889152000 BAHCIJKLMNOPQRDEFGSTUVWXYZ 15640684736104073976422400
letters without holes last ABDOPQRCEFGHIJKLMNSTUVWXYZ 38806125126521905152000 ABHCIJKLMNOPQRDEFGSTUVWXYZ 129474692773087992422400
letters without curves first AEFHIKLMNTVWXYZBCDGJOPQRSU 1943614428846664596422400 APQRBCSDETFGHIUVWXYJZKLMNO 9063943328749061400107640
letters without curves last BCDGJOPQRSUAEFHIKLMNTVWXYZ 16161160970645211096576000 LABCMNDOPEQRSTFGHIJUKVWXYZ 170623738714709122201498320
letters by increasing number of loose ends (sans serif; Q counts as one) BDOPQACGIJLMNRSUVWZEFTYHKX 17076432161643660867836946 FAGBTUHXIJYKLMCDENOVPQRZWS 77660261609794868383951685
letters by increasing number of loose ends (sans serif; Q counts as two) BDOPACGIJLMNQRSUVWZEFTYHKX 17075819320051097667836946 EAFBTUGXHIYJKLCDMNOVPQRZWS 62123199427703192912182085
letters by decreasing number of loose ends (sans serif; Q counts as one) HKXEFTYACGIJLMNRSUVWZPQBDO 114710137320654704853994290 HXIYDEJAKLBMNOZVWPQFRSTCGU 122433064455168458854103820
letters by decreasing number of loose ends (sans serif; Q counts as two) HKXEFTYACGIJLMNQRSUVWZPBDO 114710137320654704849956434 HXIYDEJAKLBMNOZWPQRFSTUCGV 122433064455168458855555340
letters by increasing number of strokes (as few as possible) BCDGIJLMNOPRSUVWZAEFKQTXYH 16161097201490686894888473 RABCSTDZEFUGHIJKVLMWNOPXYQ 263691320185702391256452163
letters by decreasing number of strokes (as few as possible) HAEFKQTXYBCDGIJLMNOPRSUVWZ 108659733352807293296640000 BJKLCDMANOEPQRSTFUVGWXYHIZ 20690659652528411314005180

Other keys

Description Key Rank of key Inverse key Rank of inverse key
vowels (excl. W) first AEIOUYBCDFGHJKLMNPQRSTVWXZ 2029684993851484569600000 AGHIBJKLCMNOPQDRSTUVEWXYFZ 3237132339864412336984352
vowels (incl. W) first AEIOUWYBCDFGHJKLMNPQRSTVXZ 2029682317659275575296000 AHIJBKLMCNOPQRDSTUVWEXFYGZ 3884559320036121004471730
vowels (excl. W) last BCDFGHJKLMNPQRSTVWXZAEIOUY 16159865896223577121738320 UABCVDEFWGHIJKXLMNOPYQRSZT 310225069417616263093075681
vowels (incl. W) last BCDFGHJKLMNPQRSTVXZAEIOUWY 16159865896223577121784400 TABCUDEFVGHIJKWLMNOPXQYRZS 294713808282987417931622773
letters sorted by their English names (C=cee, Q=cue) AHRBCQDWEFLMNSXGIJKOPTUVYZ 4110499952348022543340800 ADEGIJPBQRSKLMTUFCNVWXHOYZ 1296188032333829888702448
letters sorted by their English names (C=see, Q=kew/kue) AHRBDWEFLMNSXGIJKQOPCTUVYZ 4110563241696852020995200 ADUEGHNBOPQIJKSTRCLVWXFMYZ 1708642653560919836773488
letters sorted by their Finnish names ABDEGHIJWKQOPCTZUVYFXLMNRS 27083326281061184099880 ABNCDTEFGHJVWXLMKYZOQRIUSP 284406244758095821276613
distinct letters in Pokémon names by Pokédex number BULASRIVYENCHMDOZQTWPFKGXJ 27559051093659236464322413 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