|
- User selects a file using the "Send File" button.
- File is read as binary data.
- Diffie-Hellman key exchange is performed to securely exchange the key.
- File data is padded and encrypted using the DES algorithm.
- Encrypted data is sent to the server along with a SHA-256 hash for integrity verification.
File Decryption (Server-Side)
- Server receives the encrypted file.
- Performs the same Diffie-Hellman key exchange to derive the shared key.
- Uses the shared key to decrypt the file via DES.
- Verifies file integrity using the provided SHA-256 hash.
- Decrypted file is saved or processed as needed.
- Client:
- Selects a file using the GUI.
- Performs key exchange (Diffie-Hellman).
- Encrypts file using DES.
- Sends encrypted file and hash to server.
- Server:
- Receives the encrypted file.
- Repeats key exchange.
- Decrypts using DES.
- Verifies integrity with SHA-256.
- DH: Diffie-Hellman (key exchange)
- DES: Data Encryption Standard
- SHA-256: Secure Hash Algorithm (integrity check)
- Client Side: handles encryption and hashing
- Server Side: handles decryption and verification
|