Cryptography

profilebeliever
crptoassign.docx

1) Using any programming language of your choice implement the Rail Fence Cipher encryption algorithm

2) Specifications: The program should take two inputs 1) Message n 2) The key k, which is a tuple (d,r) , where d is the depth of the cipher and r is the number of times the algorithm should repeat itself. The program should produce as output the encrypted message as text

3) What will be the decryption algorithm for a Rail-Fence cipher? Write down the pseudocode for the algorithm.

4) Using any programming language of your choice implement the Rail Fence Cipher decryption algorithm

5) Specifications: The program should take two inputs 1) Encrypted Message n 2) The key k, which is a tuple (d,r), where d is the depth of the cipher and r is the number of times the algorithm should repeat itself. The program should produce as output the decrypted message as text

Test 1 (Encryption)

1) Using a key of (4,5) use your code to encrypt the following text: “Cryptology is the practice and study of techniques for secure communication in the presence of third parties called adversaries.”

2) Do not ignore spaces

Test 2 (Decryption)

1) Using a key of (3,3) use your code to decrypt the following text: “TAOTINEN KAT I ODIOAEI OHHLSCTE TTETOEL BI IHI GAO EPSEA TO SS EEK ELRCPTSIY EANRPHMCYEK E CREAAIEJURTE IEASHI MA DRN RH AUWTA RF EFTFHENTPSF Q TAILB E TTECAPMSIYIY SRPURNTBL YCL OANAO E TVREAOSHOTTNULSRHK”

2) Do not ignore spaces

Submission

1) Submit your code, a detailed readme file (which should explain how to run the code with sample input and output) and a report (which should include your results for Test 1 and Test 2) in a separate files via Blackboard by the due date. No zipped files allowed.