Smart Security Encoder using Assembly
Language (8086 Microprocessor)
Submitted By:
Myra Faisal (Fa-25/BS DFCS/010)
Rimsha Hafeez (Fa-25/BS DFCS/021)
Submitted To:
Miss Sundas Munir
Sir Wajih Ul Hassan
PROJECT PROPOSAL
Smart Security Encoder using EMU8086 Assembly
Language
1. Introduction
The “Smart Security Encoder” is a menu-driven Assembly Language project developed using
EMU8086. It simulates a basic encryption and security system inspired by modern cybersecurity
concepts.
The system allows users to securely encrypt and decrypt messages using multiple transformation
techniques such as string reversal, character shifting, and case swapping. In addition, it includes
authentication, message analysis, and interactive interface features to demonstrate practical use
of low-level programming concepts.
This project helps bridge theoretical Assembly Language concepts with a real-world styled
application, focusing on string manipulation, memory handling, loops, and conditional logic.
2. Literature Review
Assembly Language is a low-level programming language that provides direct control over
hardware and memory. It is widely used for understanding system-level operations, optimization,
and processor behavior.
Key concepts used in this project are inspired by:
• String processing techniques in 8086 architecture
• Caesar Cipher encryption model (classical cryptography)
• Stack-based control flow for procedure handling
• DOS interrupt services for input/output operations
This project builds upon these concepts to create a simplified but functional encryption system.
3. Objectives
• To implement a secure message encryption and decryption system
• To understand string manipulation in Assembly Language
• To apply loops, conditions, and procedures effectively
• To simulate basic cybersecurity principles in a program
• To develop a menu-driven interactive system in EMU8086
4. System Overview / Features
The system includes the following modules:
Security Features
• Password-protected login system
• 3 incorrect attempt limit (system lock)
• Beep sound on wrong password
Encryption Features
• Reverse string encryption
• Shift/Caesar cipher encryption (user-defined key)
• Case swapping (A↔a transformation)
• Multiple encryption modes
Utility Features
• Message statistics (uppercase, lowercase, digits, special characters)
• Special character detection
• Auto-decryption option after encryption
Interface Features
• Hacker-style UI messages
• Loading animation using delay loops
• Menu-driven navigation system
5. Methodology (System Working Flow)
Step 1: Authentication Module
User must enter correct password before accessing system.
CALL PASSWORD_CHECK
If incorrect:
• Increment attempt counter
• Play beep sound
• Lock system after 3 attempts
Step 2: Main Menu System
After login:
1. Encrypt Message
2. Decrypt Message
3. Message Statistics
4. Exit
Implemented using comparison and jump instructions:
CMP AL, 1
JE ENCRYPT
CMP AL, 2
JE DECRYPT
Step 3: Encryption Module
Step 3.1 Reverse String
; SI → start, DI → end
REVERSE_LOOP:
MOV AL, [SI]
MOV [DI], AL
INC SI
DEC DI
Step 3.2 Shift Encryption
SHIFT_LOOP:
MOV AL, [SI]
ADD AL, KEY
MOV [DI], AL
Step 3.3 Case Swap
CASE_CHECK:
CMP AL, 'a'
JL UPPERCASE
SUB AL, 32
Step 4: Multiple Encryption Modes
User selects mode:
• Mode 1: Shift only
• Mode 2: Reverse + Shift
• Mode 3: Reverse + Shift + Case Swap
Handled using conditional jumps:
CMP MODE, 1
JE SHIFT_ONLY
CMP MODE, 2
JE REVERSE_SHIFT
CMP MODE, 3
JE FULL_ENCRYPT
Step 5: Message Statistics Module
Counts characters using loop:
COUNT_LOOP:
MOV AL, [SI]
CMP AL, 'A'
JL CHECK_DIGIT
INC UPPER_COUNT
Tracks:
• Uppercase letters
• Lowercase letters
• Digits
• Special characters
Step 6: Loading Animation
Implemented using delay loops:
MOV CX, 0FFFFh
DELAY:
LOOP DELAY
Displays:
• “Encrypting…”
• “Processing…”
FLOWCHART:
6. Code Structure Breakdown (Modular Design)
The program is divided into procedures:
🔹 MAIN PROCEDURE
• Handles menu
• Calls all modules
🔹 AUTH PROCEDURE
• Password verification
• Attempt tracking
🔹 ENCRYPT PROCEDURE
• Reverse + shift + case swap logic
🔹 DECRYPT PROCEDURE
• Reverse operations of encryption
🔹 STATS PROCEDURE
• Character counting logic
🔹 UI PROCEDURE
• Loading animation + messages
7. Expected Output
The system will:
• Authenticate users securely
• Encrypt and decrypt messages
• Provide message analytics
• Display interactive interface effects
8. Conclusion
The Smart Security Encoder demonstrates how Assembly Language can be used to build
structured, interactive, and security-based applications. It strengthens understanding of low-level
programming concepts such as memory handling, loops, and conditional logic while simulating
real-world encryption systems.
9. Future Enhancements
• File-based encryption system
• Stronger cryptographic algorithms
• GUI-based interface using higher-level integration