Secure File Sharing System using DES and Diffie Hellman Algorithm. System Diagram File Encryption Process 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. System Workflow 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. Quick Legend 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 Snapshots Sender ➡️ Receiver ➡️