Question: Using rsi, rax, rdi, rdx registers, create an assembly program. The purpose of this program will be to provide simple encryption and decryption. All user

Using rsi, rax, rdi, rdx registers, create an assembly program. The purpose of this program will be to provide simple encryption and decryption. All user input should be lower case (no uppercase or other characters will be provided - except for the last level.)
Grade 60: Prompt the user for a string (Max size 64 char) and accept their input from the keyboard; then print out a response statement and the information the user provided.
Grade 70: Complete the previous work and then provide a simple shift cypher with an offset of your choice (positive or negative). For example (a=d, b=e, c=f, d=g ... x=a, y=b, z=c).
Grade 80: Complete the previous work but also prompt the user to identify if they would like to encrypt or decrypt a message. Allow encryption to run as before but if the user indicated a decryption covert the input (cypher text) back to clear text.
Grade 90: Keep the structure of your previous code and add a menu to allow for either a shift cypher or substitution cypher to be used; based on the user's choice. A substitution cypher is a one-to-one replacement of any character within the set. Create a data structure that has a lookup value, instead of an offset, for each character to create a substitution cypher.
Grade 100: Complete the previous work and add uppercase letters to the encryption. Also provide for the substitution cypher read from a data file named "codebook.txt" instead of being hard coded in the program.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Programming Questions!