Abstract
Encrypt Decrypt Asm8086 is an open-source Cybersecurity & Ethical Hacking project. A file encryption/decryption program in 8086 Assembly that takes a password and filename from the user, applies XOR logic, and writes the encrypted/decrypted result back to the original file. A simple but effective 8086 Assembly language tool for encrypting and decrypting text files using a password-based XOR cipher. This project was created by Mohammad Amin Nasiri and runs on EMU8086 or DOSBox. It is built using Assembly. Key capabilities include: Takes both file name and password from the user; Reversible XOR-based encryption/decryption; Modifies the file in place (same file). The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building a Cybersecurity & Ethical Hacking mini project or final-year project.
1. Introduction
A simple but effective 8086 Assembly language tool for encrypting and decrypting text files using a password-based XOR cipher. This project was created by Mohammad Amin Nasiri and runs on EMU8086 or DOSBox.
2. Objective
A file encryption/decryption program in 8086 Assembly that takes a password and filename from the user, applies XOR logic, and writes the encrypted/decrypted result back to the original file.
This project demonstrates how Assembly can be applied to a real-world Cybersecurity & Ethical Hacking problem.
3. Key Features / Modules
- Takes both file name and password from the user.
- Reversible XOR-based encryption/decryption.
- Modifies the file in place (same file).
- Uses only real-mode DOS interrupts (INT 21h).
- 100% written in x86 Assembly (EMU8086-compatible).
4. Technology Stack
- Uses DOS interrupt 21h:
- Function 0Ah for input.
- Function 3Dh, 3Fh, 40h, 42h, and 3Eh for file handling.
- Null-terminates input strings by replacing the Enter (ASCII 13) with zero.
- Displays name and UI using Function 09h with $-terminated strings.
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- See the project README for exact requirements
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/nasiri-ma/Encrypt-Decrypt_asm8086.git
cd Encrypt-Decrypt_asm8086- Open encryptx86.asm in EMU8086 IDE
- Compile and run the program
- When prompted, enter your password
- Then, enter the filename of the .txt file
- Encryption/Decryption is done automatically on that file
1. Open `encryptx86.asm` in EMU8086 IDE
2. Compile and run the program
3. When prompted, enter your password
4. Then, enter the filename of the `.txt` file
5. Encryption/Decryption is done automatically on that fileFull setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add logging and alert notifications (email / Telegram)
- Write a threat model document for the tool
- Package it with Docker for safe lab testing
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Which threat or attack does this project defend against?
- What detection or protection technique is used and what are its limits?
- How are false positives and false negatives handled?
- Which cryptographic algorithms or security standards are involved?
- What legal and ethical rules apply when testing a tool like this?
9. Source Code & License
This project is developed by nasiri-ma and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on a Cybersecurity & Ethical Hacking project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Cybersecurity & Ethical Hacking Internship