Project Overview
The objective of this project is to implement and analyze the Diffie-Hellman key exchange protocol and its applications, particularly in Internet Key Exchange (IKE). This project focuses on securing sensitive data transmission in an online business environment by encrypting information such as customer credit card numbers, Social Security Numbers (SSN), and other confidential data before transmission between a client and a server.
A web-based system is developed where a customer accesses a website powered by a simple HTTP server. The server responds with a Java servlet, enabling secure communication using the Diffie-Hellman key exchange protocol. This protocol generates a shared secret key between the client and the server, which is subsequently used for encrypting and decrypting sensitive data during communication.
The project is developed using JSP (JavaServer Pages) and Servlets, with MySQL as the database.
User Access
- The system has a single-user authentication model, meaning only registered users can log in.
- Users must enter valid login credentials to access the system.
Encryption Mechanism
Encryption is a method of securing sensitive information by converting it into an unreadable format (ciphertext). If an unauthorized party intercepts the encrypted data, they will be unable to interpret it without the correct decryption key.
This system enables users to encrypt and send secret text messages securely. A password or key is required to encrypt the text. Even if a hacker intercepts the encrypted text, they will be unable to read it without the key.
Decryption Process
- The receiver obtains the encryption key from the sender.
- The key is entered into the system to decrypt the message.
- Upon pressing the decrypt button, the original secret message is revealed.
This double encryption mechanism ensures that messages are securely transmitted without interference from hackers or unauthorized users.
System Modules
1. Encryption Module
- Plain text is modified using a modular algorithm.
- A shared secret key is generated using the Diffie-Hellman algorithm.
- The AES (Advanced Encryption Standard) algorithm encrypts the modified text using the shared key.
- Padding bits are added to the encrypted text for additional security.
2. Decryption Module
- Padding bits are removed from the encrypted text.
- The shared secret key is regenerated using the Diffie-Hellman algorithm.
- AES decryption is applied to recover the original message.
- The text is restored using the modular algorithm to produce the final plain text.
3. Key Generation Module
- The system generates a shared secret key using:
- A first primary key
- A second primary key
- The user’s private key
System Requirements
Software Requirements:
- Windows 7 or higher
- MySQL Database
- JSP & Servlets
Hardware Requirements:
- Processor: Intel Core i3 or higher
- Hard Disk: Minimum 5GB of free space
- Memory: At least 1GB RAM
- Internet Connection
Advantages
? Fast and efficient method for securely transmitting sensitive text.
? Uses two-way encryption for added security.
? Easy-to-use encryption and decryption process.
? Secure SQL database for storing encrypted information.
Limitations
The encryption key must be shared, which presents a risk if intercepted by hackers.
Applications
Useful for anyone who needs to send confidential text messages securely.
Encrypted messages can be sent via email, WhatsApp, or any other medium.
References
- Georgia Tech Cryptography Course (Accessed on 09/16/2005)
- Cryptography.com (Accessed on 09/18/2005)
- Purdue University - Cryptography Research (Accessed on 09/18/2005)