Skip to content

Hadari23/encryptedMessageRiddle

Repository files navigation

encryptedMessageRiddle

This is a project I wrote for Advanced Computational Linguistics class. It uses simulated annealing to decrypt a message.
Here is the background story that was given:
"A North Korean spy, imprisoned in a local prison in Los Angeles, was caught sending an encrypted
message written using an encryption system known as the Substitution Cipher. That is, each alphabetic
letter is replaced with another letter. Scientists from a local university were the ones to intercept the
message, and they ask for your help:
find the encryption key (i.e. letter permutation) used by the spy! Decrypt the message! Save the world!"

Technical Details

it takes about 4-5 minutes to the program to exacute.
The program prints the decrypted message, and the dictionary that is needed in order to decrypt it.

Files

  • problemset_06_encrypted_input.txt is the encrypted text
  • language_model.py containing the functionality needed in order to read a corpus from an online resource and build a bigram language model
  • permutation.py representing a letter permutation = the dictionary
  • simulated_annealing.py containing an implementation of the simulated annealing algorithm for finding the optimal hypothesis in a large conjecture space
  • main.py main function.
  • solution.pdf containing the decrypted message, the winning hypothesis and the simulation annealing start values.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages