Decrypt your enemy's secret messages!
Do you remember your days as a child when you encrypted your top secret messages by replacing the letters? For example an A became an L, a B became a D and so on. It didn't matter with which letter another one was replaced, as long as no letter was used as a replacement for more than one other letter.
This encryption algorithm is known as Monoalphabetic Substitution. Although the underlying principle is a very simple one, decrypting monoalphabetically substituted texts is not that easy. MonoDecrypt uses pattern matching and its knowledge about character frequencies in order to do decrypt such messages.
Depending on the information you give it (MonoDecrypt is able to decrypt texts of any language; it only needs information on the appropriate language), the tool decrypts about 50%-100% on its own. Then you can decrypt the remaining data by filling the gaps or correcting bad guesses.
By the way MonoDecrypt can also encrypt texts using Monoalphabetic Substitution. However, this is not recommended, because your snoopy fellow men could use MonoDecrypt, too.
How to use MonoDecrypt
* MonoDecrypt is a command line tool. You use it by opening a command line interpreter (Windows: Start->Run->cmd).
* Navigate to the directory, where the MonoDecrypt.jar file is being located (using the cd command; e.g. cd c: est).
* MonoDecrypt expects at least 3 parameters: The file which contains the encrypted data, the file which contains the language information and last, not least the file which will be created, containing the decrypted data. There are already example files for German language (cyp.txt, ger_stats.txt). So you can test MonoDecrypt by typing java -jar MonoDecrypt.jar -e cyp.txt -s ger_stats.txt -d decrypted_text.txt -i The -i parameter activates interactive mode which allows you to decrypt remaining encrypted data, manually.
* If you follow the instructions, which MonoDecrypt will display, you'll end up with a file named decrypted_text.txt, which contains the decrypted version of cyp.txt.
* If you want MonoDecrypt to decrypt messages of other languages, you have to create a new statistics file. Read the comments in ger_stats.txt for further instructions.
* Tip: If you want to encrypt a file, start MonoDecrypt with the followingparameters: java -jar MonoDecrypt.jar -e file_to_encrypt.txt -s ger_stats.txt -d line wrap encrypted_text.txt -k keys.txt