Description
Part 1 (10 points) – Encryption/Decryption using Polyalphabetic Ciphers
-
Input
– A given text file for plaintext or ciphertext (assume only 26 letters, no special characters, numbers nor punctuations)
– 3 substitution ciphers, M1,M2,M3
-
-
-
M1 – left shift 3 letters
-
-
-
-
-
M2 – Plain: a b c d e f g h i j k l m n o p q r s t u v w x y z
-
-
Cipher: D K V Q F I B J W P E S C X H T M Y A U O L R G Z N
-
-
M3 – right shift 5 letters
-
– cycling pattern
• n=3: M2,M3,M2,M1,M3; M2,M3,M2,M1,M3;
-
Output
– Encrypted ciphertext or decrypted plaintext
-
See the requirements for submission
Part 2 (10 points) – Encryption/Decryption using Rail Fence Cipher
-
Input
– A given text file for plaintext or ciphertext
– A given depth of rail fence (not fixed, given by user at the time of execution)
-
Output
– Encrypted ciphertext or decrypted plaintext
-
See the requirements for submission
Requirements
-
You are given the flexibility to choose one of your favorite programming languages for implementation either in Windows or Linux environment.
-
You must submit
-
-
all the source code of your program
-
-
-
executable files (if use c/c++)
-
-
-
Makefile (if use c/c++)
-
-
-
ReadMe file that describes
-
-
-
-
the use of your program
-
-
-
-
-
how to run it
-
-
-
You need to demonstrate your project in class on Jul. 2nd. Otherwise, 5 points out of total 20 points will be deducted from your project.
1