Skip to main content
replaced http://codereview.stackexchange.com/ with https://codereview.stackexchange.com/
Source Link

Decrypt a monoalphabetic substitution cipher

A monoalphabetic substitution cipher applies a substitution table to the letters in the plaintext (often omitting all non-letters to disguise the word boundaries). For example, if the table is:

plaintext ABCDEFGHIJKLMNOPQRSTUVWXYZ ciphertext RDYBXZWFCTIELAMJPGQVNSOHUK 

Then the plaintext HELLO WORLD would be encrypted as FXEEMOMGEB.

Your program should take as input a ciphertext, for example:

UXLIRNXSOPQAKJBJTXSVTJKRHXKKJKLIQQOEBLXRSNJKWQKQKYSAQKLRVQNLJKQD QRPLJRSEWIRSWQWJHQKTRKKQRWIXSODXNXJSNJTLIQBRNLLIXNXNUIRLXYSAQKLR VQLJAJTJKEJYKQRAQK 

(together with advice from the cryptanalyst, if you wish) and output the plaintext.

Some more examples to test your code on (each is encrypted with a different cipher):

EVSXTTIWGVRMWIXWDXEMHWXDVCWGVSIKXWIRIQIVQFIVUUFIKGXEMLFVVMRVCFMW XTGIWFBZITGIWITGXEBEXEDVTGIWYVCETWDLIBTIZIWKVLIXCTBUCFTGIWIBKEVQ FXYIFBOIGVSI UZIRUKEJJXVMDKADJZXRYHSNOZENDNDKZXJDUIDJHJUAOAYIDUZIEUZNUKKXVOUA OXZKUSSTSDUKYJUGSDUZIHDZOUSEUIDMOKCUVDAMDXGBDVAOGDKASOLDIAXKDD EPOMQDHHXOHXKMOPKTQPNXTPEUCHKSDTUXDQDMDSDHNDQDOKMDQDMKXKQEADWYPK TPGNKAPRQXNXOTLWKQOCPEDKOTGXVVXTHPOHSPWHXXTLWXGPOHSXNXKQQXWAGXHN DOGXHEDHHKRQXH CYNCWRBNQNGNYPQANYPJQRCRBNCRBNSFYLQCCWRBNQNIBPXBPQRBNYFRJSFKGFYF YLIBPXBRBNQHPSPRIBCLNXPHBNSQRBNG 

Challenge entries

Decrypt a monoalphabetic substitution cipher

A monoalphabetic substitution cipher applies a substitution table to the letters in the plaintext (often omitting all non-letters to disguise the word boundaries). For example, if the table is:

plaintext ABCDEFGHIJKLMNOPQRSTUVWXYZ ciphertext RDYBXZWFCTIELAMJPGQVNSOHUK 

Then the plaintext HELLO WORLD would be encrypted as FXEEMOMGEB.

Your program should take as input a ciphertext, for example:

UXLIRNXSOPQAKJBJTXSVTJKRHXKKJKLIQQOEBLXRSNJKWQKQKYSAQKLRVQNLJKQD QRPLJRSEWIRSWQWJHQKTRKKQRWIXSODXNXJSNJTLIQBRNLLIXNXNUIRLXYSAQKLR VQLJAJTJKEJYKQRAQK 

(together with advice from the cryptanalyst, if you wish) and output the plaintext.

Some more examples to test your code on (each is encrypted with a different cipher):

EVSXTTIWGVRMWIXWDXEMHWXDVCWGVSIKXWIRIQIVQFIVUUFIKGXEMLFVVMRVCFMW XTGIWFBZITGIWITGXEBEXEDVTGIWYVCETWDLIBTIZIWKVLIXCTBUCFTGIWIBKEVQ FXYIFBOIGVSI UZIRUKEJJXVMDKADJZXRYHSNOZENDNDKZXJDUIDJHJUAOAYIDUZIEUZNUKKXVOUA OXZKUSSTSDUKYJUGSDUZIHDZOUSEUIDMOKCUVDAMDXGBDVAOGDKASOLDIAXKDD EPOMQDHHXOHXKMOPKTQPNXTPEUCHKSDTUXDQDMDSDHNDQDOKMDQDMKXKQEADWYPK TPGNKAPRQXNXOTLWKQOCPEDKOTGXVVXTHPOHSPWHXXTLWXGPOHSXNXKQQXWAGXHN DOGXHEDHHKRQXH CYNCWRBNQNGNYPQANYPJQRCRBNCRBNSFYLQCCWRBNQNIBPXBPQRBNYFRJSFKGFYF YLIBPXBRBNQHPSPRIBCLNXPHBNSQRBNG 

