One of my modules in my first year at uni was fundamentals of computer architecture where we learned the basics of how computers work at a hardware level as well as x86 assembly language. It encrypts 6 alphanumeric characters by messing with the binary representation of the characters. The decryption works similarly, however, it's a little more complicated than executing the commands in reverse order. I also learned about how the stack, cdecl and fastcall calling conventions work.
This section of the code is where the inputted character is evaluated to determine if it is an acceptable character for encoding (it was part of the assignment specification that it should only work with 6 alphabetical characters).
This is where the encryption happens using an encryption key and a base algorithm provided in the assignment specification which I implemented in assembly.
Here is the decryption part, which works similarly to the encryption part, but organised so the original characters entered by the user can be retrieved.
Comentarios