About the Project

Inspiration

We were inspired to develop SecureFileExchange by the growing need to protect sensitive files shared over the internet. Traditional file sharing systems may expose files to unauthorized access if servers or storage systems are compromised. We wanted to build a solution that prioritizes privacy and gives users greater control over their shared files.

What We Built

SecureFileExchange is an end to end secure file sharing portal that encrypts files directly in the sender's browser before uploading them to the server. We use XChaCha20 Poly1305 for file encryption and integrity protection, X25519 for secure key exchange, HKDF SHA256 for key derivation, and Ed25519 for digital signatures and verification. We developed the frontend using HTML, CSS, and JavaScript, with Python Flask for the backend and MongoDB for storing user and file metadata.

The portal also supports secure sharing links with expiry times and download limits. The recipient can verify and decrypt the file in their browser without requiring the server to access the original file.

How We Built It

We developed the project step by step, starting with file encryption and decryption. We then worked on secure key management, backend API development, database integration, user authentication, file sharing, and access control. Finally, we integrated the components and tested file uploading, downloading, decryption, and tamper detection.

Challenges We Faced

One of our main challenges was understanding how different cryptographic algorithms work together in a secure file sharing system. We had to distinguish between the file encryption key and the key wrapping key and integrate secure key exchange with file encryption. Integrating the frontend, backend, and cryptographic modules while maintaining a smooth user experience was another challenge.

What We Learned

Through this project, we improved our knowledge of modern cryptography, secure key management, web application development, API integration, and access control. We also learned the importance of testing security features such as tamper detection and unauthorized access prevention.

Our goal with SecureFileExchange is to make file sharing safer by combining strong encryption, privacy focused design, and controlled access in a single web application.

Built With

Share this project:

Updates

Submission history