Challenge entries

Decrypt a monoalphabetic substitution cipher

A monoalphabetic substitution cipher applies a substitution table to the letters in the plaintext (often omitting all non-letters to disguise the word boundaries). For example, if the table is:

plaintext ABCDEFGHIJKLMNOPQRSTUVWXYZ ciphertext RDYBXZWFCTIELAMJPGQVNSOHUK 

Then the plaintext HELLO WORLD would be encrypted as FXEEMOMGEB.

Your program should take as input a ciphertext, for example:

UXLIRNXSOPQAKJBJTXSVTJKRHXKKJKLIQQOEBLXRSNJKWQKQKYSAQKLRVQNLJKQD QRPLJRSEWIRSWQWJHQKTRKKQRWIXSODXNXJSNJTLIQBRNLLIXNXNUIRLXYSAQKLR VQLJAJTJKEJYKQRAQK 

(together with advice from the cryptanalyst, if you wish) and output the plaintext.

Some more examples to test your code on (each is encrypted with a different cipher):

EVSXTTIWGVRMWIXWDXEMHWXDVCWGVSIKXWIRIQIVQFIVUUFIKGXEMLFVVMRVCFMW XTGIWFBZITGIWITGXEBEXEDVTGIWYVCETWDLIBTIZIWKVLIXCTBUCFTGIWIBKEVQ FXYIFBOIGVSI UZIRUKEJJXVMDKADJZXRYHSNOZENDNDKZXJDUIDJHJUAOAYIDUZIEUZNUKKXVOUA OXZKUSSTSDUKYJUGSDUZIHDZOUSEUIDMOKCUVDAMDXGBDVAOGDKASOLDIAXKDD EPOMQDHHXOHXKMOPKTQPNXTPEUCHKSDTUXDQDMDSDHNDQDOKMDQDMKXKQEADWYPK TPGNKAPRQXNXOTLWKQOCPEDKOTGXVVXTHPOHSPWHXXTLWXGPOHSXNXKQQXWAGXHN DOGXHEDHHKRQXH CYNCWRBNQNGNYPQANYPJQRCRBNCRBNSFYLQCCWRBNQNIBPXBPQRBNYFRJSFKGFYF YLIBPXBRBNQHPSPRIBCLNXPHBNSQRBNG 

Challenge entries

challenge entries
Source Link
Gareth Rees
  • 50.1k
  • 22
  • 41

Decrypt a monoalphabetic substitution cipher

A monoalphabetic substitution cipher applies a substitution table to the letters in the plaintext (often omitting all non-letters to disguise the word boundaries). For example, if the table is:

plaintext ABCDEFGHIJKLMNOPQRSTUVWXYZ ciphertext RDYBXZWFCTIELAMJPGQVNSOHUK 

Then the plaintext HELLO WORLD would be encrypted as FXEEMOMGEB.

Your program should take as input a ciphertext, for example:

UXLIRNXSOPQAKJBJTXSVTJKRHXKKJKLIQQOEBLXRSNJKWQKQKYSAQKLRVQNLJKQD QRPLJRSEWIRSWQWJHQKTRKKQRWIXSODXNXJSNJTLIQBRNLLIXNXNUIRLXYSAQKLR VQLJAJTJKEJYKQRAQK 

(together with advice from the cryptanalyst, if you wish) and output the plaintext.

Some more examples to test your code on (each is encrypted with a different cipher):

