You need these following files to make it work:
This is the Dictionary so that it can check the words in the file
Cipher file that you can use to change to plain text
Cipher file much of same #2
Cipher file much of same #3
Cipher file much of same #4
Input file to change to cipher text
Input file much of the same #2
Input file much of the same #3

/* Project #4

Project Description:

In this project, you will implement three basic cryptography procedures for shift cipher.
Cryptography refers to the use of encryption (or encoder) to convert plain text information into
unintelligible gibberish (cipher text) for security purposes. A corresponding decryption
algorithm (or decoder) will convert the cipher text back to the plain text with the correct
decryption key. A code breaker tries to decode the cipher text without the key.
Shift cipher is one of the simplest cryptography systems. It encrypts the plain text message by
shifting each character for fixed number of characters down the relevant alphabet. This fixed
number is called the encryption key. For example, consider the English alphabet, when the
encryption key is 2, a, b, c, …, x, y, z will be shifted to c, d, e, …, z, a, b, respectively. A shift
cipher with encryption key 2 will convert the plain text “project” into cipher text “rtqlgev”. The
decoder in this case will be shifting each letter 2 position to the left, that is, replacing a, b, c, …,
x,y,z in the cipher text by y, z, a, …, v, w, x, respectively. It suffices for a code breaker in this
case to guess the value of the encryption/decryption key.
You need to write a single program to perform these three basic cryptography procedures at the
user’s choice. Assuming that a.out is the executable of your program:
a.out 1 input output key encodes input file with key and write cipher text to output
a.out 2 input output key decodes input file with key and write plain text to output
a.out 3 input output breaks the cipher text input and write plain text to output
The code breaker procedure tries all the possible key values and matches the words in the
corresponding plain text with the words in a dictionary “mydictional.txt”. The key that produces
the maximal number of matches will be considered as the key and will be used to generate the
plain text file output…