Write a program in NASM that performs simple encryption by r

Write a program in NASM that performs simple encryption 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 -2, 4, 1, 0, -3, 5, 2, -4, -4, 6
Your program should loop through a plaintext message and align the key to the first 10 bytes of the message. Rotate each plaintext byte by the amount indicated by its matching key array value. Then, align the key to the next 10 bytes of the message and repeat the process. (A VideoNote for this exercise is posted on the Web site.)
Can you please include screenshots or any pic of running program
Write a program in NASM that performs simple encryption 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 -2, 4, 1, 0, -3, 5, 2, -4, -4, 6
Your program should loop through a plaintext message and align the key to the first 10 bytes of the message. Rotate each plaintext byte by the amount indicated by its matching key array value. Then, align the key to the next 10 bytes of the message and repeat the process. (A VideoNote for this exercise is posted on the Web site.)
Can you please include screenshots or any pic of running program
key BYTE -2, 4, 1, 0, -3, 5, 2, -4, -4, 6
Your program should loop through a plaintext message and align the key to the first 10 bytes of the message. Rotate each plaintext byte by the amount indicated by its matching key array value. Then, align the key to the next 10 bytes of the message and repeat the process. (A VideoNote for this exercise is posted on the Web site.)
Can you please include screenshots or any pic of running program

Solution

SECTION .data
msg db\"Hello\", 0
key db -2, 4, 1, 0, -3, 5, 2, -4, -4, 6

SECTIO .code
main proc
mov ecx, LENGTHOF key   
mov edx, OFFSET msg   
mov esi, OFFSET key   
mov ebx, 0


top:
cmp [ebx], esi
jl ShiftLeft

cmp [ebx], esi
jg ShiftRight   

cmp [ebx], esi
je NoShift

ShiftLeft:
mov cl, [esi]
SHL edx, cl
add esi, TYPE key
inc edx
L1 top

ShiftRight:
mov cl, [esi]
SHR edx, cl
add esi, TYPE key
L1 top

NoShift:
add esi, TYPE key
L1 top


call WriteString


invoke ExitProcess,0
main endp
end main

 Write a program in NASM that performs simple encryption by rotating each plaintext byte a varying number of positions in different directions. For example, in
 Write a program in NASM that performs simple encryption by rotating each plaintext byte a varying number of positions in different directions. For example, in

Get Help Now

Submit a Take Down Notice

Tutor
Tutor: Dr Jack
Most rated tutor on our site