EVSXTTIWGVRMWIXWDXEMHWXDVCWGVSIKXWIRIQIVQFIVUUFIKGXEMLFVVMRVCFMW XTGIWFBZITGIWITGXEBEXEDVTGIWYVCETWDLIBTIZIWKVLIXCTBUCFTGIWIBKEVQ FXYIFBOIGVSI UZIRUKEJJXVMDKADJZXRYHSNOZENDNDKZXJDUIDJHJUAOAYIDUZIEUZNUKKXVOUA OXZKUSSTSDUKYJUGSDUZIHDZOUSEUIDMOKCUVDAMDXGBDVAOGDKASOLDIAXKDD EPOMQDHHXOHXKMOPKTQPNXTPEUCHKSDTUXDQDMDSDHNDQDOKMDQDMKXKQEADWYPK TPGNKAPRQXNXOTLWKQOCPEDKOTGXVVXTHPOHSPWHXXTLWXGPOHSXNXKQQXWAGXHN DOGXHEDHHKRQXH CYNCWRBNQNGNYPQANYPJQRCRBNCRBNSFYLQCCWRBNQNIBPXBPQRBNYFRJSFKGFYF YLIBPXBRBNQHPSPRIBCLNXPHBNSQRBNG 

Challenge entries

Decrypt a monoalphabetic substitution cipher

A monoalphabetic substitution cipher applies a substitution table to the letters in the plaintext (often omitting all non-letters to disguise the word boundaries). For example, if the table is:

plaintext ABCDEFGHIJKLMNOPQRSTUVWXYZ ciphertext RDYBXZWFCTIELAMJPGQVNSOHUK 

Then the plaintext HELLO WORLD would be encrypted as FXEEMOMGEB.

Your program should take as input a ciphertext, for example:

UXLIRNXSOPQAKJBJTXSVTJKRHXKKJKLIQQOEBLXRSNJKWQKQKYSAQKLRVQNLJKQD QRPLJRSEWIRSWQWJHQKTRKKQRWIXSODXNXJSNJTLIQBRNLLIXNXNUIRLXYSAQKLR VQLJAJTJKEJYKQRAQK 

(together with advice from the cryptanalyst, if you wish) and output the plaintext.

Some more examples to test your code on (each is encrypted with a different cipher):

EVSXTTIWGVRMWIXWDXEMHWXDVCWGVSIKXWIRIQIVQFIVUUFIKGXEMLFVVMRVCFMW XTGIWFBZITGIWITGXEBEXEDVTGIWYVCETWDLIBTIZIWKVLIXCTBUCFTGIWIBKEVQ FXYIFBOIGVSI UZIRUKEJJXVMDKADJZXRYHSNOZENDNDKZXJDUIDJHJUAOAYIDUZIEUZNUKKXVOUA OXZKUSSTSDUKYJUGSDUZIHDZOUSEUIDMOKCUVDAMDXGBDVAOGDKASOLDIAXKDD EPOMQDHHXOHXKMOPKTQPNXTPEUCHKSDTUXDQDMDSDHNDQDOKMDQDMKXKQEADWYPK TPGNKAPRQXNXOTLWKQOCPEDKOTGXVVXTHPOHSPWHXXTLWXGPOHSXNXKQQXWAGXHN DOGXHEDHHKRQXH CYNCWRBNQNGNYPQANYPJQRCRBNCRBNSFYLQCCWRBNQNIBPXBPQRBNYFRJSFKGFYF YLIBPXBRBNQHPSPRIBCLNXPHBNSQRBNG 

Decrypt a monoalphabetic substitution cipher

A monoalphabetic substitution cipher applies a substitution table to the letters in the plaintext (often omitting all non-letters to disguise the word boundaries). For example, if the table is:

plaintext ABCDEFGHIJKLMNOPQRSTUVWXYZ ciphertext RDYBXZWFCTIELAMJPGQVNSOHUK 

Then the plaintext HELLO WORLD would be encrypted as FXEEMOMGEB.

Your program should take as input a ciphertext, for example:

