Implement the affine cipher in one programing language and


To implement Affine Cipher and S-DES in any programming language with your preference. But you are required to finish this assignment independently and strictly follow the requirements. In your assignment, please pay attention to your writing skills in grammar checking, typos, etc..

1. Implement the Affine Cipher (see lecture notes) in one programing language and make sure that the following requirements are satisfied.

- You need to have a separate code file to testify whether a given key (a,b) is eligible.
- You have separate functions for encryption and decryption and also your code should work for both encryption and decryption for any given eligible key. (After decryption, the original plaintext should be recovered).
- You code should be capable to encrypt and decrypt both capital and lower case letters (ignore other non-letter symbols).
- You code should work for the given test file. (Able to encrypt and decrypt correctly).
After implementing your code, you MUST answer the following questions in your hard copy submission.

- Compute all possible eligible keys you can use and justify your computation.
- If your code works properly with some selected eligible key, show recovered plaintext after decryption and compare with the original plaintext file; (the test file is given in the unit website). State the possible reasons if not working properly.
- Mathematically prove the decrypted message equals to the original message with critical logical reasoning.
- Use your code in the Tutorial 1, print out the letter distribution with a graph chart for the given test file.
- Submit your code in your hard copy assignment.
- Print out the first page and last page of decrypted file and compare it with the original plaintext, are they the same?

2. Implement S-DES in any programming language. The requirements are follows:
- Your code should be able to encrypt and decrypt all possible characters on a keyboard.
- The key for encryption and decryption is required to be any combination of characters in a keyboard with finite length (You need to do padding or chopping if necessary.)
- You are required to implement key generation, switch function and Fk as three separate functions (You should have these three functions separately in your hard copy) and then combine all of these operations to achieve S-DES.
- Make sure it works properly for the given test file.
- Change the elements in all S-boxes with the required constraint (S-Box elements are required to be between 0-3) and check whether your code still works as expected.
Now you can answer the following questions in your hard copy submission after you have done all above.

- Mathematically prove S-DES works (After decryption, you can obtain the original plaintext).
- State your pseudo code structure based on the three separate required functions.
- State clearly what is the main difficulty in the process of your programming if your code is not working properly?
- Print out and submit the outputs for encryption and decryption for a test file given in the unit website. (Only the first page and last pages are required for hard copy.)
- Print out and submit a hard copy of your code with structure explanation by using the three functions (make sure this structure looks nice).
- Try to do encryption and decryption with a key of all 1's, and report your findings.

You need to report your design/progress and demonstrate your code in the lab for above two questions. Make sure that answers in your hard copy are consistent with your live demo in lab.

3. Based on your understanding on the lecture notes 1-4 (from lecture one to lecture four), answer the following questions. (5 Marks)
- How many types of threats in information transmission?
- What is source coding in information transmission?
- What is coding/error coding in information transmission?
- In your code of S-DES, which step is source coding? Which step is coding/error coding?
- In your code of S-DES, which step is confusion? Which step is diffusion?

Attachment:- C-SDES.pdf

Solution Preview :

Prepared by a verified Expert
JAVA Programming: Implement the affine cipher in one programing language and
Reference No:- TGS02249649

Now Priced at $35 (50% Discount)

Recommended (97%)

Rated (4.9/5)