For this homework assignment you are not allowed to use::MOVSB, MOVSW, MOVSD, CMPSB,CMPSW,CMPD,SCASB, SCASW, SCASD,STOSB, STOSW, STOSD, LODSB, LODSW, and LODSD. It is required that for each question write only one procedure that does the requested job. Only write the assembly part and avoid using directives. DO NOT USE IRVINE'S LIBRARY. Write Assembly code (only assembly code and no procedure call) that performs decryption (recovers the original string) of an encrypted string. The encryption is performed by rotating each plaintext byte a varying number of positions in different directions. For example, in the following array that represents the encryption key, a negative value indicates a rotation to the left and a positive value indicates a rotation to the right. The integer in each position indicates the magnitude of the rotation: key BYTE -4, 4, -1, 0, 3, -5, 2, -4 Encryption algorithm rotates each plaintext byte by the amount indicated by its matching key array value. Then, align the key to the next 8 bytes of the message and repeat the process.
Operations
In mathematics and computer science, an operation is an event that is carried out to satisfy a given task. Basic operations of a computer system are input, processing, output, storage, and control.
Basic Operators
An operator is a symbol that indicates an operation to be performed. We are familiar with operators in mathematics; operators used in computer programming are—in many ways—similar to mathematical operators.
Division Operator
We all learnt about division—and the division operator—in school. You probably know of both these symbols as representing division:
Modulus Operator
Modulus can be represented either as (mod or modulo) in computing operation. Modulus comes under arithmetic operations. Any number or variable which produces absolute value is modulus functionality. Magnitude of any function is totally changed by modulo operator as it changes even negative value to positive.
Operators
In the realm of programming, operators refer to the symbols that perform some function. They are tasked with instructing the compiler on the type of action that needs to be performed on the values passed as operands. Operators can be used in mathematical formulas and equations. In programming languages like Python, C, and Java, a variety of operators are defined.
For this homework assignment you are not allowed to use::MOVSB, MOVSW, MOVSD, CMPSB,CMPSW,CMPD,SCASB, SCASW, SCASD,STOSB, STOSW, STOSD, LODSB, LODSW, and LODSD. It is required that for each question write only one procedure that does the requested job. Only write the assembly part and avoid using directives. DO NOT USE IRVINE'S LIBRARY.
Write Assembly code (only assembly code and no procedure call) that performs decryption (recovers the original string) of an encrypted string. The encryption is performed by rotating each plaintext byte a varying number of positions in different directions. For example, in the following array that represents the encryption key, a negative value indicates a rotation to the left and a positive value indicates a rotation to the right. The integer in each position indicates the magnitude of the rotation: key BYTE -4, 4, -1, 0, 3, -5, 2, -4
Encryption
Trending now
This is a popular solution!
Step by step
Solved in 3 steps