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, 6Your 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
Related Questions
Hire Me For All Your Tutoring Needs
Integrity-first tutoring: clear explanations, guidance, and feedback.
Drop an Email at
drjack9650@gmail.com
drjack9650@gmail.com
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.