Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Write a program in NASM that performs simple encryption by rotating each plainte

ID: 3939132 • Letter: W

Question

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

Explanation / Answer

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

Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
Chat Now And Get Quote