Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Help Experts Only need help on this part : Write an assembly language program to implement the following encryption/decryption algorithm. Your program will read in

image text in transcribed

Help Experts Only need help on this part :

image text in transcribed 
Write an assembly language program to implement the following encryption/decryption algorithm. Your program will read in a key file, a message file to encrypt/decrypt, a user-entered password, and as an option, the number of rounds as in the following command line: (order is irrelevant) To encrypt: eryptor.exe -e -i -k password [-r o cout_file>] lo decrypt: cryptor-exe -d -i -k -p [-r ] If no password is specified, the password will be "password" for that run of the program. The number of rounds "-r" is optional and will default to one with a maximum of three. I will provide a keyfile called "key.dat" and that should be used for testing your program, however you can rename it. The default output filename is the input filename with a "enc" extension if encrypted and a ".dec" extension if decrypted. I provide a C shell program for every group to handle some of the mundane tasks such as parsing the command line input and hashing the password. The key file is 65537 bytes in length (indexed 0 to 65536) and that length is an integral part for allowing this simple algorithm to work - do not alter the length. Your program should read that key file into a global byte array that is exactly 65537 bytes in length. The SHA-256 hash will process the password and output 32 bytes of hash data into an array. This data wil be used to get both the starting point and the hop count for the encryption/decryption. The first two bytes of the hash will be the starting point (0-65535) and the next two bytes will get the hop count ( to 65536, use a zero to mean 65536). NOTE: You will need to a 4-byte variable to hold the current index into the key file array The following C code functionality must be accomplished in assembly language for( round= 0; round

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image

Step: 3

blur-text-image

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

Strategic management concepts

Authors: Fred david

13th Edition

9780136120988, 136120997, 136120989, 978-0136120995

Students also viewed these Databases questions