UXLIRNXSOPQAKJBJTXSVTJKRHXKKJKLIQQOEBLXRSNJKWQKQKYSAQKLRVQNLJKQD QRPLJRSEWIRSWQWJHQKTRKKQRWIXSODXNXJSNJTLIQBRNLLIXNXNUIRLXYSAQKLR VQLJAJTJKEJYKQRAQK 

(together with advice from the cryptanalyst, if you wish) and output the plaintext.

Some more examples to test your code on (each is encrypted with a different cipher):

EVSXTTIWGVRMWIXWDXEMHWXDVCWGVSIKXWIRIQIVQFIVUUFIKGXEMLFVVMRVCFMW XTGIWFBZITGIWITGXEBEXEDVTGIWYVCETWDLIBTIZIWKVLIXCTBUCFTGIWIBKEVQ FXYIFBOIGVSI UZIRUKEJJXVMDKADJZXRYHSNOZENDNDKZXJDUIDJHJUAOAYIDUZIEUZNUKKXVOUA OXZKUSSTSDUKYJUGSDUZIHDZOUSEUIDMOKCUVDAMDXGBDVAOGDKASOLDIAXKDD EPOMQDHHXOHXKMOPKTQPNXTPEUCHKSDTUXDQDMDSDHNDQDOKMDQDMKXKQEADWYPK TPGNKAPRQXNXOTLWKQOCPEDKOTGXVVXTHPOHSPWHXXTLWXGPOHSXNXKQQXWAGXHN DOGXHEDHHKRQXH CYNCWRBNQNGNYPQANYPJQRCRBNCRBNSFYLQCCWRBNQNIBPXBPQRBNYFRJSFKGFYF YLIBPXBRBNQHPSPRIBCLNXPHBNSQRBNG 

Challenge entries

Source Link
Gareth Rees
  • 50.1k
  • 22
  • 41

Decrypt a monoalphabetic substitution cipher

A monoalphabetic substitution cipher applies a substitution table to the letters in the plaintext (often omitting all non-letters to disguise the word boundaries). For example, if the table is:

plaintext ABCDEFGHIJKLMNOPQRSTUVWXYZ ciphertext RDYBXZWFCTIELAMJPGQVNSOHUK 

Then the plaintext HELLO WORLD would be encrypted as FXEEMOMGEB.

Your program should take as input a ciphertext, for example:

UXLIRNXSOPQAKJBJTXSVTJKRHXKKJKLIQQOEBLXRSNJKWQKQKYSAQKLRVQNLJKQD QRPLJRSEWIRSWQWJHQKTRKKQRWIXSODXNXJSNJTLIQBRNLLIXNXNUIRLXYSAQKLR VQLJAJTJKEJYKQRAQK 

(together with advice from the cryptanalyst, if you wish) and output the plaintext.

Some more examples to test your code on (each is encrypted with a different cipher):

EVSXTTIWGVRMWIXWDXEMHWXDVCWGVSIKXWIRIQIVQFIVUUFIKGXEMLFVVMRVCFMW XTGIWFBZITGIWITGXEBEXEDVTGIWYVCETWDLIBTIZIWKVLIXCTBUCFTGIWIBKEVQ FXYIFBOIGVSI UZIRUKEJJXVMDKADJZXRYHSNOZENDNDKZXJDUIDJHJUAOAYIDUZIEUZNUKKXVOUA OXZKUSSTSDUKYJUGSDUZIHDZOUSEUIDMOKCUVDAMDXGBDVAOGDKASOLDIAXKDD EPOMQDHHXOHXKMOPKTQPNXTPEUCHKSDTUXDQDMDSDHNDQDOKMDQDMKXKQEADWYPK TPGNKAPRQXNXOTLWKQOCPEDKOTGXVVXTHPOHSPWHXXTLWXGPOHSXNXKQQXWAGXHN DOGXHEDHHKRQXH CYNCWRBNQNGNYPQANYPJQRCRBNCRBNSFYLQCCWRBNQNIBPXBPQRBNYFRJSFKGFYF YLIBPXBRBNQHPSPRIBCLNXPHBNSQRBNG