π Secure File Sharing System

π About the Task
In this hands-on internship project, youβll build a simple yet secure file sharing system that allows users to upload and download files safely. Security is the main focus β youβll implement encryption (like AES) to protect files both during storage and transfer.
This project simulates real-world client work where secure data sharing is critical, such as in healthcare, legal, or corporate environments.
β What Youβll Do
- Develop a web portal using Python Flask or Node.js for file uploads and downloads
- Implement AES encryption to encrypt files before saving and decrypt on download
- Build a simple user interface for uploading and retrieving files
- Ensure secure handling of encryption keys (basic key management)
- Test the system for file integrity and security
- Document your architecture, code, and security measures
π― Skills Youβll Gain
- Web development fundamentals (backend & frontend)
- Implementing encryption algorithms (AES)
- Secure file handling and data protection best practices
- Basic cryptography concepts and key management
- Version control with Git and GitHub
π οΈ Tools Youβll Use (with Links)
- Python Flask β Backend web framework
https://flask.palletsprojects.com/en/latest/ - Node.js (Express.js) β Backend framework for Node.js
https://expressjs.com/ - PyCryptodome (Python Cryptography Library) β For AES encryption
https://pycryptodome.readthedocs.io/en/latest/ - Node.js Crypto Module β Built-in cryptography library
https://nodejs.org/api/crypto.html - HTML / CSS / JavaScript β Frontend basics
Mozilla Developer Network (MDN) Web Docs - Git & GitHub β Version control and collaboration
Git: https://git-scm.com/
GitHub: https://github.com/ - Postman β API testing tool
https://www.postman.com/downloads/ - curl β Command-line tool for API requests
https://curl.se/
π Sample Resources
π Tutorial to Get Started (for Reference)
π Video: Build a Secure File Upload App with Python Flask & AES Encryption
This tutorial covers the basics of file uploads and how to apply AES encryption in a Flask app.
π Key Features to Include
β Secure file upload and download functionality
β AES encryption for all files at rest
β Basic encryption key management and security overview
β User-friendly interface for file management
β Well-documented code and security considerations
π Final Deliverables
- GitHub repository with clean, commented code
- Walkthrough video explaining your system and encryption approach
- Security overview document explaining encryption methods and key handling